ipr.test.attempt.answer
Scope:
iprКто может вызывать: Сам пользователь попытки (
userId == актор) либо тот, кто им управляет (canManageEmployee). Подробнее: Модель доступа
Сохраняет ответ на вопрос в рамках уже начатой попытки. Вопрос должен входить в состав попытки (создан при ipr.test.attempt.start).
HTTP: POST
Побочные эффекты: Записывает ответ, выставляет автоматическую оценку по вопросу.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
attemptId (алиас id) |
int |
да | ID попытки |
questionId |
int |
да* | ID вопроса |
resultId |
int |
нет | ID строки результата попытки — альтернатива questionId, если он уже известен |
answer (алиас response) |
mixed |
да | Ответ: строка — для типа T (текст); ID варианта или массив ID вариантов — для S/M/R |
* Нужен хотя бы один из questionId/resultId.
Возвращаемые данные
| Поле | Тип | Описание |
|---|---|---|
attemptId |
int |
ID попытки |
questionId |
int |
ID вопроса |
resultId |
int |
ID строки результата |
correct |
bool|null |
Правильность ответа, если применимо к типу вопроса |
point |
int|null |
Начисленный балл |
ok |
bool |
true |
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
VALIDATION_ERROR |
Не передан attemptId/questionId/answer; попытка уже завершена |
NOT_FOUND |
Попытка не найдена; вопрос не входит в состав попытки |
PERMISSION_DENIED |
Нет прав на эту попытку |
INTERNAL_ERROR |
Не удалось сохранить ответ |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.test.attempt.answer.json"
-H "Content-Type: application/json"
-H "Accept: application/json"
--data '{
"attemptId": 9001,
"questionId": 501,
"answer": [1]
}'
Пример ответа
{
"result": {
"result": {
"attemptId": 9001,
"questionId": 501,
"resultId": 30001,
"correct": true,
"point": 2,
"ok": true
},
"total": null,
"next": null,
"error": null
}
}
См. также
Предыдущая
Следующая