// Пример сценария опроса оператора с заполнением метаданных пользователя
// Сценарий предназначен для подключения в Интеграцию на событие "Нажата кнопка оператора"
// После установки переменных новые данные отправляются в CRM и сохраняются в профиле пользователя в АФ
//
установитьПеременную("host", "http://xxxx")+
установитьПеременную("_height", "{userPayload.Рост}")+
установитьПеременную("_weight", "{userPayload.Вес}")+
установитьПеременную("_typeNum", "{userPayload.Тип}")+
установитьПеременную("_comment", "{userPayload.Комментарий}")+
// Списки вариантов тегов
установитьПеременную("types", "{\"Ученик\": \"Ученик\", \"Лид\": \"Лид\", \"Преподаватель\": \"Преподаватель\", \"Прочее\": \"Прочее\"}") +
// Собираем поля для формы оператора
// Добавляем текстовое поле для отображения информации
добавитьПолеВФормуОператора(
форма = "Обновление данных пользователя",
переменная = "formName",
название = "",
значение = "Укажите новые значение или сотрите старые",
тип = "Нередактируемый текст",
описание = "",
обязательное = false
) +
// Добавляем поля пользователя
добавитьПолеВФормуОператора(
форма = "Обновление данных пользователя",
переменная = "_height",
название = "Рост",
тип = "Целое число",
описание = "Рост пользователя, см",
обязательное = false
) +
добавитьПолеВФормуОператора(
форма = "Обновление данных пользователя",
переменная = "_weight",
название = "Вес",
тип = "Целое число",
описание = "Вес пользователя, кг",
обязательное = false
) +
добавитьПолеВФормуОператора(
форма = "Обновление данных пользователя",
переменная = "_type",
название = "Тип",
тип = "Выпадающий список",
описание = "Выберите из списка тип пользователя",
обязательное = false,
варианты = "{types}"
) +
добавитьПолеВФормуОператора(
форма = "Обновление данных пользователя",
переменная = "_comment",
название = "Комментарий",
тип = "Многострочный редактируемый текст",
описание = "Комменатрий к пользователю",
обязательное = false
) +
// показываем форму оператору, пока оператор не закроет форму сценарий ждет
// если оператор нажмет в форме Отмена - сценарий остановится
показатьФормуОператору(имя = "Обновление данных пользователя") +
// отправка запроса на регистрацию инцидента в соответствии с выбранными значениями
вызвать.внешнийСервис("{host}", "POST").сЗаголовками(("Content-Type", "application/json"),("charset", "utf-8")).сТеломСообщения("{\"name\":\"{userFullName}\",\"type\":\"{_type}\",\"weight\":\"{_weight}\",\"comment\":\"{_comment}\",\"height\":\"{_height}\"}").сохранитьРезультатКакСтроку("answer")+
// обработка ошибок
если("{http_code} != 200").то(
// если запрос завершен с ошибкой сценарий помещает в диалог соответствующий комментарий и завершает свою работу
комментарий("Данные пользователя не обновлены. При запросе на регистрацию данных пользователя возникла ошибка {http_code}, обратитесь к системному администратору")+
завершить
)+
комментарий("Обовлены данные пользователя. Новые данные отправлены в CRM")+
установитьПеременнуюПользователю("userPayload.Рост", "{_height}")+
установитьПеременнуюПользователю("userPayload.Вес", "{_weight}")+
установитьПеременнуюПользователю("userPayload.Тип", "{_type}")+
установитьПеременнуюПользователю("userPayload.Комментарий", "{_comment}")+
установитьПеременнуюВДиалог(
ключ = "user_chat",
значение = "{_comment}",
название = "Редактируемый комментарий",
тип = "Текст",
показыватьОператору = true,
обязательное = false,
редактируемое = true
)+
завершить |