| Мы стараемся поддерживать информацию в данной статье в актуальном состоянии. Все последние обновления для работы с сервисами TWIN в первую очередь публикуются на ресурсе https://developers.twin24.ai. |
| Команда TWIN постоянно совершенствуем свои сервисы. В связи с этим возможно внесение изменений в наше API. Просим вас учитывать этот факт при реализации интеграции чат-платформы TWIN с вашими приложениями. Важно обратить на это внимание при согласовании гарантийных обязательств. |
В дальнейшем интеграцию чат-платформу TWIN планируется осуществлять с помощью SDK (находиться в разработке). Это позволит производить процесс интеграции быстрее и обеспечит более высокую стабильность работы. |
Интеграция чат-платформы TWIN в приложение (кодовую базу) клиента идёт на стороне клиента. Так как интеграция осуществляется силами клиента, счёт за такую интеграцию не выставляется.
Возможность интеграции и её срок определяется специалистами на стороне клиента. Со своей стороны TWIN предоставляет необходимую документацию по методам подключения и взаимодействия платформы с приложением заказчика.
Для обеспечения двухсторонней связи используется библиотека Socket.IO, построенная на основе протокола WebSocket.
Метод: POST
Authorization: No Auth
URL: https://tcl.twin24.ai/api/chats/v1/chats/{chat_id}/sessions?x_widget=1
Описание параметров пути:
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата. Он определяет настройки чата и схему работы бота. |
Тело запроса
{
"name": "string",
"botId": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"sessionId": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"sessionTtl": 3600,
"messengerType": "WHATSAPP",
"messengerUserId": "string",
"messageBody": "string",
"messageAttachments": [
"bce7d22e-dde6-4427-b391-ebbdfda44de6"
],
"clientNameForOperator": "string",
"clientId": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"clientExternalId": "string",
"clientPhone": 75555673245,
"clientEmail": "string",
"clientDeviceId": "string",
"clientTimezone": 300,
"clientMetadata": {
"var1": "val1",
"var2": "val2",
"var3": "val3"
},
"returnAnswerAsync": true
} |
Описание полей метода:
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name | string | Нет | Имя сессии |
botId | string | Нет | Пароль учётной записи аккаунта. |
sessionId | Идентификатор существующего сеанса чата. | ||
sessionTtl | Время жизни чат-сессии. Указывается в секундах и не может быть больше 12 часов. По умолчанию равен 3 600 секундам. | ||
messengerType | |||
messengerUserId | |||
messageBody | |||
messageAttachments | |||
clientNameForOperator | Нет | Имя клиента, которое будет видно оператору. | |
clientId | Нет | ||
clientExternalId | string | Нет | Определяемый пользователем идентификатор клиента, инициировавшего сеанс чата. |
clientPhone | string | Нет | |
clientEmail | string | Нет | Электронная почта клиента |
clientDeviceId | string | Нет | Идентификатор клиентского устройства для отправки PUSH-уведомлений. |
clientTimezone | integer | Нет | Смещение часового пояса клиента в минутах. |
clientMetadata | object | Нет | Любые определенные пользователем пары ключ/значение в качестве переменных бота. |
returnAnswerAsync | boolean | Нет |
Ответы
Код 201
Description: Successful session creation
{
"id": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"clientId": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"startedAt": "2018-10-31T11:56:07+00:00",
"ttl": 3600,
"messages": [
{
"body": "string",
"answers": [
"string"
],
"actions": [
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
],
"attachments": [
{
"id": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"isPrivate": true,
"createdAt": "2018-10-31T11:56:07+00:00",
"name": "bot.png",
"baseName": "bot",
"extension": "png",
"sugestedExtension": "png",
"path": "string",
"size": 12400,
"url": "string",
"downloadLink": "string"
}
]
}
]
} |
Описание полей ответа
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | Да | Идентификатор чат-сессии. | |
clientId | |||
startedAt | |||
ttl | |||
messages | |||
| body | |||
| answers | |||
| actions | |||
| attachments | |||
| | id | |||
| | isPrivate | |||
| | createdAt | |||
| | name | |||
| | baseName | |||
| | extension | |||
| | sugestedExtension | |||
| | path | |||
| | size | |||
| | url | |||
| | downloadLink |
Метод: POST
Authorization: No Auth
URL: https://chats-api.twin24.ai/api/v1/sessions/{session_id}/messages
Описание параметров пути:
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
sessionId | string | Да | Идентификатор чат-сессии. |
Тело запроса
{
"body": "string",
"attachments": [
"bce7d22e-dde6-4427-b391-ebbdfda44de6"
],
"replyToMessageId": "string"
} |
Описание полей метода:
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
body | string | Да | |
attachments | array of strings | Нет | |
replyToMessageId | string | Нет |
Ответы
Код 201
Description: Successful message creation
{
"id": "bce7d22e-dde6-4427-b391-ebbdfda44de6",
"createdAt": "2018-10-31T11:56:07+00:00"
} |
Описание полей ответа
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения |
createdAt | string | Да | Отметка даты и времени, когда было отправлено сообщение |
Socket.IO - это библиотека для создания приложений, работающих в режиме реального времени, имеющих двунаправленный канал связи и основанных на событиях. Более подробно ознакомиться с библиотекой можно на сайте официальной документации. |