Webhooks

Webhook Subscription

GET
/v1/webhooks/{webhookSubscriptionId}

Get a Webhook Subscription by ID.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

webhookSubscriptionId*string
Formatuuid

Response Body

The Webhook Subscription

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}' \  -H 'Authorization: <API token>'
{
"data": {
"id": "cb452b81-6748-40ab-af85-6559b371bc5d",
"name": "Dashboard Integration",
"subscribedEvents": [
"ConversationCreated",
"ConversationClosed"
],
"url": "https://example.webhook/dashboard_integration",
"headers": {
"Authorization": "Basic d2ViaG9va191c2VyOndlYmhvb2tfcGFzc3dvcmQ="
},
"secretKey": "4g4h988p468g785965b780684bde5546c52gge658d76b4q33fb69c526ea4bdbc",
"enabled": true,
"createdAt": "2023-08-01T09:30:15Z",
"createdBy": "e979cc3b-17b2-4850-b049-13c758763d1c",
"updatedAt": "2023-08-02T15:09:30Z",
"updatedBy": "64b777c3-eb82-49fb-bb3e-294afb5d840c",
"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"
}
}
}
}
DELETE
/v1/webhooks/{webhookSubscriptionId}

Delete a Webhook Subscription.

Authorization

ApiKeyAuth settings.integration.api
headerAuthorization<token>

Scope: settings.integration.api

Path Parameters

webhookSubscriptionId*string
Formatuuid

Response Body

The Webhook Subscription was successfully deleted

Example Request
curl -X DELETE 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}' \  -H 'Authorization: <API token>'

Empty

PATCH
/v1/webhooks/{webhookSubscriptionId}

Patch a Webhook Subscription.

Authorization

ApiKeyAuth settings.integration.api
headerAuthorization<token>

Scope: settings.integration.api

Path Parameters

webhookSubscriptionId*string
Formatuuid

Request Body

The Webhook Subscription fields to be patched

application/json
  1. body
name?string

The 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?string

URL 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?boolean

Defines 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...

Response Body

The patched Webhook Subscription

application/json
  1. response
data*
Example Request
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"    }  }}'
{
"data": {
"id": "cb452b81-6748-40ab-af85-6559b371bc5d",
"name": "New name",
"subscribedEvents": [
"ConversationNoteAdded"
],
"url": "https://example.webhook/dashboard_integration",
"headers": {
"Authorization": "Bearer eyDoiGciOqGYUzI1NiJ4.eyJ0eQJRUapoYXBpIiwib4JxA5lkIjoiNTVmMmE6MmItYjU4NF33MDMxLTk2NTktOTE2M.qPoOZoQYDn4rn-akaLmVFka15JAV7TF6QT8UHOUTIy0"
},
"secretKey": "4g4h988p468g785965b780684bde5546c52gge658d76b4q33fb69c526ea4bdbc",
"enabled": true,
"createdAt": "2023-08-01T09:30:15Z",
"createdBy": "e979cc3b-17b2-4850-b049-13c758763d1c",
"updatedAt": "2023-08-02T15:09:30Z",
"updatedBy": "64b777c3-eb82-49fb-bb3e-294afb5d840c",
"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
/v1/webhooks

List of all Webhook Subscriptions in an organization.

Authorization

ApiKeyAuth
headerAuthorization<token>

Response Body

The List of Webhook Subscriptions

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/webhooks' \  -H 'Authorization: <API token>'
{
"data": [
{
"id": "cb452b81-6748-40ab-af85-6559b371bc5d",
"name": "Dashboard Integration",
"subscribedEvents": [
"ConversationCreated",
"ConversationClosed"
],
"url": "https://example.webhook/dashboard_integration",
"headers": {
"Authorization": "Basic d2ViaG9va191c2VyOndlYmhvb2tfcGFzc3dvcmQ="
},
"secretKey": "4g4h988p468g785965b780684bde5546c52gge658d76b4q33fb69c526ea4bdbc",
"enabled": true,
"createdAt": "2023-08-01T09:30:15Z",
"createdBy": "e979cc3b-17b2-4850-b049-13c758763d1c",
"updatedAt": "2023-08-02T15:09:30Z",
"updatedBy": "64b777c3-eb82-49fb-bb3e-294afb5d840c",
"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"
}
}
}
]
}
POST
/v1/webhooks

Create a Webhook Subscription.

Authorization

ApiKeyAuth settings.integration.api
headerAuthorization<token>

Scope: settings.integration.api

Request Body

The Webhook Subscription to be created

application/json
  1. body
name*string

The 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*string

URL 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?boolean

Defines 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...

Response Body

The created Webhook Subscription

application/json
  1. response
data*
Example Request
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"    }  }}'
{
"data": {
"id": "cb452b81-6748-40ab-af85-6559b371bc5d",
"name": "Dashboard Integration",
"subscribedEvents": [
"ConversationCreated",
"ConversationClosed"
],
"url": "https://example.webhook/dashboard_integration",
"headers": {
"Authorization": "Basic d2ViaG9va191c2VyOndlYmhvb2tfcGFzc3dvcmQ="
},
"secretKey": "4g4h988p468g785965b780684bde5546c52gge658d76b4q33fb69c526ea4bdbc",
"enabled": true,
"createdAt": "2023-08-01T09:30:15Z",
"createdBy": "e979cc3b-17b2-4850-b049-13c758763d1c",
"updatedAt": "2023-08-02T15:09:30Z",
"updatedBy": "64b777c3-eb82-49fb-bb3e-294afb5d840c",
"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
/v1/webhooks/{webhookSubscriptionId}/delivery-status

Get the latest delivery statuses of a Webhook Subscription.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

webhookSubscriptionId*string
Formatuuid

Response Body

The Latest Delivery Statuses of a Webhook Subscription

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}/delivery-status' \  -H 'Authorization: <API token>'
{
"data": [
{
"event": "ConversationCreated",
"deliveryStatus": {
"deliveryTimestamp": "2023-09-15T12:00:00.000Z",
"success": true,
"responseCode": 200,
"responseText": "OK",
"_type": "DeliveryDetail"
}
},
{
"event": "ConversationClosed",
"deliveryStatus": {
"_type": "NoRecentDelivery"
}
}
]
}
GET
/v1/webhooks/{webhookSubscriptionId}/delivery-status/logs/{event}

Get the latest Webhook Subscription Event logs.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

webhookSubscriptionId*string
Formatuuid
event*string

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]

Response Body

The Webhook Subscription Event Logs

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/webhooks/{webhookSubscriptionId}/delivery-status/logs/{event}' \  -H 'Authorization: <API token>'
{
"data": [
{
"deliveryDetail": {
"deliveryTimestamp": "2023-09-15T12:00:00.000Z",
"success": true,
"responseCode": 200,
"responseText": "OK"
},
"payload": "{ \"event_id\": \"8967e0c6-fe64-4105-bf71-14ae0c256gg4\", \"event_fqn\": \"CONVERSATION_NOTE_ADDED\", \"event_version\": \"1\", \"event_timestamp\": \"2023-09-15T12:00:00.000Z\", \"organization\": { \"id\": \"g1b15dq2-bba8-48a8-a92e-852014a166r9\", \"name\": \"Your Org Name\" }, \"data\": { \"conversation\": { \"csid\": 1234, \"channel\": \"WIDGET_CHAT\", \"status\": \"OPEN\", \"direction\": \"INBOUND\", \"queue\": { \"id\": \"b5b10483-7d28-4dea-bf8d-0d88cc3bd7cc\", \"name\": \"Your Queue\" }, \"contact_point\": \"Your Contact Point\", \"requester\": { \"id\": \"ec4a2b65-0403-42b3-b054-8998325fd8ac\", \"name\": \"Test Requester\", \"email\": \"test@example.com\", \"phone\": null, \"roles\": [ \"Enduser\" ] }, \"assignee\": { \"id\": \"cccb8520-e24f-43bf-8344-49d07665d854\", \"name\": \"An Agent\", \"email\": \"agent@yourcompany.com\", \"phone\": \"+4511223344\", \"roles\": [ \"Admin\", \"TeamLead\", \"SystemAdmin\", \"Agent\" ] }, \"subject\": null, \"tags\": [], \"created_at\": \"2023-09-01T12:00:00.000Z\" }, \"note_id\": \"ac951357-5189-4707-add7-616af55698q7\", \"text\": \"Some Note Added\", \"created_at\": \"2023-09-15T12:00:00.000Z\", \"author\": { \"id\": \"cccb8520-e24f-43bf-8344-49d07665d854\", \"name\": \"An Agent\", \"email\": \"agent@yourcompany.com\", \"phone\": \"+4511223344\", \"roles\": [ \"Admin\", \"TeamLead\", \"SystemAdmin\", \"Agent\" ] } } }"
},
{
"deliveryDetail": {
"deliveryTimestamp": "2023-09-15T08:00:00.000Z",
"success": true,
"responseCode": 200,
"responseText": "OK"
},
"payload": "{ \"event_id\": \"9963e0c6-fe64-4105-bf71-14ae0c123hh5\", \"event_fqn\": \"CONVERSATION_NOTE_ADDED\", \"event_version\": \"1\", \"event_timestamp\": \"2023-09-15T08:00:00.000Z\", \"organization\": { \"id\": \"g1b15dq2-bba8-48a8-a92e-852014a166r9\", \"name\": \"Your Org Name\" }, \"data\": { \"conversation\": { \"csid\": 1234, \"channel\": \"WIDGET_CHAT\", \"status\": \"OPEN\", \"direction\": \"INBOUND\", \"queue\": { \"id\": \"b5b10483-7d28-4dea-bf8d-0d88cc3bd7cc\", \"name\": \"Your Queue\" }, \"contact_point\": \"Your Contact Point\", \"requester\": { \"id\": \"ec4a2b65-0403-42b3-b054-8998325fd8ac\", \"name\": \"Test Requester\", \"email\": \"test@example.com\", \"phone\": null, \"roles\": [ \"Enduser\" ] }, \"assignee\": { \"id\": \"cccb8520-e24f-43bf-8344-49d07665d854\", \"name\": \"An Agent\", \"email\": \"agent@yourcompany.com\", \"phone\": \"+4511223344\", \"roles\": [ \"Admin\", \"TeamLead\", \"SystemAdmin\", \"Agent\" ] }, \"subject\": null, \"tags\": [], \"created_at\": \"2023-09-01T12:00:00.000Z\" }, \"note_id\": \"ac951357-5189-4707-add7-616af55698q7\", \"text\": \"First Note\", \"created_at\": \"2023-09-15T08:00:00.000Z\", \"author\": { \"id\": \"cccb8520-e24f-43bf-8344-49d07665d854\", \"name\": \"An Agent\", \"email\": \"agent@yourcompany.com\", \"phone\": \"+4511223344\", \"roles\": [ \"Admin\", \"TeamLead\", \"SystemAdmin\", \"Agent\" ] } } }"
}
]
}