Примеры сценариев (старая версия)

Диалоговые сценарии

установитьПеременную("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\"}" )+ завершить

 

Сценарии для модуля Приветствие

Прочие сценарии