ipr.question.list

Scope: ipr

Кто может вызывать: Авторизованный пользователь с доступом по ACL обучения. Подробнее: Модель доступа

Возвращает список вопросов с поддержкой пагинации и фильтрации.

HTTP: GET

Побочные эффекты: none

Параметры метода

Параметр Тип Обяз. Описание
limit int нет Размер страницы, по умолчанию 50, максимум 500
offset int нет Смещение
fetchAll bool нет Вернуть все записи одним ответом (максимум 5000)
filter object нет Фильтр в mongo-style формате

Поля filter (Mongo)

Поле API Соответствие
testId ID теста — вопросы разрешаются через настройку теста «источник вопросов» (QUESTIONS_FROM_ID), при необходимости — через связанный урок/курс
lessonId ID урока, к которому привязаны вопросы
id ID вопроса
active Активность
title Подстрока в названии (без учёта регистра)
type Тип вопроса: S (один вариант), M (несколько вариантов), T (текст), R (сортировка/ранжирование)

Хотя бы одно из testId/lessonId рекомендуется передавать — иначе поведение зависит от версии модуля learning на портале.

Возвращаемые данные

Массив объектов:

Поле Тип Описание
id int ID вопроса
title string Текст вопроса
testId int|null ID теста (если удалось определить по фильтру запроса)
lessonId int ID урока, к которому привязан вопрос
type string S | M | T | R
active bool Активность
sort int Сортировка

Обработка ошибок

Справочник кодов: error-codes.md.

Код Описание
UNAUTHORIZED Пользователь не авторизован
NOT_FOUND filter.testId указывает на несуществующий тест
INTERNAL_ERROR Модуль learning недоступен / внутренняя ошибка
INVALID_LIMIT / LIMIT_EXCEEDED / INVALID_OFFSET / INVALID_FILTER / INVALID_FILTER_OPERATOR Некорректные параметры пагинации/фильтра
FETCH_ALL_LIMIT_EXCEEDED Превышен лимит fetchAll

Пример запроса (GET)

curl -G "https://{портал}/rest/{user_id}/{webhook_code}/ipr.question.list.json"
          -H "Accept: application/json"
          --data-urlencode "filter[testId]=44"
        

Пример ответа

{
          "result": {
            "result": [
              {
                "id": 501,
                "title": "Что из перечисленного относится к принципам обратной связи?",
                "testId": 44,
                "lessonId": 905,
                "type": "M",
                "active": true,
                "sort": 100
              }
            ],
            "total": 10,
            "next": 1,
            "error": null
          }
        }
        

См. также

Предыдущая
Следующая