Создать экзамен

Чтобы создать экзамен, вам нужно отправить запрос на сообщение с подробностями экзамена. Ниже приведен пример:
{
  "name": "Introduction to Data Science DSC101",
  "platform": [
    "android",
    "ios",
    "web"
  ],
  "enforceDesktop": false,
  "analytics": {
    "device": true,
    "ip": true,
    "focusing": true
  },
  "openOn": 1719046628502,
  "closeOn": 1719064544928,
  "duration": 1200,
  "restricted_commands": [
    "copy",
    "cut",
    "paste",
    "right_mouse",
    "...more"
  ],
  "logo": "data:base64,WHV4MnJsN2oyZUdmb...",
  "translation": {
    "enableSelection": true,
    "entire": false,
    "langs": [
      "en",
      "zh",
      "ru",
      "de",
      "vi",
      "...more"
    ]
  },
  "redirectionLink": "https://exam.feedback.stanford.com/respondent",
  "monitoring": {
    "cam": true,
    "screen": true
  },
  "result": {
    "availability": "instant",
    "public": false,
    "viewableAns": true
  },
  "respondant": {
    "enforceUser": false,
    "multipleUserAttempts": false,
    "privateExam": false,
    "multipleInvitationAttempts": false,
    "multipleDeviceAttempt": false,
    "resumable": true,
    "charge": false
  },
  "welcomePage": {
    "content": [
      {
        "type": "text",
        "value": "Your custom html text goes here.."
      },
      {
        "type": "about",
        "value": "Enter Matric No."
      },
      {
        "type": "input",
        "value": "Enter Password"
      }
    ],
    "validate": false,
    "multipleAttempts": false
  },
  "thankYouPage": "<div>Thank you for your participation</div>",
  "courses": [
    {
      "title": "Data Wrangling and Cleaning",
      "shuffleQ": true,
      "shuffleOption": false,
      "limit": 1,
      "questions": [
        {
          "q": "Which of the following methods is used to handle missing values in a dataset?",
          "opt": [
            "Normalization",
            "One-Hot Encoding",
            "Imputation",
            "PCA (Principal Component Analysis)"
          ],
          "ans": [
            2
          ],
          "type": "radio",
          "points": 1
        },
        {
          "q": "Explain the process of data cleaning and why it is important in data science. Include examples of common issues found in raw data and how they can be addressed.",
          "type": "free",
          "points": 3
        }
      ]
    },
    {
      "title": "Statistical Analysis and Visualization",
      "shuffleQ": true,
      "shuffleOption": false,
      "questions": [
        {
          "q": "Which of the following are common types of data visualizations used in exploratory data analysis (EDA)? (Select all that apply)",
          "opt": [
            "Bar Chart",
            "Histogram",
            "Scatter Plot",
            "Decision Tree"
          ],
          "ans": [
            0,
            1,
            2
          ],
          "type": "checkbox"
        },
        {
          "q": "Which statistical measure is used to describe the spread or dispersion of a set of data points?",
          "ans": [
            "Standard Deviation",
            "S.D",
            "SD"
          ],
          "type": "exact_or"
        },
        {
          "q": "List 3 methods for measures of central tendency?",
          "ans": [
            "Mean",
            "Median",
            "Mode"
          ],
          "type": "exact_and"
        }
      ]
    }
  ]
}

Объяснение

Отдельные поля и значения объясняются следующим образом:
ПоляТипНеобходимыйОписание
nameStringЭто будет имя, данное вашему экзамену.
Это не должно быть больше, чем 200 персонажи
platformArrayЭтот массив должен содержать платформы, которые вы хотите, чтобы этот экзамен поддерживал.
Допустимые значения android, ios и web
enforceDesktopBooleanВерно, если этот экзамен можно сдать только на устройствах с шириной разрешения экрана, превышающей 999 пикселей. По умолчанию ложно
openOnNumberЭто время, когда экзамен должен быть доступен.<br>Ожидается, что он будет в формате времени эпоха, который представляет собой количество миллисекундов, которые прошли с полуночи (UTC) 1 января 1970 года.
closeOnNumberЭто время, когда экзамен больше не доступен.<br>Ожидается, что он будет в формате времени эпоха, который представляет собой количество миллисекундов, которые прошли с полуночи (UTC) 1 января 1970 года.
durationNumberЭто максимальные секунды, в течение которых респондент может завершить экзамен.
logoStringЭто может быть либо данные Base64 для логотипа экзамена, либо URL -адрес HTTPS, указывающий на действительное изображение.
monitoring.camBooleanПравда, если вы хотите записать респондент CAM
monitoring.screenBooleanПравда, если вы хотите записать экран респондента
analytics.deviceBooleanПравда, если вы хотите войти в систему информации о устройстве респондента
analytics.ipBooleanПравда, если вы хотите войти в систему общедоступного IP -адреса респондента
analytics.focusingBooleanПравда, если вы хотите записать и флаг, когда респондент теряет фокус на экране экзамена
restricted_commandsArrayЭтот массив должен содержать команды, которые должны быть ограничены, когда ответчик сдает свой экзамен.


copy: Это должно отключить любую команду, которая связана с копированием текста на странице экзамена (e.g CTRL+C, CMD+C).
cut: Это должно отключить любую команду, которая связана с резкой текстом на странице экзамена (e.g CTRL+X, CMD+X).
paste: Это должно отключить любую команду, которая связана с вставкой текста на странице экзамена (e.g CTRL+V, CMD+V).
right_mouse: Это должно отключить щелчок мыши правой кнопкой мыши
print: Это должно отключить любую команду, которая связана с печатию страницы экзамена (e.g CTRL+P, CMD+P).
fullscreen: Это должно отключить любую команду, которая связана с введением полноэкранного экрана на странице экзамена (e.g CTRL+CMD+F).
shortcut: Это должно отключить весь ярлык (например, Arrowup, Arrowdown, Arrowleft, Arrowright, N, P, 1 - 9)
sci_cal: Это должно отключить научный калькулятор
basic_cal: Это должно отключить основной калькулятор
result.availabilityStringЭто может быть любым из следующих:

instant: Если вы хотите, чтобы результат респондента был доступен мгновенно
manual: Если вы хотите выпустить результат респондента вручную
off: Если вы не собираетесь выпускать результат респондента на нашей платформе
result.publicBooleanПравда, если вы хотите, чтобы все респонденты видели друг друга
result.viewableAnsBooleanПравда, если вы хотите, чтобы респондент увидел, что отметки и попытки
respondant.enforceUserBooleanПрименить вход пользователя для респондентов.
respondant.multipleUserAttemptsBooleanВключить несколько попыток от одного и того же пользователя. По умолчанию ложно.
Обратите внимание: это значение будет проигнорировано, если respondant.enforceUser ложь
respondant.privateExamBooleanПравда, если вы хотите, чтобы этот экзамен был сдан только респондентами, которые вы пригласили.
respondant.multipleInvitationAttemptsBooleanВключить несколько попыток по одной и той же ссылке на приглашение. По умолчанию ложно
Обратите внимание: это значение будет проигнорировано, если respondant.privateExam ложь
respondant.multipleDeviceAttemptBooleanВключите несколько попыток из одного и того же браузера или устройства. По умолчанию ложно
respondant.resumableBooleanСделайте экзамен возобновляемым, когда респондент перезагружает страницу. По умолчанию ложно
respondant.chargeBooleanПлата за респондентом требуется токен для сдачи этого экзамена. По умолчанию ложно
respondant.limitNumerЭто должно быть положительное целое число, представляющее максимальный респондент, который может попробовать этот экзамен
redirectionLinkStringПри условии, что это будет перенаправить пользователя на указанную ссылку при завершении теста с добавленным параметром запроса respondent_id=unique_id.

Например, если вы предоставили https://exam.feedback.stanford.com/respondent В качестве ссылки на перенаправление, респондент будет перенаправлен на https://exam.feedback.stanford.com/respondent?respondent_id=unique_id. где unique_id будет идентификатором респондента.
translation.enableSelectionBooleanВерно, если вы хотите включить выбор языка или использовать язык системы по умолчанию
translation.entireBooleanПравда, если вы хотите перевести весь текст экзамена, включая вопросы и варианты
translation.langsArrayЭтот массив должен содержать ISO 639-1 language codes в котором вы хотите, чтобы ваш перевод экзамена был доступен в.

Поддерживаемые языки
  • English (en)
  • French (fr)
  • Chinese (zh)
  • German (de)
  • Swahili (sw)
  • Spanish (es)
  • Russian (ru)
  • Portuguese (pt)
  • Hindi (hi)
  • Arabic (ar)
  • Bengali (bn)
  • Japanese (ja)
  • Korean (ko)
  • Italian (it)
  • Turkish (tr)
  • Vietnamese (vi)
  • Dutch (nl)
  • Thai (th)
  • Indonesian (id)
  • Polish (pl)
  • Malay (ms)
  • Filipino (tl)
  • Swedish (sv)
  • Greek (el)
  • Czech (cs)
  • Romanian (ro)
  • Hungarian (hu)
  • Ukrainian (uk)
  • Hebrew (he)
  • Farsi (fa)
  • Danish (da)
  • Norwegian (no)
  • Finnish (fi)
  • Bulgarian (bg)
  • Albanian (sq)
  • Latvian (lv)
  • Mongolian (mn)
  • Slovak (sk)
  • Catalan (ca)
  • Georgian (ka)
  • Lithuanian (lt)
  • Serbian (sr)
welcomePage.validateBooleanПравда, если вы хотите проверить значения поля welcomePage.content через ваш URL -адрес webhook. По умолчанию ложно.
welcomePage.multipleAttemptsBooleanПравда, если вы хотите разрешить множественную попытку одинаковых значений поля. По умолчанию в False.
welcomePage.content.typeStringРендеринг контента в верхней части страницы приветствия экзамена
значение может быть любым из следующих:

text: рендерирует текст или контент HTML.
input: Образует поле ввода, соответствующее welcomePage.content.value будет использоваться в качестве заполнителя для поля ввода.
thankYouPageStringТекст или HTML -контент, который отображается респонденту после завершения или сдачи экзамена.
courses.titleStringНазвание курса
courses.shuffleQBooleanВерно перетасовать вопросы в этом разделе
courses.shuffleOptionBooleanВерно перетасовать варианты в вопросах с radio or checkbox
courses.limitIntegerЦелое положительное целочисленное значение, которое ограничивает максимальное количество вопросов, которые респондент может попробовать на этом курсе
courses.questions.qStringиндивидуальный вопрос в текстовой или HTML -форме.
courses.questions.optArrayВарианты вопроса. Должен быть массив строки, может поддерживать до 26 элементов.
Это должно быть предоставлено только если courses.questions.type это либо "radio" или "checkbox".
courses.questions.ansArrayОтвет на вопрос.Если courses.questions.type это либо "radio" или "checkbox", Это должно быть массивом целого числа в качестве позиции правильных вариантов.Иначе, если courses.questions.type это либо "exact" или "exact_and", тогда это должно быть массив строки.
courses.questions.typeStringЗначение может быть любым из следующих:

radio: Подходит, когда вопрос имеет варианты с одним ответом.
checkbox: Подходит, когда вопрос имеет варианты с множественным ответом.
exact: Проверьте попытку респондента с правильным ответом, используя бить.
exact_and: Проверьте попытку респондента с правильным ответом, используя бить и.
free: Подходит, когда ответ на вопрос - это бесплатный текст, такой как эссе или объяснение. Обратите внимание, что этот вопрос будет отмечен нашим двигателем ИИ.
courses.questions.pointsNumberНомера пунктов, которые будут назначены на этот вопрос. По умолчанию 1
courses.questions.expStringОбъяснение правильного ответа на вопрос.

Редактировать экзамен

При редактировании существующего экзамена вам не разрешено обновлять monitoring, result и respondant поле. Но вы можете обновить предел в поле респондента как respondant.limit.
При обновлении поле, которое содержит объект или массив в качестве значения, не выполняется никакая операция слияния. Вместо этого все значение такого поля заменяется новым.
Вы можете установить поле NULL, если хотите удалить его


Чтобы отредактировать существующий экзамен, вам нужно отправить запрос на то, что он должен отправить запрос на PUT вместе с Exam_ID.
{
  "platform": [
    "web"
  ],
  "openOn": null,
  "restricted_commands": [
    "copy",
    "cut",
    "paste"
  ],
  "translation": {
    "enableSelection": true,
    "entire": true,
    "langs": [
      "en",
      "zh",
      "ru"
    ]
  },
  "questions": [
    {
      "title": "Data Wrangling and Cleaning",
      "shuffleQ": true,
      "shuffleOption": false,
      "limit": 1,
      "questions": [
        {
          "q": "Which of the following methods is used to handle missing values in a dataset?",
          "opt": [
            "Normalization",
            "One-Hot Encoding",
            "Imputation",
            "PCA (Principal Component Analysis)"
          ],
          "ans": [
            2
          ],
          "type": "radio",
          "points": 1
        },
        {
          "q": "Explain the process of data cleaning and why it is important in data science. Include examples of common issues found in raw data and how they can be addressed.",
          "type": "free",
          "points": 3
        }
      ]
    },
    {
      "title": "Statistical Analysis and Visualization",
      "shuffleQ": true,
      "shuffleOption": false,
      "questions": [
        {
          "q": "Which of the following is a Python library used for data visualization?",
          "opt": [
            "NumPy",
            "Pandas",
            "Matplotlib",
            "Scikit-learn"
          ],
          "ans": [
            2
          ],
          "type": "radio"
        },
        {
          "q": "Discuss the importance of exploratory data analysis (EDA) in data science and describe how visualization tools can be used to perform EDA.",
          "type": "free",
          "points": 2
        }
      ]
    }
  ]
}

Удалить экзамен

Чтобы удалить экзамен, вам нужно отправить запрос удаления вместе с Exam_id.
Удаление экзамена удалит все данные, связанные с таким экзаменом, включая все данные среды, вопросы и данные респондента
{
  "x-client-id": "xxx-xxx-xxx",
  "x-client-secret": "xxxxxxx",
  "content-type": "application/json"
}

Комментарии обратной связи (0)