# Опросник

IDnGO позволяет создать шаг верификации — опросник (QUESTIONNAIRE), чтобы ваши пользователи могли отвечать на вопросы или заполнять поля данных, которые вас интересуют.

# Настройка

Опросы настраиваются с помощью конструктора опросов в разделе «Опросники» Дешборда.

Внимание:

id каждого элемента в опросе должен быть уникальным. Если вы планируете изменять структуру опроса, нельзя повторно использовать существующие id.

Поля элемента questionnaireDef

Название Тип Обязательно Описание
id String Да Идентификатор опросника.
title String Нет Название опросника.
desc String Нет Описание опросника.
sections Array Да Разделы опросника.

Поля элемента sections

Название Тип Обязательно Описание
id String Да Идентификатор раздела.
title String Нет Название раздела.
desc String Нет Описание раздела.
condition String Нет Условие, которое заставляет раздел отображаться в зависимости от value указанного sectionId.itemId={options.value} (см. пример).
items Array Да Элементы опросника (поля данных).

Поля элемента items

Название Тип Обязательно Описание Значение
id String Да Идентификатор элемента. Любой уникальный идентификатор элемента.
title String Нет Название поля данных. Любое значение строки.
desc String Нет Описание поля данных. Любое значение строки.
type String Да Тип поля данных. См. ниже.
required Boolean Нет Обязательность поля данных для заполнения. true или false
format String Нет Формат поля данных с проверкой. min:3, max:9 (задает минимальное/максимальное количество символов), email и т.д.
placeholder String Нет Заполнитель для текстового поля данных. Любое значение строки.
options Array Нет Массив значений для выбора. [{"value": "someValue", "title": "Да", "score": 0}]
condition String Нет Условие, которое заставляет элемент отображаться. sectionId.itemId={options.value} (Пример: 1-Section.1-2=someValue)

Доступные типы элемента type параметра items

Значение Описание
text Текстовое поле.
textArea Расширяемая текстовая область.
date Поле даты (в формате mm/dd/yyy).
dateTime Показывает календарь для выбора даты и времени.
bool Одиночный чекбокс.
select Использование массива options позволяет создать радиокнопки.
selectDropdown Использование массива options позволяет создать выпадающий список значений, которые можно выбрать.
multiSelect Использование массива options позволяет создать множественный выбор чекбоксов.
countrySelect Выпадающий список доступных стран.
fileAttachment Позволяет загрузить файл пользователя в качестве вложения.

Поля массива options

Название Тип Обязательно Описание Значение
value String Да Значение, которое вы получите через API, как выбранную пользователем опцию. Любой уникальный идентификатор элемента.
title String Да Название опции, которое будет показано пользователю. Любое значение строки.
score Double Нет Добавляет значение к общему баллу опросника (score). Двойное значение.

# Получение результатов

Чтобы получить результаты прохождения опросника, воспользуйтесь эндпоинтом получения данных пользователя.

Элементы с типом fileAttachment содержат значение imageId, которое вы можете использовать для получения загруженного файла при помощи этого запроса.

Пример

# Изменение языка опросника

Вы можете изменить тексты опроса для разных языков (параметр lang при инициализации SDK). Для этого необходимо предоставить JSON-структуру опроса с переводами в объекте questionnaires. Каждый объект внутри .questionnaires соответствует опроснику по его id.

Пример

"questionnaires": {
    "questionnaireTranslate": { //id of a questionnaire to change texts
      "title": "I18n questionnaire title",
      "desc": "I18n questionnaire description",
      "sections": {
        "section1": { //id of a section to change texts
          "title": "I18n section title",
          "desc": "I18n section description",
          "items": {
            "item1": {
              "title": "I18n item title",
              "desc": "I18n item description",
              "options":{ //In case of multiselect options
                "value1": "I18n option title 1",
                "value2": "I18n option title 2"
              }
            }
          }
        }
      }
    }
  }

# Сброс опросника

Для удаления всех активных данных опросника у конкретного пользователя используйте параметр QUESTIONNAIRE в соответствующем запросе.