...
Expand |
---|
title | Нажмите здесь, чтобы развернуть пример сценария |
---|
|
Code Block |
---|
//
// Сценарий первичного анкетирования и передачи запроса операторам
//
// Начинается опрос
задатьПользователюВопрос("Уточните, пожалуйста, что для Вас является приоритетным?").сВариантамиОтвета("Получение максимальной суммы","Простота получения").сохранитьРезультат("UserSaid_Priority")+
задатьПользователюВопрос("Укажите, на какие цели предназначается займ?").сохранитьРезультат("UserSaid_Priority_2")+
сообщениеПользователю.сШаблоном("Пожалуйста не закрывайте окно чата оператор подберет для Вас наиболее выгодное предложение!")+
//
// завершаем сценарий и передаем диалог операторам
завершитьИПеревестиНаОператора |
|
Анкетирование пользователя и сохранение результатов в
...
профиле пользователя
Сценарий проверит данные в профиле пользователя по списку и попросит пользователя указать отсутствующие данные. Список переменных указывается в самом сценарии. Для каждого вопроса предусмотрена кнопка Пропустить, нажатие пользователя на эту кнопку фиксируется в переменной пользователя как символ -.
Expand |
---|
title | Нажмите здесь, чтобы развернуть пример сценария |
---|
|
Code Block |
---|
//
// Сценарий заполнения данных пользователя
//
установитьПеременную("enteredEmail", "") +
установитьПеременную("enteredPhone", "") +
установитьПеременную("enteredFIO", "") +
установитьПеременную("enteredTall", "") +
установитьПеременную("enteredRegion", "") +
установитьПеременную("enteredLink", "") +
установитьПеременную("enteredCheck", "") +
//
// Опрос
если("{userFullName} == ").то(
задатьПользователюВопрос("Укажите как вас зовут").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredFIO")
) +
если("{userEmail} == ").то(
задатьПользователюВопрос("Укажите адрес вашей электронной почты").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredEmail")
) +
если("{userPhone} == ").то(
задатьПользователюВопрос("Укажите номер вашего телефона").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredPhone")
) +
если("{userPayload.рост} == ").то(
задатьПользователюВопрос("Укажите ваш рост").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredTall")
) +
если("{userPayload.регион} == ").то(
задатьПользователюВопрос("Укажите ваш город").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredRegion")
) +
если("{userPayload.ссылка} == ").то(
задатьПользователюВопрос("Укажите ссылку на ваш профиль").сВариантамиОтвета("Пропустить").сохранитьРезультат("enteredLink")
) +
//
// Замена нажатой кнопки Пропустить на символ -
если("{enteredFIO} == Пропустить").то(
установитьПеременную("enteredFIO", "-")
) +
если("{enteredEmail} == Пропустить").то(
установитьПеременную("enteredEmail", "-")
) +
если("{enteredPhone} == Пропустить").то(
установитьПеременную("enteredPhone", "-")
) +
если("{enteredTall} == Пропустить").то(
установитьПеременную("enteredTall", "-")
) +
если("{enteredRegion} == Пропустить").то(
установитьПеременную("enteredRegion", "-")
) +
если("{enteredLink} == Пропустить").то(
установитьПеременную("enteredLink", "-")
) +
//
// Проверка данных и сохранение тех переменных пользователя для которых в опросе были указаны данные
если("{enteredFIO} != ").то(
установитьПеременнуюПользователю("userFullName", "{enteredFIO}") +
установитьПеременную("enteredCheck", "1")
) +
если("{enteredEmail} != ").то(
установитьПеременнуюПользователю("userEmail", "{enteredEmail}") +
установитьПеременную("enteredCheck", "1")
) +
если("{enteredPhone} != ").то(
установитьПеременнуюПользователю("userPhone", "{enteredPhone}") +
установитьПеременную("enteredCheck", "1")
) +
если("{enteredTall} != ").то(
установитьПеременнуюПользователю("userPayload.рост", "{enteredTall}") +
установитьПеременную("enteredCheck", "1")
) +
если("{enteredRegion} != ").то(
установитьПеременнуюПользователю("userPayload.регион", "{enteredRegion}") +
установитьПеременную("enteredCheck", "1")
) +
если("{enteredLink} != ").то(
установитьПеременнуюПользователю("userPayload.ссылка", "{enteredLink}") +
установитьПеременную("enteredCheck", "1")
) +
//
// Если хоть одно значение было указано сценарий сообщит со сохранении данных
если("{enteredCheck} == 1").то(
сообщениеПользователю.сШаблоном("Спасибо. Все записал.")
) +
//
завершить |
|
Опрос пользователя и получение
...
ответа из Confluence
Сценарий уточняет вопрос у пользователя и в зависимости от выбора пользователя возвращает в ответ одну из двух статей из Confluence.
Токен для обращения сервиса в Confluence следует получать у администраторов Confluence или по документации.
Expand |
---|
Image Added Code Block |
---|
//
// Сценарий получения ответа из статьи Confluence
//
// Настройки сценария
//
// Укажите адрес установки Confluence
установитьПеременную("confluense_host", "https://ХХХХХХХХХ.atlassian.net/") +
// URL для запросов получения контента статей
установитьПеременную("confluense_url", "wiki/rest/api/content/") +
// Укажите токен для API запросов в Confluence
установитьПеременную("confluense_token", "ХХХХХХХХХХХХХХХХХ")+
//
// Основной код сценария
//
// Приветственное сообщение и первый вопрос
сообщениеПользователю.сШаблоном("Добрый день! Сейчас я помогу!") +
задатьПользователюВопрос("Подскажите, описание какого релиза вас интересует?").сВариантамиОтвета("5.0.4", "5.0.5").сохранитьРезультат("answer_1")+
//
если("{answer_1} == 5.0.4").то(
установитьПеременную("article", "3154706435")
) +
если("{answer_1} == 5.0.5").то(
установитьПеременную("article", "3160571905")
) +
//
//
вызвать.внешнийСервис("{confluense_host}{confluense_url}{article}", "GET").сПараметрами(("expand", "body.storage")).сЗаголовками(("Content-Type", "application/json"),("charset", "utf-8"),("Authorization", "{confluense_token}")).сохранитьРезультат(("body.storage.value","body"))+
//
// Проверка результатов запроса, в случае ошибки сценарий сообщит об ошибке и завершится
если("{http_code} > 210").то(
комментарий("Сценарий не смог получить данные. {http_code}")+
сообщениеПользователю.сШаблоном("Что-то сломалось и я не могу получить для вас ответ.")+
завершить
)+
//
//
сообщениеПользователю.сШаблоном("{body}")+
завершить |
|
Работа с API вызовами
Создание инцидента в ITSM системе через REST API
...