Перейти к основному содержимому

Вебхук Hints

Этот вебхук предназначен для тренировки бота на основании диалогов между агентами и клиентами. После этого бот сможет отправлять подсказки агентам. В таких подсказках содержатся вероятные варианты ответов клиентам, которые могут быть крайне полезными и эффективными в работе агентов.

Бот отправляет сообщения, если тред принадлежит пользователю с ролью Operator (то есть агенту).

Вам необходимо включить настройку, которая позволит тренировать бота.

Скрипт

INSERT INTO settings (ID, key, value) VALUES (nextval('settings_id_seq'), 'bot.connect.training.chat.enabled', 'true');

Вам также необходимо добавить вебхук для соответствующего бота в АРМ администратора.

ПараметрТипОписание
actionboolean (обязательно)TRAINING
textstring (обязательно)Сообщение клиента или агента, которое вы хотите направить боту на обучение
clientIdstring (необязательно)Внешний ID клиента (только для авторизованных клиентов). Этот параметр устарел, вместо него используйте threadsClientId.
threadsClientIdLong (необязательно)Внутренний ID клиента (подходит как для авторизованных, так и для неавторизованных клиентов)
sessionIdstring (необязательно)Внутренний ID треда
receivedAtstring (обязательно)Время получения сообщения, дата в формате UTC: yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
attachmentsarray of object (необязательно)

- url – URL файла, строка до 4000 символов

- name – Имя файла, строка до 1000 символов

- type – MIME-тип файла, строка до 256 символов

- size – Размер файла в байтах, целое число
messageIndexint(обязательно)Индекс сообщения в рамках треда
messageOwnerstring (обязательно)Автор сообщения (CLIENT/OPERATOR)
channelInfoobject (обязательно)Информация о канале, в котором получено сообщение
idstringChannel ID
channelTypestringТип канала (WEB, MOBILE, EMAIL, VIBER, TELEGRAM, VIBERPA, FACEBOOK, VKONTAKTE, YANDEX, WHATSAPP, APPLE_BUSINESS_CHAT)
authorizedbooleantrue – авторизован, false – не авторизован

HTTP запрос

POST <url for webhook training> HTTP/1.1
Content-Type: application/json
{
"operator":{
"id":3,
"name":"Maria",
"role":"OPERATOR",
"maxThreads":6,
"freeSlots":0,
"photoUrl":null
},
"messageIndex":7,
"messageOwner":"CLIENT",
"action":"TRAINING",
"clientId":"1111",
"threadsClientId":218,
"sessionId":"249",
"receivedAt":"2021-03-25T03:12:28.825Z",
"text":"asdf",
"channelInfo":{
"id":1,
"channelType":"WEB",
"authorized":true
},
"attachments":[
],
"clientData":{
"locale":"ru"
},
"sender":"ThreadsAPI"
}

Пример успешного HTTP запроса

Для синхронных ответов ожидается текст сообщения и статус 200 (OK); для асинхронных ответов ожидается статус 202 (Accepted).

{
"sessionId":"1",
"messageIndex":"1",
"hints":[
{
"text":"hint 1",
"score":0.4
},
{
"text":"hint 2",
"score":0.6
}
]
}

Параметры ответа

ПараметрТипОписание
sessionIdstring (необязательно)Внутренний ID треда
messageIndexinteger (обязательно)Индекс сообщения в рамках треда
messageOwnerstring (обязательно)Автор сообщения (CLIENT/OPERATOR)
hintsarray of object (необязательно)Подсказки бота для агентов (text и score)