Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Mithilfe der PEIQ Cloud-Connect APIs(engl. Application Programming Interfaces, Programmierschnittstellen) können Verlage Teile ihrer bestehenden Systeme und Produkte mit dem PEIQ PORTAL verbinden. Alle Cloud-Connect APIs sind nach der REST-Architektur aufgebaut. Der Zugriff erfolgt dadurch mit den Standard HTTP-Methoden GET, POST, PUT und DELETE. Die Zugriffskontrolle erfolgt hierbei über eine Implementierung nach OAuth V2 Standard.

Die Dokumentation der Cloud-Connect API kann von berechtigten Nutzern Benutzer:innen über die Administration & Moderation oder unter /admin/api aufgerufen werden. Hier steht eine interaktive Entwicklerdokumentation zur Verfügung.

...

  • Anbindung bestehenden Systeme und Produkte

  • Interaktive Entwicklerdokumentation mit potentiellen potenziellen Anwendungsmöglichkeiten der verfügbaren APIs

  • Verwendung des OAuth - V2 - Standards für die Zugriffskontrolle

...

Die Dokumentation zur PEIQ Cloud-Connect API kann im PORTAL über die “Administration & Moderation” erreicht werden. Unter dem Menüpunkt “API 2.0 BETA Dokumentation” findet sich eine interaktive Entwicklerdokumentation, die eine Übersicht der potentiellen potenziellen Anwendungsmöglichkeiten der diversen APIs im PEIQ PORTAL bietet. Näheres hierzu siehe API 2.0 Dokumentation PORTAL.

Verfügbare APIs im PEIQ PORTAL

Grundsätzlich stehen all diejenigen APIs zur Verfügung, deren zugehöriges Modul im jeweiligen PORTAL aktiv ist. Einen Überblick, welche Module im PORTAL aktiv und damit auch welche APIs potenziell verfügbar sind, bietet die Modulübersicht. Diese steht unter API 2.0 BETA Dokumentation in der Administration & Moderation zur Verfügung. Näheres siehe API 2.0 Dokumentation PORTAL.

...

Code Block
https://yourdomain.com/api/v2/

Alle API Requests müsse müssen über HTTPS gesendet werden. Requests über HTTP schlagen fehl. API Requests ohne Authorisierung Autorisierung werden ebenfalls fehlschlagen.

Findet die Konnektierung der API über eine htaccess-geschützte Staging-Umgebung statt, muss eine IP-Freigabe (oder Netzwerkfreigabe, z. B. falls mehrere Entwickler:innen aus dem gleichen Netzwerk zugreifen wollen) erfolgen. Dazu bitte an das PEIQ Support Team wenden.

Autorisierung

Um Zugriff auf die API zu erhalten, wird ein Token benötigt. Dieses kann über einen speziellen Endpunkt generiert werden, indem sich mit Client ID und Client Secret authentifiziert wird.

Diese API Credentials (Client ID und Client Secret) können

  • über die Verwaltung von API-Zugängen von berechtigten Benutzer:innen selbst erstellt werden: API Zugänge verwalten

  • über eine Änderungsanfrage beim Service Desk beantragt werden, sofern das Feature API-Konsole nicht aktiviert ist.

Note
  • Die API Credentials können als “read-only” oder “read-and-write” eingerichtet werden.

  • Es ist darauf zu achten, dass bei einem “read-and-write” Modus Livedaten beeinflusst - geändert/gelöscht - werden können.

  • Kund:innen müssen sich also im Klaren darüber sein, wem sie diese Credentials weitergeben.

Auch zur Nutzung der Try it out Funktion in der API 2.0 Dokumentation PORTAL ist eine Authentifizierung erforderlich. Diese kann über den grünen Button “Authorize” in jedem Modul über folgende Maske eingegeben und bestätigt werden.

...

Note

Bilder müssen für einen Import in das PORTAL von einer öffentlich zugänglichen URL abrufbar sein. Die Bilder können nicht direkt in das PORTAL eingespeist werden. Dies ist eine Maßnahme zur besseren Skalierbarkeit, um das System, bzw. die Schnittstelle nicht zu überlasten und eine schnelle Verarbeitung der Importe zu gewährleisten.

Anleitung zum Set-up

Expand
titleSchritte nach Aktivierung des API-Managements durch PEIQ
Note

Sie benötigen zum Set-up die Berechtigungsrollen:

  • Allgemein: Zugang zur Verwaltungsübersicht

  • API Dokumentation: Alle Berechtigungsrollen unter “Administration”

  • API-Zugang: Alle Berechtigungsrollen unter “Administration”

Es hat sich bewährt, für diese Art der Berechtigungen eine eigene Berechtigungsgruppe (z. B. Developer) anzulegen und diese ausgewählten Benutzer:innen zu Verfügung zu stellen.

1. Einrichtung der API-Zugänge / Autorisierungsdaten

Rufen Sie die Verwaltung für API-Zugänge auf und erstellen Sie die benötigten API-ZugängenZugänge. Eine detaillierte Anleitung finden Sie hier: https://peiq.atlassian.net/wiki/spaces/PPSDPUPKB/pages/249168027/API+Zug+nge+verwalten#API249168027#API-Zugang-erstellen

Note

Bitte beachten Sie auch die dort gegebenen Hinweise zur Verwaltung der Zugänge.

Nachdem Sie die Zugänge erfolgreich erstellt haben, erhalten Sie dort pro Zugang die API-Credentials: Client ID und Client Secret

Note
  • Die API-Credentials können als “read-only” oder “read-and-write” eingerichtet werden. Bei einem “read-and-write”-Modus können die Livedaten beeinflusst - geändert/gelöscht - werden. Aus diesem Grund sollten diese Credentials für “read-and-write”-Zugänge nur an vertrauenswürden Dritte weitergegeben werden.

  • Wird Dritten der API-Zugang durch den oder die Kund:in zur Verfügung gestellt, wird empfohlen, dass der oder die Kund:in eigenständig mit diesen Dritten einen AVV (Vertrag zur Auftragsverarbeitung) abschließt.

  • Über die Benutzer-API können nutzerbezogene Daten bezogen und (bei read-and-write) auch verändert werden.

2. Zugang zur API Dokumentation 2.0 BETA

Die interaktive Entwickler-Dokumentation der PEIQ Cloud-Connect APIs kann in jedem PORTAL über die Administrations & Moderation > Sonstige > API 2.0 BETA Dokumentation ( oder über die relative URL /admin/api ) erreicht werden.

Sie finden dort interaktive Dokumentationen. Die Dokumentationen können dort dann als Open-API-Spezifikation zur Verwendung mit verschiedenen REST-Clients (z. B. Postman) heruntergeladen werden.

Weitere Details (z. B. auch zur Try-it-out-Funktion) finden Sie unter API 2.0 Dokumentation PORTAL.

3. Autorisierung

Bei der Zugangskontrolle handelt es sich um eine Implementierung nach dem OAuth V2 Standart. Auf die Details des Protokolls wird im Folgenden nicht eingegangen, stattdessen wird anhand von Beispielen demonstriert, wie die API zum Anfordern von Access Token verwendet werden kann.

Scope

N/A

Bundle Prefix

/oauth/v2

Beispiel URL

/oauth/v2/token

Dateistrukturen

AccesToken
Code Block
{
"access_token": <string>, // Das Access Token
"expires_in": <int>, // Zeitraum in Sekunden, die das Token gültig ist
"token_type": <string>, // i.d.R. "bearer"
"scope": <string> // Liste der zugewiesenen Scopes, mit Leerzeichen getrennt
}
Workflow

Das Anfordern von Access Token über die client_credentials erfordert die obigen Client ID und Client Secret. Die Methode ähnelt dem Benutzer-Login mit Benutzername und Passwort, es wird aber keine Session initialisiert und das Access Token ist auch nicht an einen oder eine Benutzer:in gebunden.

Note

Achtung: Da diese Access Token mit System-Rechten ausgestattet und dementsprechend sehr mächtig sind, sollten sie niemals das Backend verlassen oder über unsicheren Wege verschickt werden.

Methode:

Code Block
[GET]  /token

Parameter:

  • grant_type Muss immer den Wert client_credentials haben

  • client_id Die Client / Public ID

  • client_secret Das Secret (Passwort)

Rückgabewert:

  • Eine AccessToken Datenstruktur (siehe oben).

Note

Es wird bei jedem GET Request ein neues Token erstellt, auch wenn das zuvor angeforderte noch gültig ist. Um unnötige Requests zu vermeiden, sollten einmal angeforderte Token trotzdem so lange verwendet werden, wie sie gültig sind.

4. Verwenden der API

Basis URL

Code Block
https://domain.tld/api/v2

Alle API-Requests müssen über HTTPS ausgeführt werden. Requests über HTTP werden fehlschlagen. API-Requests ohne Autorisierung werden ebenfalls fehlschlagen.

Weiterführende Hinweise und ergänzende Funktionen finden Sie auch auf den Seiten der Knowledge Base:

...

Expand
titleKann beim Update eines Image mit "PUT" tatsächlich keine "url" angegeben werden?

Bilder (Image Objekte) werden im PORTAL beim Erstellen fest mit einer Bilddatei verknüpft, es ist nicht möglich, das Objekt beizubehalten und die Datei auszutauschen. Dementsprechend sind Bild-Updates im Sinne einer aktualisierten Bilddatei nur möglich, indem das Bild gelöscht (DELETE) und das neue Bild importiert (POST) wird.

...

Filter by label (Content by label)
showLabelsfalse
maxCheckboxfalse
showSpacefalse
reversefalse
cqllabel = "api" and space = "PPSD"PUPKB"

Include Page
Disclaimer der PEIQ PORTAL - Produktdokumentation
Disclaimer der PEIQ PORTAL - Produktdokumentation

Nur für PEIQ-Mitarbeiter:innen
https://peiq.atlassian.net/wiki/x/e4ClAg