Краткая документация, собранная без лишнего шума.
Эта страница описывает основные механики Anketa: как устроены типы вопросов, как живет интервью, как работают логика, экспорт, медиабиблиотека и ключевые настройки проекта.
Question types
Типы вопросов
Общие поля: id, type, title, description, required,
timer, а также правила переходов и видимости.
Одиночный выбор
Список вариантов с выбором одного ответа. Поддерживаются закрепленные и взаимоисключающие опции, а также перемешивание.
Множественный выбор
Выбор нескольких вариантов с ограничением минимального и максимального количества ответов.
Текст
Текстовый ответ с минимальной длиной, проверкой по шаблону и подсказкой.
Матрица
Оценка по строкам и столбцам, с поддержкой одиночного или множественного выбора в строке.
Шкала, ranking, allocation
Числовые шкалы, выбор top-k и распределение процентов или количества по вариантам.
Booking
Двухшаговая запись на проект: сначала дата с остатками, затем только свободные слоты времени. Сетка слотов настраивается в проекте.
Heatmap и info block
Точки на изображении, медиа-блоки, таймеры и режимы просмотра до конца.
Runtime
Прохождение анкеты
В тестовом режиме ?test=1 анкета работает как предпросмотр и не пишет ответы в базу. В боевом режиме создается сессия и каждый ответ сохраняется на сервере.
POST /session/openоткрывает или возобновляет интервью поdevice_id.POST /session/answerсохраняет ответ после каждого шага.POST /sessions/<id>/endзавершает интервью.- Для
bookingбронь слота подтверждается только на шагеДалее, без предварительного hold; после выбора слота показывается обязательный номер телефона.
Подробно: /docs/runtime.md
Responses
Просмотр ответов
В активном проекте можно открыть список заполненных анкет и перейти внутрь конкретной сессии, чтобы листать вопросы и ответы в порядке анкеты.
- Вход доступен из таблицы активных проектов.
- Таблица
Заполненные анкетыпоказывает сессии кромеin_progress. - Для booking-проектов в admin UI есть отдельная вкладка загрузки слотов, етот режим показывает телефон и кнопку удаления записи.
- Фильтр по статусу собирается из реально загруженных данных.
- Если по выбранному статусу нет сессий, на экране остаётся пустая таблица.
Подробно: /docs/project_responses.md
Export
Экспорт данных
Результаты можно выгружать в CSV, XLSX и SPSS. Поддерживается фильтрация по статусам интервью и анонимизация IP и геоданных.
- Одиночный выбор экспортируется как одно поле, множественный - как бинарные столбцы по вариантам.
- Текст хранится строкой, шкала - числом, матрица - разложением по строкам и столбцам.
- Ranking и allocation кодируются в формате, пригодном для дальнейшего анализа.
Подробно: /docs/export.md
Piping
Подстановки
В тексты, заголовки и описания можно подставлять ответы на предыдущие вопросы, чтобы создавать более контекстный flow.
@@QID- простой ответ.@@QID|N- N-й выбранный вариант или N-я ячейка матрицы.@@QID|#VAL- текст опции со значением VAL.@@QID|#ROW#COL- конкретное значение из матрицы.
Media
Загрузка и библиотека медиа
Для info_block и heatmap поддерживаются изображения и видео. В анкете лучше использовать относительные пути вроде /image/... и /video/....
POST /__upload- загрузка дляadminиsuperadmin.GET /media- библиотека медиа для организации.DELETE /media- удаление для административных ролей.
Подробно: /docs/media_library.md
Logic rules
routing_rules и visibility_rules
Раздел логики управляет переходами через routing_rules и видимостью через visibility_rules, используя JSON-выражения в if.
Поддерживаемые операторы
AND,OR,NOT==,!=,<,<=,>,>=IN,NOT_INHAS_ANY,HAS_ALL,HAS_NONE
Шпаргалка и примеры: /docs/logic.md
Готовые JSON-шаблоны
Пример routing_rules
{
"id": "rr1",
"priority": 1,
"if": { "==": ["$q1", "A"] },
"goto": "q5"
}
Пример visibility_rules
{
"id": "vr1",
"priority": 1,
"initial": "VISIBLE",
"action": "HIDE",
"if": { "==": ["$q1", "no"] }
}
Quickstart
Быстрый старт
Для локальной разработки backend обычно поднимается на 8000, frontend - на 3000. Во frontend API ходит через /api, чтобы dev и prod проксировались одинаково.
Для фонового локального запуска храните логи в output/logs/, а не в корне репозитория.
Подробно: /docs/quickstart.md
Settings
Настройки анкеты
allow_back- разрешить возврат к предыдущим вопросам.allow_repeat- разрешить повторное прохождение.allow_resuming- продолжать опрос с того же места на том же устройстве.- Для проектов с записью доступны отдельные вкладки сетки слотов и загрузки по слотам.
- Квоты, таймеры и служебные режимы тоже управляются из настроек проекта.
FAQ
Вопросы и ответы
На каких устройствах можно проходить опрос?
На компьютере, планшете и смартфоне в современном браузере.
Что делать, если сессия прервалась?
Если включено возобновление, просто откройте ссылку снова - интервью продолжится с последнего места.
Можно ли вернуться к предыдущему вопросу?
Это зависит от настройки allow_back.
Доступна ли повторная попытка?
Это контролируется организатором через allow_repeat.
Как скачать результаты?
В административной части доступен экспорт CSV, XLSX и SPSS.