Scroll export button | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
1. Go to WMS -> PBX -> Integrations -> Cloud integrations tab
Note |
---|
Note: In case of WMS version lower than 6.05.20240119.1, the tab is named Calendars (or x-bees in case of a PBX with x-bees license). |
2. Click on the Webhook integration -> click Add new integration:
3. On the New webhook integration screen, fill out the following fields:
Select transmission type for sending the events:
- WEBHOOK: POST requests are sent to the URL, specified by customer
- AWS SQS: events are sent to AWS SQS queue
a) In case of WebHook transmission type:
- In the URL field, indicate the URL where the data should be sent to.
Secret is generated automatically and cannot be edited.
Note Note: The endpoint should be publicly accessible with a valid HTTPS certificate, accept HTTP POST requests with JSON payloads, respond with codes from 200 to 299 as quickly as possible, and handle multiple identical calls in case of retries due to network or server failures (up to 3 times).
- Choose types of events:
- Call events
- Conference events
- Chat events
- Analytics events
- Presence events
By clicking on the event type, you can view the list of events and choose if you want to use all events in the list or only the selected ones:
Depending on the number of chosen events the checkbox in front of event type may look differently: dash icon (1) if not all events were selected and checkmark (2) in case all the events within a particular event type are used:
Presence events return user status (e.g. Available, Away, Busy) status message and time, as well as location. For the User presence telephony option, the following statuses are supported:
- registered (registered and idle)
- ringing (in ringing state)
- talking (in conversation)
- rt (in conversation and ringing state)
4. Click Add
Once installed, you can see details about the new integration which includes type, URL, and types of events selected.
b) In case of AWS SQS transmission type:
- In the SQS URL field, indicate the SQS URL where the data should be sent to.
- Enter AWS Key and Secret in the relevant fields.
- Choose types of events:
- Call events
- Conference events
- Chat events
- Analytics events
- Presence events
By clicking on the event type, you can view the list of events and choose if you want to use all events in the list or only the selected ones:
Depending on the number of chosen events the checkbox in front of event type may look differently: dash icon (1) if not all events were selected and checkmark (2) in case all the events within a particular event type are used:
User presence returns user status (e.g. Available, Away, Busy) status message and time, as well as location. For the User presence telephony option, the following statuses are supported:
- registered (registered and idle)
- ringing (in ringing state)
- talking (in conversation)
- rt (in conversation and ringing state)
4. Click Add.
How to manage WebHook integrations
Once installed, you can see details about the new integration which includes type, URL, and types of events selected:
...
Copy the Integration ID and use it in your web application / service.
Warning |
---|
Important: The timeout for Webhook reply is 5 seconds. |
Warning |
---|
Important: For security reasons, it is highly recommended that you validate the data received to your web application / service and make sure the data comes from Wildix and the data is not broken. For this, check `signature` for all received events:
|
Edit the integration
To edit the integration, click on the pencil icon in front of the integration:
Remove the integration
To remove the integration, click on the delete icon in front of it:
The action cannot be undone. Confirm the deletion by entering the word delete and clicking the Delete button on the screen that pops up:
Configuration example
See Webhook configuration example on this page.
Supported event types
Call start
Code Block |
---|
{
"id": "it_w118741_1693389850.110",
"pbx": "221100001bab",
"time": 1693389850810,
"company": "it_w118741",
"type": "call:start",
"integrationId": "8qkmnq",
"data": {
"status": "CONNECTING",
"caller": {
"type": "LOCAL",
"phone": "1001",
"name": "admin",
"company": null,
"email": "vladimir.gorobets@wildix.com",
"userId": "1257510555",
"userExtension": "1001",
"userDepartment": null,
"groupId": "62177694",
"groupName": "Admin",
"userAgent": "Wildix Zero Distance 4.0.1 WebRTC-f2a0f5f1-6c4e-444f-b99f-a968bb5f7297",
"userDevice": "COLLABORATION_WEB"
},
"callee": null,
"service": null,
"destination": "10020",
"trunkName": null,
"queueName": null,
"queueId": null,
"tags": [],
"flags": [],
"endCause": null,
"endCauseStr": null,
"endBy": null
}
}
``` |
Call update
Code Block |
---|
{
"id": "it_w118741_1693389850.110",
"pbx": "221100001bab",
"time": 1693389850810,
"company": "it_w118741",
"type": "call:update",
"integrationId": "8qkmnq",
"data": {
"status": "CONNECTING",
"caller": {
"type": "LOCAL",
"phone": "1001",
"name": "admin",
"company": null,
"email": "vladimir.gorobets@wildix.com",
"userId": "1257510555",
"userExtension": "1001",
"userDepartment": null,
"groupId": "62177694",
"groupName": "Admin",
"userAgent": "Wildix Zero Distance 4.0.1 WebRTC-f2a0f5f1-6c4e-444f-b99f-a968bb5f7297",
"userDevice": "COLLABORATION_WEB"
},
"callee": {
"type": "LOCAL",
"phone": "10020",
"name": "user20",
"company": null,
"email": "vladimir.gorobets+3@wildix.com",
"userId": "5753746",
"userExtension": "10020",
"userDepartment": null,
"groupId": "874629312",
"groupName": "Default",
"userAgent": null,
"userDevice": null
},
"service": null,
"destination": "10020",
"trunkName": null,
"queueName": null,
"queueId": null,
"tags": [],
"flags": [],
"endCause": null,
"endCauseStr": null,
"endBy": null
}
}
``` |
Call end
examples
You can find examples of supported event types here: https://docs.wildix.com/docs/calls/webhooks/ (navigate between different sections of the doc, Calls / Conferences/ Presence etc. to view the necessary event examples).
Use cases
Below you can find some examples of Webhook integration usage:
...