...
Справочная информация о событиях socket.io для виджета чат-платформы TWIN
Протокол Socket.IO основан на событиях. Когда сервер хочет установить связь с клиентом, он создает событие. Каждое событие имеет имя и список аргументов.
Ниже представлены ключевые события, которые возникают в виджете и описаны параметры каждого события.
Данная информация носит справочный характер и позволяет определить, какие события необходимо инициировать для корректной интеграции чат-платформы в кодовую базу приложения на стороне клиента.
Процесс набора текста
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[
"showTypingIndicatorEmit",
{
"authorType": "BOT"
}
] |
Описание параметров события showTypingIndicatorEmit
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
authorType | string | Да | Определяет, кто отправил сообщение: бот или оператор. |
СООБЩЕНИЯ
Создание сообщения ботом
...
Описание параметров события chatMessageCreatedEmit
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения |
authorId | |||
authorType | |||
authorName | |||
type | |||
body | |||
answers | |||
createdAt | |||
sessionId | |||
attachments | |||
actions | |||
avatar | |||
| | id | |||
| | isPrivate | |||
| | createdAt | |||
| | contentType | |||
| | name | |||
| | baseName | |||
| | extension | |||
| | suggestedExtension | |||
| | path | |||
| | size | |||
| | url | |||
| | downloadLink | |||
| | ownerId |
Подтверждение о прочтении сообщения
...
| Блок кода | ||
|---|---|---|
| ||
[
"operatorChangedEmit",
{
"operatorId": "472",
"operatorName": "II Dev",
"avatar": null,
"previousOperatorId": "389",
"previousOperatorName": "Первый Оператор V",
"previousOperatorAvatar": {
"id": "ed661c07-2d50-4b1f-b2c8-32f09a83065e",
"isPrivate": false,
"createdAt": "2021-02-05T12:58:33+00:00",
"contentType": "image/jpeg",
"name": "мяч.jpg",
"baseName": "мяч",
"extension": "jpg",
"suggestedExtension": "jpg",
"path": "",
"size": 310723,
"url": "https://minio.twin24.ai/twin-iam-dev/public/2021-02-05/ed661c07-2d50-4b1f-b2c8-32f09a83065e?response-content-type=image%2Fjpeg&response-content-disposition=inline%3B%20filename%3Dmyac.jpg%3B%20filename%2A%3Dutf-8%27%27%25D0%25BC%25D1%258F%25D1%2587.jpg",
"downloadLink": "https://minio.twin24.ai/twin-iam-dev/public/2021-02-05/ed661c07-2d50-4b1f-b2c8-32f09a83065e?response-content-type=image%2Fjpeg&response-content-disposition=attachment%3B%20filename%3Dmyac.jpg%3B%20filename%2A%3Dutf-8%27%27%25D0%25BC%25D1%258F%25D1%2587.jpg&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minio%2F20210310%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20210310T090557Z&X-Amz-SignedHeaders=host&X-Amz-Expires=604799&X-Amz-Signature=6156df5e15d5ab535fdcf80204de440a3cfb8b8fa4d8e3a92b93cc6796f539a3",
"ownerId": null
}
}
] |
Описание параметров события события chatMessageCreatedEmit
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | Идентификатор сообщения |
authorId| . | |||
operatorId | string | Идентификатор оператора. | |
operatorName | string | Имя оператора | |
avatar | |||
previousOperatorId | string | Идентификатор предыдущего оператора. | |
previousOperatorName | string | Имя предыдущего оператора. | |
previousOperatorAvatar | string | Аватар предыдущего оператора. |
authorTypeauthorNametypebodyanswerscreatedAtsessionIdattachmentsactions| | id | |||
| | isPrivate | |||
| | createdAt | |||
| | contentType | |||
| | name | |||
| | baseName | |||
| | extension | |||
| | suggestedExtension | |||
| | path | |||
| | size | |||
| | url |
Статус оператора
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[
"operatorStatusChangedEmit",
{
"operatorId": "389",
"previousStatus": "ACTIVE",
"currentStatus": "PAUSED"
}
] |
Описание параметров события события operatorStatusChangedEmit
Поле | Тип | Обязательно | Описание |
|---|---|---|---|
operatorId | string | Да | Идентификатор сообщенияоператора |
previousStatus | string | Да | Предыдущий статус оператора |
currentStatus | string | Да | Текущий статус оператора |
Выход оператора из системы
...
Определение обработчиков событий
Протокол Socket.IO основан на событиях. Когда сервер хочет установить связь с клиентом, он создает событие. Каждое событие имеет имя и список аргументов. Клиент регистрирует функции Регистрируем функцию обработчика событий с помощью декоратора socketio.Client.on() указывая имя события:
...