sourceDESK bietet eine API für Administratoren an, um Objekte im System zu verwalten. Jeder Administrator mit entsprechenden Rechten kann einen eigenen API-Schlüssel bekommen, dieser kann abgerufen werden, indem Sie auf Ihren Namen rechts oben in der Administration klicken und den Punkt "API" auswählen.
Mit dem API-Schlüssel können Aktionen in Ihrem Namen und mit Ihren Rechten ausgeführt werden.
Aufruf der API
Die API ist unter SOURCEDESK_URL/admin/api.php
erreichbar. Eine Funktion rufen Sie mit der URL SOURCEDESK_URL/admin/api.php/FUNCTION
auf.
Relevant für einen Aufruf ist nach dem REST-Prinzip die HTTP-Methode. Unterstützt werden je nach Funktion GET
, POST
, PUT
und DELETE
.
Authentifizierung
Die Authentifizierung erfolgt über den API-Schlüssel. Es ist ein entsprechender HTTP-Header zu setzen:
Authorization: Bearer API_TOKEN
Parameter
Parameter werden im Body der Anfrage als Query-String übergeben.
Rückgabeformat
Sämtliche Rückgaben erfolgen im JSON-Format. Im Fehlerfall erhalten Sie ein "error"-Element mit einer Fehlerbeschreibung.
Unterstützte Funktionen
Die System-API ist derzeit noch in Entwicklung und unterstützt zum jetzigen Zeitpunkt folgende Funktionen/Objekte:
PHP-Beispiel
Das nachfolgende Beispiel in PHP zeigt den Abruf der Admin-Info:
$ch = curl_init("SOURCEDESK_URL/admin/api.php/me"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer API_TOKEN" ]); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); $res = json_decode(curl_exec($ch), true); curl_close($ch); if (!is_array($res)) { die("Invalid response"); } if (!empty($res['error'])) { die($res['error']); } echo "Hello, {$res['name']}";