Webhooks
Testing
Use the interactive webhook test playground to test your integrations.
Webhook Testing
The Webhook Test Playground is an interactive API testing interface (similar to Postman/Swagger) built into the Developer Portal. It allows you to test webhook integrations with real requests and see responses in real-time.
Features
- Interactive request builder — Set URL, method, headers, and body
- Multi-language code examples — cURL, Node.js, Python, PHP, Ruby, Go, C#
- Real-time response viewer — Status code, headers, body, timing
- Request history — Track and replay previous requests
- Sample payloads — Pre-built payloads for all event types
- Public Data API testing — Test API actions with your API key
Using the playground
Testing outbound webhooks
- Navigate to Developer Portal → Playground
- Select a webhook from the dropdown (or enter a URL manually)
- Choose an event type from the sample payloads
- The request body is auto-populated with a sample payload
- Click Send to deliver the test event
- View the response — status code, headers, body, and timing
Testing inbound webhooks
- Navigate to Developer Portal → Playground
- Select Inbound mode
- Choose an inbound webhook from the dropdown
- The webhook URL and authentication headers are auto-filled
- Edit the payload as needed
- Click Send to push data to the webhook
- View the response from Total Access
Testing the Public Data API
- Navigate to Developer Portal → Playground
- Select Public API mode
- Choose an API key from the dropdown
- Select an action from the sample list (e.g.
get-employees,get-attendance-logs) - The request body is auto-populated with sample parameters
- Click Send to execute the API call
- View the response data
Code examples
The playground generates code in multiple languages for any request:
cURL
curl -X POST https://totalaccess.co.za/api/v1/webhooks/inbound/UUID \
-H "X-API-Key: ta_wh_prod_..." \
-H "Content-Type: application/json" \
-d '{"event": "invoice.created", "data": {"id": "123", "amount": 5000}}'Node.js
const response = await fetch(
'https://totalaccess.co.za/api/v1/webhooks/inbound/UUID',
{
method: 'POST',
headers: {
'X-API-Key': 'ta_wh_prod_...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
event: 'invoice.created',
data: { id: '123', amount: 5000 }
})
}
);
const result = await response.json();Python
import requests
response = requests.post(
'https://totalaccess.co.za/api/v1/webhooks/inbound/UUID',
headers={
'X-API-Key': 'ta_wh_prod_...',
'Content-Type': 'application/json'
},
json={
'event': 'invoice.created',
'data': {'id': '123', 'amount': 5000}
}
)
print(response.json())Tips
Use testing environment API keys in the playground. Production keys are protected and cannot be used in the test playground.
- Copy any code example — Click the copy button next to each language tab
- View request history — All sent requests are tracked in the history panel
- Replay requests — Click any history entry to reload and resend
- Edit headers — Add, remove, or modify headers before sending
- Raw body editing — Switch to raw JSON editing for custom payloads