API Grundlagen / Einführung
Installation
Die Details zur Installation finden Sie unter API.
Grundlegende Funktionen der REST-API und zum Login in die SelectLine API.
Wie benutzt man die API?
Um Daten über die API zu Lesen oder zu Schreiben muss ein Http-Aufruf in einer bestimmten Form erfolgen. Die API folgt dabei den Konventionen eines REST-Dienstes, bei dem die verschiedenen Dienstangebote über entsprechende Urls und Http-Verben bereit gestellt werden. Jede Information hat eine eindeutige Url. Zum Lesen der Information muss das GET Http-Verb verwendet werden. Für das Schreiben wird entweder das POST Http-Verb (Information anlegen) oder das PUT Http-Verb (Information ändern) verwendet.
Das Format, in dem Informationen erhalten oder übermitteln werden, kann gewählt werden. Aktuell sind die Formate JSON und XML möglich Das Antwortformat wird über den Header wie folgt übermittelt:
JSON:
ACCEPT: application/json
XML:
ACCEPT: application/xml
Wenn Daten übermitteln werden, muss auch dieses Format wie folgt definiert werden:
JSON:
CONTENT-TYPE: application/json
XML:
CONTENT-TYPE: application/xml
Viele Funktionen benötigen eine Authentifizierung, welche durch einen Login erfolgen muss. Die LoginId, welche man durch den Login erhält, muss im Header eines Aufrufs immer mitgegeben werden.
Authorization: LoginId 12345-12345-12345-12345-12345
Login
Um sich bei der API anzumelden, muss ein Http-Aufruf mit dem Http-Verb POST erfolgen. Der Benutzername und das Passwort werden im Body dieses Aufrufs übertragen. Das Format der Daten muss im Header angegeben werden
Url:
POST http://localhost/Login
Header:
CONTENT-TYPE: application/json
Body:
{ "username":"[UserName]", "password":"[Password]" }
Bei richtigem Benutzernamen und Passwort erhalten Sie als Antwort die LoginId (Access-Token).
{"AccessToken":"ec2fbd7c-a184-4849-ba9f-1a35782383a9", "TokenType":"LoginId"}
Informationen lesen
Um einen Kunden abzurufen muss eine GET Http-Anfrage gesendet werden. In der Url muss die Kundennummer angegeben werden. Das Abrufen von Kunden erfordert eine Authentifizierung, daher muss im Header die LoginId angegeben werden.
Url:
GET http://localhost/Customers/12345
Header:
AUTHORIZATION: LoginId 12345-12345-12345-12345-12345
ACCEPT: application/xml
Informationen anlegen
Wenn ein Kunde erstellt werden soll, müssen die Daten des Kunden per POST an die entsprechende URL übertragen werden. Das Format und die Authentifizierung müssen im Header angegeben werden. Die Eigenschaften eines Kunden, die nicht übertragen werden sollen, werden von der API mit Vorgabewerten gefüllt. Die Eigenschaften, die als NurLesbar (ReadOnly) markiert sind, können nicht geschrieben werden.
Url:
POST http://localhost/Customers
Header:
AUTHORIZATION: LoginId 12345-12345-12345-12345-12345
CONTENT-TYPE: application/json
Body:
{"FirstName":"John", "LastName":"Doe" }
Informationen ändern
Um einen Kunden zu ändern, muss eine PUT Http-Anfrage an die ensprechende URL unter Angabe der Kundennummer gesendet werden. Das Format und die Authentifizierung müssen im Header angegeben werden. Die Eigenschaften eines Kunden, die Sie nicht übertragen, werden auch nicht geändert. Die Eigenschaften, die als NurLesbar (ReadOnly) markiert sind, können nicht geändert werden.
Url:
PUT http://localhost/Customers/12345
Header:
AUTHORIZATION: LoginId 12345-12345-12345-12345-12345
CONTENT-TYPE: application/json
Body:
{"LastName":"Smith" }
Swagger bietet vorgenerierten Code zum Zugriff auf die SelectLine API in diversen Programmiersprachen. Zusätzlich kann man eigene Anfragen direkt gegen die Installation der SelectLine API testen.
Was ist Swagger?
Swagger-Dokumentation und Testumgebung
Swagger-Api-Download (Swagger ist Open Source Software und unter der Apache License Version 2.0 lizenziert)
Codegenerierung mit Swagger-Codegen
Zum Ausführen der Codegenerierung werden folgende Programme benötigt:
- Java JRE
- Swagger-CodeGen
Hinweis: auf der Internetseite den grossen Download-Button drücken.
Auf der Hilfe-Seite von SelectLine API ist die Swagger-API-Beschreibungsdatei herunterzuladen.
In der Kommandozeile (Windows) kann zur Erzeugung von C#-Proxyklassen inklusive Demoprogramme und Tests folgender Befehl abgesetzt werden:
java -jar swagger-codegen-cli-2.2.1.jar generate -i SelectLine.API.json -l csharp -o c#
Weitere unterstützte Programmiersprachen und Bibliotheken sind u.a.: CsharpDotNet2, aspnet5, android, objc, dynamic-html, html, html2, php, cpprest, java, javascript, typescript, typescript-angular, typescript-angular2, ...
Code-Beispiele
Beispiele zur Nutzung der SelectLine API in C#/WPF, PowerShell, JavaScript und PHP.
Code-Beispiele
Abbildung 15.4: Code-Beispiele