...
| Примечание | ||
|---|---|---|
| ||
В дальнейшем интеграцию чат-платформу TWIN планируется осуществлять с помощью SDK (находиться в разработке). Это позволит производить процесс интеграции быстрее и обеспечит более высокую стабильность работы. |
Оглавление
| Оглавление |
|---|
...
Информация об интеграции
Интеграция чат-платформы TWIN в приложение (кодовую базу) клиента идёт на стороне клиента.
...
Ниже детально описаны все перечисленные этапы с примерами кода на языке python версии 3.11.
О примере
Для примера интеграции мы рассмотрим простую программу. Суть и логика программы: запускается эхо-бот, который повторяет введенное в терминале пользователем сообщение. Завершение эхо-чата происходит по ключевому слову "стоп".
...
Пример отображения диалога в виджете. Здесь в качестве демонстрации показано как бот при старте диалога отправляет картинку. Также продемонстрирована возможность отправки файла в чат.
Список зависимостей окружения
Для корректной работы описанной эхо-программы, рекомендуем установить следующие зависимости:
| Блок кода | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
aiohttp==3.8.4 aiosignal==1.3.1 async-timeout==4.0.2 attrs==23.1.0 bidict==0.22.1 certifi==2023.5.7 charset-normalizer==3.1.0 frozenlist==1.3.3 idna==3.4 multidict==6.0.4 python-engineio==3.14.2 python-socketio==4.6.1 requests==2.31.0 six==1.16.0 urllib3==2.0.3 websocket-client==1.6.0 yarl==1.9.2 |
...
Старт новой чат-сессии
Метод: POST
Authorization: No Auth
...
В успешном ответе содержится идентификатор чат-сессии. Именно этот параметр будет в дальнейшем использоваться для отправки сообщения в чат-сессию и подключения socket.io для "прослушивания" событий в данной чат-сессии.
...
Отправка сообщения в чат сессию
Метод: POST
Authorization: No Auth
...
Поле | Тип | Описание |
|---|---|---|
id | string | Идентификатор сообщения. |
createdAt | string | Отметка даты и времени, когда было отправлено сообщение. |
Отправка файлов в чат-сессию
Для отправки файлов в чат сессию для начала необходимо загрузить файл используя метод, описанный ниже.
...
Далее, для отправки сообщения используется метод отправки сообщения в чат сессию (описан в начале текущего раздела). Важно, при отправке сообщения в котором прикреплён файл, указать в параметрах запроса attachments идентификатор(ы) файла(ов).
...
Подключение к сокетам
| Информация | ||
|---|---|---|
| ||
Socket.IO - это библиотека для создания приложений, работающих в режиме реального времени, имеющих двунаправленный канал связи и основанных на событиях. Более подробно ознакомиться с библиотекой можно на сайте официальной документации. |
| Информация | ||
|---|---|---|
| ||
Для взаимодействия с socket.io взята библиотека python-socketio версии 4.6.1 |
Справочная информация о событиях socket.io для виджета чат-платформы TWIN
Протокол Socket.IO основан на событиях. Когда сервер хочет установить связь с клиентом, он создает событие. Каждое событие имеет имя и список аргументов.
...
Поле | Тип | Описание |
|---|---|---|
operatorId | string | Идентификатор оператора |
Подключение чат-сессии к socket.io
Создание клиентского экземпляра
...
