Яндекс формы - новый способ создания заявок

Яндекс формы - новый способ создания заявок

ITSM 365

Бизнес-ценность

Чтобы сделать процесс создания обращений еще более легким и быстрым, мы добавили новый канал подачи заявок – Яндекс Формы.

Такой инструмент удобно использовать в ITSM 365 как для внешней, так и внутренней поддержки. Яндекс Формы обеспечивают надежную защиту данных, которые вводят клиенты. Информация передается по защищенному каналу.

Используйте эту инструкцию, чтобы создать свою веб-форму и настроить передачу данных из нее в ваш ITSM 365.

Как это работает

Вы можете опубликовать Яндекс Форму на своем сайте или поделиться ссылкой с клиентами.

При переходе на форму пользователи смогут заполнить необходимые данные для создания заявки.

После отправки ответа на форму в ITSM 365 будет создана заявка.
В качестве контрагента будет указан пользователь, если система смогла определить его по указанной почте.

Для сбора статистики у заявок, созданных через Яндекс Формы, используется отдельный способ обращения.

Примечание: на форму нельзя прикрепить файлы. Они не будут переданы в ITSM 365.

Запрос в поддержку ITSM 365

Если на вашем стенде еще нет модуля JSON-RPC, то напишите в наш клиентский сервис запрос, что вы начинаете настройки Яндекс Форм для регистрации заявок и в связи с этим необходимо установить модуль json-rpc в ваш ITSM 365.

Если вы не уверены, есть ли модуль на вашем стенде, то этот момент также можно уточнить в нашей поддержке.

После того как сотрудник клиентского сервиса сообщил вам о том, что модуль установлен, можно приступать к настройке.

Как это настроить

Настройка в ITSM 365

  1. Добавить новый элемент в справочник "Тип канала обращения"
    Название – Яндекс.Формы
    Код – yandexForms
    Иконка – файл
  2. Добавить нового сотрудника с правами на создание заявок от других пользователей.
    Логин - yandexFormUser
    Лицензия - Контактное лицо (нелицензированный)
    Персональные права - "Участники процесса заявок"
  3. Для подключения Яндекс Формы к вашему ITSM 365 потребуется сгенерировать ключ доступа – accessKey для пользователя "yandexFormUser".
    Чтобы получить ключ доступа, нужно выполнить в консоли технолога код:<pre>return api.auth.getAccessKey('yandexFormUser').setDeadlineDays(365).setDescription('Для Яндекс Форм').uuid</pre>

Такой ключ доступа будет действителен год. Через год нужно будет сгенерировать новый. Чтобы не забыть это сделать, можно создать себе задачу в ITSM&nbsp;365 :)

Подробную информацию по работе с ключами доступа вы можете получить здесь.

Подготовка к созданию формы

  1. Необходимо определить тип заявок, которые будут создаваться через Яндекс&nbsp;Формы
  2. Перейти к форме добавления заявки нужного типа в интерфейсе технолога (Класс Заявка –> Выбранный тип –> Форма добавления)
  3. Посмотреть, какие атрибуты есть на форме добавления
  4. По возможности оставить вкладку с формой открытой, чтобы было удобнее просматривать названия, коды и типы всех обязательных атрибутов на форме добавления в процессе настройки Яндекс&nbsp;Формы. При необходимости можно отдельно зафиксировать эту информацию в заметках.

Настройка Яндекс Формы

В процессе работы вам может помочь документация от сервиса Yandex Cloud.

Создание макета

Примечание: можно использовать макет для Заявки и адаптировать его под себя или начать с чистого листа. Шаблон макета для Заявки можно найти на главной странице сервиса Yandex&nbspForms.

Необходимо добавить поля для всех атрибутов, которые были зафиксированы ранее. Тип вопроса необходимо выбирать в зависимости от типов атрибутов:

  • Если требуется строковый атрибут, то можно использовать поле типа "Короткий текст"
  • Если атрибут логический – добавить поле типа "Да/Нет"
  • Если требуется сохранить объемный текст – добавить поле типа "Длинный текст"
  • Если требуется сохранить номер телефона – добавить поле типа "Телефон"
  • Если требуется сохранить адрес электронной почты – добавить поле типа "Почта"

В каждом поле можно провести дополнительные настройки. Например, поставить галочку "Обязательный вопрос" у тех полей, которые соответствуют обязательным атрибутам на форме добавления заявки в вашем ITSM&nbsp;365

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

Ниже представлен наш вариант использования выпадающего списка для выбора Услуги:

Вопрос – Выберите услугу
Ответы – Прочее, Рабочее место, ИТ
Идентификатор ответа – default, 01, 02
Примечание: идентификатор ответа открывается по "шестеренке", его значение будет передаваться в ITSM&nbsp;365.
Если в классе/типе, для которого создаете выпадающий список, уже есть уникальный атрибут для поиска объекта в ITSM
&nbsp;365, используйте значения этого атрибута. Если нет, то можно использовать UUID.
В данном примере мы указываем значения атрибута "inventoryNumber" – уникального атрибута Услуги.

Подставить первый вариант ответа в поле – да

Создание интеграции

  1. Нажать на пункт "Интеграция" в конструкторе форм
  2. Выключить и удалить действие "Почта"
  3. Нажать на блок API и выбрать "Запрос заданным методом"

4. Заполнить URL запроса:
URL – это полный адрес сервиса (скриптового модуля), куда мы должны отправить запрос. В нашем случае он будет иметь вид:

<pre>https://адрес_вашего_приложения.itsm365.com/sd/services/rest/exec-post?accessKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx &func=modules.jsonRpc.process&params=request,response,user&raw=true</pre>

В этом примере нужно заменить:

  • "адрес_вашего_приложения.itsm365.com" на адрес вашего сервера
  • значение ключа "accessKey" заполнить ключом, который сгенерировали ранее

Подробнее про формат взаимодействия с внутренними сервисами можете прочитать в документации.

5. Выбрать метод запроса POST

6. Сформировать тело запроса согласно спецификации JSON RPC.

Пример готового тела запроса можно найти в конце инструкции. Другие примеры и методологию можно найти по ссылке в Postman.

7. Указать тип заявки, которая будет создана в результате отправки формы в параметре "fqn":

Примечание: FQN типа заявки формируется как issue$код_типа_заявки. Например, issue$issue
<pre>{
"jsonrpc": "2.0",
"method": "create",
"params": {
"fqn": "FQN типа заявки",
"attrs": {},
"view": [
"UUID",
"number"
]
},
"id": 0
}</pre>

8. Прописать в блоке "attrs" соответствие всех значений полей формы атрибутам в вашем ITSM&nbsp;365

Для передачи значений из полей формы в заявку в ITSM&nbsp;365 для заполнения текстовых или логических используйте такой формат:
"код_атрибута_в_ITSM_365":"ответ на вопрос",

Как подставить значение ответа на вопрос из формы представлено на видео.

Если какое-то значение из формы должно стать ссылкой на объект в ITSM&nbsp;365, то это тоже можно отразить в интеграции. Например, для поиска Договора, можно использовать такой формат:

<pre>"agreement": {
"method":"get",
"params":{
"fqn":"agreement",
"query":{
"inventoryNumber": "Идентификатор варианта ответа на вопрос"}
} 
}, </pre>

Примечание: здесь по значку "+" нужно выбрать "Идентификатор варианта ответа на вопрос"

Пример готовой Яндекс Формы

Мы выбрали тип заявки – "Заявка". Заранее создали новый способ обращения и определили список атрибутов, которые будут заполняться при создании заявки через Яндекс&nbsp;Форму.

Список атрибутов в примере формы: имя, почта, договор, услуга, тема и описание. Заявки будут создаваться по договору "Прочее (по умолчанию)" и по услуге "Прочее".

Далее создали макет формы в конструкторе:

Интеграция для этой формы выглядит следующим образом:

<pre>{

"jsonrpc": "2.0",

"method": "create",

"params": {

"fqn": "issue$issue",

"attrs": {

"wayAddressing":"yandexForms", 

"shortDescr": "",
"descriptionRTF": "",
"clientEmployee": {
"method": "findFirst",
"params": {
"fqn": "employee",
"query": {
"email": "",
"removed": false
}
}
}, 
"clientName":"",
"clientEmail":"", 
"agreement": {
"method":"get",
"params":{
"fqn":"agreement",
"query":{
"inventoryNumber": ""

}
} 
},
"service": {
"method":"get",
"params":{
"fqn":"slmService",
"query":{
"inventoryNumber": ""

}  
} 
}  
},
"view": [
"UUID"

]

},

"id": 0

}</pre>

Report Page