Criar exame

Para criar um exame, você precisará enviar uma solicitação de postagem com os detalhes do exame. Abaixo está um exemplo:
{
  "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"
        }
      ]
    }
  ]
}

Explicação

Campos e valores individuais são explicados da seguinte forma:
CamposTipoObrigatóriaDescrição
nameStringEste será o nome dado ao seu exame.
Não deve ser maior do que 200 caracteres
platformArrayEsta matriz deve conter plataformas que você deseja suportar este exame.
Valores válidos são android, ios e web
enforceDesktopBooleanVerdadeiro se este exame só puder ser feito em dispositivos com largura de resolução da tela maior que 999 pixels. Padrões para false
openOnNumberEste é o momento em que o exame deve estar disponível.<br>Espera -se que esteja no formato da época da época, que é o número de milissegundos que se passaram desde a meia -noite (UTC) em 1º de janeiro de 1970.
closeOnNumberEste é o momento em que o exame não está mais disponível.<br>Espera -se que esteja no formato da época da época, que é o número de milissegundos que se passaram desde a meia -noite (UTC) em 1º de janeiro de 1970.
durationNumberEste é o máximo de segundos dentro dos quais o entrevistado pode concluir o exame.
logoStringEstes podem ser os dados base64 para o logotipo do exame ou um URL HTTPS apontando para uma imagem válida.
monitoring.camBooleanVerdadeiro se você quiser gravar a câmera do entrevistado
monitoring.screenBooleanVerdadeiro se você quiser gravar a tela do entrevistado
analytics.deviceBooleanVerdadeiro se você quiser registrar informações do dispositivo entrevistado
analytics.ipBooleanVerdadeiro se você quiser registrar o endereço IP público do entrevistado
analytics.focusingBooleanVerdadeiro se você quiser registrar e sinalizar quando o entrevistado perde o foco na tela do exame
restricted_commandsArrayEssa matriz deve conter os comandos a serem restritos quando o entrevistado estiver fazendo o exame.


copy: Isso deve desativar qualquer comando que esteja associado à copiar texto na página do exame (e.g CTRL+C, CMD+C).
cut: Isso deve desativar qualquer comando que esteja associado ao corte de texto na página do exame (e.g CTRL+X, CMD+X).
paste: Isso deve desativar qualquer comando que esteja associado à colagem do texto na página do exame (e.g CTRL+V, CMD+V).
right_mouse: Isso deve desativar o clique com o botão direito do mouse
print: Isso deve desativar qualquer comando associado à impressão da página do exame (e.g CTRL+P, CMD+P).
fullscreen: Isso deve desativar qualquer comando que esteja associado à entrada de tela cheia na página do exame (e.g CTRL+CMD+F).
shortcut: Isso deve desativar toda a chave de atalho (por exemplo, Arrowup, Arrowdown, Arrowleft, Arrowright, N, P, 1 - 9)
sci_cal: Isso deve desativar a calculadora científica
basic_cal: Isso deve desativar a calculadora básica
result.availabilityStringIsso pode ser um dos seguintes:

instant: Se você deseja que o resultado do entrevistado esteja disponível instantaneamente
manual: Se você quiser liberar o resultado do entrevistado manualmente
off: Se você não pretende liberar o resultado do entrevistado em nossa plataforma
result.publicBooleanÉ verdade se você quiser que todo o entrevistado se veja pontuações
result.viewableAnsBooleanÉ verdade se você deseja que o entrevistado veja as marcas e tentativas
respondant.enforceUserBooleanAplicar o login do usuário para os entrevistados.
respondant.multipleUserAttemptsBooleanAtivar várias tentativas do mesmo usuário. Padrões para false.
Observação: este valor será ignorado se respondant.enforceUser é falso
respondant.privateExamBooleanÉ verdade que se você deseja que este exame seja feito apenas pelos entrevistados que você convidou.
respondant.multipleInvitationAttemptsBooleanAtive várias tentativas do mesmo link de convite. Padrões para false
Observação: este valor será ignorado se respondant.privateExam é falso
respondant.multipleDeviceAttemptBooleanAtive várias tentativas do mesmo navegador ou dispositivo. Padrões para false
respondant.resumableBooleanTorne o exame retumível quando o entrevistado recarregar a página. Padrões para false
respondant.chargeBooleanCobrar do entrevistado o token necessário por fazer este exame. Padrões para false
respondant.limitNumerEste deve ser um número inteiro positivo representando o respondente máximo que pode tentar este exame
redirectionLinkStringFornecendo isso redirecionará o usuário para o link especificado quando o teste for concluído, com o parâmetro de consulta anexado de respondent_id=unique_id.

Por exemplo, se você forneceu https://exam.feedback.stanford.com/respondent Como seu link de redirecionamento, o entrevistado será redirecionado para https://exam.feedback.stanford.com/respondent?respondent_id=unique_id. onde unique_id será o ID do entrevistado.
translation.enableSelectionBooleanVerdadeiro se você deseja ativar a seleção de idiomas ou usar a linguagem do sistema padrão
translation.entireBooleanÉ verdade se você deseja traduzir o texto inteiro do exame, incluindo perguntas e opções
translation.langsArrayEsta matriz deve conter o ISO 639-1 language codes em que você deseja que a tradução do seu exame esteja disponível.

Idiomas suportados
  • 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.validateBooleanVerdadeiro se você quiser validar os valores de campo de welcomePage.content através do seu URL da webhook. Padrões para false.
welcomePage.multipleAttemptsBooleanÉ verdade se você deseja permitir múltiplas tentativas dos mesmos valores de campo. Padrão para false.
welcomePage.content.typeStringRenderizar conteúdo no topo da página de boas -vindas do exame
o valor pode ser um dos seguintes:

text: renderiza texto ou conteúdo HTML.
input: renderiza o campo de entrada, correspondente welcomePage.content.value será usado como espaço reservado para o campo de entrada.
thankYouPageStringTexto ou conteúdo HTML exibido ao entrevistado depois que eles concluírem ou enviarem o exame.
courses.titleStringO título do curso
courses.shuffleQBooleanFiel a embaralhar as perguntas nesta seção
courses.shuffleOptionBooleanFiel a embaralhar as opções em perguntas com radio or checkbox
courses.limitIntegerUm valor inteiro positivo inteiro que limita o número máximo de perguntas que o entrevistado pode tentar neste curso
courses.questions.qStringPergunta individual em texto ou formulário HTML.
courses.questions.optArrayAs opções da pergunta. Deve ser uma variedade de string, pode suportar até 26 itens.
Isso só deve ser fornecido se courses.questions.type é também "radio" ou "checkbox".
courses.questions.ansArrayA resposta para a pergunta.Se courses.questions.type é também "radio" ou "checkbox", Isso deve ser uma variedade de inteiros como a posição das opções corretas.Caso contrário, se courses.questions.type é também "exact" ou "exact_and", então deve ser uma variedade de cordas.
courses.questions.typeStringO valor pode ser um dos seguintes:

radio: Adequado quando a pergunta tem opções com uma única resposta.
checkbox: Adequado quando a pergunta tem uma opção com uma resposta múltipla.
exact: Verifique contra a tentativa do entrevistado com a resposta correta usando bitwise ou.
exact_and: Verifique contra a tentativa do entrevistado com a resposta correta usando bit e.
free: Adequado quando a resposta à pergunta é um texto gratuito, como um ensaio ou explicação. Observe que a pergunta como essa será marcada pelo nosso mecanismo de IA.
courses.questions.pointsNumberNúmero de pontos a serem atribuídos a esta pergunta. Padrões para 1
courses.questions.expStringExplicação para a resposta correta para a pergunta.

Exame de edição

Ao editar um exame existente, você não tem permissão para atualizar o monitoring, result e respondant campo. Mas você pode atualizar o limite no campo do entrevistado como respondant.limit.
Nenhuma operação de mesclagem é realizada ao atualizar um campo que contém um objeto ou matriz como seu valor. Em vez disso, todo o valor desse campo é substituído pelo novo.
Você pode definir um campo para nulo se quiser removê -lo


Para editar um exame existente, você precisará enviar uma solicitação de put junto com o exame_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
        }
      ]
    }
  ]
}

Delete Exam

Para excluir um exame, você precisará enviar uma solicitação de exclusão junto com o exame_id.
A exclusão de um exame excluirá todos os dados associados a esse exame, incluindo todos os dados da mídia, perguntas e dados do entrevistado
{
  "x-client-id": "xxx-xxx-xxx",
  "x-client-secret": "xxxxxxx",
  "content-type": "application/json"
}

Comentários de feedback (0)