...
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
authorType | string | Да | Тип автора. Определяет, кто отправил сообщение: бот или оператор. |
...
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения. |
authorId | string | Идентификатор автора сообщения. | |
authorType | string | Тип автора. Определяет, кто отправил сообщение: бот или оператор. | |
authorName | string | Имя автора сообщения. | |
type | string | ||
body | string | Текст сообщения. | |
answers | string | ||
createdAt | string | Отметка времени о созданном сообщении. | |
sessionId | string | Идентификатор чат-сессии. | |
attachments | string | ||
actions | string | ||
avatar | string | ||
| | id | string | ||
| | isPrivate | string | ||
| | createdAt | string | ||
| | contentType | string | ||
| | name | string | ||
| | baseName | string | ||
| | extension | string | ||
| | suggestedExtension | string | ||
| | path | string | ||
| | size | string | ||
| | url | string | ||
| | downloadLink | string | ||
| | ownerId | string |
Подтверждение о прочтении сообщения
...
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения. |
operatorId | string | Идентификатор оператора. | |
operatorName | string | Имя оператора | |
avatar | string | ||
previousOperatorId | string | Идентификатор предыдущего оператора. | |
previousOperatorName | string | Имя предыдущего оператора. | |
previousOperatorAvatar | string | Аватар предыдущего оператора. | |
| | id | string | ||
| | isPrivate | string | ||
| | createdAt | string | ||
| | contentType | string | ||
| | name | string | ||
| | baseName | string | ||
| | extension | string | ||
| | suggestedExtension | string | ||
| | path | string | ||
| | size | string | ||
| | url | string |
Статус оператора
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[
"operatorStatusChangedEmit",
{
"operatorId": "389",
"previousStatus": "ACTIVE",
"currentStatus": "PAUSED"
}
] |
...
| Блок кода | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
socket_session.connect(url=f"https://tcl.twin24.ai/operator/socket.io/?key={session_id}",
transports=["polling", "websocket"],
socketio_path="operator/socket.io") |
После этого шага, всё готово для того чтобы "слушать" происходящие события в указанной чат-сессии. Можно отправлять сообщения и в случае завершения диалога закрывать соединение.
Ниже представлена кодовая база всей программы:
...