# Dixa

Dixa is a customer service platform that unifies customer data and communication channels.

For more information about the API, see the [Dixa API](https://docs.dixa.io/openapi).

See the [Schema](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Dixa.htm#Schema) section for a list of objects available for replication.

## Preparing for authentication

To access your data, you need to authenticate the connection with your account credentials.

Information noteMake sure that the account you use has read access to the tables you want to fetch.

To generate the API token:

1. Log into your Dixa account.
2. Go to the Settings page.
3. Scroll to the Manage section and click Integrations.
4. In the API Tokens tab, click Add API token.
5. Give the API token a name, like `Qlik Integration`, to make it easy to find in your list of tokens.
6. Choose Dixa API as the API version.
7. Click Save changes
8. Copy the token.

## Creating the connection

For more information, see [Connecting to SaaS applications](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Landing/connecting-web-applications.htm).

1. Fill in the required connection properties.

2. Provide a name for the connection in Connection name.

3. Select Open connection metadata to define metadata for the connection when it has been created.

4. Click Create.

Connection settings

| Setting | Description |
| --- | --- |
| Data gateway | Select a Data Movement gateway if required by your use case.<br><br>Information note<br><br>This field is not available with the Qlik Talend Cloud Starter subscription, as it does not support Data Movement gateway. If you have another subscription tier and do not want to use Data Movement gateway, select None.<br><br>For information on the benefits of Data Movement gateway and use cases that require it, see [Qlik Data Gateway - Data Movement](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm). |
| Start Date | Enter the date, in the format `MM/DD/YYYY`, from which the data must be replicated from your source to your target. |
| API Token | API token. |
| Interval | Select the granularity of report time intervals from the drop-down list. |

## Schema

Information note

Schemas and naming conventions can change from version to version. It is recommended to verify your version before continuing.

Depending on your destination, table and column names may not appear as they are outlined below.

### activity\_logs

The `activity_logs` lists all information from activity logs for an organization in your Dixa account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | activityTimestamp |
| **Useful links** | [Dixa API method](https://docs.dixa.io/openapi/dixa-api/v1/tag/Conversations/#tag/Conversations/operation/getConversationsConversationidActivitylog "Opens in new tab: Dixa API method") |

activity\_logs table foreign keys

| Join activity\_logs with | on |
| --- | --- |
| [conversations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Dixa.htm#conversations) | ```<br>activity_logs.conversationId = conversations.id<br>``` |
| [messages](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Dixa.htm#messages) | ```<br>activity_logs.attributes.messageId = messages.id<br>``` |

activity\_logs table schema

| **\_type**<br><br><br>STRING |
| --- |
| **activityTimestamp**<br><br><br>DATE-TIME |
| **activityType**<br><br><br>STRING |
| **attributes**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li><b>type</b>: STRING</li><li><b>agent</b>: OBJECT, which is also a nested data structure.                                            <ul><li><b>email</b>: STRING</li><li><b>id</b>: STRING</li><li><b>name</b>: STRING</li><li><b>phoneNumber</b>: STRING</li></ul></li><li><b>agentid</b>: STRING</li><li><b>agentName</b>: STRING</li><li><b>agentNames</b>: ARRAY</li><li><b>avatalUrl</b>: STRING</li><li><b>avatarUrl</b>: STRING</li><li><b>claimedFromLabel</b>: STRING</li><li><b>claimedFromType</b>: STRING</li><li><b>conversationSubject</b>: STRING</li><li><b>destinationId</b>: STRING</li><li><b>destinationLabel</b>: STRING</li><li><b>destinationType</b>: STRING</li><li><b>fromEndpoint</b>: STRING</li><li><b>message</b>: STRING</li><li><b>messageId</b>: STRING</li><li><b>note</b>: STRING</li><li><b>queueLabel</b>: STRING</li><li><b>reason</b>: STRING</li><li><b>subject</b>: STRING</li><li><b>tag</b>: STRING</li><li><b>tagAdded</b>: STRING</li><li><b>templateName</b>: STRING</li><li><b>transferType</b>: STRING</li></ul> |
| **author**<br><br><br>OBJECT<br><br>This is a nested data structure:<br><br><ul><li><b>email</b>: STRING</li><li><b>id</b>: STRING</li><li><b>name</b>: STRING</li><li><b>phoneNumber</b>: STRING</li></ul> |
| **conversationId**<br><br><br>INTEGER |
| **id**<br><br><br>STRING |

### conversations

The `conversations` table lists information about conversations in your Dixa account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | updated\_at |
| **Useful links** | [Dixa API method](https://docs.dixa.io/openapi/dixa-api/v1/tag/Conversations/ "Opens in new tab: Dixa API method") |

conversations table foreign keys

| Join conversations with | on |
| --- | --- |
| [activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Dixa.htm#activity-logs) | ```<br>conversations.id = activity_logs.conversationId<br>``` |

conversations table schema

| **anonymized\_at**<br><br><br>INTEGER |
| --- |
| **assigned\_at**<br><br><br>INTEGER |
| **assignee\_email**<br><br><br>STRING |
| **assignee\_id**<br><br><br>STRING |
| **assignee\_name**<br><br><br>STRING |
| **assignee\_phone\_number**<br><br><br>STRING |
| **closed\_at**<br><br><br>INTEGER |
| **conversation\_wrapup\_notes**<br><br><br>ARRAY |
| **created\_at**<br><br><br>INTEGER |
| **custom\_fields**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li><b>archived</b>: BOOLEAN</li><li><b>attribute_id</b>: STRING</li><li><b>data_type</b>: STRING</li><li><b>identifier</b>: STRING</li><li><b>value</b>: STRING</li></ul> |
| **direction**<br><br><br>STRING |
| **dixa\_email\_integration\_id**<br><br><br>STRING |
| **dixa\_email\_integration\_sender\_name**<br><br><br>STRING |
| **facebook\_page\_id**<br><br><br>STRING |
| **facebook\_page\_name**<br><br><br>STRING |
| **forwarding\_email**<br><br><br>STRING |
| **from\_provisioned\_phone\_number\_id**<br><br><br>STRING |
| **from\_provisioned\_phone\_number\_name**<br><br><br>STRING |
| **handling\_duration**<br><br><br>INTEGER |
| **id**<br><br><br>INTEGER |
| **initial\_channel**<br><br><br>STRING |
| **last\_message\_created\_at**<br><br><br>INTEGER |
| **originating\_country**<br><br><br>STRING |
| **queue\_id**<br><br><br>STRING |
| **queue\_name**<br><br><br>STRING |
| **queued\_at**<br><br><br>INTEGER |
| **rating\_message**<br><br><br>STRING |
| **rating\_score**<br><br><br>INTEGER |
| **ratings**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li><b>rating_cancelled_timestamp</b>: STRING</li><li><b>rating_created_timestamp</b>: INTEGER</li><li><b>rating_language</b>: STRING</li><li><b>rating_message</b>: STRING</li><li><b>rating_modified_timestamp</b>: INTEGER</li><li><b>rating_offered_timestamp</b>: INTEGER</li><li><b>rating_rated_timestamp</b>: INTEGER</li><li><b>rating_scheduled_for_timestamp</b>: INTEGER</li><li><b>rating_scheduled_timestamp</b>: INTEGER</li><li><b>rating_score</b>: INTEGER</li><li><b>rating_status</b>: STRING</li><li><b>rating_type</b>: STRING</li><li><b>rating_unscheduled_timestamp</b>: STRING</li></ul> |
| **requester\_email**<br><br><br>STRING |
| **requester\_id**<br><br><br>STRING |
| **requester\_name**<br><br><br>STRING |
| **requester\_phone\_number**<br><br><br>STRING |
| **status**<br><br><br>STRING |
| **subject**<br><br><br>STRING |
| **tags**<br><br><br>ARRAY |
| **tags\_info**<br><br><br>ARRAY<br><br>This is a nested data structure:<br><br><ul><li><b>id</b>: STRING</li><li><b>is_deactivated</b>: BOOLEAN</li><li><b>name</b>: STRING</li></ul> |
| **to\_provisioned\_phone\_number\_id**<br><br><br>STRING |
| **to\_provisioned\_phone\_number\_name**<br><br><br>STRING |
| **total\_duration**<br><br><br>INTEGER |
| **transfer\_time**<br><br><br>INTEGER |
| **transferee\_name**<br><br><br>STRING |
| **transferee\_number**<br><br><br>STRING |
| **updated\_at**<br><br><br>INTEGER |
| **widget\_id**<br><br><br>STRING |
| **widget\_name**<br><br><br>STRING |

### messages

The `messages` table contains information about all messages in your Dixa account.

| **Replication Method** | CDC |
| --- | --- |
| **Primary Key** | id |
| **Replication Key** | created\_at |
| **Useful links** | [Dixa API method](https://docs.dixa.io/openapi/dixa-api/v1/tag/Messages/ "Opens in new tab: Dixa API method") |

messages table foreign keys

| Join messages with | on |
| --- | --- |
| [activity_logs](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/WebApplications/Connecting-Dixa.htm#activity-logs) | ```<br>messages.id = activity_logs.attributes.messageId<br>``` |

messages table schema

| **attached\_files**<br><br><br>ARRAY |
| --- |
| **author\_email**<br><br><br>STRING |
| **author\_name**<br><br><br>STRING |
| **bcc**<br><br><br>ARRAY |
| **cc**<br><br><br>ARRAY |
| **chat\_input\_answer**<br><br><br>STRING |
| **chat\_input\_question**<br><br><br>STRING |
| **chat\_menu\_text**<br><br><br>STRING |
| **created\_at**<br><br><br>INTEGER |
| **csid**<br><br><br>INTEGER |
| **direction**<br><br><br>STRING |
| **duration**<br><br><br>INTEGER |
| **from**<br><br><br>STRING |
| **from\_phone\_number**<br><br><br>STRING |
| **id**<br><br><br>STRING |
| **initial\_channel**<br><br><br>STRING |
| **is\_automated\_message**<br><br><br>BOOLEAN |
| **recording\_url**<br><br><br>STRING |
| **text**<br><br><br>STRING |
| **to**<br><br><br>ARRAY |
| **to\_phone\_number**<br><br><br>STRING |
| **voicemail\_url**<br><br><br>STRING |