Webhooks
Get a Webhook Subscription by ID.
ApiKeyAuthAuthorization<token>webhookSubscriptionId*stringuuidThe Webhook Subscription
application/json- response
data*curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}' \ -H 'Authorization: <API token>'Delete a Webhook Subscription.
ApiKeyAuth settings.integration.apiAuthorization<token>Scope: settings.integration.api
webhookSubscriptionId*stringuuidThe Webhook Subscription was successfully deleted
curl -X DELETE 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}' \ -H 'Authorization: <API token>'Empty
Patch a Webhook Subscription.
ApiKeyAuth settings.integration.apiAuthorization<token>Scope: settings.integration.api
webhookSubscriptionId*stringuuidThe Webhook Subscription fields to be patched
application/json- body
name?stringThe Webhook Subscription name
events?array<>The set of events this Webhook Subscription subscribes to. Allowed values: [SLAEvaluationVoided, ConversationPending, SLAEvaluationBreached, ConversationMessageAdded, ConversationCustomAttributeUpdated, ConversationTranscriptionAdded, SLAEvaluationAchieved, ConversationAssigned, ConversationMessageDeliveryDelivered, ConversationMessageDeliveryInfo, ConversationTransferred, ConversationEnqueued, AgentUnbannedEnduser, TypingStarted, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationMessageDeliveryFailed, ConversationTagAdded, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, ConversationMessageDeliverySeen, AgentUnbannedIp, ConversationMessageDeliverySent, AgentBannedIp, ConversationTagRemoved, ConversationRated, SLAEvaluationPending, ConversationMessageDeliverySpamComplaint, ConversationPendingExpired]
url?stringURL of the server that the webhook request should be sent to
authorization?||Authorization to be added as a header in the webhook request. Can be either, Basic auth, added as 'Basic base64encoded(<username>:<password>)', Token auth, added as 'Bearer <token value>', or no auth
customHeaders?Custom headers that will be added to the webhook request
enabled?booleanDefines whether this Webhook Subscription is enabled or disabled
filters?Filters to be applied to the events of the Webhook Subscription, only filtered events will be sent out. Filters can target a conversation channel, queue...
The patched Webhook Subscription
application/json- response
data*curl -X PATCH 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "name": "New name", "events": [ "ConversationNoteAdded" ], "authorization": { "value": "eyDoiGciOqGYUzI1NiJ4.eyJ0eQJRUapoYXBpIiwib4JxA5lkIjoiNTVmMmE6MmItYjU4NF33MDMxLTk2NTktOTE2M.qPoOZoQYDn4rn-akaLmVFka15JAV7TF6QT8UHOUTIy0", "_type": "TokenAuth" }, "customHeaders": { "X-Automation-Webhook-Token": "<TOKEN>", "X-Example-Header": "ExampleValue" }, "filters": { "Conversation": { "strategy": "All", "conditions": [ { "field": "InitialChannel", "values": [ "email", "pstn_phone" ], "_type": "IsOneOf" }, { "field": "QueueId", "values": [ "f0475e4c-64ae-4c8e-8644-4ed10dc8d752" ], "_type": "IsNotOneOf" }, { "field": "OperationOrigin", "values": [ "ApiImport" ], "_type": "IsNotOneOf" } ], "_type": "CombinedFilters" } }}'List of all Webhook Subscriptions in an organization.
ApiKeyAuthAuthorization<token>The List of Webhook Subscriptions
application/json- response
data?array<>curl -X GET 'https://dev.dixa.io/v1/webhooks' \ -H 'Authorization: <API token>'Create a Webhook Subscription.
ApiKeyAuth settings.integration.apiAuthorization<token>Scope: settings.integration.api
The Webhook Subscription to be created
application/json- body
name*stringThe Webhook Subscription name
events?array<>The set of events this Webhook Subscription subscribes to. Allowed values: [SLAEvaluationVoided, ConversationPending, SLAEvaluationBreached, ConversationMessageAdded, ConversationCustomAttributeUpdated, ConversationTranscriptionAdded, SLAEvaluationAchieved, ConversationAssigned, ConversationMessageDeliveryDelivered, ConversationMessageDeliveryInfo, ConversationTransferred, ConversationEnqueued, AgentUnbannedEnduser, TypingStarted, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationMessageDeliveryFailed, ConversationTagAdded, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, ConversationMessageDeliverySeen, AgentUnbannedIp, ConversationMessageDeliverySent, AgentBannedIp, ConversationTagRemoved, ConversationRated, SLAEvaluationPending, ConversationMessageDeliverySpamComplaint, ConversationPendingExpired]
url*stringURL of the server that the webhook request should be sent to
authorization*||Authorization to be added as a header in the webhook request. Can be either, Basic auth, added as 'Basic base64encoded(<username>:<password>)', Token auth, added as 'Bearer <token value>', or no auth
customHeaders*Custom headers that will be added to the webhook request
enabled?booleanDefines whether this Webhook Subscription is enabled or disabled. Default is true
filters?Filters to be applied to the events of the Webhook Subscription, only filtered events will be sent out. Filters can target a conversation channel, queue...
The created Webhook Subscription
application/json- response
data*curl -X POST 'https://dev.dixa.io/v1/webhooks' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "name": "Dashboard Integration", "events": [ "ConversationCreated", "ConversationClosed" ], "url": "https://example.webhook/dashboard_integration", "authorization": { "username": "webhook_user", "password": "webhook_password", "_type": "BasicAuth" }, "customHeaders": { "X-Automation-Webhook-Token": "<TOKEN>", "X-Example-Header": "ExampleValue" }, "enabled": true, "filters": { "Conversation": { "strategy": "All", "conditions": [ { "field": "InitialChannel", "values": [ "email", "pstn_phone" ], "_type": "IsOneOf" }, { "field": "QueueId", "values": [ "f0475e4c-64ae-4c8e-8644-4ed10dc8d752" ], "_type": "IsNotOneOf" }, { "field": "OperationOrigin", "values": [ "ApiImport" ], "_type": "IsNotOneOf" } ], "_type": "CombinedFilters" } }}'Get the latest delivery statuses of a Webhook Subscription.
ApiKeyAuthAuthorization<token>webhookSubscriptionId*stringuuidThe Latest Delivery Statuses of a Webhook Subscription
application/json- response
data?array<>curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}/delivery-status' \ -H 'Authorization: <API token>'Get the latest Webhook Subscription Event logs.
ApiKeyAuthAuthorization<token>webhookSubscriptionId*stringuuidevent*stringThe set of events this Webhook Subscription subscribes to. Allowed values: [SLAEvaluationVoided, ConversationPending, SLAEvaluationBreached, ConversationMessageAdded, ConversationCustomAttributeUpdated, ConversationTranscriptionAdded, SLAEvaluationAchieved, ConversationAssigned, ConversationMessageDeliveryDelivered, ConversationMessageDeliveryInfo, ConversationTransferred, ConversationEnqueued, AgentUnbannedEnduser, TypingStarted, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationMessageDeliveryFailed, ConversationTagAdded, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, ConversationMessageDeliverySeen, AgentUnbannedIp, ConversationMessageDeliverySent, AgentBannedIp, ConversationTagRemoved, ConversationRated, SLAEvaluationPending, ConversationMessageDeliverySpamComplaint, ConversationPendingExpired]
The Webhook Subscription Event Logs
application/json- response
data?array<>curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}/delivery-status/logs/{event}' \ -H 'Authorization: <API token>'