Create an end user.
- Claim conversation
Dixa API (v1)
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers
- https://dev.dixa.io/v1/endusers
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"displayName": "Alice Brown",
"email": "alice@brown.com",
"phoneNumber": "+551155256325",
"additionalEmails": [
"alice@secondary.email"
],
"additionalPhoneNumbers": [
"+5566778899"
],
"firstName": "Alice",
"lastName": "Brown",
"middleNames": [],
"avatarUrl": "http://avatar.url",
"externalId": "#12345678"
}'{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers/{userId}
- https://dev.dixa.io/v1/endusers/{userId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers/{userId}' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }
Request
Lists conversations requested by an end user.
Note: Custom attributes are not part of the response at this point. If you need to get custom attributes for a conversation use the GET /conversations/{conversationId} endpoint
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers/{userId}/conversations
- https://dev.dixa.io/v1/endusers/{userId}/conversations
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/endusers/{userId}/conversations?pageLimit=0&pageKey=string' \
-H 'Authorization: YOUR_API_KEY_HERE'The list of conversations requested by an EndUser
{ "data": [ { … } ] }
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/close
- https://dev.dixa.io/v1/conversations/{conversationId}/close
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/close' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"userId": "5a556159-9c21-4f3e-a44f-d323deb80d16"
}'- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/followup
- https://dev.dixa.io/v1/conversations/{conversationId}/followup
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/followup' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"timestamp": "2025-01-08T08:31:25Z",
"userId": "5a556159-9c21-4f3e-a44f-d323deb80d16"
}'- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/transfer/queue
- https://dev.dixa.io/v1/conversations/{conversationId}/transfer/queue
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/transfer/queue' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"queueId": "92f8d193-b26f-4a62-86a3-bb03ee0915e9",
"userId": "a53b25da-f676-4c52-acac-58c9280aa23d"
}'- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/ratings/{ratingId}/submit
- https://dev.dixa.io/v1/conversations/{conversationId}/ratings/{ratingId}/submit
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/ratings/{ratingId}/submit' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"userId": "d3cf6f15-1497-4e71-92f2-9b3b228352bd",
"ratingResult": {
"value": 4,
"_type": "Csat"
},
"comment": "Best customer service ever!",
"submittedAt": "2024-03-11T16:39:30Z"
}'{ "data": { "ratingId": "33cf4e5e-9ce9-461c-b668-be9b712b717c", "userId": "4c5f7efa-0822-4b75-bdf5-907fa7336e0c", "ratingResult": { … }, "comment": "Excellent customer service!", "submittedAt": "2024-03-11T16:39:30Z" } }
The rating offer to be created for a conversation
Please note that providing agentId that is not part of the conversation may skew metrics in Intelligence
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/ratings/offer
- https://dev.dixa.io/v1/conversations/{conversationId}/ratings/offer
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/ratings/offer' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"userId": "b0323b42-c428-4afa-970e-20bf5bdeeec4",
"agentId": "eeb3bbe5-0355-4ac1-8af5-20d42a3db24b",
"ratingType": "Csat",
"offeredAt": "2024-03-11T16:39:30Z"
}'{ "data": { "id": "2f0122db-0824-44d7-b39a-e1f722b8c38c", "userId": "7a65c963-b3ca-4bd4-996e-bdbcaa620219", "agentId": "db7f0b41-b779-4726-a673-07b2a59a550d", "ratingType": "Csat", "offeredAt": "2024-03-11T16:39:30Z" } }
Request
Create a conversation. For inbound messages the author is assumed to be the requester of the conversation (end user). For outbound messages the author is specified using the agentId field.
The conversation to create
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations
- https://dev.dixa.io/v1/conversations
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"requesterId": "9c2a2cce-699f-4a72-89d9-fda5bc8dec8b",
"emailIntegrationId": "my-integration@email.dixa.io",
"subject": "order #123",
"message": {
"content": {
"value": "My order hasn'\''t shipped",
"_type": "Text"
},
"attachments": [],
"_type": "Inbound"
},
"language": "en",
"_type": "Email"
}'{ "data": { "id": 100 } }
Request
Import a previously created conversation into Dixa. For inbound messages the author is assumed to be the requester of the conversation (end user), unless the specific channel supports overriding the message author through its attributes. For outbound messages the author is specified using the agentId field.
The type of conversation to import
The conversation channel. Currently supported values are 'email' and 'widgetchat'. See payload examples for each case.
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/import
- https://dev.dixa.io/v1/conversations/import
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
- Generic conversation example
- Email conversation example
- Chat conversation example
curl -i -X POST \
https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/import \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"genericChannelName": "MyCustomChat",
"requesterId": "9c2a2cce-699f-4a72-89d9-fda5bc8dec8b",
"requesterConnectionStatus": "Connected",
"direction": "Inbound",
"messages": [
{
"content": {
"value": "My order hasn'\''t shipped",
"_type": "Text"
},
"attachments": [],
"createdAt": "2021-12-01T13:00:00.003Z",
"_type": "InboundImport"
},
{
"content": {
"value": "Our bad, sorry",
"_type": "Text"
},
"agentId": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b",
"attachments": [
{
"url": "https://en.wikipedia.org/wiki/Shipwreck#/media/File:Titanic_wreck_bow.jpg",
"prettyName": "shipwreck"
}
],
"createdAt": "2021-12-01T14:00:00.004Z",
"_type": "OutboundImport"
}
],
"createdAt": "2021-12-01T11:00:00.001Z",
"assignment": {
"agentId": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b",
"assignedAt": "2021-12-01T12:00:00.002Z"
},
"closing": {
"closedAt": "2021-12-01T15:00:00.005Z",
"closedBy": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b"
},
"_type": "GenericConversationImport"
}'{ "data": { "id": 100, "partialErrors": [ … ] } }
Request
Claim a conversation for a given agent. To avoid taking over assigned conversations, set the force paremeter to false
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/claim
- https://dev.dixa.io/v1/conversations/{conversationId}/claim
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/conversations/{conversationId}/claim' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"agentId": "5a556159-9c21-4f3e-a44f-d323deb80d16",
"force": false
}'- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/queues/{queueId}/availability
- https://dev.dixa.io/v1/queues/{queueId}/availability
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/queues/{queueId}/availability' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "data": [ { … }, { … } ] }
- Mock serverhttps://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/queues/conversation-position/{csid}
- https://dev.dixa.io/v1/queues/conversation-position/{csid}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.dixa.io/_mock/openapi/dixa-api/v1/v1/queues/conversation-position/{csid}' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "data": { "position": 10, "queuedAt": "2021-12-01T13:00:00.003Z" } }