Export Conversations and Messages via API

Dixa is all about breaking down silos - also between systems. Therefore we enable you to export your conversations from the Dixa platform. We also give you the option to export all messages that have been sent alongside conversations. By being able to export full message text, you can integrate with QA tools and use this data for advanced analytics on agent performance but also for legal retention purposes.

  • API access to get a list of conversations. ⬇️
  • API access to get a list of messages. ⬇️
  • Use results for engagement metrics and to drive business processes. 📊💯
  • An elegant and standardized alternative to our CSV export feature. 😎

The Exports API lives on the side of our existing Dixa API, which supports creating a new conversation, creating a new user and getting a list of users, list of tags and a list of queues. With the Exports API, you are able to get a list of conversations and a stream of all messages, so you can feed them into any Business Intelligence or Analytics tool of your choice. In short, the main use case of this particular endpoint is not to support REST-style access to Dixa resources, but rather to enable BI/Analytics tools and workflows to easily access conversations from a specific point in time.

Further information

  • Unix timestamp in milliseconds(example: 1600087304703 ) or LocalTime format ( yyyy-mm-dd ) is used for query timestamps.
  • All fields and properties in the Dixa CSV export feature are available via the conversations endpoint, too.
  • There are no offset or limit pagination rules for the endpoint, limits on queries are instead defined by time. In other words, no query can span more than 1 month (31 days). Here, the request must have at least one _after and one _before parameter or a list of conversation IDs. There are no other query limitations.
  • The export messages endpoint does not contain internal notes. These can be found in the conversations endpoint under conversation_wrapup_notes .

Hostnames, Endpoint Details, and Authentication

The API is hosted under https://exports.dixa.io/

Access each endpoint by pointing curl or similar to the respective paths:

Both endpoints return a stream of JSON objects in an array.

(incl. the parameters for the timeframe you would like to request data for)

More info regarding endpoint details is available in the Exports API Reference.

Rate Limiting

A token has a limit, and it's no longer per organization.

The current limits are:

  • Messages : 3 requests per minute
  • Conversations : 10 request per minute

You receive an HTTP status of 429 Too Many Requests if your requests exceed the API Rate Limits.

Authentication token

The token can be generated inside your Dixa organization under Settings → integrations → API token.

See a guide here: How to get access to the Dixa API

You can use the authentication token in one of these two ways:

  1. bearer <API token>
  2. Basic <base64(user:password)> where user = 'bearer' and password = <API token>

Thus the following two requests are equivalent:

Copy
Copied
curl -H "Authorization: bearer <API token>" "https://exports.dixa.io/v1/message_export?&created_after=1572566400000&created_before=1575072000000"
Copy
Copied
curl -u "bearer:<API token>" "https://exports.dixa.io/v1/message_export?&created_after=2019-11-01&created_before=2019-11-30"

Thus, any downstream application must be configured accordingly. Most of the HTTP libraries provide an abstraction layer for dealing with basic HTTP credentials as well as plain token values.