Web hooks Enable us to communicate with 3rd party application like CRM, Billing System etc
The Steps to Enable Webhook in our system is :
1. Create The Webhook Object via API or via the Console Admin
2. Attach The Webhook to a Trigger
We can easily create custom webhook and trigger them by an event happens in the System. As for now we support the following system events:
- Call:Ringing - Trigger when Call is Ringing
- Call:Answer - Trigger when Call has been answered
- Call:Hangup - Trigger when the Call has ended
- Call:Reporting - Trigger when the system is done collecting all the call information required for Billing and Reporting
- Ivr:Start - Triggered when an IVR starts
- Ivr:End - Triggered when an IVR ends
-
Main Table (List WebHooks)
In this table we can list all the available DIDs that are assigned the current Customer.
1. Table Columns:
- Date Created - Time and Date when the DID were created
- Webhooks Status - Enabled/Disabled
- URL - The URL we will send the webhooks
- Method Type- how we will send the webhook, can be either POST/GET
2. "+New" and refresh icons to create a new webhook and refresh the screen
3. Actions -
Clicking on the eye icon ->>> will show the webhook body text
Clicking on the pencil icon ->>> will open the editing page for this Webhooks.
Clicking on the bin icon ->>> will delete the Webhook.
** note :
In order for the web hook to start working in a specific Environment , we need to "Subscribe" it.
That is done via Environment Screen where you can choose the desired Webhooks that will be associated with the Environment.
Note that each webhook object is triggered for one event.
-
Edit Webhooks :
Clicking on the “+New” button will refer you to the page where you can create a new Webhook
Relevant Fields:
These are the fields need to filled in order to Create a new webhook:
Note that most fields are pre-configured and should not be changed.
- UUID - Unique ID of the the Webhook (for tracing)
- Enabled - IS the Webhook is enabled/disabled
- Event – The Event that will trigger the Webhook as listed before(Call Answer , Call Hangup etc) -
- Method Type - The method the system will use to send the Webhook, can be HTTP GET or HTTP Post
- URL - The URL where the system will send the webhooks
- Body - Here the JSON text is created
Supported field types:
{
"direction":"outgoing", // Direction Of Call: Incoming / Outgoing
"uuid":"bfd7e62a-5a55-4286-9453-b4b4cfc5cca8", // Unique ID Of Call
"type":"did_to_que", // Call Type
"created_at":"2024-12-02T21:04:40.701+00:00", // Start Of Call
"contact_number":null, // Number Of Contact
"caller_id_number":null, // Caller Id Number
"duration":60, // Duration
"ring_duration":30,
"destination":039000000, // Duration
"start_at":"23:04:40", // Time Call Started
"answer_at":"23:34:00", // Time Call Started
"environment_name":"ITD2024", // Name of Environment
"user_fullname":null, // Name Of User (
"user_name":"", // UserName
"extension_username":null,
"cause":"answer" // Cause Of Call: answer/busy/no_answer
,"sip_status":"200", // Sip Status From Terminator
"recording_url":"https://cloud.voipappz.io/recordings/bfd7e62a-5a55-4286-9453-b4b4cfc5cca8", // Recording Link
"duration_time":"00:06:57", // Total Duration Time
"billing_duration":1733173541, // Billing Duration Sec
"billing_duration_time":"00:05:41" , // Billing Duration Time
"did_number":"972722791142", // Did Number
"did_name":"972722791142", // Did Name
"queue_disposition":"timeout", // Queue Disposition: timeout (system timeout) / abandoned (caller hung)/ anser
"ivr_name":null, // Name of IVR
"call_state":null,
"queue_name":"Que1", // Queue Name
Comments
0 comments
Please sign in to leave a comment.