Skip to content

Dixa API (beta)

Download OpenAPI description
Languages
Servers
Mock server
https://docs.dixa.io/_mock/openapi/dixa-api/beta
https://dev.dixa.io

Analytics

Operations

Agents

Operations

End Users

Operations

Chatbots

Operations

Anonymization

Operations

Custom Attributes

Operations

Teams

Operations

Conversations

Operations

List messages

Request

Get all messages for a particular conversation by providing the conversation id. Note that messages in ContactForm conversations can have attributes of "_type": "EmailAttributes" if they are created through a webform, or "_type": "ContactFormAttributes" when created through a chat widget.

Security
ApiKeyAuth
Path
conversationIdinteger(int64)required
curl -i -X GET \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/conversations/{conversationId}/messages' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

List of messages for a conversation sorted from oldest to newest

Bodyapplication/json
dataArray of objects(Message)
Response
application/json
{ "data": [ { … }, { … } ] }

Add message

Request

Add a message to 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.
If attachments are added to the message, they will be copied and stored in Dixa.
Supported channels are Chat, Messenger, Contact Form, Email, Sms (outbound only), Whatsapp (outbound and Markdown only).

Supported Markdown syntax for Markdown content: bold **text**, italic *text*, bold & italic ***text***, strikethrough ~text~, blockquote > Quoted text. \n Message about quoted text, ordered list List:\n1. Item\n2. Item\n3. Item, unordered list List:\n* Item\n* Item\n* Item, inline code This is `code`.

Whatsapp channel:
Only one attachment is allowed per WhatsApp message.
Supports the following file types for attachments: .jpg, .jpeg, .png, .pdf, .doc, .docx, .pptx, .xlsx

Security
ApiKeyAuth
Path
conversationIdinteger(int64)required
Bodyapplication/jsonrequired

The message to be added to a conversation

One of:

Only Outbound messages are supported for Sms and Whatsapp.

contentHtml (object) or Markdown (object) or Text (object)(Content)required
One of:
content.​valuestringrequired
attachmentsArray of objects(File)
integrationEmailstring

Internal email address registered for the integration with format: <email-address>@email.dixa.io

externalIdstring

Client generated identifier for external reference

curl -i -X POST \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/conversations/{conversationId}/messages' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "content": {
      "value": "I need some help!",
      "_type": "Html"
    },
    "attachments": [
      {
        "url": "http://attachment.url",
        "prettyName": "Filename"
      }
    ],
    "_type": "Inbound"
  }'

Responses

The added message

Bodyapplication/json
dataobject(CreateMessageOutputData)required
data.​contentHtml (object) or Markdown (object) or Text (object)(Content)required
One of:
data.​content.​valuestringrequired
data.​directionstringrequired

values: [Inbound, Internal, Outbound]

data.​authorIdstring(uuid)required
data.​externalIdstring
data.​messageIdstring(uuid)
data.​createdAtstring
Response
application/json
{ "data": { "content": { … }, "direction": "Outbound", "authorId": "bac5a02c-15b3-44da-ae1e-ab7b9db4aa89", "messageId": "87bac308-e49f-4134-84cc-96b868f1e1e4", "createdAt": "2021-06-09T08:18:37.284Z" } }

Create conversation

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.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

The conversation to create

One of:
requesterIdstring(uuid)required
directionstringrequired

values: [Inbound, Outbound]

contactEndpointIdstringrequired
queueIdstring(uuid)required
curl -i -X POST \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/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"
  }'

Responses

The id of the created conversation

Bodyapplication/json
dataobject(ConversationResponse)required
data.​idinteger(int64)required
Response
application/json
{ "data": { "id": 100 } }

Messages

Operations

Internal Notes

Operations

Ratings

Operations

Tags

Operations

Queues

Operations

Contact Endpoints

Operations

Webhooks

Operations

Templates

Operations

Business Hours

Operations

Knowledge

Operations

Organization

Operations