/
Сценарии

Сценарии

Общее описание

Сценарии позволяют описывать диалоги  системы autoFAQ с пользователями. Диалог может включать в себя переписку с пользователем, обращение к данным во внешних системах и обогащение ответов.

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

Описание сценариев в системе ведется при помощи языка DSL autoFAQ. Тело сценария состоит из последовательных операций. Каждая операция располагается в отдельной строке, для связи со следующей операцией в конце строки требуется указание символа "+". Некоторые операции могут содержать 1 или несколько опциональных модификаторов. 

Полный справочник шагов описан в разделе Справочник шагов сценария

Примеры готовых сценариев доступны в разделе Примеры сценариев


Переменные

Встроенные переменные

Для работы с данными в сценариях доступны следующие встроенные переменные:

{platformInMessageQuery} - текст первоначального запроса пользователя, по которому был создан диалог с AutoFAQ {serviceId} - id сервиса Данные пользователя {userFullName} - имя пользователя {userLogin} - логин пользователя {userEmail} - электронная почта пользователя {userPhone} - номер телефона пользователя {userId} - ID пользователя {userPayload.*} - хранилище дополнительных данных о пользователе Данные пользовательского канала, через который пришел текущий запрос {channelId} - идентификатор канала {channelType} - тип канала (Telegram, WhatsApp, Widget) Данные текущего диалога с пользователем {conversation} - объект диалог с данными о пользователе, списокм событий и реплик пользователя, бота и операторов {conversationId} - идентификатор текущего диалога {externalFiles} - список файлов переданных пользователю или полученных от него в рамках текущего диалога Встроенные переменные для работы с API вызовами {http_code} - код статуса последнего API запроса Встроенные переменные каналов {telegram_message} - полный набор информации о пользователе, содержит в себе локации пользователя, если он ей поделится с ботом

Встроенные переменные можно не объявлять, их значение доступно в любом сценарии. Данные пользователя могут отсутствовать, если в сервисе не настроена Идентификация или иной метод получения данных о пользователях.

Пользовательские переменные

В сценариях возможно создавать и использовать для хранения данных пользовательские переменные трех типов:

  • переменные сценария

  • переменные диалога

  • переменные пользователя

Любая переменная можент быть создана или изменена ботом в любом сценарии. Значение переменной сценария будет потеряно после завершения того сценария, в котором она была создана. Значение переменной диалога будет доступно в любом сц