В этой статье описаны функции, которые 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 может присылать подсказки для агента, подходящие для ответа клиенту. Данные подсказки будут отображаться у агента в разделе Готовые ответы > Подсказки.