Проверка контрольной суммы
Алгоритм расчета контрольной суммы для 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
Описание передаваемых данных 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. |
Содержимое экземпляра объекта messages
Имя параметра |
Описание параметра |
created_at |
Время отправки сообщения. |
message |
Текст сообщения. |
kind |
Тип сообщения (cм. Типы и подтипы сообщений). |
Содержимое объекта 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 Браузер: Chrome 118 Пришел с 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": "91.142.85.83",
"landing_page": {
"url": "https://test.com/sample-page.php"
}
},
"start_page": {
"url": "https://test.com/sample-page.php"
}
}