Описание передаваемых данных API хэндлеров чата (версия 3)
Данная статья посвящена описанию формата передаваемых данных API хэндлеров чата версии 3.
Содержимое поля chat
Пример передаваемых данных можно увидеть ниже . Описание параметров:
Имя параметра
Описание параметра
categories
Массив пар категорий, присваиваемых оператором.
start_page
Страница, на которой посетитель начал чат.
locale
Язык посетителя.
visitor
Данные о посетителе.
created_at
Дата и время начала чата.
messages
Массив сообщений в диалоге на момент отправки события.
department_key
Текстовый идентификатор отдела, в который обратился посетитель.
operator
Данные об операторе.
id
Уникальный номер чата в системе Webim .
visit_session
Данные о сессии посетителя.
Содержимое объекта visitor
Имя параметра
Описание параметра
fields
Дополнительные сведения о посетителе (например, ID посетителя, имя, телефон, email и др.). Указываются при наличии данных.
id
Уникальный номер посетителя в системе Webim .
channel
Данные о канале общения посетителя (присутствует для каналов, отличных от веб-виджета). Содержит поля id, type, user_id.
Содержимое экземпляра объекта messages
Имя параметра
Описание параметра
created_at
Время отправки сообщения.
message
Текст сообщения.
kind
Тип сообщения (см. Типы и подтипы сообщений ).
Содержимое объекта operator
Имя параметра
Описание параметра
id
Идентификатор оператора.
email
Email оператора.
name
Имя оператора.
Содержимое объекта visit_session
Пример передаваемых данных
{
"created_at": "2023-10-18T08:41:43Z",
"id": 1069,
"locale": "ru",
"department_key": "automated_department",
"operator": {
"email": "test@test.com",
"name": "Administrator",
"id": 240557
},
"categories": [["Обращения", null], ["Отдел продаж", "Обращения"]],
"messages": [
{
"created_at": "2023-10-18T08:41:43Z",
"kind": "for_operator",
"message": "Посетитель открыл окно диалога со страницы Тестовая страница: https://test.com/sample-page.php Местоположение - Санкт-Петербург https://maps.google.com/maps?q=59.93863,30.31413 Браузер: Яндекс Браузер 24 Пришел с https://test.com/sanmple-page.php"
},
{
"created_at": "2023-10-18T08:41:43Z",
"kind": "visitor",
"message": "Здравствуйте. Есть вопрос..."
},
{
"created_at": "2023-10-18T08:41:58Z",
"kind": "info",
"message": "Оператор Administrator включился в разговор."
},
{
"created_at": "2023-10-18T08:41:59Z",
"kind": "operator",
"message": "А у нас есть ответ!",
"operator_id": 240557
}
],
"visitor": {
"id": "821a40bbecca4bccb2632124f199de2c",
"fields": {
"name": "Степан"
}
},
"visit_session": {
"ip": "192.0.2.1",
"landing_page": {
"url": "https://test.com/sample-page.php"
}
},
"start_page": {
"url": "https://test.com/sample-page.php"
}
}
Проверка контрольной суммы
Алгоритм расчета контрольной суммы для API обработчиков событий чата версии 3:
1. Создается строка: содержимое `chat` + приватный ключ. Между содержимым объекта и приватным ключом нет никаких символов.
1. Для строки, созданной на этапе 1, вычисляется контрольная сумма по алгоритму `MD5`.
1. Полученная строка записывается в `crc`.
Пример кода для проверки контрольной суммы (Python):
import hashlib
def check_crc(chat, account_key, sent_crc):
m = hashlib.md5()
m.update(chat.encode())
m.update(account_key.encode())
crc = m.hexdigest()
return crc == sent_crc
27 марта 2026 г.
24 марта 2023 г.