API
Endpoints
Alle API-Endpoints sind unter https://rissc.demo.printformer.net/docs/ zu finden.
Beispielsweise können Informationen (wie DataKeys und CustomAttributes) aus einem printformer Template ausgelesen werden:
Weiteres Beispiel für einen API-Call Ablauf:
Server zu Server Kommunikation
Für alle Anfragen an /api-ext/*
müssen ein Authorization: Bearer
und Accept: application/json
Header vorhanden sein. Der Authorization Header beinhaltet den API-Schlüssel des Mandanten, als welcher die API angesprochen werden soll.
Beispiel
CODE
|
Der API-Schlüssel ist im printformer Admin-Menü unter Integrationen > API-Keys in den einzelnen Mandanten (> API) zu finden.
Dateiabruf
Für den Dateiabruf mittels der API-Endpoints unter /api-ext/files/*
ist die Generierung eines JWT notwendig. Durch die von der externen Plattform modifizierbaren Parameter jti
, exp
und urlPath
kann die Gültigkeit der Datei-URL je nach Anwendungsfall passend eingestellt werden.
Die API-Endpoints liefern nicht direkt die Datei aus, sondern einen nur kurz gültigen Redirect auf die eigentliche Datei-URL.
Benutzer Authentifizierung
Um einen Benutzer von einer externen Plattform im printfomer einzuloggen (z.B. für den Editor-Aufruf) muss ein JWT generiert werden.
JSON Web Token
Unterstützte JWT Claims
Claim | Position | Beschreibung | Beispiel | Pflicht | Verwendung |
---|---|---|---|---|---|
client | Payload | Mandanten Identifier | oU4dL51h | ja | printformer > Integrationen > API-Keys in den einzelnen Mandanten (> API) |
user | Payload | User Identifier | oxrboJwf | nein | Wird von der API beim Anlegen eines Nutzers zurückgegeben. Pflicht sobald ein Nutzer authentifiziert werden soll, z.B. beim Editor-Aufruf |
urlPath | Payload |
| nein | Wird validiert sobald sich der Claim im Token befindet. Sollte z.B. bei der Generierung des Tokens für den Dateiabruf gesetzt werden, um zu verhindern, dass ein Token für mehrere Dateiabruf-URLs gültig ist. | |
redirect | Payload | URL zu welcher der User nach erfolgreichem Login weitergeleitet werden soll |
| nein | Muss die externe Plattform generieren |
jti | Header | Nonce, darf nicht doppelt verwendet werden, muss für jedes JWT neu generiert werden | K1jKpIZSiS08TtX3XixI6dPZ91jBVS23tp8z2uiA7RjQxcBk0pCwC9d6FrU2 | nein | Pflicht sobald ein Nutzer authentifiziert werden soll, z.B. beim Editor-Aufruf |
exp | Payload | Expiration Date (Timestamp UTC) wie lange dieses JWT gültig ist | 1511430662 | nein | Wird validiert sobald sich der Claim im Token befindet. |
Das JWT wird mit einem Sha256 signiert (als Schlüssel wird wieder der API-Schlüssel des Mandanten verwendet)
Im Browser wird dann https://demo.printformer.net/auth?jwt={JWT}
aufgerufen.
Anleitung: User-Anlage bis Editor-Aufruf
Step | API-Referenz | Voraussetzung | Ergibt | Beschreibung |
---|---|---|---|---|
1 | https://rissc.demo.printformer.net/docs/#/User/post_api_ext_user |
|
| Als erstes wird ein neuer User angelegt. Der neue User wird automatisch dem Mandanten, der ihn angelegt hat, zugewiesen. |
2 | https://rissc.demo.printformer.net/docs/#/Draft/post_api_ext_draft |
|
| Für den neu angelegten User, wird ein neuer Draft erzeugt. |
3 | https://rissc.demo.printformer.net/docs/#/User/post_api_ext_user |
|
| Die Externe Plattform muss ein JWT generieren |
4 |
|
| Mit diesem JWT kann der User einmalig eingeloggt werden |