В этой статье описаны функции, которые edna с помощью API позволяет выполнить чат-боту.
Проактивное приветствие
После инициализации чата чат-бот может первым отправить приветствие и вовлечь клиента в диалог, не дожидаясь его сообщения. За это отвечает метод Greet.
text
– текст сообщения чат-ботаclientId
– ID клиента во внешней системе (для авторизованных клиентов)threadsClientId
– внутренний ID клиента в ednareceivedAt
– время, когда было получено сообщениеquickReplies
– массив объектов с быстрыми ответамиquickReplies.type
– в данный момент поддерживается только TEXTquickReplies.text
– текст ответаquickReplies.shown_text
– необязательный параметр, текст, который будет показан клиенту в случае нажатия на кнопку быстрого ответа (вместо quickReplies.text)quickReplies.callback_data
– функция, которую виджет чата передаст в API в случае нажатия на кнопку. При наличии этого атрибута будет вызван метод JS SDK API ThreadsWidget.on.quickReplies.imageUrl
– ссылка иконки для кнопкиquickReplies.url
– ссылка на файл в кнопке
settings.blockInput
– параметр, отвечающий за блокировку поля ввода сообщения (true/false) при использовании быстрых ответов
Отправка сообщений, перевод на агента
После назначения чата на чат-бота, чат-бот может отвечать на сообщения клиента. За это отвечает метод Post answers.
text
– текст ответа чат-бота на сообщение клиентаreceivedAt
– время, когда было получено сообщениеanswerId
– ID ответа чат-ботаformattedText
– текст ответа чат-бота, который может содержать markdown-разметку для корректного отображения форматированного ответа в интерфейсах клиента и агентаclientId
– ID клиента во внешней системе (для авторизованных клиентов)threadsClientId
– внутренний ID клиента в ednasessionId
– ID треда в ednaquestionId
– ID сообщения в БД ednaquestionIndex
– номер сообщения в тредеsegmentationInfo
– объект, содержащий дополнительную информацию для маршрутизации треда (кастомный параметр сегментации) после чат-ботаkey
– имя параметра сегментацииvalue
– значение параметра сегментации
attachments
– массив с объектами вложенийattachments.url
– ссылка на вложениеattachments.name
– имя файла вложенияattachments.type
– тип файла вложения
quickReplies
– массив объектов с быстрыми ответамиquickReplies.type
– в данный момент поддерживается толькоTEXT
quickReplies.text
– текст ответаquickReplies.shown_text
– необязательный параметр, текст, который будет показан клиенту в случае нажатия на кнопку быстрого ответа (вместоquickReplies.text
)quickReplies.callback_data
– функция, которую виджет чата передаст в API в случае нажатия на кнопку. При наличии этого атрибута будет вызван метод JS SDK API ThreadsWidget.on.quickReplies.imageUrl
– ссылка иконки для кнопкиquickReplies.url
– ссылка на файл в кнопке
code
– используется для перевода треда на агента. Для перевода необходимо передатьUNCLEAR_QUESTION
илиSWITCH_TO_HUMAN
settings.blockInput
– параметр, отвечающий за блокировку поля ввода сообщения (true/false) при использовании быстрых ответовsettings.masked
– параметр, отвечающий за маскирование цифр в связанном сообщении клиента (true/false)
Завершение треда чат-ботом
Чат-бот может самостоятельно завершить тред, не переводя его на агента. Для этого чат-бот может воспользоваться методами Close Threads by Bot или Close Threads by Bot with Comment.
Подсказки чат-бота для агента
Чат-бот может работать в режиме суфлера. Например, тред обрабатывается агентом, чат-бот с помощью метода Hints может присылать подсказки для агента, подходящие для ответа клиенту. Данные подсказки будут отображаться у агента в разделе Готовые ответы > Подсказки.