Als Markdown anzeigen

CandidateLaunch

POST/v2/candidate/launch
Basis-URL
https://us1.proctorapi.com
Verfügbare Regionen10 Regionen
Erstellt eine Kandidaten-URL.
application/json

Body

Die Kandidaten-Anfrage zur Erstellung einer Kandidaten-URL.

pre_auth
string
URL zur Vorauthentifizierung des Kandidaten in der MobileExam-Anwendung.
launch_url
stringErforderlich
Muss eine gültige absolute URL enthalten, die direkt zur Startseite der Prüfung führt, ohne zusätzliche Authentifizierung. Der Wert von "launch_url" sollte im Regex-Muster von "exam_start" enthalten sein, zusammen mit allen Weiterleitungen.
exam_start
stringErforderlich
Regulärer Ausdruck zum Abgleich der Startseite der Prüfung. Alle Seiten davor werden als Vorprüfungsseiten betrachtet und ignoriert. Dies ist die URL, auf der sich der Kandidat befindet, bevor er die Prüfung beginnt. Der Wert von "launch_url" sollte im Regex-Muster von "exam_start" enthalten sein, zusammen mit allen Weiterleitungen.
exam_take
stringErforderlich

Muss ein regulärer Ausdruck sein, der die URLs der Prüfungsseiten (die URL der Prüfung) und alle Weiterleitungen abgleicht. In Fällen, in denen Fragen auf mehreren Seiten verteilt sind, ist dies wichtig. Alles andere, was besucht wird und weder diesem noch dem Parameter exam_end entspricht, wird als Verlassen der Prüfung betrachtet und die Sitzung gilt als abgeschlossen.

Falls URLs den Prüfungsstatus nicht widerspiegeln (Single-Page-Anwendungen), kann die postMessage-Methode verwendet werden, um den exam_take-Status über folgendes an die Proctorio-Erweiterung zu übermitteln:

window.top.postMessage( ["exam_state_change", "exam_take"], "https://getproctorio.com" );

Bei Verwendung der postMessage-Methode sollte "exam_take" einen "post_message_nofication"-Wert haben.

exam_end
stringErforderlich

Muss ein regulärer Ausdruck sein, der die Abschlussseite der Prüfung (die URL, zu der der Kandidat nach Abschluss der Prüfung weitergeleitet wird) und mögliche Weiterleitungen abgleicht. Dies löst das Ende der Beaufsichtigungssitzung aus und bedeutet, dass die Prüfung eingereicht wurde. Alles andere, was besucht wird und weder diesem noch dem Parameter exam_take entspricht, wird als Verlassen der Prüfung betrachtet und die Beaufsichtigungssitzung wird beendet, aber der Versuch gilt nicht als ordnungsgemäß eingereicht.

Falls URLs den Prüfungsstatus nicht widerspiegeln (Single-Page-Anwendungen), kann die postMessage-Methode verwendet werden, um den exam_end-Status über folgendes an die Proctorio-Erweiterung zu übermitteln:

window.top.postMessage( ["exam_state_change", "exam_end"], "https://getproctorio.com" );

Bei Verwendung der postMessage-Methode sollte "exam_end" einen "post_message_nofication"-Wert haben.

expire
integer(int32)
Anzahl der Sekunden, bevor die Kandidaten-URL nicht mehr gültig ist. Der Standardwert für diesen Parameter beträgt 18000 Sekunden. Wenn kein Wert übergeben wird, wird der Standardwert angewendet. Muss ein ganzzahliger Wert sein.
Minimum value is 1, Maximum value is 18000.
exam_settings
objectErforderlich
Zeige 30 exam_settings AttributeVerberge exam_settings Attribute
record_video
boolean
Erfordert, dass der Kandidat eine Webcam hat, und zeichnet das Video für die gesamte Dauer der Prüfung auf.
record_audio
boolean
Erfordert, dass der Kandidat ein Mikrofon hat, und zeichnet Audio für die gesamte Dauer der Prüfung auf.
record_screen
boolean
Erfasst und zeichnet den gesamten Desktop-Bildschirm für die gesamte Dauer der Prüfung auf.
record_web_traffic
boolean
Erfasst Screenshots und URLs aller während der Prüfung besuchten Websites.
record_desk
integer(int32)

0 - Einstellung ist deaktiviert.

1 - Erfordert, dass der Kandidat in regelmäßigen Abständen während der Prüfung einen Schreibtisch-Scan durchführt; der erste Scan erfolgt zu Beginn der Prüfung. Nachfolgende Scans werden in regelmäßigen Abständen ausgelöst, typischerweise zwischen 30 und 45 Minuten nach dem vorherigen. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_video, verify_video.

2 - Erfordert, dass der Kandidat zu Beginn der Prüfung einen Schreibtisch-Scan durchführt. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_video, verify_video.

Values are 0, 1, 2.
verify_video
boolean
Stellt sicher, dass die Webcam funktioniert und nicht virtualisiert oder defekt ist. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_video.
verify_audio
boolean
Stellt sicher, dass das Mikrofon funktioniert und nicht virtualisiert oder stummgeschaltet ist. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_audio.
verify_desktop
boolean
Stellt sicher, dass die Desktop-Aufzeichnung funktioniert und ordnungsgemäß aufgezeichnet wird. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_screen.
verify_id
integer(int32)

0 - Einstellung ist deaktiviert.

1 - Erfordert, dass der Kandidat vor Beginn der Prüfung einen Lichtbildausweis vorlegt, der automatisch gescannt wird.

2 - Erfordert, dass der Kandidat vor Beginn der Prüfung einen Lichtbildausweis vorlegt. Der Ausweis wird dann von einem Proctorio-Mitarbeiter überprüft und verifiziert, bevor der Kandidat zur Prüfung zugelassen wird. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_video, verify_video.

Values are 0, 1, 2.
verify_signature
boolean
Erfordert, dass der Kandidat vor Beginn der Prüfung eine Vereinbarung unterschreibt.
full_screen
integer(int32)

0 - Einstellung ist deaktiviert.

1 - Erzwingt die Prüfung im Vollbildmodus und verhindert den Zugriff auf andere Anwendungen und Websites. Das Verlassen der Prüfungsseite für mehr als 15 Sekunden (kumulativ) führt zum Ausschluss aus der Prüfung. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: close_tabs, one_screen. Erfordert, dass tabs den Wert 1 hat.

2 - Erzwingt die Prüfung im Vollbildmodus und verhindert den Zugriff auf andere Anwendungen und Websites. Das Verlassen der Prüfungsseite für mehr als 30 Sekunden (kumulativ) führt zum Ausschluss aus der Prüfung. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: close_tabs, one_screen. Erfordert, dass tabs den Wert 1 hat.

3 - Erzwingt die Prüfung im Vollbildmodus und verhindert den Zugriff auf andere Anwendungen und Websites. Das Verlassen der Prüfungsseite führt zum sofortigen Ausschluss aus der Prüfung. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: close_tabs, one_screen. Erfordert, dass tabs den Wert 1 hat.

Values are 0, 1, 2, 3.
disable_clipboard
boolean
Deaktiviert die Kopieren/Einfügen-Funktionalität.
tabs
integer(int32)

0 - Einstellung ist deaktiviert.

1 - Deaktiviert neue Tabs oder Fenster während der Prüfung.

2 - Deaktiviert neue Tabs oder Fenster während der Prüfung, mit Ausnahme von Links, die in die Prüfungsseite eingebettet sind.

Values are 0, 1, 2.
close_tabs
boolean
Erzwingt das Schließen aller anderen Tabs und Fenster vor Beginn der Prüfung.
one_screen
boolean
Erzwingt, dass der Kandidat alle Monitore bis auf einen deaktiviert, bevor er die Prüfung beginnt, und verhindert, dass während der Prüfung zusätzliche Monitore angeschlossen werden.
disable_printing
boolean
Deaktiviert das Drucken von Prüfungsinhalten, um die Verbreitung der Prüfung zu verhindern.
block_downloads
boolean
Verhindert, dass der Kandidat Dateien über den Browser herunterlädt.
clear_cache
boolean
Leert temporäre Systemdateien nach Einreichung der Prüfung.
disable_right_click
boolean
Deaktiviert die Rechtsklick-Funktionen.
calculator
integer(int32)

0 - Einstellung ist deaktiviert.

1 - Stellt dem Kandidaten einen Bildschirmrechner mit Grundfunktionen zur Verfügung.

2 - Stellt dem Kandidaten einen Bildschirmrechner mit wissenschaftlichen Funktionen zur Verfügung.

3 - Stellt dem Kandidaten einen Bildschirmrechner mit Grafikfunktionen zur Verfügung.

Values are 0, 1, 2, 3.
whiteboard
boolean
Stellt dem Kandidaten ein Notizfeld und Zeichenwerkzeuge auf dem Bildschirm zur Verfügung.
disable_extensions
boolean
Verhindert, dass der Kandidat während der Prüfung andere Browsererweiterungen verwendet, mit Ausnahme von freigegebenen.
live_proctor
boolean
Diese Einstellung ermöglicht es einem Proctor, den Kandidaten während der Prüfung zu überwachen und sofort einzugreifen. Außerdem wird die vollständige Aufzeichnung und der Bericht über das Proctorio Review Center verfügbar sein. Erfordert, dass die folgenden Einstellungen auf true gesetzt sind: record_video, verify_video.
mobile
boolean
Ermöglicht die Durchführung der Prüfung auf einem mobilen Gerät mit der MobileExam-Anwendung. Erfordert die Verwendung von pre_auth in der Launch-Anfrage. Nicht kompatibel mit der Einstellung verify_id: 2.
advanced_program_detection
boolean
Verhindert die Nutzung anderer Anwendungen während der Prüfung. Erfordert die Verwendung der Secure Companion-Anwendung.
advanced_hardware_detection
boolean
Protokolliert Hardwareänderungen während der Prüfung im Review Center. Erfordert die Verwendung der Secure Companion-Anwendung.
advanced_vm_detection
boolean
Verhindert die Verwendung einer virtuellen Maschine zur Durchführung der Prüfung. Erfordert die Verwendung der Secure Companion-Anwendung.
allowed_macos_apps
array[string]
Liste von maximal 10 erlaubten Anwendungen, die geöffnet bleiben dürfen, wenn advanced_program_detection verwendet wird. Anwendungen werden auf MacOS durch die bundle ID identifiziert.
allowed_windows_apps
array[object]
Liste von maximal 10 erlaubten Anwendungen, die geöffnet bleiben dürfen, wenn advanced_program_detection verwendet wird. Anwendungen werden auf Windows durch binary_name, product_name und company_name identifiziert.
Zeige 3 allowed_windows_apps AttributeVerberge allowed_windows_apps Attribute
binary_name
string
Der Binärname der Anwendung.
product_name
string
Der Produktname der Anwendung.
company_name
string
Der Firmenname der Anwendung.
strict_apps_validation
integer(int32)

Legt die Strenge der Validierung erlaubter Anwendungen fest, wenn advanced_program_detection, allowed_macos_apps und allowed_windows_apps verwendet werden.

0 - Einstellung ist deaktiviert.

1 - Standardvalidierung.

Values are 0, 1.
record_desk_option
integer(int32)
Values are 0, 1, 2.
redirect_url
string
Der Parameter redirect_url ist optional. Wenn angegeben, wird der Kandidat nach erfolgreicher Einreichung der Prüfung zu dieser URL weitergeleitet. Außerdem ermöglicht er die Weiterleitung des Kandidaten zu dieser URL, wenn er die Schaltfläche "Okay" in der Meldung "Versuch beendet" anklickt, falls der Kandidat den Versuch nicht ordnungsgemäß beendet hat.
redirect_settings
object
Zeige 2 redirect_settings AttributeVerberge redirect_settings Attribute
graceful_submission_url
string
Nach ordnungsgemäßer/erfolgreicher Einreichung der Prüfung wird der Kandidat zur graceful_submission_url weitergeleitet.
ungraceful_submission_url
string
Nach einem nicht ordnungsgemäßen Prüfungsende wird der Kandidat zur ungraceful_submission_url weitergeleitet, wenn er die Schaltfläche "Okay" in der Meldung "Versuch beendet" anklickt.
attempt_id
string
Die eindeutige Kennung für einen bestimmten Versuch des Kandidaten. Muss einen alphanumerischen Wert enthalten (Bindestriche sind ebenfalls zulässig). Der Wert von "attempt_id" sollte wiederverwendet werden, wenn eine neue Kandidaten-URL für einen Kandidaten generiert wird, der denselben Versuch auf der Lernplattform fortsetzt.
Format should match: ^[a-zA-Z0-9-]*$.
domain
string

Der Parameter "domain" ist optional. Durch die Verwendung von "domain" werden die Prüfungsseiten sowie das Reviewer Center mit Ihrer gewünschten Domain geladen.

Die URL wird nicht mehr auf die Seite https://getproctorio.com verweisen. Stattdessen werden die Kandidaten/Reviewer zur neuen Route weitergeleitet, die Sie im Parameter angegeben haben, beispielsweise: https://yourdomain.com.

Dies ermöglicht die Nutzung zusätzlicher Cross-Origin-Sicherheitsmechanismen, die SameSite-Cookies oder den X-Frame-Options: SAMEORIGIN-Header verwenden. Es bietet auch die Möglichkeit, Datenverluste in Session- oder Local-Storage im Zusammenhang mit der Storage-Partitionierungsfunktion des Browsers zu verhindern.

Die Seite https://getproctorio.com hat folgende Funktionen: Prüfung, ob ein Kandidat/Reviewer den unterstützten Browser installiert hat. Prüfung, ob ein Kandidat/Reviewer die Proctorio-Erweiterung installiert hat. Um diese Funktionen beizubehalten, ist ein Link zu https://getproctorio.com mit einer Beschreibung des Zwecks von getproctorio.com auf der Seite der Institution erforderlich.

display_name
string
Nur zu verwenden, wenn "roster_url" und "user_id" nicht den Namen des Kandidaten enthalten. Die "display_name"-Information wird NICHT gespeichert und ist im Review Center weder für den Reviewer noch für den Proctor verfügbar. Sie wird ausschließlich für die Live-ID-Verifizierung und die Prüfungsvereinbarung auf Kandidatenseite verwendet.
extension_allowlist_url
string

URL des Extension-Allowlist-Endpunkts. HTTP-Methode: GET. Die Antwort sollte ein JSON-stringifiziertes Array sein. Beispiel: '[extensionID1,extensionID2]'.

Die extension_allowlist_url kann für Kandidaten verwendet werden, deren Browser von der Institution erzwungene Erweiterungen enthält. Diese Erweiterungen können vom Kandidaten nicht manuell deaktiviert werden.

Der Wert 'extensionID' sollte der ID der Erweiterung entsprechen, die während des beaufsichtigten Versuchs aktiv bleiben darf.

break_settings
object
Zeige 5 break_settings AttributeVerberge break_settings Attribute
number
objectErforderlich
Definiert die Anzahl der erlaubten Pausen.
Minimum value is 1, Maximum value is 10.
duration
objectErforderlich
Definiert die Dauer der Pause.
Minimum value is 1, Maximum value is 30.
cumulative
boolean
Gibt an, ob die Pausendauer zwischen den Pausen geteilt wird (true) oder pro Pause definiert ist (false).
on_time_exceeded
integer(int32)

Aktion bei Überschreitung der Pausenzeit.

0 - Pausenzeit kann überschritten werden.

1 - Wenn die Pausenzeit überschritten wird, wird der Kandidat aus der Prüfung entfernt.

Values are 0, 1.
desk_scan_after_break
boolean
Gibt an, ob nach der Pause ein Schreibtisch-Scan erforderlich ist.
branding
object
Zeige 3 branding AttributeVerberge branding Attribute
primary_color
string
Der Hex-Farbcode legt die Primärfarbe für einige Benutzeroberflächenelemente fest. Der Wert muss ein sechsstelliger Code ohne das #-Zeichen sein. Ermöglicht es einer Lernplattform, ihr eigenes Farbschema mit den Proctorio-Farben abzustimmen und ihre Marke im Header hervorzuheben. Muss ein Zeichenkettenwert sein.
Format should match: ^[a-zA-Z0-9]*$.
secondary_color
string
Der Hex-Farbcode legt die Sekundärfarbe für einige Benutzeroberflächenelemente fest. Der Wert muss ein sechsstelliger Code ohne das #-Zeichen sein. Ermöglicht es einer Lernplattform, ihr eigenes Farbschema mit den Proctorio-Farben abzustimmen und ihre Marke hervorzuheben. Muss ein Zeichenkettenwert sein.
Format should match: ^[a-zA-Z0-9]*$.
logo_url
string
URL des benutzerdefinierten Logo-Endpunkts. HTTP-Methode: GET. Die Antwort sollte ein Bild sein. CORS-sicher. Die Höhe des Logos beträgt 32px, die Breite ist flexibel.
post_auth
string
Post_auth erfordert pre_auth. Es wird nach der Vorauthentifizierung verwendet, sobald der Kandidat bereits auf der Plattform angemeldet ist. Dieser Parameter definiert den Zeitpunkt, an dem die Vorabprüfungen beginnen sollen. Nach Abschluss der Vorabprüfungen wird der Kandidat zur launch_url weitergeleitet.
pre_auth_bypass
boolean
Der Parameter pre_auth_bypass ist optional. Bei Verwendung und Einstellung auf true ermöglicht er das Umgehen der Vorauthentifizierung für den Kandidaten in der MobileExam-Anwendung.
user_id
stringErforderlich
Muss einen alphanumerischen Wert enthalten (Bindestriche sind ebenfalls zulässig), der für diesen spezifischen Benutzer eindeutig ist.
Format should match: ^[a-zA-Z0-9-]*$.
exam_tag
string
Dies ist das Prüfungs-ID-Tag und wird am Ende der URL hinzugefügt. Der exam_tag darf keine Leerzeichen und keine Nicht-ASCII-Zeichen enthalten. Bei Verwendung bezieht Proctorio es in die Antwort ein. Wird er nicht verwendet, wird eine URL ohne Hash generiert, die von der Lernplattform vor der Verwendung hinzugefügt werden muss. Proctorio empfiehlt die Verwendung der roster_url, wenn kein exam_tag angegeben wird.
Format should match: ^(?!goodbye$|support$|update$|setup$|invalid$).*.
section_id
string

Repräsentiert eine Kurs-ID oder einen Abschnitts-ID-Wert. Dieser Parameter ist optional. Er ermöglicht eine detailliertere Sortierung der Prüfungen.

Das bedeutet, dass Prüfungen mit dem gleichen "exam_tag", aber unterschiedlicher "section_id" als verschiedene Prüfungen behandelt werden.

Der Parameter "section_id" ist vom Parameter "roster_url" abhängig und kann nicht ohne diesen verwendet werden.

roster_url
string

URL des Roster-Endpunkts. HTTP-Methode: GET. Die Antwort sollte ein JSON-stringifiziertes Array sein. Beispiel: '[["id1","name1"],["id2","name2"]]'

Der Wert "id" sollte dem Parameter "userId" entsprechen, für den Kandidaten eindeutig und innerhalb des Rosters nicht wiederholbar sein.

Der Roster-Endpunkt wird von Proctorio validiert. Das bedeutet, dass bei Angabe eines ungültigen Endpunkts oder wenn "userId" keinem "id"-Wert im Array entspricht, die Versuche im Review Center als "Nicht zugeordnet" markiert werden.

Die roster_url wird nur vom Endbenutzer abgerufen, der auf das Review Center oder die Prüfungsvereinbarungsseite zugreift, clientseitig, nicht direkt von Proctorio. Das bedeutet, dass sie mit der Sitzung für den jeweiligen Benutzer gesichert werden kann. Dies ist beabsichtigt, und daher müssen personenbezogene Daten zu keinem Zeitpunkt an Proctorio übermittelt werden, weder bei einer Candidate-Launch-Anfrage noch bei einer Reviewer-Launch-Anfrage.

Antworten

200application/json

Zeigt Erfolg an und gibt eine Kandidaten-URL zurück.

400application/json

Zeigt eine fehlerhafte Anfrage an.

401application/json

Zeigt eine nicht autorisierte Antwort an.

2154 - Konto nicht aktiv.

2155 - Falsche Region.

2655 - Ungültiger api_key.

POST/v2/candidate/launch
curl --request POST \
  --url https://us1.proctorapi.com/v2/candidate/launch \
  --header 'Content-Type: application/json' \
  --header 'api_key: $API_KEY' \
  --data '{"launch_url":"https://example.com/exam","exam_start":"https://example.com/exam","exam_take":"https://example.com/exam","exam_end":"https://example.com/exam","exam_settings":{"record_video":true,"record_audio":false,"record_screen":false,"verify_video":false},"user_id":"example-id-123"}'
import requests

url = "https://us1.proctorapi.com/v2/candidate/launch"

payload = {
    "launch_url": "https://example.com/exam",
    "exam_start": "https://example.com/exam",
    "exam_take": "https://example.com/exam",
    "exam_end": "https://example.com/exam",
    "exam_settings": {
        "record_video": True,
        "record_audio": False,
        "record_screen": False,
        "verify_video": False
    },
    "user_id": "example-id-123"
}
headers = {
    "api_key": "$API_KEY",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const fetch = require('node-fetch');

const url = 'https://us1.proctorapi.com/v2/candidate/launch';
const options = {
  method: 'POST',
  headers: {api_key: '$API_KEY', 'Content-Type': 'application/json'},
  body: '{"launch_url":"https://example.com/exam","exam_start":"https://example.com/exam","exam_take":"https://example.com/exam","exam_end":"https://example.com/exam","exam_settings":{"record_video":true,"record_audio":false,"record_screen":false,"verify_video":false},"user_id":"example-id-123"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("https://us1.proctorapi.com/v2/candidate/launch"),
    Headers =
    {
        { "api_key", "$API_KEY" },
    },
    Content = new StringContent("{\"launch_url\":\"https://example.com/exam\",\"exam_start\":\"https://example.com/exam\",\"exam_take\":\"https://example.com/exam\",\"exam_end\":\"https://example.com/exam\",\"exam_settings\":{\"record_video\":true,\"record_audio\":false,\"record_screen\":false,\"verify_video\":false},\"user_id\":\"example-id-123\"}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
Anfrage-Beispiele
{
  "launch_url": "https://example.com/exam",
  "exam_start": "https://example.com/exam",
  "exam_take": "https://example.com/exam",
  "exam_end": "https://example.com/exam",
  "exam_settings": {
    "record_video": true,
    "record_audio": false,
    "record_screen": false,
    "verify_video": false
  },
  "user_id": "example-id-123"
}