Auth
Damit ein Script sich an der Schnittstelle autorisieren kann, müssen die "HTTP Basci Authorization" Daten im HTTP-Header mitgeschickt werden.
Hierzu sieht dieser Headerbereich wie folgt aus: Authorization: Basic YXBpdXNlcjphcGlrZXk=
Wobei hinter "Basic" der Benutzername und das Passwort getrennt mit einem Doppelpunkt Base64 encoded sind. Im oberen Beispiel ist wären es folgende Zugangsdaten: apiuser:apikey
Wichtig ist zudem, dass der Content-type auf application/json gesetzt ist.
In meinem Beispiel wäre es folgende Anfrage um eine Order mit dem Code "XYZXYZ" abzurufen.
GET /api/order/XYZXYZ HTTP/1.1
Authorization: Basic YXBpdXNlcjphcGlrZXk=
Host: shop.printlounge.local
Accept: */*
Content-type: application/json
API
Jedes Kommando für die API – Schnittstelle ist ein HTTP Anfrage.
In der URL wird das Ziel das gewünschte Datenobjekt angegeben und die HTTP Methode (GET, POST, PUT, DELETE) gibt an, was gemacht werden soll.
- GET: Liefert einen oder mehrere Datenobjekte.
- POST: Erstellt ein neues Datenobjekt.
- PUT: Ändert ein bestehendes Datenobjekt.
- DELETE: Löscht ein bestehendes Datenobjekt.
Verfügbare Daten
Bestellung
HTTP Methode | Pfad | Parameter | Request-Body | Beispiel |
---|---|---|---|---|
GET | /api/order/{order-code} | - | http://shop.printlounge.local/api/order/PDLOID | |
PUT/PATCH | /api/order/{order-code} | - | {"order_status":"137"} | http://shop.printlounge.local/api/order/PDLOID |
Nachbestellung
HTTP Methode | Pfad | Parameter | Request-Body | Beispiel | Rückgabeformat |
---|---|---|---|---|---|
GET | /api/vw/reorder/ | http://shop.printlounge.local/api/vw/order/ | { "2":{ "order_code":"FHYSEK", "dealerNumber":"4711" }, "1":{ "order_code":"QKTRWB", "dealerNumber":"42" } } | ||
GET | /api/vw/reorder/ | date=YYYY-MM-DD | http://shop.printlounge.local/api/vw/order?date=2016-11-11 | { "2":{ "order_code":"FHYSEK", "dealerNumber":"4711" }, "1":{ "order_code":"QKTRWB", "dealerNumber":"42" } } | |
POST | /api/vw/reorder/ | - | {"dealerNumber":"42", "articleType":"25"} | http://shop.printlounge.local/api/vw/reorder/ |
Erklärung zu Nr. 1
Alle Nachbestellungen die noch nicht über diese Schnittstelle ausgelesen wurden, werden im JSON Format übertragen. Beim nächsten Aufruf werden die ausgegebenen nicht erneut berücksichtigt.
Erklärung zu Nr. 2
Bei Angabe des Filters "date" werden alle, auch die bereits ausgegebenen Nachbestellungen, im JSON Format zurückgegeben.
Rückgabewerte / Response codes
Es wird ein entsprechender HTTP Statuscode zurückgegeben um den Erfolg- oder Fehlerfall mitzuteilen.
200 OK
GET, PUT oder DELETE Kommando war erfolgreich.
201 Created
POST Kommando war erfolgreich
400 Bad request
Die Anfrage ist unvollständig oder existiert nicht. Es muss die URL oder Parameter anpepasst werden.
401 Unauthorized
Der Benutzer ist nicht angemeldet.
403 Forbidden
Der Benutzer hat keine Rechte um die Anfrage auszuführen.
404 Not found
Das Ziel konnte nicht gefunden werden.
500 Internal Server Error
Dieser tritt meistens bei Validierungsfehler auf. Die Fehlerinformationen sind im „Body“ der Antwort vorhanden und haben folgenden Aufbau:
{
"error": "Parameter nicht beschreibbar"
}
Alle Anfragen und Rückgabewerte sind UTF-8 kodiert. Die Rückgabe erfolgt im Json-Format.