TYRIOS Bestell-API

Beschreibung:

TYRIOS macht es möglich, Bestellungen direkt über die API zu verwalten. Hier sind allgemeine Regeln für die Nutzung der Bestell-API:

  • TYRIOS hängt von verschiedenen Modulkonfigurationen ab. Es hängt von deiner Konfiguration ab, ob ein Endpunkt verfügbar ist.
  • Es hängt von deinen Rechten ab, ob du einen bestimmten Endpunkt aufrufen kannst.
  • TYRIOS ist ein aspektorientiertes System. Es hängt von der konkreten Konfiguration ab, welche Felder verfügbar sind und Prozesse. In diesem Dokument werden wir die typische Struktur besprechen.

Authentifizierung

Die API-Endpunkte von TYRIOS sind nur für autorisierte Nutzer verfügbar. Daher muss der Benutzer authentifiziert werden. Es gibt zwei verschiedene Arten der Authentifizierung:

  • Authentifizierung durch BASIC-Authentifizierung. Das Benutzerkonto muss über ein aktiviertes REST API-Token verfügen. Du musst einen entsprechenden BASIC-Authentifizierungs-Header senden.
  • Authentifizierung durch die Registrierung einer mobilen App. Du musst ein entsprechendes App-Registrierungs-Token senden.

Datenstruktur

TYRIOS stellt die zugrunde liegende Datenstruktur direkt über die REST API zur Verfügung.

  • OrderData: speichert die Bestellung selbst (Datentyp OrderData)
  • UserData: speichert die Benutzerinformationen - möglicherweise verknüpft mit Kundeninformationen (Datentyp UserData)
  • BillingAddress und ShippingAddress: speichert Adressen (Datentyp UserAddressData)
  • OrderDetailData: speichert verschiedene Bestellpositionen (Datentyp OrderDetailData)
  • OrderDetailDataSubPosition: speichert Unterpositionen (Datentyp OrderDetailDataSubPosition)
  • ProductData: speichert Produktinformationen, die normalerweise mit dem PIM-System verknüpft sind (Datentyp ProductData)

API-Endpunkte

Bestellungen abrufen

Um alle verfügbaren Bestellungen abzurufen, musst du eine GET-Anfrage an die folgende URL stellen:

https://[tyrios-instance.de]/service/OrderManagement/OrderData/

Der Dienst liefert ein paginiertes Ergebnis. Du kannst die Paginierung mit den Parametern offset und length steuern. Darüber hinaus unterstützt der Dienst das Sortieren und Filtern. Als Filter wird eine JSON-Struktur benötigt. Es werden alle Bestellfelder unterstützt.

Die Sortierung unterstützt die Sortierung für mehrere Felder und muss als JSON struct bereitgestellt werden.

Bestimmte Bestelldaten abrufen

Um eine bestimmte Bestellung abzurufen, musst du eine GET-Anfrage an die folgende URL stellen.

https://[tyrios-instance.de]/service/OrderManagement/OrderData/[orderID]

Bitte beachte, dass die konkrete Datenstruktur von deiner Installation abhängt.

Bestellung speichern/erstellen

Um eine Bestellung zu erstellen oder zu speichern, musst du eine POST-Anfrage an folgende URL stellen.

https://[tyrios-instance.de]/service/OrderManagement/OrderData/

Du kannst eine leere Bestellung erstellen, indem du ein leeres JSON-Objekt übergibst. Auf diese Weise erstellt das System automatisch eine Bestell-ID, für die du in einem iterativen Prozess Bestelldetails hinzufügen/aktualisieren kannst.

Du kannst dem Auftrag auch direkt Daten zuweisen - einschließlich der Erstellung des kompletten Auftragsdatenobjekts. Diese Daten müssen als Payload für die POST-Anfrage bereitgestellt werden.

{ UserData: null, // UserData Objekt oder userID 
BillingAddress: null, //UserAddressData Objekt oder addressID 
ShippingAddress: null, // UserAddressData Objekt oder addressID ... }

Bitte sieh dir die detaillierte OrderData-Datenstruktur an, um die möglichen Felder zu sehen.

Hinweis

Die API ist abhängig von deinen spezifischen Benutzerrechten. Das gilt nicht nur für die API-Endpunkte selbst, sondern auch für die zugrunde liegenden Funktionen. Wenn du nicht das Recht hast, einen Bestellungsstatus zu ändern, wird der Bestellungsstatus zum Beispiel nicht mit diesem API-Aufruf verarbeitet. Deine angegebenen Felddaten werden in diesem Fall ignoriert.

Hinzufügen / Aktualisieren von Bestellungsdaten

wenn du einer Bestellung Detaildaten hinzufügen möchtest, musst du eine POST-Anfrage an folgende URL stellen:

https://[tyrios-instance.de]/service/OrderManagement/OrderData/[orderID]/OrderDetailData

Wenn du ein Produkt zuordnen möchtest, musst du in der Payload ein ProductData-Objekt oder die entsprechende Produkt-ID angeben. TYRIOS lädt dann automatisch die entsprechenden ProductData aus dem pim-System und erstellt die entsprechenden OrderDetailData. Du kannst diese Daten aber auch überschreiben. Die Nutzdaten sehen dann wie folgt aus:

{
  "ProductData": null, // ProductData Objekt / productID
  "amount": 23, // erforderlich, wird automatisch auf 1 gesetzt, wenn ProductData angegeben wird
  "title": "title", // erforderlich, wird automatisch gesetzt, wenn ProductData angegeben wird
  "materialNumber": "materialNumber", // wird automatisch gesetzt, wenn ProductData angegeben wird
  "price": 14.33, // erforderlich, wird automatisch gesetzt, wenn ProductData angegeben wird
  "tax": 19, // erforderlich, wird automatisch gesetzt, wenn ProductData angegeben wird
  "description": null // optional, wird automatisch gesetzt, wenn ProductData angegeben wird
}

Bitte beachte, dass die konkrete Datenstruktur von deiner Installation abhängt. Wenn OrderDetailData->id null ist, wird ProductData automatisch in OrderDetailData umgewandelt. Nur die Daten, die angegeben sind, werden überschrieben.

Bestelldetaildaten löschen

Um eine OrderDetailData zu löschen, musst du eine DELETE-Anfrage an die URL senden:

https://[tyrios-instance.de]/service/OrderManagement/OrderData/[orderID]/OrderDetailData/["OrderDetailDataID"]

Freigabe einer OrderData

Standardmäßig wird eine OrderData mit dem Primärstatus "Entwurf" erstellt. Eine Bestellung im Entwurfsstatus kann vom Nutzer geändert werden und ist noch nicht freigegeben. Normalerweise hat ein Nutzer das Recht, eine OrderData in einem Online-Shop freizugeben. Dies ist auch über die API möglich. Dazu muss eine POST-Anfrage an diesen Endpunkt gesendet werden:

https://[tyrios-instance.de]/service/OrderManagement/OrderData/[orderID]/release

Es ist keine Nutzlast erforderlich.

Die API ist nur verfügbar, ...

  • wenn der aktuell eingeloggte Benutzer der Benutzer der OrderData selbst ist oder
  • wenn dein autorisierter Benutzer das Recht hat, den Bestellstatus zu ändern oder
  • wenn das Cookie OrderCode verfügbar ist und es mit dem Feld cookieID der OrderData identisch ist
  • wenn ein HTTP-Header OrderCode verfügbar ist und dieser mit dem Feld cookieID der OrderData identisch ist

Vorgehen:

Tips und Tricks:

Abonnieren Sie unseren Newsletter

Bleiben Sie stets informiert. Wir informieren Sie gerne über Produktneuheiten und Angebote.