Die folgende Dokumentation ist ausschließlich für Desktopgeräte ausgelegt. Mobile Endgeräte können aufgrund der technisch komplexen Ansicht und dem geringen Platz nicht unterstützt werden!
Überblick
Enwikuna License Manager Pro ist vollständig in die WordPress REST API integriert. Dies ermöglicht das Erstellen, Lesen, Aktualisieren und Löschen von Daten im Enwikuna License Manager mit Anfragen im JSON Format und unter Verwendung der WordPress REST API Authentifizierungsmethoden und Standard HTTP Verben, welche von den meisten HTTP Clients verstanden werden (z. B. POST, GET, DELETE).
Die aktuelle Version der REST API ist v1, welche bei allen Routen am Anfang steht: /wp-json/elm/v1/xxx
Neue Routen werden in der aktuellen Version ergänzt. Sofern neue Felder bei bestehenden Routen hinzukommen, werden diese ebenfalls in der aktuellen Version ergänzt. Sollten Felder wegfallen oder sich Routen grundlegend ändern, wird hierfür eine neue Version angelegt. So wird sichergestellt, dass deine Anbindung stets voll funktionsfähig ist.
Eine Übersicht inklusive aller aktuell verfügbaren Routen sowie deren Antworten haben wir dir in der Sektion REST API Routen zur Verfügung gestellt. Du findest dort ebenfalls Beispieldaten & Beispielantworten, welche dir bei der Implementierung deiner Anbindung helfen werden.
Anforderungen
Damit du die REST API nutzen kannst, gibt es einige Anforderungen, welche du erfüllen musst:
- WordPress 4.4+
- WordPress Permalinks müssen aktiviert werden unter: Einstellungen > Permalinks
- HTTPS Verbindung (HTTP Verbindung ist möglich, jedoch nicht empfehlenswert)
Tools
Um dir die Implementierung & das Testing deiner REST API Anbindung so einfach wie möglich zu gestalten, haben wir dir eine komplette Postman Kollektion im Enwikuna License Manager Pro Ordner sample-data hinterlegt, welche du nach der Installation von Postman importieren kannst. Wir werden diese Kollektion immer aktuell halten!
Weitere Informationen, wie du einen Request in Postman abschicken kannst, findest du hier.
Zusätzlich zu Postman können wir dir folgende Tools empfehlen, um deine REST API Anbindung an Enwikuna License Manager Pro testen zu können:
- Insomnia – Plattformübergreifender GraphQL- und REST Client, verfügbar für Mac, Windows und Linux.
Libraries
Es folgt eine Liste mit allen aktuell verfügbaren Libraries bzw. Anbindungen für Enwikuna License Manager & Enwikuna License Manager Pro!
- Enwikuna License Manager Client für WordPress (Anbindung von Themes & Plugins)
Authentifizierung
Um die REST API überhaupt erst nutzen zu können, musst du einen REST API Schlüssel in den Einstellungen vom Enwikuna License Manager erstellen. Mit diesem Schlüssel kannst du anschließend eine Verbindung zur REST API herstellen. Zusätzlich kannst du JSON Web Tokens verwenden, um einen Benutzerlogin zu realisieren. Weitere Details hierzu findest du in der Dokumentation aller Einstellungen.
Signatur von Produktdateien verifizieren
Sofern du deine Releases inkl. Produkte über die REST API herunterladen willst, kannst du von den signierten Produktdownloads profitieren. Frage hierfür die aktuelle Signatur über die REST API ab. Wir berechnen die Signatur übrigens mit Sodium. Anschließend musst du den öffentlichen Schlüssel zum Herunterladen von Produkten aus den Einstellungen zur REST API im Enwikuna License Manager abrufen.
Jetzt kannst du die Signatur und somit die Echtheit der über die REST API heruntergeladene Produktdatei überprüfen. Dies geht in fast jeder Programmiersprache! Wir empfehlen dir, die Überprüfung direkt beim Abruf einer Datei in der REST API zu tätigen.
$signature_raw = base64_decode( $downloaded_signature_from_the_rest_api );
$file_hash = hash_file( 'sha384', $downloaded_file_from_the_rest_api, true );
$public_key_raw = base64_decode( $public_key_from_the_settings );
if ( sodium_crypto_sign_verify_detached( $signature_raw, $file_hash, $public_key_raw ) ) {
// File is valid and has not been tampered with
} else {
// File is invalid and has been tampered with
}
REST API Routen
Folglich haben wir die alle REST API Routen von Enwikuna License Manager Pro im OpenAPI Format zusammengestellt. Solltest du weitere Routen benötigen, so sprich uns gerne an! Wir werden diese dann umgehend ergänzen.