ipr.test.attempt.list

Scope: ipr

Кто может вызывать: Авторизованный пользователь. Непривилегированные видят только свои попытки (если явно не запрошены попытки управляемых сотрудников). Подробнее: Модель доступа

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

HTTP: GET

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

Ограничение видимости

  • Привилегированный (admin/hr) видит все попытки.
  • Непривилегированный без filter.userId видит только свои попытки.
  • Непривилегированный с filter.userId (одно значение или список через $in) видит попытки только тех пользователей из списка, которыми он управляет (canManageEmployee); неуправляемые ID из фильтра отбрасываются.

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

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

Поля filter (Mongo)

Поле API Соответствие
id ID попытки
testId ID теста
userId Пользователь попытки
status Статус попытки (B — начата, F — завершена, и т. п. — коды модуля learning)
completed Признак завершённости

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

Массив объектов той же формы, что у ipr.test.result.get, но без поля answers:

Поле Тип Описание
id int ID попытки
testId int ID теста
userId int Пользователь попытки
status string Статус попытки
completed bool Завершена ли попытка
score int Набранный балл
maxScore int Максимальный балл
dateStart string|null Дата начала
dateEnd string|null Дата завершения

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

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

Код Описание
UNAUTHORIZED Пользователь не авторизован
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.test.attempt.list.json"
          -H "Accept: application/json"
          --data-urlencode "filter[testId]=44"
        

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

{
          "result": {
            "result": [
              {
                "id": 9001,
                "testId": 44,
                "userId": 15,
                "status": "F",
                "completed": true,
                "score": 8,
                "maxScore": 10,
                "dateStart": "2026-06-18 12:00:00",
                "dateEnd": "2026-06-18 12:14:32"
              }
            ],
            "total": 1,
            "next": null,
            "error": null
          }
        }
        

См. также

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