TB.One > Auftragsdaten und Auftragsabwicklung > Auftragsbearbeitung via XML > Änderung des Auftragsstatus nach der Abholung über REST-Call

Änderung des Auftragsstatus nach der Abholung über REST-Call

Die REST-Schnittstelle wird über eine URI aufgerufen, die den Nutzer identifiziert und die gewünschte Aktion angibt:

https://rest.core.tradebyte.com/HNR/TARGET/[TARGET_ID][/ACTION]?[CHANNEL=CHID]

OHNE PRÜFUNG SCHWEBENDER AUFTRÄGE

Methode

POST

Setzt ...

Ziel/Ressource

orders

... den Auftrag ...

CHANNEL

ORDER_ID

... mit der angegebenen Order-ID ...

Parameter

exported

... auf "exportiert"

Beispiel

https://rest.core.tradebyte.com/HNR/orders/ORDER_ID/exported?

Rückmeldung

200 OK

MIT PRÜFUNG SCHWEBENDER AUFTRÄGE

TIPP:
Wenn du mit schwebenden Aufträgen arbeitest, kann es unter Umständen passieren, dass sich die Meldung des erfolgreichen Exports mit der Freigabe des Auftrags durch den Kanal überschneidet. Dadurch würde das Kennzeichen dem freigegebenen Auftrag zugeordnet und nicht – wie es korrekt wäre – dem schwebenden Auftrag. Der freigegebene Auftrag würde dann nicht mehr an dein System weitergegeben, weil er fälschlicherweise bereits den "exportiert"-Status hat.

Um dies zu vermeiden, kannst du im REST-Befehl dem Exportkennzeichen gleichzeitig einen Parameter zum Statusabgleich des Auftrags mitgeben. Dieser prüft dann den erwarteten Auftragsstatus gegen den tatsächlichen Status in TB.One und setzt das Exportkennzeichen nur, wenn beide Status identisch sind.

 

Methode

POST

Setzt ...

Ziel/Ressource

orders

... den Auftrag ...

CHANNEL

ORDER_ID

... mit der angegebenen Order-ID ...

Parameter

exported

pending=0

pending=1

auf "exportiert"

und "bestätigt"

oder "schwebend"

Beispiel

https://rest.core.tradebyte.com/HNR/orders/ORDER_ID/exported?pending=0

Rückmeldung

200 OK

Falls Abweichungen festgestellt werden, wird folgende Nachricht angezeigt:
"412 Precondition Failed: Order does not have expected pending state."

Dies bedeutet, dass die Informationen in deinem System veraltet sind. In diesem Fall solltest du die Auftragsdaten erneut abrufen.


Weiterführende Informationen:

•Auftragsbearbeitung via REST - Übersicht und Statuscodes