Queues

List queues

GET
/v1/queues

List all queues in an organization.

Authorization

ApiKeyAuth
headerAuthorization<token>

Response Body

The list of queues in an organization

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/queues' \  -H 'Authorization: <API token>'
{
"data": [
{
"id": "497d2cb4-6b48-4fa2-99d2-21c2a5bad79f",
"name": "MyCorp main queue",
"isDefault": true,
"organizationId": "927d4b48-966b-45a3-8d7c-c6ad64f877b0",
"queueThresholds": {
"SlaPercentage": 10
},
"slaCalculationMethod": "AbandonedIgnored",
"offerTimeout": 10,
"offeringAlgorithm": "OneAtATimeRandom",
"memberListType": "SkillBased",
"usages": {
"queueId": "497d2cb4-6b48-4fa2-99d2-21c2a5bad79f",
"usages": {
"WidgetChat": [
"c6f50127-7f0a-418f-943e-c62b96d8a742",
"b2ac94ac-379a-4f24-995a-6473809eef6b"
],
"PstnPhone": [
"+4589977790"
],
"Email": [
"info@mycorp.dixa.io"
]
}
},
"wrapupTimeout": 10,
"priority": 1,
"offerAbandonedConversations": false,
"doNotOfferTimeouts": {
"WidgetChat": 1
},
"isDoNotOfferEnabled": true,
"isPreferredAgentEnabled": false,
"preferredAgentTimeouts": {
"WhatsApp": 300,
"Voicemail": 300,
"WidgetChat": 300,
"FacebookMessenger": 300,
"Email": 43200,
"ContactForm": 43200,
"Callback": 300,
"PstnPhone": 300
},
"preferredAgentOfflineTimeout": 500,
"personalAgentOfflineTimeout": 500,
"isRestricted": false
},
{
"id": "921a6e00-0845-417e-9c67-f7cb872d45f0",
"name": "MyCorp email queue",
"isDefault": true,
"organizationId": "927d4b48-966b-45a3-8d7c-c6ad64f877b0",
"queueThresholds": {
"SlaPercentage": 10
},
"slaCalculationMethod": "AbandonedIgnored",
"offerTimeout": 10,
"offeringAlgorithm": "OneAtATimeRandom",
"memberListType": "SkillBased",
"usages": {
"queueId": "921a6e00-0845-417e-9c67-f7cb872d45f0",
"usages": {
"Email": [
"info@mycorp.dixa.io"
]
}
},
"wrapupTimeout": 10,
"priority": 1,
"offerAbandonedConversations": false,
"doNotOfferTimeouts": {
"WidgetChat": 1
},
"isDoNotOfferEnabled": true,
"isPreferredAgentEnabled": false,
"preferredAgentOfflineTimeout": 500,
"personalAgentOfflineTimeout": 500,
"isRestricted": false
}
]
}

Create queue

POST
/v1/queues

Create a queue.

Authorization

ApiKeyAuth settings.queue:w
headerAuthorization<token>

Scope: settings.queue:w

Request Body

The details for creating a queue

application/json
  1. body
request*

Response Body

The created queue

application/json
  1. response
data*
Example Request
curl -X POST 'https://dev.dixa.io/v1/queues' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "request": {    "name": "MyCorp main queue",    "callFunctionality": false,    "isDefault": true,    "queueThresholds": {      "WaitingConversations": 10    },    "offerTimeout": 10,    "offerAlgorithm": "AllAtOnce",    "wrapupTimeout": 10,    "priority": 1,    "offerAbandonedConversations": false,    "doNotOfferTimeouts": {      "WidgetChat": 1    },    "isDoNotOfferEnabled": true,    "preferredAgentTimeouts": {      "WhatsApp": 300,      "Voicemail": 300,      "WidgetChat": 300,      "FacebookMessenger": 300,      "Email": 43200,      "ContactForm": 43200,      "Callback": 300,      "PstnPhone": 300    },    "isPreferredAgentEnabled": false,    "preferredAgentOfflineTimeout": 500,    "personalAgentOfflineTimeout": 500,    "isRestricted": false  }}'
{
"data": {
"id": "string",
"name": "string",
"isDefault": true,
"organizationId": "string",
"queueThresholds": {
"property1": 0,
"property2": 0
},
"slaCalculationMethod": "string",
"offerTimeout": 0,
"offeringAlgorithm": "string",
"memberListType": "string",
"usages": {
"queueId": "string",
"usages": {
"property1": [
"string"
],
"property2": [
"string"
]
}
},
"wrapupTimeout": 0,
"priority": 0,
"offerAbandonedConversations": true,
"doNotOfferTimeouts": {
"property1": 0,
"property2": 0
},
"isDoNotOfferEnabled": true,
"isPreferredAgentEnabled": true,
"preferredAgentTimeouts": {
"property1": 0,
"property2": 0
},
"preferredAgentOfflineTimeout": 0,
"personalAgentOfflineTimeout": 0,
"isRestricted": true
}
}

List agents

GET
/v1/queues/{queueId}/members

List all agents/admins that are members of a queue by providing the queue id.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

queueId*string
Formatuuid

Response Body

List of the agents/admins that are members of a queue

application/json
  1. response
data?array<>
Example Request
curl -X GET 'https://dev.dixa.io/v1/queues/{queueId}/members' \  -H 'Authorization: <API token>'
{
"data": [
{
"agentId": "e96647c1-f697-4328-868a-19f828a6ee46",
"priority": 1
},
{
"agentId": "95dfa97e-dbf5-4bfc-be64-1f834baebd4e",
"priority": 2
}
]
}

Remove agents

DELETE
/v1/queues/{queueId}/members

Bulk remove agents/admins from the specified queue.

Authorization

ApiKeyAuth settings.queue.members
headerAuthorization<token>

Scope: settings.queue.members

Path Parameters

queueId*string
Formatuuid

Request Body

The list of agents/admins to be removed from the queue. Up to 10 members can be specified.

application/json
  1. body
agentIds?array<>

Response Body

The bulk operation succeeded

Example Request
curl -X DELETE 'https://dev.dixa.io/v1/queues/{queueId}/members' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "agentIds": [    "743c3781-c882-4352-a1fa-fe5d7a673cfd",    "cad2f234-8cec-4cd8-96e9-a6491a0176da"  ]}'

Empty

Assign agents

PATCH
/v1/queues/{queueId}/members

Assign one or more agents/admins to a given queue.

Authorization

ApiKeyAuth settings.queue.members
headerAuthorization<token>

Scope: settings.queue.members

Path Parameters

queueId*string
Formatuuid

Request Body

The list of agents/admins to be added to the queue

application/json
  1. body
agentIds?array<>

Response Body

The list of patch action outcomes

application/json
  1. response
data?array<|>
Example Request
curl -X PATCH 'https://dev.dixa.io/v1/queues/{queueId}/members' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "agentIds": [    "c31e5e3f-1d5f-4442-83df-fd7bddd59da4",    "26ae145b-8644-4fa5-aa56-7b3dcacbe2d4"  ]}'
{
"data": [
{
"data": "b41558f2-3807-44ef-8abf-a73d5ef68ff6",
"_type": "BulkActionSuccess"
},
{
"error": {
"id": "914a6e19-cab7-41a7-b41b-517e0ed56161",
"message": "User not found",
"_type": "NotFound"
},
"_type": "BulkActionFailure"
},
{
"error": {
"id": "7fecdb7e-9e37-45ef-be5e-0c14d6687aa0",
"message": "Member is neither Agent or Admin",
"_type": "Validation"
},
"_type": "BulkActionFailure"
}
]
}

Get queue availability

GET
/v1/queues/{queueId}/availability

Get availability of supported channels for a given queue. Currently supported channels are adachat, kindlychat, digitalgeniuschat, genericapimessaging.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

queueId*string
Formatuuid

Response Body

The availability of supported channels for a given queue

application/json
  1. response
data?array<|>
Example Request
curl -X GET 'https://dev.dixa.io/v1/queues/{queueId}/availability' \  -H 'Authorization: <API token>'
{
"data": [
{
"channelAvailability": {
"genericChannelName": "adachat",
"availability": "NotAvailable",
"queueSize": 10,
"_type": "GenericChannel"
},
"_type": "Success"
},
{
"error": {
"channel": "kindlychat",
"message": "Could not get availability for channel",
"_type": "UnexpectedError"
},
"_type": "Failure"
}
]
}

Get queue

GET
/v1/queues/{queueId}

Get a queue by id.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

queueId*string
Formatuuid

Response Body

The queue

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/queues/{queueId}' \  -H 'Authorization: <API token>'
{
"data": {
"id": "0bf82493-ae46-4c49-aa29-0422136269be",
"name": "MyCorp main queue",
"isDefault": true,
"organizationId": "3de6c0f1-5e84-4d29-9ce9-84033983d4e6",
"queueThresholds": {
"SlaPercentage": 10
},
"slaCalculationMethod": "AbandonedIgnored",
"offerTimeout": 10,
"offeringAlgorithm": "OneAtATimeRandom",
"memberListType": "SkillBased",
"usages": {
"queueId": "0bf82493-ae46-4c49-aa29-0422136269be",
"usages": {
"WidgetChat": [
"c6f50127-7f0a-418f-943e-c62b96d8a742",
"b2ac94ac-379a-4f24-995a-6473809eef6b"
],
"PstnPhone": [
"+4589977790"
],
"Email": [
"info@mycorp.dixa.io"
]
}
},
"wrapupTimeout": 10,
"priority": 1,
"offerAbandonedConversations": false,
"doNotOfferTimeouts": {
"WidgetChat": 1
},
"isDoNotOfferEnabled": true,
"isPreferredAgentEnabled": false,
"preferredAgentTimeouts": {
"WhatsApp": 300,
"Voicemail": 300,
"WidgetChat": 300,
"FacebookMessenger": 300,
"Email": 43200,
"ContactForm": 43200,
"Callback": 300,
"PstnPhone": 300
},
"preferredAgentOfflineTimeout": 500,
"personalAgentOfflineTimeout": 500,
"isRestricted": true
}
}
GET
/v1/queues/conversation-position/{csid}

Get the approximate position of a given conversation in its current queue.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

csid*integer
Formatint64

Response Body

The position of the conversation in the queue

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/queues/conversation-position/{csid}' \  -H 'Authorization: <API token>'
{
"data": {
"position": 10,
"queuedAt": "2021-12-01T13:00:00.003Z"
}
}