Примеры сценариев (старая версия)
- Aleksandr Pletnev
- Denis Kiselev
- Vlad Belyaev
- Dennis Victorovich
Owned by Aleksandr Pletnev
Диалоговые сценарии
установитьПеременную("baseURL", "https://swapi.dev/api") +
вызвать.внешнийСервис("{baseURL}/people/1/", "GET").сЗаголовками(("Content-Type", "application/json")).сохранитьРезультатКакСтроку("results")+
выполнитьJs("""
var result = JSON.parse(results);
var exit = {'name':result.name, 'gender':result.gender}; exit;
""")+
сообщениеПользователю.сШаблоном("name {name}<br>gender {gender}")+
завершить
Интеграционные сценарии для кнопок “Действия” операторов
установитьПеременную("host", "https://api.sendgrid.com/v3/mail/send")+
установитьПеременную("token", "token")+
установитьПеременную("from_email", "noreply@autofaq.ai")+
установитьПеременную("from_name", "autofaq")+
установитьПеременную("subject", "Переписка с пользователем {userFullName}")+
установитьПеременную("user_info", "Пользователь:\n{userFullName}")+
// Получаем историю сообщений
выполнитьJs("""
var messages = conversation.messages.filter(function (str) {return ['Question', 'AnswerOperator'].indexOf(str.tpe) != -1});
var msg_history = '';
messages.forEach(function (item, i, arr) {
msg_history += ((i > 0) ? '\n\n':'') + ((item.tpe == 'Question') ? 'Клиент:' : 'Оператор:') + '\n' + item.txt.replace(/<\/?[^>]+(>|$)/g, "");
});
var exit = {'msg_history':msg_history};
exit;
""")+
// Собираем поля для формы оператора
// Добавляем текстовое поле для отображения информации
добавитьПолеВФормуОператора(
форма = "Отправить на Email",
переменная = "formName",
название = "Действие:",
значение = "Отправка сообщения на Email",
тип = "Нередактируемый текст",
описание = "",
обязательное = false
)+
//
добавитьПолеВФормуОператора(
форма = "Отправить на Email",
переменная = "email",
название = "Email",
значение = "xxx@gmail.com",
тип = "Однострочный редактируемый текст",
обязательное = true
)+
//
добавитьПолеВФормуОператора(
форма = "Отправить на Email",
переменная = "comment",
название = "Комментарий",
тип = "Многострочный редактируемый текст",
значение = "",
обязательное = false
)+
// Показываем форму оператору, пока оператор не закроет форму сценарий ждет
// если оператор нажмет в форме Отмена - сценарий остановится
показатьФормуОператору(имя = "Отправить на Email")+
// отправка запроса
вызвать.внешнийСервис("{host}", "POST").сЗаголовками(("Authorization", "{token}"),("Content-Type","application/json")).сТеломСообщения("{\"personalizations\":[{\"to\":[{\"email\":\"{email}\",\"name\":\"{userFullName}\"}],\"subject\":\"{subject}\"}],\"content\": [{\"type\": \"text/plain\", \"value\": \"Комментарий оператора:\\n{comment}\\n\\n{user_info}\\n\\nИстория сообщений:\\n{msg_history}\"}],\"from\":{\"email\":\"{from_email}\",\"name\":\"{from_name}\"},\"reply_to\":{\"email\":\"{from_email}\",\"name\":\"{from_name}\"}}").сохранитьРезультат()+
// обработка ошибок
если("{http_code} > 202").то(
//если запрос завершен с ошибкой сценарий помещает в диалог соответствующий комментарий и завершает свою работу
комментарий("При запросе возникла ошибка {http_code}, обратитесь к системному администратору")+
завершить
)+
// помещаем комментарий в диалог об успешной регистрации инцидента
комментарий("Сообщение отправлено на {email}")
В качестве тегов можно использовать функцию “установитьПеременнуюВДиалог“ с типом “Выпадающий список“
установитьПеременнуюВДиалог(
ключ = "priority",
значение = "",
название = "Выберите тег",
редактируемое = true,
показыватьОператору = true,
обязательное = true,
множественныйВыбор = true,
тип = "Выпадающий список",
варианты = "{\"Тег 1\": \"t1\", \"Тег 2\": \"t2\"}"
)+
завершить
Сценарии для модуля Приветствие
Прочие сценарии