Актуальность информации
Учтите при интеграции
SDK как основной инструмент интеграции
В дальнейшем интеграцию чат-платформу 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 | 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 | Да | Идентификатор чат-сессии. | |
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 | array of strings | Нет | |
replyToMessageId | string | Нет |
Ответы
Код 201
Description: Successful message creation
Описание полей ответа
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения |
createdAt | string | Да | Отметка даты и времени, когда было отправлено сообщение |
Подключение к сокетам
О библиотеки socket.io
Socket.IO - это библиотека для создания приложений, работающих в режиме реального времени, имеющих двунаправленный канал связи и основанных на событиях. Более подробно ознакомиться с библиотекой можно на сайте официальной документации.