Unsere Admin-API

Die Pexam Admin-API bietet die Möglichkeit über deine Webapp administrative Aktionen auszuführen und administrative Informationen auszulesen.

Um diese API zu nutzen, brauchst du einen Access Token, den du über deine Client ID und dein Client Secret erfragen kannst. Bitte kontaktiere uns über kontakt@pexam.de, um deine eigenen Zugangsdaten zu erhalten.

POSTWie bekomme ich einen Access Token?

Für alle API-Calls wird ein Access-Token benötigt. Diesen kann man sich mit seiner Client ID und seinem Client Secret beschaffen und er ist für 1 Stunde gültig.

POSThttps://pexam.de/oauth/token

  • Request
  • Response

Query Parameter

Body-ParameterTyp Beschreibung
client_idStringDeine Client-Id
client_secretStringDein Client-Secret
grant_typeString"client_credentials"
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request POST 'https://pexam.de/oauth/token' \
--header 'redirect_uri: https://goodmarks.de/' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=DEINE_CLIENT_ID' \
--data-urlencode 'client_secret=DEIN_CLIENT_SECRET'

Access Token einsetzen

1. Option: Der Access-Token kann im Header mitgesendet werden

Header-Parameter Typ Beschreibung
Authorization String Bearer DEIN_TOKEN

2. Option: Alternativ kann der Access-Token als Query-Parameter mit dem Key 'access_token' verwendet werden

https://pexam.de/wp-json/admin/v1/.../?access_token=DEIN_TOKEN

Kurse

Du kannst dir all deine Kurse anzeigen lassen

GEThttps://pexam.de/wp-json/admin/v1/kurse


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request GET '__admin_url__courses' \
--header 'Authorization: Bearer ACCESS_TOKEN'

Kurs erstellen

Du kannst einen Kurs erstellen. Dafür musst die Parameter 'kurs_name_lang' und 'kurs_name_kurz' übergeben.

POSThttps://pexam.de/wp-json/admin/v1/kurse/erstellen


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_name_langStringBeispiel: Mathe für Wirtschaftswissenschaftler
kurs_name_kurzString(Optional) Beispiel: Mathe
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request POST 'https://pexam.de/wp-json/admin/v1/kurse/erstellen' \
--header 'Authorization: Bearer pmasxorm3qsviknbyqlvsfzamqhzo0zlvk8mbjxn' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'kurs_name_lang=Testkurs' \
--data-urlencode 'kurs_name_kurz=Test'

Kurs entfernen

Du kannst einen deiner Kurse auch entfernen. Dafür musst den Parameter 'kurs_id' übergeben.

POSThttps://pexam.de/wp-json/admin/v1/kurse/entfernen/{kurs_id}


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_idIntegerID eines deiner Kurse (in URL!)
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request POST 'https://pexam.de/wp-json/admin/v1/kurse/entfernen/{kurs_id}' \
--header 'Authorization: Bearer DEIN_ACCESS_TOKEN'

Tutoren

Du kannst all deine Tutoren abfragen.

POSThttps://pexam.de/wp-json/admin/v1/tutoren


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request GET 'https://pexam.de/wp-json/admin/v1/tutoren' \
--header 'Authorization: Bearer ACCESS_TOKEN'

Tutor/-in freischalten

Du kannst eine/-n Tutor/-in für einen deiner Kurse freischalten, indem du die Mail (mit welcher der/die Tutor/-in auf pexam.de angemeldet ist) und die Kurs-ID (kurs_id) übergibst.

POSThttps://pexam.de/wp-json/admin/v1/tutoren/freischalten


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_idIntegerID eines deiner Kurse
mailStringEmail deines/-r Tutors/-in
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request POST '__admin_url__tutors/activate/47' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'mail=tutortest@pexam.de'

Tutor/-in entfernen

Du kannst eine/-n Tutor/-in von einem deiner Kurse wieder entfernen, indem du die Mail (mit welcher der/die Tutor/-in auf pexam.de angemeldet ist) und die Kurs-ID (kurs_id) übergibst.

POSThttps://pexam.de/wp-json/admin/v1/tutoren/entfernen


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_idIntegerID eines deiner Kurse
mailStringEmail deines/-r Tutors/-in
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request PUT '__admin_url__tutors/remove/47' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'mail=tutortest@pexam.de'

Schüler/-innen

Du kannst dir auswerten lassen wie viele Schüler/-innen gerade für deine Kurse aktiviert sind.

GEThttps://pexam.de/wp-json/admin/v1/schuler/aktiv


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request GET '__admin_url__students/active' \
--header 'Authorization: Bearer ACCESS_TOKEN'

Schüler-/innen freischalten

Du kannst Schüler/-innen freischalten, indem du ihre Mail (mit der sie auch auf pexam.de registriert sind oder sich noch registrieren werden) und die jeweilige kurs_id übergibst. Es können durch Übergabe der kurs_id als 0 auch alle verfügbaren Kurse gleichzeitig freigeschaltet werden.

POSThttps://pexam.de/wp-json/admin/v1/schuler/freischalten


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_idIntegerID eines deiner Kurse (0 => für alle deine Kurse freischalten)
mailStringEmail eines/-r Schülers/-in
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request POST '__admin_url__students/activate/47' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'mail=testschuler@pexam.de'

Schüler-/innen entfernen

Du kannst Schüler/-innen entfernen, indem du ihre Mail (mit der sie auch auf pexam.de registriert sind oder sich noch registrieren werden) und die jeweilige kurs_id übergibst. Es können durch Übergabe der kurs_id als 0 auch alle verfügbaren Kurse gleichzeitig entfernt werden werden.

POSThttps://pexam.de/wp-json/admin/v1/schuler/freischalten


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
kurs_idIntegerID eines deiner Kurse (0 => für alle deine Kurse freischalten)
mailStringEmail eines/-r Schülers/-in
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request PUT '__admin_url__students/remove/0' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'mail=testschuler@pexam.de'

Arbeitsblätter

Du kannst dir alle Arbeitsblätter, die für deine Instanz erstellt wurden ausgeben lassen

GEThttps://pexam.de/wp-json/admin/v1/ab


  • Request
  • Response

Query Parameter

ParameterTyp Beschreibung
access_token String DEIN ACCESS_TOKEN (?)
  • cURL
  • PHP
  • Python
  • NodeJs
  • JS - jQuery
  • JS - XHR
  • HTTP
curl --location --request GET 'https://pexam.de/wp-json/admin/v1/ab' \
--header 'Authorization: Bearer DEIN_ACCESS_TOKEN'

Errors

Die Pexam Admin-API nutzt die folgenden Errors

Code Bedeutung
400 Falsche Kombination aus Client-ID und Client Secret.
401 Unbekannter oder ungültiger Access Token.
402 Interner Authentifizierungsfehler, der mit dem Account, mit dem Client-ID und Client Secret verknüpft sind, zusammenhängt.
403 Es fehlen benötigte Parameter. Dieser Error taucht auf, wenn du nicht alle notwendigen Parameter übergibst oder welche davon fehlerhaft sind.
404 Unser Server konnte keine Antwort ermitteln, möglicherweise fehlt auch noch deine nachgefragte Ressource.