ipr.question.update

Scope: ipr

Кто может вызывать: canManageCourse курса, к которому относится урок вопроса (одного права на урок в модуле обучения недостаточно); привилегированные — без ограничений. Подробнее: Модель доступа

Изменяет вопрос. Передаются только те поля, которые нужно изменить.

HTTP: POST

Побочные эффекты: Изменяет вопрос; при переданном answers — полностью заменяет набор вариантов ответа (варианты, отсутствующие в новом списке, удаляются).

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

Параметр Тип Обяз. Описание
id (алиас questionId) int да ID вопроса
testId int нет Тест — для проверки принадлежности вопроса и прав
title (алиас name) string нет Текст вопроса, 1..255 символов
type (алиас questionType) string нет S | M | T | R (и синонимы, см. ipr.question.add)
description string нет Дополнительное описание
sort int нет Сортировка
point (алиас points) int нет Балл за верный ответ
correctRequired bool нет Требовать обязательный правильный ответ
active bool нет Активность
answers array нет Полный новый список вариантов. Элементы с id обновляются, без id — создаются заново; варианты, не попавшие в список, удаляются. Формат элемента — как в ipr.question.add, плюс необязательный id

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

Полный вопрос — та же форма, что у ipr.question.get.

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

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

Код Описание
UNAUTHORIZED Пользователь не авторизован
VALIDATION_ERROR Некорректные значения полей, answers не массив
NOT_FOUND Вопрос или testId не найдены
PERMISSION_DENIED Нет прав на курс вопроса (canManageCourse); урок не входит в дерево курса
INTERNAL_ERROR Внутренняя ошибка сервера

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

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/ipr.question.update.json"
          -H "Content-Type: application/json"
          -H "Accept: application/json"
          --data '{
          "id": 501,
          "answers": [
            { "id": 1, "text": "Своевременность", "correct": true },
            { "text": "Конкретность", "correct": true }
          ]
        }'
        

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

{
          "result": {
            "result": {
              "id": 501,
              "answers": [
                { "id": 1, "text": "Своевременность", "correct": true, "sort": 10 },
                { "id": 3, "text": "Конкретность", "correct": true, "sort": 10 }
              ]
            },
            "total": null,
            "next": null,
            "error": null
          }
        }
        

См. также

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