TB.One > Auftragsdaten und Auftragsabwicklung > Auftragsbearbeitung via XML > XML-Struktur: TB.Order > XML-Feldbeschreibungen: Auftragsmeldungen

XML-Feldbeschreibungen: Auftragsmeldungen

Du musst die unten beschriebenen Meldungsdateien erzeugen und an TB.One übertragen, um Kanäle über den aktuellen Bearbeitungsstand von Aufträgen zu informieren.

ACHTUNG:
Einige der unten aufgeführten Felder sind verpflichtend. In der grafischen Darstellung geben durchgezogene Linien Pflichtknoten an, während gestrichelte Linien für optionale Knoten stehen. Die Information, ob ein Knoten verpflichtend/optional ist, gilt immer nur im Kontext des entsprechenden Elternknotens, nicht im Kontext der Gesamt-XML.

Beispiel (Bezug nehmend auf die grafische Darstellung unten):

Unter "MESSAGES_LIST / MESSAGE" wird der Knoten "IDCODE" mit durchgezogenem Rahmen dargestellt. Dies bedeutet, dass die zugehörige Information verpflichtend ist. Allerdings ist der Elternknoten von "IDCODE" ("MESSAGE") mit gestricheltem Rahmen dargestellt, d.h. er ist optional. Zusammen bedeutet dies, dass "IDCODE" eine Pflichtinformation darstellt, falls der Elternknoten "MESSAGE" geliefert wird.

 

ACHTUNG:
TB.One addiert die gemeldeten Mengen (SHIP, DIFF, RETURN_QUANTITY). Du musst deshalb eine neue Meldung mit der entsprechenden Mengenangabe für jede Teillieferung absetzen, statt erneut den gesamten Lieferstatus zu melden.

Beispiel:
Bestellmenge (POS_QUANTITY) = 10; geliefert in zwei Paketen mit je fünf Einheiten. In diesem Fall sind zwei Meldungen vom MESSAGE_TYPE "SHIP" mit QUANTITY = 5 nötig.

 

MESSAGES_LIST / MESSAGE

7c_ch.5.2_messageslist

KNOTEN

PFLICHT

DATENTYP

BESCHREIBUNG

MESSAGES_LIST

Ja

XML

Root-Knoten

MESSAGE

Ja

XML (typeMessage)

Nachricht

MESSAGE_TYPE

Ja

ENUM

Nachrichtentyp (die möglichen Werte sind unten aufgelistet)

TB_ORDER_ID

Ja

INT

Order-ID; eindeutige, von TB.One zugewiesene Nummer aus der Auftragsdatei.

TB_ORDER_ITEM_ID

Nein

INT

Eindeutige Nummer, die TB.One jeder Auftragsposition zuordnet.
Für positionsbezogene Meldungen verpflichtend!
Ausnahme: Versand- und Zahlkostenabzug

SKU

Nein

CHAR(50)

Artikelnummer aus TB.One

CHANNEL_SIGN

Nein

CHAR(12)

Kanalkennzeichen (in der Regel 4-stellig)

CHANNEL_ORDER_ID

Nein

CHAR(50)

Die Auftragsnummer des Kanals (falls verfügbar)

CHANNEL_ORDER_ITEM_ID

Nein

CHAR(50)

Die Positionsnummer des Kanals (falls verfügbar)

CHANNEL_SKU

Nein

CHAR(50)

Die Artikelnummer des Kanals (falls verfügbar)

QUANTITY

Ja

INT

Meldungsmenge für den zugehörigen Nachrichtentyp

CARRIER_PARCEL_TYPE

Nein

CHAR(50)

Import-Key eines der Pakettypen, die unter "Basisdaten > Versand > Pakettypen" angelegt wurden.

IDCODE

(Ja)

CHAR(50)

Shipcode zur Paketverfolgung
Hier kannst du angeben, ob eine Auftragsposition in mehreren Paketen versendet werden soll (Multiparcel-Versand).

IDCODE_RETURN_PROPOSAL

Nein

CHAR(50)

Voraussichtlicher Shipcode des Retourenpakets, z.B. wenn dem Paket ein Retourenlabel beigelegt wird.

Nur für Versandmeldungen. Bei Retourenmeldungen wird der Code im Knoten "IDCODE" übertragen.

DEDUCTION

Nein

FLOAT

Preisminderung bei Retouren (dieser Wert wird vom Preis abgezogen, um den gutzuschreibenden Betrag zu ermitteln).

COMMENT

Nein

TEXT

Kommentar

RETURN_CAUSE

Nein

CHAR(50)

Retourengrund (für Retourenmeldungen)

RETURN_STATE

Nein

CHAR(50)

Retourenzustand (für Retourenmeldungen)

SERVICE

Nein

XML

Entspricht dem Servicetyp des Auftrags.

EST_SHIP_DATE

Nein

DATE

Voraussichtliches Lieferdatum (bei Auftragsbestätigungen)

PROCESSED

Nein

INT(0/1)

Kennzeichen "verarbeitet"; gibt an, dass die Meldung von TB.One an den Kanal übertragen wurde (nur Export).

EXPORTED

Nein

INT(0/1)

Kennzeichen "exportiert"; gibt an, dass die Meldung an den Händler übertragen wurde (nur Export).

DATE_CREATED

Nein

DATETIME

Zeitstempel der Nachrichtenerstellung in TB.One (nur Export).

MESSAGE_CHANNEL_DATA

Nein

XML (typeChannelData)

Elternknoten von "CHANNEL_DATA". Die Unterknoten sind flexibel verwendbar, um verschiedene zusätzliche Daten an den Kanal zu übertragen.

CHANNEL_DATA[key]

Nein

CHAR(50)

Diese Knoten sind je nach Kanal flexibel verwendbar um zusätzliche Daten zu übertragen. Stelle sicher, dass du den richtigen Schlüssel (key) angibst, damit der Kanal die Informationen identifizieren kann.

 

MESSAGE / MESSAGE_TYPE

Die folgenden Nachrichtentypen sind möglich:

SCHLÜSSEL

BESCHREIBUNG

ORDER_ACKNOWLEDGE

Auftragsbestätigung

SHIP

Versandmeldung

NO_INVENTORY

Stornomeldung wegen fehlendem Lagerbestand

CUST_CANCEL

Stornomeldung auf Kundenwunsch

RETURN

Retourenmeldung

DEDUCT_SHIPPING_COSTS

Versandkostenabzug

DEDUCT_SERVICE_PRICE

Servicekostenabzug

DEDUCT_PAYMENT_COSTS

Zahlkostenabzug

PAYMENT_STATE_OPEN

Zahlstatus: Auftrag offen (noch nicht bezahlt)

PAYMENT_STATE_PAID

Zahlstatus: Auftrag bezahlt/Zahlung erhalten

PAYMENT_STATE_SHORTFALL

Zahlstatus: Zahlungsausfall

REFUND

Erstattung (nicht veranlasst durch eine Retoure)

 

BEISPIEL: LISTE VON MELDUNGEN AN TB.ONE

<?xml version="1.0" encoding="utf-8"?>


<MESSAGES_LIST>        

<!-- Beginn der Meldungsliste -->

<MESSAGE>

<!-- Beginn der 1. Meldung -->

<MESSAGE_TYPE>ORDER_ACKNOWLEDGE</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>2</TB_ORDER_ID

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>1</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4711</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge -->

<COMMENT>Auftragsbestätigung</COMMENT>

<!-- Kommentar -->

<EST_SHIP_DATE>2013-04-10</EST_SHIP_DATE>

<!-- Geschätztes Lieferdatum -->

</MESSAGE>

<!-- Ende der 1. Meldung -->

<!--Für jede Bestellposition muss eine neue Liefermeldung mit der entsprechenden TB_ORDER_ITEM_ID übertragen werden-->

</MESSAGE>

<!-- Beginn der 2. Meldung -->

<MESSAGE_TYPE>SHIP</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>3</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>1</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4711</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Gelieferte Menge -->

<CARRIER_PARCEL_TYPE>DHL_STD_NATIONAL</CARRIER_PARCEL_TYPE>

<!-- Pakettyp -->

<IDCODE>123456789</IDCODE>

<!-- Shipcode zur Paketverfolgung -->

<IDCODE_RETURN_PROPOSAL>987654321</IDCODE_RETURN_PROPOSAL>

<!-- Voraussichtlicher Shipcode des Retourenlabels. Wenn das Retourenlabel der Lieferung beigelegt wird, ist diese Nummer reserviert. -->

</MESSAGE>

<!-- Ende der 2. Meldung -->

<MESSAGE>

<!-- Beginn der 3. Meldung -->

<MESSAGE_TYPE>NO_INVENTORY</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>4</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>1</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4711</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Stornierte Menge (Lagerstorno) -->

<COMMENT>Nachlieferung in 14 Tagen</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 3. Meldung -->

<MESSAGE>

<!-- Beginn der 4. Meldung -->

<MESSAGE_TYPE>CUST_CANCEL</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>5</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>1</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4711</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Stornierte Menge (Kundenstorno) -->

<COMMENT>Kundenstorno</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 4. Meldung -->

<MESSAGE>

<!-- Beginn der 5. Meldung -->

<MESSAGE_TYPE>RETURN</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>6</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>1</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4711</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Retourenmenge -->

<CARRIER_PARCEL_TYPE>DHL_STD_NATIONAL</CARRIER_PARCEL_TYPE>

<!-- Pakettyp -->

<IDCODE>123459876</IDCODE>

<!-- Retourencode -->

<RETURN_CAUSE>zu groß</RETURN_CAUSE>

<!-- Retourengrund -->

<RETURN_STATE>ohne Mängel</RETURN_STATE>

<!-- Retourenzustand -->

</MESSAGE>

<!-- Ende der 5. Meldung -->

<MESSAGE>

<!-- Beginn der 6. Meldung -->

<MESSAGE_TYPE>RETURN</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>6</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<TB_ORDER_ITEM_ID>2</TB_ORDER_ITEM_ID>

<!-- Eindeutige Positionsnummer innerhalb des Auftrags -->

<SKU>4712</SKU>

<!-- SKU/Artikelnummer der Position -->

<QUANTITY>1</QUANTITY>

<!-- Retourenmenge -->

<CARRIER_PARCEL_TYPE>DHL_STD_NATIONAL</CARRIER_PARCEL_TYPE>

<!-- Pakettyp -->

<IDCODE>123459876</IDCODE>

<!-- Retourencode -->

<RETURN_CAUSE>zu groß</RETURN_CAUSE>

<!-- Retourengrund -->

<RETURN_STATE>ohne Mängel</RETURN_STATE>

<!-- Retourenzustand -->

</MESSAGE>

<!-- Ende der 6. Meldung -->

<MESSAGE>

<!-- Beginn der 7. Meldung -->

<MESSAGE_TYPE>DEDUCT_SHIPPING_COSTS</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>7</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge (immer 1 für DEDUCT_SHIPPING_COSTS) -->

<DEDUCTION>3.95</DEDUCTION>

<!-- Preisnachlass auf Versandkosten (nur falls für den Auftrag Versandkosten berechnet wurden) -->

<COMMENT>Preisnachlass Versandkosten</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 7. Meldung -->

<MESSAGE>

<!-- Beginn der 8. Meldung -->

<MESSAGE_TYPE>DEDUCT_SERVICE_PRICE</MESSAGE_TYPE>        

<!-- Meldungstyp -->

<TB_ORDER_ID>7</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge -->

<DEDUCTION>3.95</DEDUCTION>

<!-- Preisnachlass auf Servicekosten -->

<COMMENT>Preisnachlass Servicekosten</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 8. Meldung -->

<MESSAGE>

<!-- Beginn der 9. Meldung -->

<MESSAGE_TYPE>DEDUCT_PAYMENT_COSTS</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>7</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge -->

<DEDUCTION>3.95</DEDUCTION>

<!-- Nachlass auf Zahlkosten -->

<COMMENT>Preisnachlass Zahlkosten</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 9. Meldung -->

<MESSAGE>

<!-- Beginn der 10. Meldung -->

<MESSAGE_TYPE>PAYMENT_STATE_PAID</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>8</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge (immer 1 für PAYMENT_STATE_PAID) -->

<COMMENT>Zahlstatus ist "bezahlt"</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 10. Meldung -->

<MESSAGE>

<!-- Beginn der 11. Meldung -->

<MESSAGE_TYPE>PAYMENT_STATE_SHORTFALL</MESSAGE_TYPE>

<!-- Meldungstyp -->

<TB_ORDER_ID>7</TB_ORDER_ID>

<!-- Eindeutige TB.One-Auftragsnummer -->

<QUANTITY>1</QUANTITY>

<!-- Meldemenge (immer 1 für PAYMENT_STATE_SHORTFALL) -->

<COMMENT>Zahlstatus ist "Zahlungsausfall"</COMMENT>

<!-- Kommentar -->

</MESSAGE>

<!-- Ende der 12. Meldung -->

</MESSAGES_LIST>

<!-- Ende der Meldungsliste -->


Weiterführende Informationen:

•Auftragsbearbeitung via XML - Übersicht

•Multiparcel-Versand in Liefermeldunden