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

Вебхук Training

warning

Использование вебхука доступно только при наличии модуля Виртуальный помощник

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

Бот отправляет сообщения с подсказками на эндпоинт /api/v1/chatbot/hints, если тред принадлежит пользователю с ролью Operator (т.е. агенту).

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

Скрипт включения настройки тренировки бота


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

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

Поля тела запроса

Поле

Тип

Описание

action

string (обязательно)

  • TRAINING

text

string (обязательно)

Сообщение клиента или агента, которое вы хотите направить боту на обучение

clientId

string (необязательно)

Внешний ID клиента (только для авторизованных клиентов). Этот параметр устарел, вместо него используйте threadsClientId.

threadsClientId

Long (необязательно)

Внутренний ID клиента (подходит как для авторизованных, так и для неавторизованных клиентов)

sessionId

string (необязательно)

Внутренний ID треда

receivedAt

string (обязательно)

Время получения сообщения, дата в формате UTC: yyyy-MM-dd’T’HH:mm:ss.SSS’Z'

attachments

array of object (необязательно)

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

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

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

  • size - Размер файла в байтах, целое число

operator

object (необязательно)

Поля
  • id - ид пользователя

  • name - имя пользователя

  • role - pоль пользователя

  • maxThreads - максимальное количество слотов оператора

  • freeSlots - количество свободных слотов

  • photoUrl - аватар пользователя

messageIndex

int(обязательно)

Индекс сообщения в рамках треда

messageOwner

string (обязательно)

Автор сообщения (CLIENT/OPERATOR)

channelInfo

object (обязательно)

Информация о канале, в котором получено сообщение

id

string

Channel ID

channelType

string

Тип канала (WEB, MOBILE, EMAIL, VIBER, TELEGRAM, VIBERPA, FACEBOOK, VKONTAKTE, YANDEX, WHATSAPP, APPLE_BUSINESS_CHAT, ROCKET_CHAT, OZON)

authorized

boolean

true - авторизован, 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. Вторым шагом бот должен вызвать метод /api/v1/chatbot/hints