Онлайн-конструктор форм, опитувань, тестів, вікторин та іспитів.

  • Вступ
  • Форми
  • Створення та конфігурація
  • Зведення
  • Питання
  • Конфігурація питання
  • Імпорт запитань
  • Генератор запитань
  • Налаштування складності
  • Запрошувальні посилання
  • Екзаменаційний білет
  • Список контактів
  • Результати
  • Аналітика
  • Брендування
  • Інтеграції
  • API
  • API Assets
  • Контроль доступу за IP
  • Робочі групи
  • Меню користувача
  • Налаштування акаунта
  • Налаштування додатка
  • Інтерфейс для клієнтів
  • Догори
  • Документація

    Документація

    Глобально інтерфейс поділяється на панель адміністратора форм і список ваших запрошень.

    • Панель адміністратора форм, або просто "Мої форми", — інтерфейс, у якому ви, як адміністратор, можете керувати формами: створювати їх, налаштовувати, наповнювати питаннями, працювати з результатами, переглядати аналітику тощо.
    • Список ваших запрошень, або просто "Мої запрошення", — інтерфейс для ваших користувачів, де вони можуть переглядати список запрошень на заповнення опитувань, проходження тестів чи складання іспитів, які їм надіслали інші адміністратори форм.

    Є ще Меню користувача, де ви зможете налаштувати акаунт і додаток відповідно до ваших потреб.

    Форми

    В інтерфейсі "Мої форми" відображається ваш актуальний список форм. Кожна форма представлена у вигляді блоку, що містить назву, короткий список налаштувань і опис.

    Клікнувши на блок форми, ви перейдете до інтерфейсу для роботи з цією конкретною формою.

    Створення та налаштування

    Щоб створити нову форму, перейдіть в інтерфейс "Мої форми" і натисніть кнопку "Створити нову форму". Після цього відкриється панель конфігурації, де ви зможете налаштувати форму.

    Доступний широкий набір параметрів для гнучкого налаштування форми відповідно до ваших потреб.

    Повний список налаштувань форми:

    • Назва — назва форми, яка буде відображатися тільки вам у списку ваших форм. Обов’язкове поле.
    • Опис — опис форми, який буде показаний користувачам перед її заповненням. Не є обов’язковим.
    • Локалізація — основна мова форми, на якій будуть відображені елементи інтерфейсу, кнопки та допоміжна інформація. Рекомендується, щоб мова форми, опису, запитань і варіантів відповідей збігалися.
      Мова форми не обов’язково повинна відповідати мові інтерфейсу, але за замовчуванням буде вибрано мову вашого інтерфейсу.
    • Тип форми — основний параметр, що визначає властивості форми. Доступно 3 типи:
      • Опитувальник — проста базова форма, яку користувач може заповнити, а ви отримаєте результати. Функціонал обмежений, але ця форма доступна у безкоштовному тарифі "Basic".
      • Вікторина — більш складна форма з можливістю додавання оцінювання, правильних і неправильних відповідей, відображення результатів, таймеру, поділу питань на сторінки тощо.
        Доступна в тарифі "Plus".
      • Екзамен — форма, в якій для кожного користувача створюється індивідуальний екзаменаційний білет із системою балансу складності та іншими функціями. Білети формуються зі списку питань, тому форма повинна містити достатню кількість питань.
        У цьому типі форми допускаються лише питання з варіантами відповідей, і має бути хоча б одна правильна відповідь.
        Доступна лише в тарифі "Pro".
    • Доступ — визначає, чи буде форма доступна всім користувачам або лише тим, хто отримає персональне запрошення.
      • Публічний — форма доступна всім без обмежень. Недоступно для типу "Екзамен", оскільки кожен білет закріплений за унікальним запрошенням.
      • Тільки за запрошенням — доступ лише за спеціальним запрошенням.
    • Поділ на сторінки — визначає, як будуть розміщені питання форми.
      • Вимкнено — усі питання на одній сторінці.
      • Для кількох питань — питання можуть бути розподілені по сторінках. Недоступно для "Екзамен".
      • Окрема сторінка для кожного питання.
    • Таймер — обмежує час на заповнення форми.
      Доступний у "Екзамен" та "Вікторина" при "Тільки за запрошенням".
      • Вимкнено — без обмеження часу.
      • Глобальний — встановлюється загальний час для форми.
      • На кожне питання — окремий ліміт часу на кожне питання.
    • Система балів — дозволяє оцінювати результати форми на основі системи нарахування балів. (Доступно тільки для питань із варіантами відповідей.)
      Доступно в "Екзамен" та "Вікторина".
    • Система складності — доступна тільки в "Екзамен".
      Якщо включено, питання будуть розподілені за рівнями складності від "дуже простого" до "дуже складного".
      Допомагає збалансувати екзаменаційні білети.
    • Показати результати — дозволяє користувачам бачити бали, кількість правильних/неправильних відповідей і відсоток правильних відповідей.
      Доступно в "Екзамен" та "Вікторина".
    • Дозволити повернення — користувачі можуть повернутися до попередніх питань.
      Можливо, якщо "Таймер" — "Глобальний".
    • Моніторинг дій — відстежує небажані дії (зміна вкладки, закриття вікна).
      Доступно в "Екзамен" та "Вікторина" при увімкненому "Таймері".
    • Дата публікації — встановлює дату публікації форми.
    • Дата закінчення — встановлює дату завершення дії форми.

    Зведення форми

    На вкладці форми "Деталі" відображається коротке зведення налаштувань форми, кількість запитань, кількість заповнених результатів користувачів, поточний статус форми та інше.
    Також на цій вкладці знаходиться кнопка увімкнення/вимкнення форми (Опублікувати/Зняти з публікації).

    Запитання

    На вкладці форми "Запитання" відображається список уже доданих запитань.
    Кожне запитання представлено у вигляді блоку, що містить назву, короткий список налаштувань і кнопки Редагування та Видалення.
    Якщо налаштування "Розбити на сторінки" встановлено в значення Для кількох запитань, то буде доступна кнопка "Додати сторінку" для додавання сторінок і подальшого розподілу запитань між ними.
    Ліворуч від кожного блоку запитання є "якір", який виглядає так: . Клацнувши та утримуючи мишею, можна переміщати блоки запитань і змінювати їхню черговість або переміщати між сторінками.
    Для додавання нового запитання потрібно натиснути кнопку "Додати запитання" у верхній частині форми. Після цього відкриється панель конфігурації запитання, де ви зможете налаштувати запитання, додати опис, варіанти відповідей тощо.

    Окрім ручного додавання, для роботи з банком запитань доступні й додаткові сценарії:
    Імпорт запитань — окремий інтерфейс імпорту дає змогу завантажити запитання з JSON-файлу або вставити JSON вручну. Під час імпорту можна одразу задати спільні параметри, наприклад рівень складності та кількість балів, якщо вони застосовуються до поточної форми.
    AskiumAI — генератор запитань на основі штучного інтелекту дає змогу автоматично створити набір запитань з варіантами відповідей за темою, складністю та іншими параметрами. Згенеровані запитання додаються до поточної форми.

    На сторінці Імпорт запитань доступні дві допоміжні кнопки: "Приклад формату очікуваного JSON" і "Приклад промпту для генерації через AI". Друга відкриває готовий шаблон промпту, у який можна підставити тему, кількість запитань, кількість варіантів відповіді, складність і мову генерації, а потім скопіювати цей промпт для використання в сторонньому AI-сервісі.

    Імпорт підтримує не лише завантаження локального JSON-файлу, а й вставку вихідного raw JSON вручну у вікно. Якщо JSON було згенеровано AI, можна вставити як чистий JSON, так і весь json code block з відповіді моделі. Після запуску імпорт виконується як фонова задача: сторінка показує статус обробки, а після успішного завершення відкриває список імпортованих запитань.

    Інтерфейс імпорту доступний лише для форм типів Вікторина та Екзамен і тільки на тарифах Plus або Pro. Якщо у формі ввімкнена система балів, то під час звичайного імпорту можна задати спільну кількість балів вручну, а в екзамені з увімкненою Системою складності бали для імпортованих запитань будуть призначені автоматично на основі вибраної складності.

    Конфігурація питання

    Користувач має ряд налаштувань для конфігурації питання, визначення способу відповіді та його впливу на результат.
    Зверніть увагу, що доступність деяких налаштувань залежить від інших, і деякі з них можуть взаємовиключати одна одну.

    Повний список налаштувань питання:

    • Назва — Назва питання, яка буде видимою лише вам у списку питань форми або екзаменаційного квитка. Рекомендується бути коротким (2-3 слова). Обов’язкове поле.
    • Опис — Опис питання, що відображається користувачам у формі, тесті або екзамені. Обов’язкове поле.
      Для користувачів з планами "Plus" або "Pro" доступний розширений редактор, що дозволяє використовувати складне форматування, наприклад, зміну розміру шрифту, кольору, додавання списків, зображень, відео, блоків коду або математичних формул.
    • Пропускається — Визначає, чи може користувач пропустити це питання або відповідь є обов’язковою.
      Якщо у формі вибрано "Розбити на сторінки" — "Одне питання на сторінку", буде доступна кнопка "Пропустити".
    • Тип відповіді — основне налаштування, що визначає, як користувач має відповісти на запитання. Доступні такі типи:
      • Список варіантів — користувач обирає один або кілька варіантів відповіді. Ви також можете дозволити вводити власний варіант або позначати правильні та неправильні варіанти.
      • Поле вводу — користувач вводить відповідь у спеціальне поле. Тип і властивості цього поля задаються далі.
      • Вибір дати — користувач обирає дату за допомогою спеціального селектора.
      • Діапазон — користувач встановлює значення за допомогою повзунка. Значення оновлюється миттєво.
      • Рейтинг — ряд символів (зазвичай зірочки), де користувач виставляє оцінку натисканням. Значення визначається порядковим номером.
      • Персональні дані — спеціальний тип для збору таких даних, як ім’я, прізвище та email. Ці дані допомагають орієнтуватися в списках результатів і знаходити конкретного користувача за введеною інформацією.
    • Тип списку варіантів — Підналаштування Списку варіантів, що визначає, скільки варіантів відповіді може вибрати користувач. Доступно 2 типи:
      • Список з одним варіантом — Користувач може вибрати лише один варіант.
      • Список з декількома варіантами — Користувач може вибрати один або кілька варіантів.
    • Правильність — Підналаштування Списку варіантів, що визначає, чи розділені варіанти на правильні та неправильні.
    • Власний варіант — Підналаштування Списку варіантів, що дозволяє користувачу вводити власну відповідь. Недоступне, якщо "Правильність" увімкнено.
    • Рівень складності — Підналаштування Списку варіантів для форми типу "Екзамен", якщо увімкнено "Система складності". Обов’язкове поле.
    • Варіанти відповідей — Підналаштування Списку варіантів, що містить список відповідей, доступних користувачам. Щоб додати варіант, натисніть "Додати варіант".
      Кожен варіант можна переміщати або видаляти.
      Якщо "Правильність" увімкнено, кожен варіант отримає позначку "Правильний".
    • Тип поля — Підналаштування Поля вводу, що визначає тип введених даних. Доступні 5 типів:
      • Одна строка — Проста текстова строка без перенесення.
      • Багаторядковий ввід — Текстове поле з можливістю перенесення.
      • Число — Числове поле тільки для цілих чисел.
      • Дробове число — Поле для цілих та дробових чисел.
      • Email — Поле для введення електронної пошти.
    • Тип персональних даних — підналаштування Персональних даних, яке визначає, які саме дані очікуються в цьому полі:
      • Ім’я
      • Прізвище
      • Email
    • Мін. довжина — Мінімальна довжина тексту у "Одна строка" або "Багаторядковий ввід". Ціле число ≥ 0.
    • Макс. довжина — Максимальна довжина тексту у "Одна строка" або "Багаторядковий ввід". Ціле число ≥ 0.
    • Мін — Мінімальне значення для "Число" або "Дробове число".
    • Макс — Максимальне значення для "Число" або "Дробове число".
    • Крок — Крок зміни значень у "Число" або "Дробове число".

    Особливості Екзамену

    Для форм типу "Екзамен" питання завжди мають тип "Список варіантів" і не можуть бути змінені. Також неможливо вимкнути "Правильність" або увімкнути "Власний варіант".

    Імпорт запитань

    Сторінку імпорту можна відкрити з розділу питань поточної форми. Вона доступна лише для форм типів Вікторина та Іспит і лише на тарифах Plus або Pro. Усередині інтерфейсу можна вибрати один спільний рівень складності для всіх імпортованих питань і, якщо поточна форма використовує систему балів поза режимом іспитової складності, також задати одне спільне значення балів вручну.

    На сторінці вбудовано дві допоміжні дії: "Приклад формату очікуваного JSON" і "Приклад промпта для генерації через AI". Перша показує точний JSON-контракт із ключами question_short_title, question, options і correct_index. Друга відкриває готовий шаблон промпта, де можна заповнити тему, кількість питань, кількість варіантів відповіді, складність і мову, а потім скопіювати його для використання у зовнішньому AI-сервісі.

    Приклад JSON
    {
      "questions": [
        {
          "question_short_title": "HTTP status codes",
          "question": "Which status code means that the request was successful?",
          "options": [
            "200 OK",
            "301 Moved Permanently",
            "404 Not Found",
            "500 Internal Server Error"
          ],
          "correct_index": 0
        }
      ]
    }

    Питання можна імпортувати двома способами: завантажити локальний JSON-файл або вручну вставити вихідний raw JSON. Якщо вміст було згенеровано моделлю AI, сторінка також приймає весь json code block із відповіді. Після відправлення імпорт виконується як фонова задача: сторінка автоматично перевіряє статус задачі й після успішного завершення відкриває список імпортованих питань для перевірки та подальшого редагування.

    Якщо форма є іспитом з увімкненою Системою складності, бали для імпортованих питань призначаються автоматично відповідно до вибраного рівня складності. Завдяки цьому один і той самий сценарій імпорту підходить і для вікторин із ручним нарахуванням балів, і для іспитів із балансуванням складності.

    AskiumAI: генератор запитань

    AskiumAI — це окрема сторінка для генерації запитань безпосередньо в межах поточної форми. Інтерфейс показує ваш поточний баланс AI-токенів і допомагає наповнювати банк питань без виходу із застосунку. Генерація запитань доступна лише для форм типів Вікторина та Іспит; для інших типів форм інтерфейс показує попередження і не дозволяє запустити задачу.

    На сторінці генератора ви задаєте предметну область / тему, складність, кількість питань і кількість варіантів відповіді. Якщо форма використовує систему балів поза режимом іспитової складності, можна також указати кількість балів за правильну відповідь. Мова згенерованих питань визначається локалізацією, налаштованою для самої форми, а не поточною мовою інтерфейсу.

    Після відправлення AskiumAI спочатку перевіряє тему, а потім запускає генерацію як фонову задачу. Сторінка показує проміжні стани, автоматично опитує статус задачі та після успішного завершення відкриває список згенерованих питань. Згенеровані питання й варіанти відповідей завжди потрібно перевіряти вручну перед публікацією, оскільки AI все ще може помилятися.

    Після завершення генерації отримані питання можна переглянути, відредагувати, частково видалити або вибірково залишити перед продовженням роботи з формою.

    Налаштування складності

    Якщо обрано тип форми "Екзамен" і увімкнено налаштування "Система складності", то стане доступною вкладка "Налаштування складності".
    На цій вкладці можна налаштувати середній рівень складності екзаменаційного білета.
    Для цього потрібно вказати, скільки запитань кожного рівня складності буде в кожному екзаменаційному білеті. Усього додано 5 рівнів складності:

    • Дуже простий
    • Простий
    • Середній
    • Складний
    • Дуже складний

    Під час автоматичної генерації екзаменаційних білетів буде братися зазначена вами кількість запитань певного рівня складності, але в випадковому порядку. Таким чином, загальний рівень складності запитань у білетах буде збалансований, а сам набір запитань у кожному білеті буде унікальним.

    Ви самі обираєте, які рівні складності використовувати, а які ні. Використовувати весь діапазон рівнів зовсім не обов’язково. Зазвичай застосовують 2-3 рівні, наприклад, від Простого до Складного.

    Також, якщо увімкнено налаштування "Система балів", на цій вкладці можна вказати, скільки балів присвоюється за кожен рівень складності. Оскільки в комбінації налаштувань "Система балів" і "Система складності" бали не можна встановлювати індивідуально для кожного запитання, вони задаються лише на цій вкладці.

    Якщо тип форми — "Екзамен", то в інтерфейсі редагування запрошувального посилання також буде доступна друга частина, призначена для роботи з екзаменаційним білетом і наповнення його питаннями.
    Наповнити екзаменаційний білет питаннями можна двома способами:

    • Натиснувши кнопку "Згенерувати білет" — білет буде миттєво наповнений питаннями, виходячи з налаштувань складності (якщо у формі увімкнена функція "Система складності", налаштування складності заповнені, а також у формі має бути достатня кількість питань відповідних рівнів складності).
    • Наповнивши питаннями вручну, натискаючи кнопку "Додати питання" і вибираючи потрібні питання зі списку (можна декілька одночасно).

    Вже наповнений екзаменаційний білет можна змінювати, змінюючи черговість питань, перетягуючи їх за якір , і видаляти, натискаючи відповідну кнопку видалення.

    У формі типу "Екзамен" активувати запрошувальне посилання, якщо в білеті не додані питання, неможливо.

    Список контактів

    Ця вкладка доступна, якщо в конфігурації форми увімкнена функція "Доступ - Тільки за запрошенням"

    Тут відображається список контактів ваших користувачів (клієнтів/співробітників/студентів/...). Цей список потрібен для того, щоб у майбутньому імпортувати дані користувачів (ім’я, прізвище та Email) у запрошувальні посилання, тим самим спрощуючи їх створення.

    Для додавання нового контакту потрібно натиснути кнопку "Додати", після чого ви перейдете в інтерфейс створення нового контакту.

    Кожен контакт має три поля:

    • Ім’я
    • Прізвище
    • Email

    Для збереження контакту необхідно заповнити всі поля. Також слід зазначити, що Email у вашому списку контактів не може повторюватися.

    Результати

    На цій вкладці відображається список результатів заповнення форми користувачами. Кожен результат представлений у вигляді блоку з короткою інформацією:

    • КлючУнікальний ключ кожного результату;
    • Статус результату: В процесі або Завершено;
    • Дата і час завершення заповнення форми;
    • Ім’я та прізвище користувача, якщо у формі увімкнений Доступ тільки за запрошенням і в запрошувальному посиланні були вказані ім’я/прізвище користувача;
    • Email користувача, якщо у формі увімкнений Доступ тільки за запрошенням і в запрошувальному посиланні був вказаний Email користувача;
    • Бали, які користувач набрав у цьому результаті, якщо у формі увімкнена функція Система балів;
    • Відсоток % правильних відповідей, якщо тип форми Вікторина або Екзамен;

    Клацнувши по блоку результату, ви перейдете на сторінку з детальною інформацією про поточний результат:

    • Загальний звіт;
    • Журнал небажаних дій (якщо функція "Моніторинг дій" була увімкнена);
    • Повний список відповідей на питання форми з вказанням правильності відповіді, якщо така є;

    Аналітика

    На вкладці Аналітика відображається загальний звіт по всіх результатах за весь час існування поточної форми.

    Тут представлена наступна інформація:

    • Графіки заповнення — графіки, що відображають динаміку заповнення форми користувачами:
      • Погодинний графік — графік, що показує, скільки разів на день була заповнена форма за останні 30 днів.
      • Помісячний графік — графік, що показує, скільки разів на місяць була заповнена форма за останні 12 місяців.
    • Статистика результатів — узагальнені статистичні дані по всіх результатах за весь час:
      • Загальна кількість результатів
      • Загальна кількість балів у формі
      • Середня кількість балів, отриманих користувачами
      • Максимальна кількість балів, отриманих користувачами
      • Мінімальна кількість балів, отриманих користувачами
      • Середній відсоток правильних відповідей користувачів
      • Максимальний відсоток правильних відповідей користувачів
      • Мінімальний відсоток правильних відповідей користувачів
    • Статистика питань — узагальнені статистичні дані за весь час по кожному питанню окремо.
      Якщо це питання з варіантами відповідей, то:
      • Кількість і відносний відсоток пропусків питання;
      • Кількість і відносний відсоток правильних відповідей на питання;
      • Порівняльна статистична таблиця по кожному варіанту відповіді;
      • Порівняльний графік по кожному варіанту відповіді;

      Якщо це питання з полем введення числа, то:
      • Кількість і відносний відсоток пропусків питання;
      • Середнє значення відповіді;
      • Максимальне значення відповіді;
      • Мінімальне значення відповіді;

      Якщо це питання з полем введення рядка або дати, то відображається повний список відповідей на це питання.

    Аналітику також можна експортувати у PDF та Excel. Експорт готується у фоновому режимі, після чого сформований файл стає доступним для завантаження.

    Брендування та стилізація

    На цій вкладці ви можете налаштовувати візуальний стиль форми в режимі попереднього перегляду в реальному часі. Окрім базових кольорів і шрифтів, у розділі брендування тепер доступні налаштування індикатора прогресу та робота з пресетами брендування.

    • Колір фону сторінки, колір тексту та основний шрифт
    • Фон хедера, заголовок, шрифт заголовка, логотип і можливість повністю приховати хедер
    • Колір фону індикатора прогресу, колір заповнення та висота смуги
    • Кольори кнопок, кольори при наведенні, шрифт тексту кнопок, внутрішні відступи та форма кнопок
    • Оформлення блоку заголовка сторінки, кольори таймера, стилі варіантів відповідей та іконки результату

    Якщо у формі використовується індикатор прогресу, тут можна налаштувати його вигляд. Якщо він зовсім не потрібен, його можна повністю вимкнути в основних налаштуваннях форми.

    Також ви можете зберегти поточну стилізацію як пресет брендування і пізніше завантажити наявний пресет в іншу форму. Це зручно, якщо потрібно перевикористовувати однаковий візуальний стиль у кількох формах.

    Усі зміни брендування одразу відображаються у живому попередньому перегляді.

    Інтеграції зовнішніх сервісів

    У застосунку доступні два основні сценарії інтеграцій: вебхуки результатів та LMS / LTI-інтеграції.

    Вебхуки результатів

    Кожна форма має окрему вкладку Вебхуки, де можна налаштувати автоматичне надсилання результату після завершення проходження користувачем.

    Вебхук у Askium працює за сценарієм "форму завершено -> результат обчислено -> дані автоматично надіслано на ваш URL". Це зручно для передачі даних у власну CRM, LMS, ERP або бекенд.

    Основні налаштування вебхука:

    • Стан — вмикає або вимикає надсилання вебхуків;
    • URL адреса — повна адреса endpoint, який прийматиме дані;
    • Формат — формат відправки: JSON або XML;
    • Авторизація — додає додатковий HTTP-заголовок;
    • Заголовок (Header) — назва заголовка, наприклад Authorization;
    • Значення (Token) — значення заголовка, наприклад Bearer your-secret-token.

    Якщо авторизацію ввімкнено і заповнено обидва поля, система додає цей заголовок до HTTP-запиту. Якщо вебхуки вимкнені або URL не задано, відправка не виконується. Для тарифу Basic функція недоступна.

    Webhook payload містить п’ять основних частин: form, result, score, user та answers. Якщо питання використовує розширений HTML-редактор, замість початкового HTML передається рядок advanced_html.

    Приклад JSON webhook
    {
      "form": {
        "id": "frm-php-exam",
        "name": "PHP Certification Exam",
        "type": "exam"
      },
      "result": {
        "id": "res-8f2d1a",
        "started_at": "2026-03-01 10:00:00",
        "finished_at": "2026-03-01 10:42:15"
      },
      "score": {
        "max_points": 50,
        "total_points": 42,
        "percent": 84
      },
      "user": {
        "link_id": "link-abc123",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      },
      "answers": [
        {
          "question": {
            "id": "q-http-001",
            "title": "HTTP code",
            "text": "Which status code means success?"
          },
          "answer": "200 OK",
          "correct": true
        },
        {
          "question": {
            "id": "q-rich-002",
            "title": "Rich text question",
            "text": "advanced_html"
          },
          "answer": "Custom answer",
          "correct": false
        }
      ]
    }
    Приклад XML webhook
    <result>
      <form>
        <id>frm-php-exam</id>
        <name>PHP Certification Exam</name>
        <type>exam</type>
      </form>
      <details>
        <id>res-8f2d1a</id>
        <started_at>2026-03-01 10:00:00</started_at>
        <finished_at>2026-03-01 10:42:15</finished_at>
      </details>
      <score>
        <max_points>50</max_points>
        <total_points>42</total_points>
        <percent>84</percent>
      </score>
      <user>
        <link_id>link-abc123</link_id>
        <first_name>John</first_name>
        <last_name>Doe</last_name>
        <email>john.doe@example.com</email>
      </user>
      <answers>
        <answer>
          <question>
            <id>q-http-001</id>
            <title>HTTP code</title>
            <text>Which status code means success?</text>
          </question>
          <answer_text>200 OK</answer_text>
          <correct>true</correct>
        </answer>
      </answers>
    </result>

    LMS / LTI-інтеграції

    Робота з LMS / LTI у застосунку складається з двох окремих кроків:

    • Спочатку у меню користувача створюється і зберігається сама LMS-інтеграція як спільне підключення до зовнішньої платформи;
    • Потім конкретна форма окремо прив’язується до однієї з уже створених інтеграцій через екран Прив’язки до інтеграцій.

    Тобто інтеграція не створюється «всередині форми». Вона налаштовується один раз і може перевикористовуватися для кількох форм.

    Підтримуються версії LTI 1.0 / 1.1, LTI 1.3 або одночасне налаштування обох версій для однієї інтеграції.

    • Для LTI 1.0 / 1.1 задаються OAuth Consumer Key і OAuth Shared Key;
    • Для LTI 1.3 задаються Platform ID / iss, Client ID, OIDC login initiation URL, Access token URL і JWKS endpoint URL;
    • Для preset-платформ частина URL може підставлятися автоматично, а для custom-конфігурації всі значення вводяться вручну.

    Екран прив’язок використовується для типів Вікторина та Іспит і недоступний для Опитувальника. Також LMS / LTI-інтеграції вимагають тариф вище Basic.

    API

    У застосунку є окремий розділ налаштувань API, призначений для безпечної роботи із зовнішніми системами та автоматизації через ваш приватний API-ключ.

    У цьому інтерфейсі можна:

    • увімкнути або вимкнути доступ до API;
    • згенерувати новий приватний API-ключ;
    • скопіювати поточний ключ для використання у зовнішніх системах;
    • увімкнути додаткове обмеження за IP для API;
    • вказати єдину дозволену IP-адресу, з якої прийматимуться API-запити.

    Базові правила роботи з API

    • Base URL: https://askium.org/api
    • Авторизація для приватних маршрутів: Authorization: Bearer YOUR_PRIVATE_API_KEY
    • Content-Type для запитів із тілом: application/json
    • Якщо в налаштуваннях API увімкнено обмеження за IP, запити приймаються лише з дозволеної адреси
    • Маршрут POST /api/results/verify є публічним і не потребує приватного API-ключа, але приймає одноразовий verification_key

    Список доступних маршрутів

    • POST /api/forms/{form_key}/invitation-links — створити персональне запрошувальне посилання
    • DELETE /api/forms/{form_key}/invitation-links/{link_key} — видалити запрошувальне посилання
    • GET /api/forms/{form_key}/invitation-links/active — отримати список активних невикористаних посилань
    • POST /api/forms/{form_key}/questions/import — імпортувати питання у форму
    • POST /api/results/{result_key}/verification-key — випустити одноразовий ключ верифікації результату
    • POST /api/results/verify — перевірити результат за одноразовим ключем
    POST/api/forms/{form_key}/invitation-links

    Створює персональне запрошувальне посилання. Для форм типу Іспит система також генерує білет і активує посилання автоматично.

    Поля запиту:

    • first_name — ім’я користувача, необов’язково
    • last_name — прізвище користувача, необов’язково
    • email — email користувача, необов’язково

    Основні поля відповіді:

    • status
    • link.key, link.url, link.is_active
    • ticket_questions_count
    curl -X POST "https://askium.org/api/forms/exam-api-001/invitation-links" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      }'

    Приклад успішної відповіді:

    {
      "status": "ok",
      "link": {
        "key": "link-abc123",
        "url": "https://askium.org/f/exam-api-001?t=link-abc123",
        "is_active": true
      },
      "ticket_questions_count": 2
    }
    DELETE/api/forms/{form_key}/invitation-links/{link_key}

    Видаляє персональне запрошувальне посилання за його ключем.

    Параметри маршруту: form_key, link_key

    curl -X DELETE "https://askium.org/api/forms/exam-api-001/invitation-links/link-abc123" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Приклад успішної відповіді:

    {
      "status": "ok",
      "message": "Invitation link deleted."
    }
    GET/api/forms/{form_key}/invitation-links/active

    Повертає лише ті запрошувальні посилання, які активні і ще не використані.

    Основні поля відповіді: status, links[].key, links[].url, links[].is_active, links[].first_name, links[].last_name, links[].email, links[].created_at

    curl -X GET "https://askium.org/api/forms/exam-api-001/invitation-links/active" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Приклад успішної відповіді:

    {
      "status": "ok",
      "links": [
        {
          "key": "link-active-unused",
          "url": "https://askium.org/f/exam-api-list-001?t=link-active-unused",
          "is_active": true,
          "first_name": "Alice",
          "last_name": "Green",
          "email": "alice@example.com",
          "created_at": "2026-03-01 10:00:00"
        }
      ]
    }
    POST/api/forms/{form_key}/questions/import

    Імпортує питання у форму. Маршрут доступний лише для форм типів Вікторина та Іспит і вимагає тарифу Plus або Pro.

    Поля запиту:

    • difficultyvery_easy, easy, medium, hard, very_hard
    • points_num — бали за питання, умовно обов’язкове поле
    • questions — масив питань
    • questions[].question_short_title
    • questions[].question
    • questions[].options
    • questions[].correct_index
    • raw_json — альтернативно можна передати сирий JSON рядком

    Основні поля відповіді: status, message, imported_count, import_key

    curl -X POST "https://askium.org/api/forms/quiz-import-001/questions/import" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "difficulty": "medium",
        "points_num": 2,
        "questions": [
          {
            "question_short_title": "HTTP code",
            "question": "Which status code means success?",
            "options": ["200 OK", "301", "404", "500"],
            "correct_index": 0
          },
          {
            "question_short_title": "TCP port",
            "question": "Which port is typically used by HTTPS?",
            "options": ["21", "25", "80", "443"],
            "correct_index": 3
          }
        ]
      }'

    Приклад успішної відповіді:

    {
      "status": "ok",
      "message": "Питання успішно імпортовано.",
      "imported_count": 2,
      "import_key": "imp_3f9b84d1"
    }
    POST/api/results/{result_key}/verification-key

    Випускає одноразовий короткоживучий ключ верифікації результату. За замовчуванням такий ключ діє 300 секунд (5 хвилин), а точний строк життя також повертається в полях expires_at і ttl_seconds.

    Основні поля відповіді: verification_key, token_type, expires_at, ttl_seconds

    curl -X POST "https://askium.org/api/results/res-8f2d1a/verification-key" \
      -H "Authorization: Bearer YOUR_PRIVATE_API_KEY"

    Приклад успішної відповіді:

    {
      "verification_key": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "token_type": "JWT",
      "expires_at": "2026-03-01 10:05:00",
      "ttl_seconds": 300
    }
    POST/api/results/verify

    Публічний маршрут, який не потребує приватного API-ключа. Приймає одноразовий verification_key і повертає безпечний зріз даних про результат.

    Основні поля відповіді: key, is_finished, started_at, finished_at, correct_percent, total_points, max_points, correct_answers, wrong_answers, answers_total, unchecked_answers, timer_expires_at, is_terminated, is_timer_up, invitation_link_key, personal_data, unwanted_events_count, form

    curl -X POST "https://askium.org/api/results/verify" \
      -H "Content-Type: application/json" \
      -d '{
        "verification_key": "YOUR_ONE_TIME_VERIFICATION_KEY"
      }'

    Приклад успішної відповіді:

    {
      "key": "res-8f2d1a",
      "is_finished": true,
      "started_at": "2026-03-01 10:00:00",
      "finished_at": "2026-03-01 10:42:15",
      "created_at": "2026-03-01 10:00:00",
      "correct_percent": 84,
      "total_points": 42,
      "max_points": 50,
      "correct_answers": 2,
      "wrong_answers": 1,
      "answers_total": 3,
      "unchecked_answers": 1,
      "timer_expires_at": "2026-03-01 11:00:00",
      "is_terminated": false,
      "is_timer_up": false,
      "invitation_link_key": null,
      "personal_data": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      },
      "unwanted_events_count": 1,
      "form": {
        "key": "frm-php-exam",
        "name": "PHP Certification Exam",
        "type": "exam",
        "locale": "uk"
      }
    }

    API and LTI integration assets

    Use these machine-readable files and discovery endpoints when evaluating or wiring Askium into an LMS, CRM, HR system, or internal automation stack.

    LTI discovery endpoints

    The LMS integration flow exposes standard LTI 1.1 cartridge and LTI 1.3 discovery URLs.

    • https://askium.org/lti/1_1/config — LTI 1.1 cartridge configuration
    • https://askium.org/.well-known/openid-configuration — LTI 1.3 OpenID configuration
    • https://askium.org/.well-known/jwks — public JWKS for LTI 1.3 launches
    • https://askium.org/lti/1_3/register — dynamic registration endpoint when a platform supports it

    Контроль доступу за IP

    Контроль доступу за IP — функція, доступна лише для форматів "Вікторина" та "Іспит". Вона дозволяє обмежити доступ до форми певними IP-адресами або масками.
    Якщо доступ до форми обмежений лише за посиланнями-запрошеннями, можна додатково задати IP-адресу або маску, що діє лише для конкретного екзаменаційного білета.

    Щоб активувати цю функцію, увімкніть відповідний перемикач у конфігурації форми: "Контроль доступу за IP"

    На вкладці Контроль доступу за IP потрібно буде додати IP-адреси, яким дозволено доступ до форми.

    Додаткову персональну IP-адресу для кожного посилання можна додати безпосередньо в налаштуваннях Посилання-запрошення.

    Робочі групи

    Робоча група — це простір для спільної роботи з формами та результатами. У кожній робочій групі є:

    • Адміністратор — користувач, який створив групу і є її власником. Може:
      • Запрошувати та виключати учасників
      • Налаштовувати індивідуальні права для кожного учасника
      • Обирати форми, які будуть доступні групі
      • Вмикати або вимикати робочу групу
      • Видалити групу за потреби
    • Учасники — користувачі, запрошені Адміністратором. Можуть:
      • Працювати з формами, які зробив доступними адміністратор, у межах наданих прав
      • Увімкнути або вимкнути налаштування «Ділитися контактами» — кожен учасник вирішує самостійно
      • Покинути групу будь-якої миті

    Індивідуальні права учасника

    Адміністратор може гнучко налаштовувати, які дії доступні кожному учаснику.
    Список доступних прав:

    • Конфігурація форми — зміна основних налаштувань форми;
    • Налаштування складності — керування розподілом рівнів складності запитань;
    • Робота з питаннями — створення, редагування і видалення запитань;
    • Робота з посиланнями — керування запрошувальними посиланнями;
    • Перегляд результатів — перегляд усіх результатів проходження форми;
    • Перегляд аналітики — доступ до статистики та аналітики форми;
    • Налаштування інтеграцій — керування підключеннями до LMS, вебхуків та інших інтеграцій;
    • Стилізація і брендування — налаштування дизайну форми (кольори, логотип, шрифти);

    Доступ до форм

    Щоб додати форму до робочої групи, в основній конфігурації форми виберіть пункт «Робоча група» і вкажіть потрібну групу.

    Після збереження форми усі учасники групи побачать її на сторінці доступних груп, в окремому списку, згрупованому за назвою групи.

    Відкривши форму, учасник побачить лише ті розділи меню, доступ до яких надав Адміністратор.

    Меню користувача

    Щоб викликати меню користувача, потрібно натиснути на іконку з ініціалами користувача у верхньому правому куті інтерфейсу. У цьому меню доступний ряд пунктів:

    • Мої форми — перейти до списку ваших форм;
    • Мої запрошення — перейти до інтерфейсу клієнта, де знаходяться запрошення на заповнення форм, адресовані вам;
    • Акаунт — сторінка налаштувань акаунта;
    • Налаштування — сторінка налаштувань додатка;
    • Вихід — вийти з додатка, для повторного входу знадобиться авторизація;

    Налаштування акаунта

    На сторінку налаштувань акаунта можна потрапити, викликавши меню користувача у верхньому правому куті екрану та вибравши пункт "Акаунт".

    Тут відображаються ваші персональні дані, підключені соцмережі, активний тарифний план та інтерфейс для зміни пароля авторизації.

    Налаштування додатка

    На сторінку налаштувань додатка можна потрапити, викликавши меню користувача у верхньому правому куті екрану та вибравши пункт "Налаштування".

    Тут можна змінити мову інтерфейсу додатка, а також перемикатися між світлою та темною темою.

    Інтерфейс для клієнтів

    Тут відображаються запрошення на заповнення форм, адресовані вам. Щоб запрошення з’явилося в цьому списку, у запрошувальному посиланні має бути вказана Email-адреса, ідентична тій, що вказана у вашому акаунті (її можна побачити на сторінці Налаштування акаунта у розділі персональних даних).