ipr.test.attempt.answer
Scope:
iprКто может вызывать: Сам пользователь попытки (
userId == актор) либо тот, кто им управляет (canManageEmployee). Подробнее: Модель доступа
Сохраняет ответ на вопрос в рамках уже начатой попытки. Вопрос должен входить в состав попытки (создан при ipr.test.attempt.start). На каждый вопрос попытки можно ответить только один раз; оценка (correct, point) в ответе метода не возвращается и становится видна после завершения попытки.
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 |
Всегда null: результат проверки скрыт до завершения попытки, см. ipr.test.result.get |
point |
int|null |
Всегда 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": null,
"point": null,
"ok": true
},
"total": null,
"next": null,
"error": null
}
}
См. также
Предыдущая
Следующая