Creëer examen

Om een ​​examen te maken, moet u een postverzoek verzenden met de examengegevens. Hieronder is een voorbeeld:
{
  "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"
        }
      ]
    }
  ]
}

Uitleg

Individuele velden en waarden worden als volgt uitgelegd:
VeldenTypeVereistBeschrijving
nameStringDit is de naam die aan uw examen wordt gegeven.
Het moet niet groter zijn dan 200 tekens
platformArrayDeze array moet platforms bevatten die u wilt dat dit examen ondersteunt.
Geldige waarden zijn android, ios En web
enforceDesktopBooleanToegegeven als dit examen alleen kan worden afgenomen op apparaten met schermbeschermingsbreedte groter dan 999 pixels. Standaard in onwaar
openOnNumberDit is het moment waarop het examen beschikbaar moet zijn.<br>Verwacht wordt dat het in het tijdverblijf is, het aantal milliseconden dat op 1 januari 1970 sinds Midnight (UTC) is verstreken.
closeOnNumberDit is het moment waarop het examen niet langer beschikbaar is.<br>Verwacht wordt dat het in het tijdverblijf is, het aantal milliseconden dat op 1 januari 1970 sinds Midnight (UTC) is verstreken.
durationNumberDit is de maximale seconden waarbinnen de respondent het examen kan voltooien.
logoStringDit kan de Base64 -gegevens zijn voor het examenlogo of een HTTPS -URL die naar een geldige afbeelding wijst.
monitoring.camBooleanWaar als u de respondentcamera wilt opnemen
monitoring.screenBooleanWaar als u het scherm Respondent wilt opnemen
analytics.deviceBooleanWaar als u de info van respondentapparaat wilt inloggen
analytics.ipBooleanWaar als u het openbare IP -adres van de respondent wilt loggen
analytics.focusingBooleanWaar als u wilt loggen en vlaggen wanneer de respondent de focus op het examenscherm verliest
restricted_commandsArrayDeze array moet de opdrachten bevatten die moeten worden beperkt wanneer de respondent hun examen aflegt.


copy: Dit zou elke opdracht moeten uitschakelen die zijn gekoppeld aan het kopiëren van tekst op de examenpagina (e.g CTRL+C, CMD+C).
cut: Dit zou elke opdracht moeten uitschakelen die zijn gekoppeld aan het snijden van tekst op de examenpagina (e.g CTRL+X, CMD+X).
paste: Dit zou elke opdracht moeten uitschakelen die zijn gekoppeld aan het plakken van tekst op de examenpagina (e.g CTRL+V, CMD+V).
right_mouse: Dit zou muis met de rechtermuisknop uitschakelen
print: Dit zou elke opdracht moeten uitschakelen die zijn gekoppeld aan het afdrukken van de examenpagina (e.g CTRL+P, CMD+P).
fullscreen: Dit zou elke opdracht moeten uitschakelen die zijn gekoppeld aan het betreden van het volledige scherm op de examenpagina (e.g CTRL+CMD+F).
shortcut: Dit zou alle sneltoets moeten uitschakelen (bijv. Arrowup, Arrowdown, Arrowleft, Arrowright, N, P, 1 - 9)
sci_cal: Dit zou de wetenschappelijke rekenmachine moeten uitschakelen
basic_cal: Dit zou de basiscalculator moeten uitschakelen
result.availabilityStringDit kan een van de volgende zijn:

instant: Als u wilt dat de respondentresultaat direct beschikbaar is
manual: Als u de respondentresultaat handmatig wilt vrijgeven
off: Als u niet van plan bent om de respondentresultaat op ons platform vrij te geven
result.publicBooleanHet is waar als je wilt dat alle respondenten elkaar scores zien
result.viewableAnsBooleanWaar als u wilt dat de respondent hun markeringen en pogingen ziet
respondant.enforceUserBooleanGebruikersaanmelding afdwingen voor respondenten.
respondant.multipleUserAttemptsBooleanSchakel meerdere pogingen van dezelfde gebruiker in. Standaard in onwaar.
Let op: deze waarde wordt genegeerd als respondant.enforceUser is onjuist
respondant.privateExamBooleanHet is waar als u wilt dat dit examen alleen door de respondenten wordt afgenomen die u hebt uitgenodigd.
respondant.multipleInvitationAttemptsBooleanSchakel meerdere pogingen in vanaf dezelfde uitnodigingsverbinding. Standaard in onwaar
Let op: deze waarde wordt genegeerd als respondant.privateExam is onjuist
respondant.multipleDeviceAttemptBooleanSchakel meerdere pogingen in van dezelfde browser of apparaat. Standaard in onwaar
respondant.resumableBooleanMaak het examen hervat wanneer de respondent de pagina opnieuw laadt. Standaard in onwaar
respondant.chargeBooleanRaadpleeg de respondent het vereiste token voor het afleggen van dit examen. Standaard in onwaar
respondant.limitNumerDit zou een positief geheel getal moeten zijn dat de maximale respondent vertegenwoordigt die dit examen kan proberen
redirectionLinkStringOp voorwaarde dat dit de gebruiker zal omleiden naar de opgegeven link wanneer de test is voltooid, met de bijgevoegde queryparameter van respondent_id=unique_id.

Als u bijvoorbeeld hebt gegeven https://exam.feedback.stanford.com/respondent Als uw omleidingslink zal de respondent worden doorgestuurd naar https://exam.feedback.stanford.com/respondent?respondent_id=unique_id. waar unique_id zal de ID van de respondent zijn.
translation.enableSelectionBooleanWaar als u taalselectie wilt inschakelen of de standaardsysteemtaal wilt gebruiken
translation.entireBooleanWaar als u de volledige examentekst wilt vertalen, inclusief vragen en opties
translation.langsArrayDeze array moet de ISO 639-1 language codes waarin u wilt dat uw examenvertaling beschikbaar is.

Ondersteunde talen
  • 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.validateBooleanWaar als u de veldwaarden van wilt valideren welcomePage.content via uw webhook -url. Standaard in onwaar.
welcomePage.multipleAttemptsBooleanTrue als u meerdere poging van dezelfde veldwaarden wilt toestaan. Standaard op False.
welcomePage.content.typeStringRender inhoud bovenaan de welkomstpagina van het examen
waarde kan een van de volgende zijn:

text: geeft tekst of html -inhoud weer.
input: geeft het invoerveld weer welcomePage.content.value zal worden gebruikt als tijdelijke aanduiding voor het invoerveld.
thankYouPageStringTekst- of HTML -inhoud die aan de respondent wordt weergegeven nadat ze hun examen hebben voltooid of indienen.
courses.titleStringDe titel van de cursus
courses.shuffleQBooleanTrouw aan het schudden van de vragen in dit gedeelte
courses.shuffleOptionBooleanTrouw om de opties in vragen met te schudden radio or checkbox
courses.limitIntegerEen hele positieve gehele waarde die het maximale aantal vragen beperken dat de respondent kan proberen op deze cursus
courses.questions.qStringIndividuele vraag in tekst- of HTML -vorm.
courses.questions.optArrayDe opties van de vraag. Moet een reeks string zijn, kan tot 26 items ondersteunen.
Dit moet alleen worden verstrekt als courses.questions.type is een van beide "radio" of "checkbox".
courses.questions.ansArrayHet antwoord op de vraag.Als courses.questions.type is een van beide "radio" of "checkbox", Dit zou een reeks gehele getal moeten zijn als de positie van de juiste opties.Anders als courses.questions.type is een van beide "exact" of "exact_and", Dan zou het een reeks string moeten zijn.
courses.questions.typeStringWaarde kan een van de volgende zijn:

radio: Geschikt als de vraag opties heeft met één antwoord.
checkbox: Geschikt als de vraag opties heeft met een meervoudig antwoord.
exact: Controleer tegen de respondentpoging met het juiste antwoord met behulp van Bitwise of.
exact_and: Controleer tegen de respondentpoging met het juiste antwoord met behulp van bitwise en.
free: Geschikt wanneer het antwoord op de vraag een gratis tekst is, zoals een essay of uitleg. Houd er rekening mee dat als deze vraag Mark zal zijn door onze AI -motor.
courses.questions.pointsNumberNummers van punten die moeten worden toegewezen aan deze vraag. Standaard op 1
courses.questions.expStringVerklaring voor het juiste antwoord op de vraag.

Examen bewerken

Bij het bewerken van een bestaand examen monitoring, result En respondant veld. Maar u kunt de limiet in het veld Respondent bijwerken als respondant.limit.
Er wordt geen samenvoegbewerking uitgevoerd bij het bijwerken van een veld dat een object of array als waarde bevat. In plaats daarvan wordt de volledige waarde van een dergelijk veld vervangen door de nieuwe.
U kunt een veld instellen op Null als u het wilt verwijderen


Om een ​​bestaand examen te bewerken, moet u een putverzoek samen met de examen_id verzenden.
{
  "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
        }
      ]
    }
  ]
}

Verwijder examen

Om een ​​examen te verwijderen, moet u een verwijderverzoek verzenden samen met het examen_id.
Door een examen te verwijderen, wordt alle gegevens die aan een dergelijk examen zijn gekoppeld, inclusief alle mediagegevens, vragen en respondentgegevens verwijderen
{
  "x-client-id": "xxx-xxx-xxx",
  "x-client-secret": "xxxxxxx",
  "content-type": "application/json"
}

Feedback -opmerkingen (0)