Client
class Client extends Client
Client
Constants
ENDPOINT |
|
Methods
Request-Header
laden der verfügbaren Bestellungen
Statusänderung nach erfolgreicher Abholung
Liefer-, Storno- oder Retourenmeldungen senden.
Details
at line 61
protected RequestHeader
createRequestHeader(RequestHeader $header = null)
Request-Header
Erstellt einen Request-Header. Diese Methode kann überschrieben werden, um den Request-Header zu manipulieren.
protected function createRequestHeader() {
$header = parent::createRequestHeader();
// Header erweitern
return $header;
}
at line 74
OrderList
getOrderList(string $merchantNumber, string|null $channelID = null)
laden der verfügbaren Bestellungen
at line 119
Response
setOrderExported(string $merchantNumber, int $orderID, int|null $pending = null)
Statusänderung nach erfolgreicher Abholung
Wird TB.One nur dazu genutzt, Aufträge zwischen Kanal und Händlersystem weiterzuleiten, muss nach dem Abruf ein Kennzeichen gesendet werden, dass der Auftrag abgeholt wurde.
Wenn Sie auch schwebende Aufträge durchreichen, kann es unter Umständen passieren, dass sich die Meldung des erfolgreichen Exports an das Händlersystem mit der Freigabe des Auftrags durch den Kanal überschneidet. Dadurch würde das Kennzeichen dem freigegebenen Auftrag zugeordnet und nicht – wie korrekt wäre – dem schwebenden Auftrag. Der freigegebene Auftrag würde dann nicht mehr an Ihr System weitergegeben, weil er ja fälschlicherweise bereits den "exportiert"-Status hat.
Um dies zu vermeiden, kann im REST-Befehl dem Exportkennzeichen gleichzeitig ein Parameter zum Statusabgleich des Auftrags mitgegeben werden. Dieser prüft dann den erwarteten Auftragsstatus gegen den tatsächlichen Status in TB.One und setzt das Exportkennzeichen nur, beide Status identisch sind.
pending=0 wenn der Auftrag in TB.One den Status "freigegeben" hat. pending=1 wenn der Auftrag in TB.One den Status "schwebend" hat.
Mögliche Fehler
412 Precondition Failed: Order does not have expected pending state. Der schwebend-Zustand des Auftrags im Händlersystem entspricht nicht dem Auftragszustand in TB.One. Fragen Sie die Daten für den Auftrag erneut ab (siehe Kap.4.2.3).
at line 141
Response
sendMessages(MessagesList $messagesList, string $merchantNumber)
Liefer-, Storno- oder Retourenmeldungen senden.
Zusätzlich zu den jeweiligen Inhalten müssen Sie den zurückgemeldeten http-Statuscode (Header) berücksichtigen:
• 200 (alle Codes beginnend mit 2xx): Aufruf/Verarbeitung erfolgreich. • 400 (alle Codes beginnend mit 4xx): Aufruf nicht erfolgreich bzw. Anfrage fehlerhaft. • 500 (alle Codes beginnend mit 5xx): Verarbeitung fehlerhaft
Die Statuscodes betreffen ausschließlich die Verbindung der Systeme via REST und treffen keine Aussage über die Korrektheit der gelieferten Inhalte! Es kann also durchaus sein, dass Sie den Response Header "200 ok" erhalten, aber dennoch keine Änderungen durchgeführt werden.
at line 161
type
sendStock(Stock $stock, string $merchantNumber)
Lagerbestände Melden
Über die REST-API von TB.One können Bestandsdaten direkt und ohne Verzögerung in den Account importiert wer- den. Die Abhängigkeit zum Zeitplan der Importjobs kann so umgangen werden. Diese Methode eignet sich dann, wenn auch während des Verarbeitens von großen Produktdaten-Katalogen die Bestände bereits bekannter Artikel aktuell gehalten werden sollen. Dies funktioniert allerdings nur unter der Voraussetzung, dass die Bestände ausschließlich mit dieser Methode verändert werden. Da die Datei sofort verarbeitet wird, hängt die Antwortzeit des REST-Calls direkt mit der Größe der Datei zusammen. Außerdem eignet sich diese Methode nicht für Dateien, die größer als 10 MB sind.