В этой статье описаны функции, которые 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– в данный момент поддерживается толькоTEXTquickReplies.text– текст ответаquickReplies.shown_text– необязательный параметр, текст, который будет показан клиенту в случае нажатия на кнопку быстрого ответа (вместоquickReplies.text)quickReplies.callback_data– функция, которую виджет чата передаст в API в случае нажатия на кнопку. При наличии этого атрибута будет вызван метод JS SDK API ThreadsWidget.on.quickReplies.imageUrl– ссылка иконки для кнопкиquickReplies.url– ссылка на файл в кнопке
code– используется для перевода треда на агента. Для перевода необходимо передатьUNCLEAR_QUESTIONилиSWITCH_TO_HUMANsettings.blockInput– параметр, отвечающий за блокировку поля ввода сообщения (true/false) при использовании быстрых ответовsettings.masked– параметр, отвечающий за маскирование цифр в связанном сообщении клиента (true/false)
Завершение треда чат-ботом
Чат-бот может самостоятельно завершить тред, не переводя его на агента. Для этого чат-бот может воспользоваться методами Close Threads by Bot или Close Threads by Bot with Comment.
Подсказки чат-бота для агента
Чат-бот может работать в режиме суфлера. Например, тред обрабатывается агентом, чат-бот с помощью метода Hints может присылать подсказки для агента, подходящие для ответа клиенту. Данные подсказки будут отображаться у агента в разделе Готовые ответы > Подсказки.