Allgemeines

Mit den hier beschriebenen REST-Schnittstellen können Sie Ihre Inhalte ohne manuelle Bedienschritte im OXOMI Backend in OXOMI importieren, aktualisieren und löschen.

Auf diese Weise können Sie Ihre Inhalte mithilfe entsprechender POST- und GET-Anfragen immer auf dem aktuellsten Stand halten.

In den folgenden Abschnitten finden Sie ausführliche technische Informationen, welche Schnittstellen hierfür existieren und auf welche Weise diese auf Ihrer Seite eingerichtet und genutzt werden können.

Verfügbare Schnittstellen
OXOMI stellt zur Verwaltung von Inhalten folgende Schnittstellen bereit:
Übergabe von Dateien im Body
Um Dateien an die Schnittstellen zu übermitteln, senden Sie diese im Body der POST-Anfrage. Dies ist nur für Anfragen erforderlich, bei denen ein Inhalt neu angelegt oder neu verarbeitet werden soll. Die reine Aktualisierung von Metadaten kann mit den entsprechenden Parametern vorgenommen werden. Dazu wird kein Body benötigt.
Authentifizierung

Der Token für den Zugriff auf die Schnittstellen ist folgendermaßen zu berechnen:

token = md5(apiToken + timeStamp)

Auf den Profilen der Anwender finden Sie unter API-Code den aktuellen API-Token des Nutzers.

Der timeStamp ist ein UNIX-Timestamp auf ganze Tage gerundet. Der Timestamp in Sekunden wird ganzzahlig durch 86400 (Anzahl der Sekunden pro Tag) dividiert. Das Umrechnen auf ganze Tage sorgt dafür, dass eine Anfrage effektiv einen Tag gültig bleibt.

Die entsprechende Berechnung würde in Java-Code folgendermaßen aussehen System.currentTimeMillis() / 1000 / 86400 - Beachten Sie, dass dies eine ganzzahlige Division ist, das Ergebnis entspricht also dem abgerundeten Wert Division mit Dezimalzahlen.

Der berechnete Wert für eine ab heute beginnende eintägige Gültigkeit ist 19507.

Der MD5-Hash ist von dem String "apiToken + timeStamp" im UTF-8 Encoding zu berechnen.

Beispiel mit Java und der "Hashing"-Klasse aus der Bibliothek Google Guava:

String hash = Hashing.md5()
                     .newHasher()
                     .putString(apiToken, StandardCharsets.UTF_8)
                     .putString(Long.toString(TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis())), StandardCharsets.UTF_8)
                     .hash()
                     .toString();
See also
Die folgende Tabelle beschreibt die Antwortcodes, die standardmäßig von Schnittstellen zurückgegeben werden.