65
Anbindungsleitfaden Warenpost International für Selbstprogrammierer (ReST-API) Version 1.0/Stand 3.3.2020

Deutsche Post Warenpost International Anbindungsleitfaden · Warenpost International Seite 2 von 65 Anbindungsleitfaden 2 Information und Identifikation 0.1 Änderungshistorie Version

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

  • Anbindungsleitfaden

    Warenpost International für Selbstprogrammierer (ReST-API)

    Version 1.0/Stand 3.3.2020

  • Warenpost International Seite 2 von 65

    Anbindungsleitfaden

    2

    Information und Identifikation

    0.1 Änderungshistorie

    Version Datum Bearbeitungsart Bearbeiter

    1.0 3.3.2020 Erstellung Jan Henrik Walter, Georg Herrmann, Michael Steets

    1.01 18.3.2020 Kleinere Korrekturen Michael Steets

    1.03 5.6.2020 Feldänderungen für gepl. Release Mitte Juni 2020 (addressLine1-3, senderPostalCode, contentPieceValue, jobReference)

    Michael Steets

  • Warenpost International Seite 3 von 65

    Anbindungsleitfaden

    3

    Inhaltsverzeichnis

    Information und Identifikation ...................................................................................................... 2

    0.1 Änderungshistorie ............................................................................................................................ 2

    1 Einleitung ................................................................................................................................. 7

    1.1 Was ist Warenpost International? ................................................................................................ 7

    1.2 Wofür ist dieser Leitfaden? ............................................................................................................ 7

    1.3 Welche Möglichkeiten gibt es sonst noch, Warenpost International zu nutzen? ............. 8

    1.4 Wofür ist dieser Leitfaden nicht? .................................................................................................. 9

    2 Grundlegende Funktionsprinzipien von Warenpost International .................................. 10

    2.1 Funktionalitäten .............................................................................................................................. 10

    2.2 Zugang zu den Systemen ............................................................................................................. 10

    2.3 Umgebungen ................................................................................................................................... 10

    2.3.1 Sandbox – Ihre Spielwiese ................................................................................................... 10

    2.3.2 Livesystem ............................................................................................................................... 10

    2.4 Einschränkungen der API Warenpost International .............................................................. 10

    3 Aufschaltprozess................................................................................................................... 11

    3.1 Dokumentation ............................................................................................................................... 11

    3.2 Account zu Testsystem und Testportokasse erhalten .......................................................... 11

    3.3 Testing ............................................................................................................................................... 12

    3.4 Umstellung der Software auf die Liveumgebung .................................................................. 12

    4 Workflows der Auftragserstellung (“Logiken”) ................................................................ 14

    4.1 Gemeinsamkeiten der Logiken: .................................................................................................. 14

    4.2 Unterschiede der Logiken ............................................................................................................ 14

    4.3 Logik 1: „Create Order Finalized“ ............................................................................................... 15

    4.4 Logik 2: „Create Order Open“ ...................................................................................................... 15

    5 Prozesse der Auftragslogik - Basics .................................................................................... 16

    5.1 Authentizierung .............................................................................................................................. 16

    5.2 Testumgebung (Sandbox) ........................................................................................................... 16

    5.3 Livesystem ....................................................................................................................................... 16

    6 Detailprozesse der Auftragslogik - Ordererzeugung ........................................................ 17

    6.1 Prozess/Logik Create Order Finalized ....................................................................................... 17

    6.1.1 Request „Get Access Token“ ............................................................................................... 17

    6.1.2 Beispiel: .................................................................................................................................... 17

    6.1.3 Request „Create Order“ ........................................................................................................ 18

    6.1.4 Request „Get Item Labels” ................................................................................................... 19

    6.2 Beschreibung der Logik: Create Order Open ........................................................................... 20

    6.2.1 Request „Get Access Token” ............................................................................................... 20

  • Warenpost International Seite 4 von 65

    Anbindungsleitfaden

    4

    6.2.2 Request „Create Order” ........................................................................................................ 20

    6.2.3 Request „Add Items to an Order” ....................................................................................... 20

    6.2.4 Request „Get Item Label“ ..................................................................................................... 20

    6.2.5 Request „Finalize Order“ ...................................................................................................... 21

    6.3 Weitere verfügbare Requests ...................................................................................................... 21

    6.3.1 Get item .................................................................................................................................... 21

    6.3.2 Get Order.................................................................................................................................. 21

    6.3.3 Get shipments for an order ................................................................................................. 21

    6.3.4 Validate order items .............................................................................................................. 21

    7 Umstieg und Einsatz im Produktivsystem .......................................................................... 21

    7.1 Voraussetzungen ............................................................................................................................ 21

    8 Beispiel-Requests ................................................................................................................. 23

    8.1 Beispiel „Get Access Token“ in JSON und cURL (Sandbox) ................................................. 23

    JSON ........................................................................................................................................................... 24

    cURL............................................................................................................................................................ 24

    URL .............................................................................................................................................................. 24

    Autorisation .............................................................................................................................................. 24

    Header ........................................................................................................................................................ 24

    Body ............................................................................................................................................................ 24

    Request ...................................................................................................................................................... 24

    8.2 Beispiel „Get Access Token“ in JSON und cURL (Livesystem) ............................................ 25

    JSON ........................................................................................................................................................... 25

    cURL............................................................................................................................................................ 25

    URL .............................................................................................................................................................. 25

    Autorisation .............................................................................................................................................. 25

    Header ........................................................................................................................................................ 25

    Body ............................................................................................................................................................ 25

    Request ...................................................................................................................................................... 25

    8.3 Beispiel „Create Order Finalized” in Maximalausprägung (Sandbox) ............................... 26

    JSON ........................................................................................................................................................... 26

    cURL............................................................................................................................................................ 26

    URL .............................................................................................................................................................. 26

    Autorisation .............................................................................................................................................. 26

    Header ........................................................................................................................................................ 26

    Body ............................................................................................................................................................ 26

    Request ...................................................................................................................................................... 26

    8.4 Beispiel für „Create Order Finalized” in Minimalausprägung (Sandbox) ......................... 28

    8.4.1 URL ............................................................................................................................................ 28

  • Warenpost International Seite 5 von 65

    Anbindungsleitfaden

    5

    8.4.2 Autorisation ............................................................................................................................. 28

    8.4.3 Header ...................................................................................................................................... 28

    8.4.4 Body .......................................................................................................................................... 28

    8.4.5 Response .................................................................................................................................. 29

    8.5 Beispiel für „Get Item Labels” ...................................................................................................... 30

    8.5.1 URL ............................................................................................................................................ 30

    8.5.2 Autorisation ............................................................................................................................. 30

    8.5.3 Header ...................................................................................................................................... 30

    8.5.4 Body .......................................................................................................................................... 30

    8.5.5 Response .................................................................................................................................. 30

    8.6 Beispiel für „Create Order Open” ................................................................................................ 31

    8.6.1 URL ............................................................................................................................................ 31

    8.6.2 Autorisation ............................................................................................................................. 31

    8.6.3 Header ...................................................................................................................................... 31

    8.6.4 Body .......................................................................................................................................... 31

    8.6.5 Response .................................................................................................................................. 31

    8.7 Beispiel für „Add Items to an Order” in Minimalausprägung .............................................. 32

    8.7.1 URL ............................................................................................................................................ 32

    8.7.2 Autorisation ............................................................................................................................. 32

    8.7.3 Header ...................................................................................................................................... 32

    8.7.4 Body .......................................................................................................................................... 32

    8.7.5 Response .................................................................................................................................. 32

    8.8 Beispiel für „Add Items to an Order” in Maximalausprägung.............................................. 34

    8.8.1 URL ............................................................................................................................................ 34

    8.8.2 Autorisation ............................................................................................................................. 34

    8.8.3 Header ...................................................................................................................................... 34

    8.8.4 Body .......................................................................................................................................... 34

    8.8.5 Response .................................................................................................................................. 35

    8.9 Beispiel für ”Get Item Label” ........................................................................................................ 37

    8.9.1 URL ............................................................................................................................................ 37

    8.9.2 Autorisation ............................................................................................................................. 37

    8.9.3 Header ...................................................................................................................................... 37

    8.9.4 Body .......................................................................................................................................... 37

    8.9.5 Response .................................................................................................................................. 37

    8.10 Beispiel für einen „Finalize Order” request (Sandbox): .................................................... 38

    8.10.1 URL ............................................................................................................................................ 38

    8.10.2 Autorisation ............................................................................................................................. 38

    8.10.3 Header ...................................................................................................................................... 38

  • Warenpost International Seite 6 von 65

    Anbindungsleitfaden

    6

    8.10.4 Body .......................................................................................................................................... 38

    8.10.5 Response .................................................................................................................................. 38

    8.11 Beispiel für einen „Get item“ request (Sandbox) ............................................................... 41

    8.11.1 URL ............................................................................................................................................ 41

    8.11.2 Autorisation ............................................................................................................................. 41

    8.11.3 Header ...................................................................................................................................... 41

    8.11.4 Body .......................................................................................................................................... 41

    8.11.5 Response .................................................................................................................................. 41

    8.12 Beispiel für einen „Get Order“ Request (Sandbox) ............................................................ 43

    8.12.1 URL ............................................................................................................................................ 43

    8.12.2 Autorisation ............................................................................................................................. 43

    8.12.3 Header ...................................................................................................................................... 43

    8.12.4 Body .......................................................................................................................................... 43

    8.12.5 Response .................................................................................................................................. 43

    8.13 Beispiel für einen „Get shipments for an order“ Request ................................................ 46

    8.13.1 URL ............................................................................................................................................ 46

    8.13.2 Autorisation ............................................................................................................................. 46

    8.13.3 Header ...................................................................................................................................... 46

    8.13.4 Body .......................................................................................................................................... 46

    8.13.5 Response .................................................................................................................................. 46

    8.14 Beispiel für einen „validate order item“ Request ............................................................... 48

    8.14.1 URL ............................................................................................................................................ 48

    8.14.2 Autorisation ............................................................................................................................. 48

    8.14.3 Header ...................................................................................................................................... 48

    8.14.4 Body .......................................................................................................................................... 48

    8.14.5 Response .................................................................................................................................. 50

    9 Detaillierte Feldbeschreibung ............................................................................................. 51

    10 Produktliste Warenpost International ............................................................................ 55

    11 Liste der Länder, in die Warenpost International verschickt werden kann ................. 56

    12 Support und Ansprechpartner ......................................................................................... 65

  • Warenpost International Seite 7 von 65

    Anbindungsleitfaden

    7

    1 Einleitung

    1.1 Was ist Warenpost International?

    Warenpost International ist die Lösung für den Versand kleinteiliger Produkte, Ersatzteile, Warenproben oder Muster.

    verschiedene Varianten und Tarife

    Nutzung ausschließlich online

    Mehrere Zugangskanäle

    Einlieferung der physischen Sendungen wie gewohnt

    Abrechnung über Internetmarke

    Weitere Details finden Sie im offiziellen Produktblatt:

    https://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpostintern

    ational/dp-warenpost-international-produktblatt-012020.pdf

    Informationen zur Nutzung des Kilotarifs finden Sie unter: https://www.deutschepost.de/de/b/briefe-

    ins-ausland/warenpost-international/warenpost-international-kilotarif.html

    Antworten auf weitere grundsätzliche Fragen finden Sie auch unter

    https://www.deutschepost.de/de/b/briefe-ins-ausland/haeufige-fragen.html

    1.2 Wofür ist dieser Leitfaden?

    Auf den nachfolgenden Seiten finden Sie eine erste Anleitung zur Erstellung von Aufträgen für Warenpost International und die Erzeugung der dafür genutzten Sendungsetiketten (Label) über die ReST-basierte Deutsche Post International Shipping-API (aka PacketPlus-API).

    Die API unterstützt Sie dabei besonders in folgenden Aspekten:

    Erfassung von Zollinhaltsdaten o Bei Sendungen in Nicht-EU-Länder ist neben Absender und Empfänger auch die Angabe des

    Sendungsinhalts zwingend erforderlich. Diese Daten werden digital an die Zollbehörden des jeweiligen Ziellandes übermittelt.

    Nutzung international standardisierter Etiketten

    o Die Nutzung von Warenpost International setzt im Wesentlichen die Nutzung des „Harmonized

    Labels“, einem standardisierten Labelformat für den internationalen Warenversand, voraus.

    (vgl.

    https://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpos

    tinternational/dp-warenpost-international-harmonisiertes-label-01-2020.pdf ).

    Lediglich beim Warenversand innerhalb der EU ohne Sendungsverfolgung (EU untracked) kann darauf verzichtet werden. Jedoch empfehlen wir auch für diese Sendungen, das Harmonized Label zu nutzen. Über

    https://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpostinternational/dp-warenpost-international-produktblatt-012020.pdfhttps://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpostinternational/dp-warenpost-international-produktblatt-012020.pdfhttps://www.deutschepost.de/de/b/briefe-ins-ausland/warenpost-international/warenpost-international-kilotarif.htmlhttps://www.deutschepost.de/de/b/briefe-ins-ausland/warenpost-international/warenpost-international-kilotarif.htmlhttps://www.deutschepost.de/de/b/briefe-ins-ausland/haeufige-fragen.htmlhttps://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpostinternational/dp-warenpost-international-harmonisiertes-label-01-2020.pdfhttps://www.deutschepost.de/content/dam/dpag/images/B_b/Briefe_ins_Ausland/warenpostinternational/dp-warenpost-international-harmonisiertes-label-01-2020.pdf

  • Warenpost International Seite 8 von 65

    Anbindungsleitfaden

    8

    die PacketPlus-API wird für alle Produkte Warenpost International das Harmonized Label in der jeweils aktuellen Version erzeugt.

    Nutzung vorhandener Zahlungsart per Internetmarke

    o Die Frankierung auf dem Label wird über die Internetmarke erstellt. Daher ist zur Nutzung von

    Warenpost International über die API auch eine Portokasse zur Bezahlung der erzeugten

    Internetmarken erforderlich. Die API stellt dabei eine (implizite) ReST-Service-Fassade für den

    ihnen evtl. bekannten Internetmarken-SOAP-Webservice bereit.

    1.3 Welche Möglichkeiten gibt es sonst noch, Warenpost International zu nutzen?

    Falls die Selbstprogrammierung unter Nutzung der API nicht in Frage kommt, bieten wir zusätzliche, hier nicht weiter ausgeführte, Möglichkeiten zur Nutzung von Warenpost International an:

    Alle Produkte der Kategorie „Warenpost International “ werden über verschiedene elektronische Plattformen angeboten, aktuell verfügen Sie über drei weitere Möglichkeiten:

    1. Für kleine Versandmengen bieten wir registrierten Geschäftskunden den Abruf über den Shop der

    Deutschen Post an unter https://shop.deutschepost.de/shop/katalog/index.jsp.

    Der Online-Shop der Deutschen Post bietet Ihnen folgende Vorteile:

    a. Einfache Datenerfassung

    b. Erstellung des empfohlenen Harmonized Label (aber eben nur einzeln)

    c. Kein eigener Programmieraufwand

    2. Für Kunden mit großem Sendungsvolumen steht das elektronische Auftragsmanagement der

    Deutschen Post (AM.exchange) auch für Warenpost International offen. Die Direktanbindung

    finden Sie unter deutschepost.de/am (

    https://www.deutschepost.de/de/e/elektronisches_auftragsmanagement.html)

    3. Darüber hinaus ist Warenpost International in verschiedene Versand- und Logistiksoftwareprodukte

    von Drittanbietern integriert. Den aktuellen Stand erhalten Sie jeweils unter

    https://www.deutschepost.de/de/b/briefe-ins-ausland/warenpost-international.html sowie unter

    https://www.deutschepost.de/de/i/internetmarke-porto-

    drucken/geschaeftskunden/partner.html#partnerfinder

    https://www.deutschepost.de/de/e/elektronisches_auftragsmanagement.htmlhttps://www.deutschepost.de/de/b/briefe-ins-ausland/warenpost-international.htmlhttps://www.deutschepost.de/de/i/internetmarke-porto-drucken/geschaeftskunden/partner.html#partnerfinderhttps://www.deutschepost.de/de/i/internetmarke-porto-drucken/geschaeftskunden/partner.html#partnerfinder

  • Warenpost International Seite 9 von 65

    Anbindungsleitfaden

    9

    1.4 Wofür ist dieser Leitfaden nicht?

    Diese Anleitung beschreibt nicht den Versand nationaler Warenpost oder anderer Brief- oder Paketprodukte.

    Sie ersetzt auch nicht die möglicherweise bekannte Beschreibung der SOAP-Schnittstelle für die Nutzung der

    Internetmarke.

  • Warenpost International Seite 10 von 65

    Anbindungsleitfaden

    10

    2 Grundlegende Funktionsprinzipien von Warenpost International

    2.1 Funktionalitäten

    ReST-API als Ersatz der bekannten Internetmarken-SOAP-Schnittstelle o sofern Harmonized Label benötigt o sofern Zollinhaltsdaten benötigt

    Integration von Portokassen über Autorisierungsfunktion

    Zusammenstellung von Einzelsendungen zu größeren Einheiten, sog. Orders oder Aufträgen

    Übertragung in die Systeme der Deutschen Post zur Weiterverarbeitung und automatischen Übertragung von Zollinhaltsdaten

    Erzeugung von Harmonized Labels/Sendungsetiketten mittels standardisierter ReST-Calls

    2.2 Zugang zu den Systemen

    Der Einsatz der ReST-API für Warenpost International ist ausschließlich für Geschäftskunden (Selbstprogrammierer) und Partner vorgesehen. Zugangsdaten können über den zuständigen vertrieblichen Ansprechpartner oder auch direkt vom technischen Support angefordert werden.

    2.3 Umgebungen

    2.3.1 Sandbox – Ihre Spielwiese

    Testsystem zur Unterstützung für Partner und Selbstprogrammierer

    Bereitstellung ReST-Schnittstelle zur kompletten Abbildung des Workflows

    Keine Kosten durch Nutzung von Testportokasse

    Geringer Umstellungsaufwand auf Livesystem

    2.3.2 Livesystem

    Bereitstellung ReST-Schnittstelle zur kompletten Abbildung des Workflows

    Nutzung existierender Portokassen (Internetmarke) zur Abrechnung der Versände; Kilotarif-

    Abrechnung zusätzlich über AM

    Vollständige Nutzung der Produkte nur für Geschäftskunden mit Kilotarifen

    2.4 Einschränkungen der API Warenpost International

    Tracking von Sendungsinformationen über die API ist nicht möglich. Funktionalität nur über die

    bekannten Methoden des Track Event Information Services bzw. Aufruf der Webseite zu Tracking

    Informationen der Deutsche Post DHL.

  • Warenpost International Seite 11 von 65

    Anbindungsleitfaden

    11

    3 Aufschaltprozess

    3.1 Dokumentation

    Diese Dokumentation soll Ihnen die fachlichen und technischen Prinzipien der ReST-API für Warenpost International verdeutlichen und Ihnen die notwendigen Informationen für eine erfolgreiche Programmierung bereitstellen. Im Bestreben, Ihnen den bestmöglichen Support zu bieten und die Dokumentation laufend zu verbessern, nehmen wir Anregungen bzgl. Unklarheiten, Ungenauigkeiten oder Fehlern zur Verbesserung dieser Dokumentation unter [email protected] gerne entgegen.

    3.2 Account zu Testsystem und Testportokasse erhalten

    Die Aufschaltung für Warenpost International mittels API (für Selbstprogrammierer) erfolgt im ersten Schritt mit einer Aufschaltung für die Testumgebung („Sandbox“) und stellt die hierfür notwendigen Zugänge zur Verfügung. Minimale Voraussetzungen hierfür sind:

    Ihr Firmenname

    Ihr Name und Ihre Email

    Post-Kundennummer (EKP)

    Falls Sie bereits über eine Partneranbindung (PARTNER_ID) an die Internetmarke (in der Liveumgebung) verfügen, wäre eine Information darüber wünschenswert. Für den Test in der Sandbox wird sie nicht benötigt, im Vorfeld können wir aber ggfs. bereits „Stolpersteine“ beseitigen, die sich ggfs. durch unklare Formulierungen in dieser Doku ergeben.

    Das Anlegen der Zugänge auf Seiten der Post beinhaltet:

    Das Anlegen notwendiger Kundenstammdaten zur Nutzung individueller Tarife (Kilotarif).

    die Bereitstellung einer kundenspezifischen Testportokasse in der Sandbox. Die Portokasse stellt die erste Autorisierungsebene innerhalb der Requests an die API dar.

    Die Testportokasse in Form einer fiktiven Mailadadresse und das Portokassenpasswort werden vom API-Support erzeugt und dem Kunden per E-Mail übermittelt. Diese kundenindividuellen Daten dienen als Nutzername und Passwort, um den zur Nutzung aller folgenden Requests jeweils notwendigen Usertoken zu erzeugen. Bitte beachten Sie, dass in der Sandbox Ihre möglicherweise bereits existierenden Portokassen aus der Produktionsumgebung oder eine im Rahmen einer Anbindung an die Internetmarke (SOAP-API) existierenden Testportokassen nicht nutzbar sind. Test- und Produktionsumgebung sind strikt voneinander getrennt. Einschränkungen:

    mailto:[email protected]

  • Warenpost International Seite 12 von 65

    Anbindungsleitfaden

    12

    Eine Entwicklung gegen die Liveumgebung ist für die Nutzung der PacketPlus-API nicht zweckmäßig und wird nur in Ausnahmefällen unterstützt.

    3.3 Testing

    Der Kunde kann nun mit den ihm zur Verfügung gestellten Zugangsdaten seine Software für die Erzeugung von Aufträgen und Labels mittels der erforderlichen ReST-Calls gegen die Sandbox durchführen. Nach erfolgreicher Entwicklung erfolgt dann auf Kundenwunsch der Schritt zur Liveumgebung.

    3.4 Umstellung der Software auf die Liveumgebung

    Der Wechselzeitpunkt auf die Liveumgebung wird vom Kunden selbst bestimmt. Hierfür sind nur

    wenige Schritte notwendig, die dafür notwendigen Informationen und Zugangsdaten liegen in der

    Regel bereits im Vorfeld vor, können durch den Kunden selbst durchgeführt bzw. angefordert

    werden.

    Notwendige durchzuführende Anpassungen und Voraussetzungen:

    1. Die Aufrufpfade der API ändern sich von https://api-qa.deutschepost.com auf

    https://api.deutschepost.com

    2. Für die Autorisierung muss eine Kunden-Portokasse aus der Liveumgebung genutzt werden. In der

    Regel liegen Nutzername („Mailadresse“ der Portokasse) sowie Passwort dem Kunden bereits vor. Ist

    dies nicht der Fall, kann der Kunde eine individuelle, sich selbst zugeordnete Portokasse unter

    https://portokasse.deutschepost.de/portokasse/#!/ selbst erstellen.

    Hinweis: Nutzernamen und Passwort dürfen kein „&“ enthalten!

    3. Zur Nutzung der Kilotarif-Produkte ist der Abschluss eines entsprechenden Vertrags erforderlich, dies

    kann online unter

    https://www.dhl.de/content/dpks/de/themenauswahl/kundenservice-formulare/warenpost-

    international.html geschehen. Das Vorliegen einer Post-Kundennummer (EKP) wird dabei

    vorausgesetzt.

    4. Stellen Sie sicher, dass bei (geplanter) Nutzung von Kilotarifen die EKP auch in der genutzten

    Kundenportokasse hinterlegt ist. Dies können Sie in den Einstellungen Ihrer Portokasse überprüfen

    bzw. ändern (siehe Screenshot).

    https://api.deutschepost.com/https://portokasse.deutschepost.de/portokasse/#!/https://www.dhl.de/content/dpks/de/themenauswahl/kundenservice-formulare/warenpost-international.htmlhttps://www.dhl.de/content/dpks/de/themenauswahl/kundenservice-formulare/warenpost-international.html

  • Warenpost International Seite 13 von 65

    Anbindungsleitfaden

    13

    Beachten Sie, dass es nach Eintragen Ihrer EKP bis zu 24h dauern kann, bis Kilotarife mit Ihrer

    Portokasse nutzbar sind.

    Die Nutzung von Einzeltarifprodukten ist dagegen nicht an eine EKP gebunden.

    5. Sofern noch nicht vorliegend, sollte nun spätestens die Anforderung von PARTNER_ID und SCHLUESSEL_DPWN_PARTNER beim Team der Internetmarke (mail: [email protected]) erfolgt sein. Falls diese noch nicht vorliegen, können sie über folgenden Link beantragt werden https://www.deutschepost.de/content/dam/dpag/images/i_i/Internetmarke/partnerwerden/dp-internetmarke-anmeldebogen-api-anbindung.pdf Partnern der Deutschen Post, die bereits die Programmierung der Internetmarke nutzen, liegen diese Daten in der Regel vor. Diese kundenindividuellen Daten werden in der Liveumgebung für die Berechnung eines gültigen Request-Headers zwingend benötigt. Falls erforderlich, können diese beim Team Internetmarke erneut angefordert werden.

    6. Anders als in der Sandbox ist die Gültigkeit eines Request-Header durch Verwendung eines

    Timestamps auf vier Minuten begrenzt. Das bedeutet, dass ein gültiger Request-Header jeweils

    zeitnah neu berechnet werden muss. Die genaue Berechnungsvorschrift zur Generierung des Headers

    finden Sie in Kapitel 7.1 (Umstieg aufs Livesystem).

    Zusammenfassend gesagt, sind Ihre Requests gegen das Livesystem also immer durch Ihre

    individuelle Liveportokasse („Internetmarken-Token“) autorisiert und Ihren individuellen, jeweils

    dynamisch erzeugten, Header authentifiziert.

    mailto:[email protected]://www.deutschepost.de/content/dam/dpag/images/i_i/Internetmarke/partnerwerden/dp-internetmarke-anmeldebogen-api-anbindung.pdfhttps://www.deutschepost.de/content/dam/dpag/images/i_i/Internetmarke/partnerwerden/dp-internetmarke-anmeldebogen-api-anbindung.pdf

  • Warenpost International Seite 14 von 65

    Anbindungsleitfaden

    14

    4 Workflows der Auftragserstellung (“Logiken”)

    Um einen Auftrags („order“) für Warenpost International über die API zu erstellen, existieren aktuell zwei verschiedene Möglichkeiten (im weiteren Verlauf “Logiken“ genannt). Beiden Logiken liegt ein grundsätzlicher Workflow zur Erstellung von Aufträgen zugrunde. Dieser richtet sich letzten Endes nach den individuellen Prozessen und Bedürfnissen der sie verwendenden Kunden. Vereinfacht gesagt, ein Auftrag kann entweder in einem einzigen Schritt vollständig erzeugt werden oder aber eine Auftragshülle wird sukzessive mit Auftragspositionen gefüllt.

    4.1 Gemeinsamkeiten der Logiken:

    1. Authentifizieren 2. Zusammenstellung eines Auftrags inkl. der Auftragspositionen („items“)

    a. Druck der Versandetiketten („Label“) vor Finalisierung 3. Finalisierung des Auftrags

    a. alternativ Druck der Versandetiketten nach Finalisierung Die Finalisierung eines Auftrags sorgt für seine Übertragung und Weiterverarbeitung in die Systeme der Deutschen Post. Unter anderem wird die notwendige Übertragung der Sendungsdaten in die Zollsysteme der Empfängerländer sowie (zukünftig (!) auch die Übertragung an das Auftragsmanagement AM der Deutschen Post) angestoßen. Deshalb kann ein finalisierter Auftrag nicht mehr verändert werden. Ein finalisierter Auftrag wird als Shipment oder „AWB“ gespeichert und erhält eine AWB-ID (sichtbar in der Response beim Finalisieren).

    Ein AWB entspricht in etwa der möglicherweise aus dem Bereich „Auftragsmanagement“ bereits bekannten Einlieferungsliste.

    4.2 Unterschiede der Logiken

    Unterschiede gibt es, wie gesagt, in der zeitlichen Abfolge/Dauer der Auftragserstellung, also letzten Endes im Workflow. Ein Auftrag kann

    1. In einem einzigen Vorgang erstellt und abgeschlossen werden („Logik 1“) oder 2. eröffnet, über einen Zeitraum hinweg mit Items gefüllt und erst am Schluss abgeschlossen/finalisiert

    werden („Logik 2“).

  • Warenpost International Seite 15 von 65

    Anbindungsleitfaden

    15

    4.3 Logik 1: „Create Order Finalized“

    Diese Logik eignet sich, wenn alle Sendungen („Items“), die zu einem Auftrag zusammengefasst werden sollen, bereits bekannt/fertig sind. In einem einzigen großen Request wird der Auftrag erstellt, die Sendungen diesem Auftrag zugeordnet und der Auftrag automatisch abgeschlossen (finalisiert). Daraufhin können dann alle zu diesem Auftrag gehörenden Label mit einem weiteren Request erstellt werden. Eine nachträgliche Änderung des Auftrags ist jedoch in dieser Logik nicht mehr möglich. Aus Performancegründen sollte die Anzahl der Sendungen hier nicht mehr als 300 Sendungen in einem Auftrag betragen. Die drei hierfür mindestens zu implementierenden Requests sind: 1. Get Access Token 2. Create Order 3. Get Item Labels Darüber hinaus existiert eine Reihe weiterer nutzbarer Requests, welche Ihnen im Verlauf dieses Dokumentes vorgestellt werden.

    4.4 Logik 2: „Create Order Open“

    Bei dieser Logik wird zunächst eine Auftragshülle angelegt und danach werden einzelne Sendungen hinzugefügt. Die Item-Label können dann einzeln und direkt nach dem Hinzufügen der Sendungen zum Auftrag erzeugt werden.

    Die maximal einem Auftrag zuordenbare Menge an Sendungen beträgt in dieser Logik 5000.

    Aus Performancegründen und zur Erhöhung der Übersichtlichkeit wird jedoch empfohlen, deutlich unter diesem Maximums zu bleiben.

    Alternativ (und wie in Logik 1) können auch hier alle Label nach Finalisierung eines Auftrages erzeugt werden. In diesem Fall sollte auch hier die Anzahl von Sendungen in einem Auftrag auf maximal 300 Sendungen beschränkt werden.

    Die hierfür mindestens zu implementierenden Requests sind: 1. Get Access Token 2. Create Order 3. Add Items to an Order 4. Get Item Label 5. Finalize Order Auch hier stehen weitere Requests zur Verfügung, welche ihnen im Verlauf dieses Dokuments vorgestellt werden.

  • Warenpost International Seite 16 von 65

    Anbindungsleitfaden

    16

    5 Prozesse der Auftragslogik - Basics

    5.1 Authentizierung

    Zur erfolgreichen Ausführung eines Requests ist jeweils das Vorliegen eines (zeitlich begrenzen) gültigen Zugriffstokens erforderlich.

    Die API nutzt das OAuth 2.0-Protokoll, um durch eine Kombination aus Authentifizierung und Autorisierung durch den „Get Access Token“ API-Call ein „OAuth2 Bearer Token“ zu generieren und Ihnen dadurch den Zugang zur „Deutschen Post International Shipping API“ zu ermöglichen

    Die Autorisierung und damit die Nutzung der API ist durch HTTP Basic Authentifizierung gesichert, bei der Sie Ihre Portokassen E-Mail und das Portokassenpasswort angeben müssen, da hierüber die Bezahlung durch die Internetmarke erfolgt. Vereinfacht gesagt: die Informationen des Headers berechtigt einen Partner zum grundsätzlichen Zugriff auf das System der Internetmarke. Dieser Zugriff erfolgt implizit durch die Nutzung der entsprechenden API-Requests. Ein expliziter Aufruf, wie es der Partner ggfs. aus der Internetmarken-(SOAP)-API kennt, findet hier nicht statt. In der Sandbox nutzt er die PARTNER_ID (auch bekannt als „Channel“) „DP_LT“ der Deutschen Post (die als alleiniger Partner in der Sandbox fungiert), in der Liveumgebung nutzt ein Partner oder Eigenentwickler seine individuelle PARTNER_ID. Die Nutzung einer spezifischen Portokasse für einen Auftrag (nämlich über den mit der jeweiligen Autorisierung abgerufenen Token) legt dann zum Beispiel fest, aus welcher Kasse resp. von welchem Endkunden/Mandanten die jeweiligen Sendungen bezahlt werden (vereinfacht gesagt).

    5.2 Testumgebung (Sandbox)

    In der Sandbox wird ein vereinfachter Authentifizierungsprozess genutzt, um u.a. Aufwände im Zuge einer Entwicklung zu minimieren. Die Gültigkeitsdauer eines durch die Internetmarke bereitgestellten Tokens ist deutlich länger und die Zugangsberechtigung zum System der Internetmarke wird durch einen für alle Nutzer vereinheitlichten Header sichergestellt.

    5.3 Livesystem

    Im Livesystem erfolgt der grundsätzliche Zugang über einen firmenspezifischen und jeweils zeitnah neu zu berechnenden Header (Aktualisierung des Timestamps und der abhängigen Felder), darüber hinaus beträgt die Gültigkeit eines Tokens lediglich vier Minuten.

  • Warenpost International Seite 17 von 65

    Anbindungsleitfaden

    17

    6 Detailprozesse der Auftragslogik - Ordererzeugung

    6.1 Prozess/Logik Create Order Finalized

    6.1.1 Request „Get Access Token“

    Als ersten Schritt müssen Sie sich gegen die API authentifizieren, um Warenpost International nutzen zu können. Dazu wird ein Token über die Internetmarke abgerufen. Im Folgenden zur Verdeutlichung ein Beispiel aus der Testumgebung; wie bereits oben erwähnt, unterscheiden sich die notwendigen Angaben zur Authentifizierung auf dem Testsystem von denen in der Produktion. Daher wird das folgende Beispiel auch nur in der Testumgebung funktionieren!

    6.1.2 Beispiel:

    Voraussetzungen/Annahmen:

    1. Für die Testumgebung erhalten Sie ihre Portokassen-Email und -Passwort von der Deutschen Post im folgenden beispielhaften Format. Zusammen mit den weiter unten angegeben Headerdaten können Sie in unserer Testumgebung ein Access Token erhalten. Das Vorgehen zur Produktivnutzung ist in Kapitel 7 beschrieben.

    2. Beispiel für Portokassen-Email: [email protected]

    3. Beispiel für Portokassen Passwort: wapoTestPw123

    4. Im HTTPS Request muss die HTTP Basic Authentifizierung genutzt werden.

    Portokassen-Email und Portokassen-Passwort müssen dabei base64 verschlüsselt werden. Bei der Verschlüsselung werden E-Mail und das Passwort mit einem Doppelpunkt „:“ getrennt. Weiterhin ist UTF-8 als Characterset zu verwenden.

    Authentifizierung: Basic

  • Warenpost International Seite 18 von 65

    Anbindungsleitfaden

    18

    KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    Diese konkreten vier Header-Informationen sind, wie bereits erwähnt, ausschließlich in der Testumgebung nutzbar, da in dieser die dynamische Prüfung von TIMESTAMP und Hashwert (PARTNER_SIGNATURE) entfällt.

    6. Sie erhalten daraufhin eine Antwort (Response) im SOAP/XML-Format mit einem gültigen Token, dem UserToken für die weiterführenden Requests. Dieses Format wurde gewählt, da es den meisten Kunden bereits von den nativen Internetmarken-SOAP-Requests bekannt sein dürfte. Alle weiteren Responses sind demgegenüber in JSON gehalten. Beispielantwort/-Response: yDI0S6akfOJsY7DV6EcKeaAfsCIAlbpGKv1ppielQ6o= 484440 false

    6.1.3 Request „Create Order“

    Der nächste Schritt ist die Anlage einer sogenannten „Order“. Dies ist eine Auftragshülle zur Erfassung von 1 – max. 5000 Einzelsendungen, wobei wir je nach Nutzungskontext empfehlen deutlich weniger Sendungen in einem Auftrag zusammenzufassen. Für jede Einzelsendung können die folgenden Datenfelder erfasst werden. Der Content-Part ist dabei nur für Nicht-EU-Sendungen notwendig. Details sowie die Angabe welche Felder verpflichtend oder optional sind, finden sie in Kap. 7. In Kap. 6 finden sie Beispiel-Requests. Informationen zu den nutzbaren Länderkürzeln finden sie in Kap. 9.

    -customerEkp

    -orderStatus

    Paperwork:

    Items (1/2):

    -product -serviceLevel

    Items(2/2):

    -returnItemWanted -shipmentAmount

    -shipmentCurrency

    Contents:

    -contentPieceHsCode -contentPieceDescription

    -contentPieceNetweight

  • Warenpost International Seite 19 von 65

    Anbindungsleitfaden

    19

    -contactName -jobReference

    -pickupType -awbCopyCount

    -custRef -recipient

    -recipientPhone -recipientFax

    -recipientEmail -addressLine1

    -addressLine2 -addressLine3

    -city -state

    -postalCode -destinationCountry

    -shipmentGrossWeight -senderName

    -senderAddressLine1 -senderAddressLine2

    -senderCountry -senderCity

    -senderPostalCode -senderPhone

    -senderEmail -shipmentNaturetype

    -contentPieceOrigin -contentPieceAmount

    -contentPieceValue

    6.1.4 Request „Get Item Labels”

    Mit diesem Request rufen sie alle Labels ihrer Sendungen in einer Datei ab und können diese nun ausdrucken. Dabei stehen ihnen folgende Optionen zur Verfügung: “image/png” (A6)

    “image/png+6x4” (6x4 inch)

    “application/pdf” (A6)

    “application/pdf+singlepage” (A6)

    “application/pdf+singlepage+6x4” (6x4 inch)

    “application/zpl” (A6)

    “application/zpl+rotated” (rotated by 90 degrees for label printers)

    “application/zpl+6x4” (6x4 inch)

    “application/zpl+rotated+6x4” (6x4 inch and rotated by 90 degrees for label printers)

    Die Festlegung erfolgt im Header-Parameter ACCEPT.

  • Warenpost International Seite 20 von 65

    Anbindungsleitfaden

    20

    6.2 Beschreibung der Logik: Create Order Open

    6.2.1 Request „Get Access Token”

    Als erstes müssen sie einen Token über die Internetmarke abfragen. Siehe Kapitel 3.1.

    6.2.2 Request „Create Order”

    Nun können sie einen neuen Auftrag erstellen/öffnen, in welchen Sie die Items über den Tag verteilt hinzufügen können. Benötigte Felder (required fields):

    customerEkp

    orderStatus

    6.2.3 Request „Add Items to an Order”

    Nach der Erstellung eines Auftrags werden nun die Sendungen einzeln oder max. 2500 mit diesem Request hinzugefügt. Details zu den einzelnen Feldern finden sie in Kap. 7. In Kap. 6 finden sie Beispiele. Informationen zu den nutzbaren Länderkürzeln finden sie in Kap. 9

    Items (1/2): -product

    -serviceLevel -custRef

    -recipient -recipientPhone

    -recipientFax -recipientEmail

    -addressLine1 -addressLine2

    -addressLine3 -city

    -state -postalCode

    -destinationCountry

    Items(2/2): -returnItemWanted

    -shipmentAmount -shipmentCurrency

    -shipmentGrossWeight -senderName

    -senderAddressLine1 -senderAddressLine2

    -senderCountry -senderCity

    -senderPostalCode -senderPhone

    -senderEmail -shipmentNaturetype

    Contents: -contentPieceHsCode

    -contentPieceDescription -contentPieceNetweight

    -contentPieceOrigin -contentPieceAmount

    -contentPieceValue

    6.2.4 Request „Get Item Label“

    Mit diesem Request rufen sie jeweils genau ein Label in einer Datei ab und können dieses nun ausdrucken. Dabei stehen ihnen folgende Optionen zur Verfügung: “image/png” (A6)

  • Warenpost International Seite 21 von 65

    Anbindungsleitfaden

    21

    “image/png+6x4” (6x4 inch)

    “application/pdf” (A6)

    “application/pdf+singlepage” (A6)

    “application/pdf+singlepage+6x4” (6x4 inch)

    “application/zpl” (A6)

    “application/zpl+rotated” (rotated by 90 degrees for label printers)

    “application/zpl+6x4” (6x4 inch)

    “application/zpl+rotated+6x4” (6x4 inch and rotated by 90 degrees for label printers)

    Die Festlegung erfolgt im Header-Parameter ACCEPT

    6.2.5 Request „Finalize Order“

    Den erstellten Auftrag müssen sie nun noch abschließen/finalisieren. Dies können sie einmalig am Ende eines Tages machen oder nach Bedarf über den Tag verteilt. Z.B. um mehrere Label mit einem Request zu erzeugen oder um die Anzahl der Sendungen pro Auftrag zu begrenzen.

    6.3 Weitere verfügbare Requests

    6.3.1 Get item

    Sie erhalten alle Information über das angegebene Item.

    6.3.2 Get Order

    Sie erhalten die Auftragsdaten (den „Auftragskopf“) für die angegebenen orderID.

    6.3.3 Get shipments for an order

    Sucht nach Sendungen, die an eine bestimmte Bestellung angehängt sind. Antworten mit dem Status "Nicht gefunden" (404) erscheinen, wenn keine Bestellung vorhanden ist oder wenn dieser Bestellung keine Sendungen beigefügt sind.

    6.3.4 Validate order items

    Vorabprüfung eines create-order Auftrages.

    Beispiele für diese Requests finden sie in Kap. 8

    7 Umstieg und Einsatz im Produktivsystem

    7.1 Voraussetzungen

  • Warenpost International Seite 22 von 65

    Anbindungsleitfaden

    22

    Jeder Request für Warenpost International wird daraufhin geprüft, ob die Anfrage von einem zugelassenen System stammt. Dazu übermittelt das anfragende System im Header folgende Authentifizierungsinformationen:

    Header Element

    Kurzbeschreibung

    notwendig (JA/NEIN)

    Typ Länge Hash Beispiel- Werte

    Default

    PARTNER_ID

    Die mit dem Partner vereinbarte ID.

    JA STRING 5 Y IMPAR

    REQUEST_TIMESTAMP

    Absendezeitpunkt

    (Datum und Uhrzeit) des Requests. Darf bei

    Absetzten des Requests nicht älter als

    vier Minuten sein, ansonsten wird der

    Request abgewiesen.

    JA DDMMYYY

    Y-HHMMSS

    15 Y 02022020-

    0135500

    KEY_PHASE

    vereinbarte Version des

    Geheimnisses (Default: 1).

    JA NUMBER 3 Y 1 1

    SIGNATURE_ALGORITHM

    Verwendeter Signaturalgorithmus

    (entfällt bei Warenpost International; nur für

    Internetmarken-API relevant)

    NEIN STRING 16 Y md5

    sha-256

    sha-384

    sha-512

    Md5

    PARTNER_SIGNATURE

    Signatur (Hash) des

    Requests über die zwischen DPAG und

    Drittanbieter definierten Felder.

    Stimmt der Hash nicht überein, so wird der

    Request abgewiesen. Die genaue

    Zusammensetzung der Signatur ist

    nachfolgend beschrieben.

    JA ALPHANU

    M-

    ERISCH

    8 Y a0b1c2d3

    Die Signatur/Prüfsumme wird als MD5-Hash, basierend auf den Inhalten der folgenden Felder berechnet:

    PARTNER_ID

    REQUEST_TIMESTAMP

    KEY_PHASE

    SCHLUESSEL_DPWN_PARTNER

  • Warenpost International Seite 23 von 65

    Anbindungsleitfaden

    23

    Für die Prüfsummenbildung werden die Inhalte der o. g. Felder aneinandergehängt. Alle Feldinhalte werden rechts und links um Blanks bereinigt und mit dem Trenner „::“ versehen konkateniert. Wenn ein Feld leer oder im Request nicht vorhanden ist, werden folgende Trennzeichen angewendet „::::“ Das Ergebnis wird als Eingabe für die HASH Erstellung verwendet, das Ergebnis ist ein MD5-Hashwert. Die Bytes werden in ihrer hexadezimalen Darstellung (mit a–f in Kleinbuchstaben) in einen Text umgewandelt. Hexadezimale Darstellungen von Bytes, die nur über eine Stelle verfügen (0–f) werden um eine führende Null erweitert (00–0f). Die ersten 8 Zeichen des daraus resultierenden Textes werden im Feld PARTNER_SIGNATURE abgelegt. Auf der Empfängerseite (also der Post) werden dieselben Schritte zur Verifizierung der PARTNER_SIGNATURE durchgeführt. Zusätzlich wird geprüft, ob zwischen dem Wert REQUEST_TIMESTAMP und dem aktuellen Systemdatum nicht mehr als vier Minuten vergangen sind.

    Berechnungsbeispiel: PARTNER_ID, SCHLUESSEL_DPWN_PARTNER: statisch je Partner KEY_PHASE: immer = „1“ TIMESTAMP: aktuelle Zeit Ergebnis: PARTNER_SIGNATURE

    POST-Parameter Wert

    URL https://internetmarke.deutschepost.de/OneClickForApp/V3 (nur z.K.)

    PARTNER_ID XXXXX

    REQUEST_TIMESTAMP 15012020-102200

    KEY_PHASE 1

    SCHLUESSEL_DPWN_PARTNER 5q6gTCuKgrgoAEbH47Wtvh6mtYEWZKEZ

    Concat PARTNER_ID::REQUEST_TIMESTAMP::KEY_PHASE::SCHLUESSEL_DPWN_PARTNER

    Signatur-String XXXXX::15012020-102200::1::5q6gTCuKgrgoAEbH47Wtvh6mtYEWZKEZ

    md5-Hash

    MD5-Hash 5038e6461d37943a5b852a41f9961a9b

    Zeichen 1-8

    PARTNER_SIGNATURE 5038e646

    8 Beispiel-Requests

    8.1 Beispiel „Get Access Token“ in JSON und cURL (Sandbox)

    https://internetmarke.deutschepost.de/OneClickForApp/V3

  • Warenpost International Seite 24 von 65

    Anbindungsleitfaden

    24

    JSON cURL

    URL

    GET https://api-qa.deutschepost.com/v1/auth/accesstoken

    Autorisation

    Basic d2Fwb0B0ZXN0LmRlOndhcG9UZXN0UHcxMjM=

    Header

    KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    Body

    Keiner

    Request

    curl --location --request GET 'https://api-qa.deutschepost.com/v1/auth/accesstoken' \

    --header 'KEY_PHASE: 1' \

    --header 'PARTNER_ID: DP_LT' \

    --header 'REQUEST_TIMESTAMP: 16082018-122210' \

    --header 'PARTNER_SIGNATURE: 9d7c35be' \

    --header 'Authorization: Basic d2Fwb0B0ZXN0LmRlOndhcG9UZXN0UHcxMjM='

    https://api-qa.deutschepost.com/v1/auth/accesstokenhttps://api-qa.deutschepost.com/v1/auth/accesstoken

  • Warenpost International Seite 25 von 65

    Anbindungsleitfaden

    25

    8.2 Beispiel „Get Access Token“ in JSON und cURL (Livesystem)

    JSON cURL

    URL

    GET https://api.deutschepost.com/v1/auth/accesstoken

    Autorisation

    Basic ZWNodGVwb3J0b2thc3NlQGt1bmRlbmRvbWFpbjplY2h0ZXNwYXNzd29ydA==

    Header

    KEY_PHASE: 1 PARTNER_ID: XXXXX REQUEST_TIMESTAMP: 15012020-102200 PARTNER_SIGNATURE: 5038e646

    Body

    Keiner

    Request

    curl --location --request GET 'https://api.deutschepost.com/v1/auth/accesstoken' \

    --header 'KEY_PHASE: 1' \

    --header 'PARTNER_ID: XXXXX' \

    --header 'REQUEST_TIMESTAMP: 15012020-102200' \

    --header 'PARTNER_SIGNATURE: 5038e646' \

    --header 'Authorization: Basic ZWNodGVwb3J0b2thc3NlQGt1bmRlbmRvbWFpbjplY2h0ZXNwYXNzd29ydA=='

    Response: nBI2fcUsyE9VztC8MnnjvXBECzmHk_qNA_srfCNvFLY= 968101 false

    https://api.deutschepost.com/v1/auth/accesstokenhttps://api.deutschepost.com/v1/auth/accesstoken

  • Warenpost International Seite 26 von 65

    Anbindungsleitfaden

    26

    8.3 Beispiel „Create Order Finalized” in Maximalausprägung (Sandbox)

    JSON cURL

    URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/orders

    Autorisation

    Bearer nBI2fcUsyE9VztC8MnnjvXBECzmHk_qNA_srfCNvFLY=

    Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    Body

    { "customerEkp": "1234567890", "orderStatus": “FINALIZE”, "paperwork": { "contactName": "Eric Theodore Cartman", "jobReference": "Text JobReference", "pickupType": "CUSTOMER_DROP_OFF", "awbCopyCount": 1 }, "items": [ { "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "recipientPhone": "", "recipientFax": "",

    Request

    curl --location --request POST 'https://api-qa.deutschepost.com/dpi/shipping/v1/orders' \ --header 'Content-Type: application/json' \ --header 'KEY_PHASE: 1' \ --header 'PARTNER_ID: DP_LT ' \ --header 'REQUEST_TIMESTAMP: 16102018-144300' \ --header 'PARTNER_SIGNATURE: 9d7c35be ' \ --header 'Authorization: Bearer nBI2fcUsyE9VztC8MnnjvXBECzmHk_qNA_srfCNvFLY=' \ --data-raw '{ "customerEkp": "1234567890", "orderStatus": “FINALIZE”, "paperwork": { "contactName": "Eric Theodore Cartman", "jobReference": "Text JobReference", "pickupType": "CUSTOMER_DROP_OFF", "awbCopyCount": 1 }, "items": [ { "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "recipientPhone": "", "recipientFax": "", "recipientEmail": "",

  • Warenpost International Seite 27 von 65

    Anbindungsleitfaden

    27

    "recipientEmail": "", "addressLine1": "Straße 17.", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt", "state": "Mitte", "postalCode": "12345", "destinationCountry": "CH", "returnItemWanted": false, "shipmentAmount": 0, "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Schrauben", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1, "contentPieceValue": "32.23" } ]} ]}

    "addressLine1": "Straße 17.", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt", "state": "Mitte", "postalCode": "12345", "destinationCountry": "CH", "returnItemWanted": false, "shipmentAmount": 0, "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Schrauben", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1, "contentPieceValue": "32.23" } ]} ]} '

  • Warenpost International Seite 28 von 65

    Anbindungsleitfaden

    28

    8.4 Beispiel für „Create Order Finalized” in Minimalausprägung (Sandbox)

    8.4.1 URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/orders

    8.4.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.4.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.4.4 Body

    {

    "customerEkp": "1234567890", "orderStatus": "FINALIZE", "paperwork": { "contactName": "Eric Theodore Cartman", "awbCopyCount": 1 }, "items": [ { "product": "10292", "recipient": "Marge Bouvier", "addressLine1": "Straße 17.", "city": " BspStadt", "destinationCountry": "AT", "shipmentGrossWeight": 500, "senderName": " Kunde123", "senderAddressLine1": "Breite Gasse 7", "senderCountry": "DE", "senderCity": " BspStadt", "senderPostalCode": "12345" } ] }

  • Warenpost International Seite 29 von 65

    Anbindungsleitfaden

    8.4.5 Response

    "customerEkp": "1234567890", "orderId": 124214, "shipments": [ { "awb": "9980000087897", "items": [ { "id": 17418744, "barcode": "RL703774825DE", "product": "10292", "serviceLevel": "STANDARD", "recipient": "Marge Bouvier", "addressLine1": "Straße 17.", "city": " BspStadt", "destinationCountry": "AT", "shipmentGrossWeight": 500, "senderName": " Kunde123", "senderAddressLine1": "Breite Gasse 7", "senderCountry": "DE", "senderCity": " BspStadt", "senderPostalCode": "12345", "voucherId": "A001210D490000000648", "returnItemWanted": false, "contents": [] } ] } ] } Die AWB, "awb": "9980000087897", enthält die Nummer des erzeugten Shipments nach Finalisierung des Auftrags. Die ursprüngliche Order-Id ist lokal und hat danach keine Bedeutung mehr.

  • Warenpost International Seite 30 von 65

    Anbindungsleitfaden

    8.5 Beispiel für „Get Item Labels”

    8.5.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/shipments//itemlabels enthält die gültige AWB-Nummer aus dem Response des erfolgreichen CreateOrder-Requests.

    8.5.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.5.3 Header

    Content-Type: application/json Accept: application/pdf KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.5.4 Body Keiner

    8.5.5 Response

    https://api-qa.deutschepost.com/dpi/shipping/v1/shipments/%3cawb%3e/itemlabels

  • Warenpost International Seite 31 von 65

    Anbindungsleitfaden

    8.6 Beispiel für „Create Order Open”

    8.6.1 URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/orders

    8.6.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.6.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.6.4 Body { "customerEkp": "1234567890", "orderStatus": "OPEN", "items": [ ] }

    8.6.5 Response

    { "customerEkp": "1234567890", "orderId": 124212 }

  • Warenpost International Seite 32 von 65

    Anbindungsleitfaden

    8.7 Beispiel für „Add Items to an Order” in Minimalausprägung

    8.7.1 URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/orders//items enthält eine gültige Order-Nummer aus dem create Order OPEN Request.

    8.7.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.7.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.7.4 Body

    [ { "product": "10260", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "city": " BspStadt ", "destinationCountry": "AT", "shipmentGrossWeight": 500, "senderName": "senderName", "senderAddressLine1": "Strasse 1", "senderCountry": "DE", "senderCity": "Stadt", "senderPostalCode": "12345", "shipmentNaturetype": "SALE_GOODS", “shipmentCurrency”: “EUR” } ]

    8.7.5 Response

    [ { "id": 17418745, "barcode": "LB106600059DE", "product": "10260", "serviceLevel": "STANDARD", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "city": " BspStadt ", "destinationCountry": "AT",

    https://api-qa.deutschepost.com/dpi/shipping/v1/orders/%3c0rderId%3e/items

  • Warenpost International Seite 33 von 65

    Anbindungsleitfaden

    "shipmentGrossWeight": 500, "senderName": "senderName", "senderAddressLine1": "Strasse 1", "senderCountry": "DE", "senderCity": "Stadt", "senderPostalCode": "12345", "voucherId": "A001210D49000000065B", "returnItemWanted": false, "contents": [] } ]

    Der Item-Barcode ist die konkrete Sendungs-ID, mit der dann z.B. ein Tracking über die Tracking-Systeme der Deutschen Post (AM oder Sendungsverfolgung) möglich ist.

  • Warenpost International Seite 34 von 65

    Anbindungsleitfaden

    8.8 Beispiel für „Add Items to an Order” in Maximalausprägung

    8.8.1 URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/orders//items enthält eine gültige Order-Nummer aus dem create Order OPEN Request.

    8.8.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.8.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.8.4 Body

    Zweispaltige Tabelle; jeweils eine EU- und non-EU-Sendung, gekennzeichnet über die Product-Nummer (rot markiert) [ { "product": "10292", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "recipientPhone": "", "recipientFax": "", "recipientEmail": "", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "returnItemWanted": false, "shipmentAmount": 0, "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse",

    "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Schrauben", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1, "contentPieceValue": "32.23" } ] },

  • Warenpost International Seite 35 von 65

    Anbindungsleitfaden

    { "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Homer Simpson", "recipientPhone": "", "recipientFax": "", "recipientEmail": "", "addressLine1": "Evergreen Terrace", "addressLine2": "neben", "addressLine3": "Ned Flanders", "city": "Springfield", "state": "Ohio", "postalCode": "12345", "destinationCountry": "US", "returnItemWanted": false, "shipmentAmount": 0, "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123",

    "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "shipmentNaturetype": "SALE_GOODS","contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Muttern", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1, "contentPieceValue": "32.23" } ] } ]

    8.8.5 Response

    [ { "id": 17418747, "barcode": "RL703774848DE", "product": "10292", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890",

  • Warenpost International Seite 36 von 65

    Anbindungsleitfaden

    "senderEmail": "[email protected]", "voucherId": "A001210D49000000067D", "returnItemWanted": false, "contents": [] }, { "id": 17418746, "barcode": "RL703774834DE", "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Homer Simpson", "addressLine1": "Evergreen Terrace", "addressLine2": "neben", "addressLine3": "Ned Flanders", "city": "Springfield", "state": "Ohio", "postalCode": "12345", "destinationCountry": "US", "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D49000000066E", "returnItemWanted": false, "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Muttern", "contentPieceValue": "32.23", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1 } ] } ]

  • Warenpost International Seite 37 von 65

    Anbindungsleitfaden

    Dem aufmerksamen Leser des Beispiels wird nicht der leere Content-Block (“"contents": [] “) in der response entgangen sein, Für Sendungsziele innerhalb der EU sind keine Zollinformationen erforderlich, diese werden daher auch nicht generiert. Somit enthalten die Harmonized Labels diese Informationen auch nicht.

    8.9 Beispiel für ”Get Item Label”

    Label zu einem Item erzeugen. Rückgabewert ist ein PDF-Bytestream. Die Speichermethode muss durch den Entwickler selber programmiert werden (keine jnteraktive „Speichern“-Aktion durch die API angeboten)

    8.9.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/items//label enthält eine gültige Item-Nummer aus dem create Order oder Add Item Request.

    8.9.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.9.3 Header

    Content-Type: application/json Accept: image/png KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.9.4 Body Keiner

    8.9.5 Response

    , der das Sendungslabel enthält.

    https://api-qa.deutschepost.com/dpi/shipping/v1/items/%3citemId%3e/label

  • Warenpost International Seite 38 von 65

    Anbindungsleitfaden

    8.10 Beispiel für einen „Finalize Order” request (Sandbox):

    Abschließen eines offenen Auftrags.

    8.10.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/orders//finalization enthält eine gültige Order-Nummer aus einem create Order OPEN Request.

    8.10.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.10.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.10.4 Body { "contactName": "Eric Theodore Cartman", "jobReference": "Text JobReference", "pickupType": "CUSTOMER_DROP_OFF", "awbCopyCount": 1 }

    8.10.5 Response

    { "customerEkp": "0000010000", "orderId": 124216, "shipments": [ { "awb": "9980000087898", "items": [ { "id": 17418746, "barcode": "RL703774834DE", "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Homer Simpson", "addressLine1": "Evergreen Terrace", "addressLine2": "neben", "addressLine3": "Ned Flanders",

    https://api-qa.deutschepost.com/dpi/shipping/v1/orders/%3corderId%3e/finalization

  • Warenpost International Seite 39 von 65

    Anbindungsleitfaden

    "city": "Springfield", "state": "Ohio", "postalCode": "12345", "destinationCountry": "US", "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D49000000066E", "returnItemWanted": false, "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Muttern", "contentPieceValue": "32.23", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1 } ] }, { "id": 17418747, "barcode": "RL703774848DE", "product": "10292", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE",

  • Warenpost International Seite 40 von 65

    Anbindungsleitfaden

    "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D49000000067D", "returnItemWanted": false, "contents": [] } ] } ] }

  • Warenpost International Seite 41 von 65

    Anbindungsleitfaden

    8.11 Beispiel für einen „Get item“ request (Sandbox)

    Informationen zu einem (zu einem nicht finalisierten Auftrag) Item ausgeben

    8.11.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/items/ enthält eine gültige Item-Nummer.

    8.11.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.11.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.11.4 Body

    Keiner

    8.11.5 Response

    { "id": 17418757, "barcode": "RL703774879DE", "product": "10292", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D4900000006C9",

    https://api-qa.deutschepost.com/dpi/shipping/v1/items/%3cItemId

  • Warenpost International Seite 42 von 65

    Anbindungsleitfaden

    "returnItemWanted": false, "contents": [] }

  • Warenpost International Seite 43 von 65

    Anbindungsleitfaden

    8.12 Beispiel für einen „Get Order“ Request (Sandbox)

    Informationen zu einer Order

    8.12.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/orders/ muss eine gültige Order-Nummer aus einem CreateOrder-OPEN-Request enthalten

    8.12.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.12.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.12.4 Body

    Keiner

    8.12.5 Response

    { "customerEkp": "0000010000", "orderId": 124221, "items": [ { "id": 17418757, "barcode": "RL703774879DE", "product": "10292", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse",

    https://api-qa.deutschepost.com/dpi/shipping/v1/orders/%3corderId

  • Warenpost International Seite 44 von 65

    Anbindungsleitfaden

    "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D4900000006C9", "returnItemWanted": false, "contents": [] }, { "id": 17418756, "barcode": "RL703774865DE", "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Homer Simpson", "addressLine1": "Evergreen Terrace", "addressLine2": "neben", "addressLine3": "Ned Flanders", "city": "Springfield", "state": "Ohio", "postalCode": "12345", "destinationCountry": "US", "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D4900000006BA", "returnItemWanted": false, "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Muttern", "contentPieceValue": "32.23", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1 } ]

  • Warenpost International Seite 45 von 65

    Anbindungsleitfaden

    } ] } Informationen zu einer abgeschlossenen Order werden nicht ausgegeben.

  • Warenpost International Seite 46 von 65

    Anbindungsleitfaden

    8.13 Beispiel für einen „Get shipments for an order“ Request

    Ausgabe von Shipments zu einer Order

    8.13.1 URL

    GET https://api-qa.deutschepost.com/dpi/shipping/v1/orders//shipments enthält eine gültige Order-Nummer aus einem create Order OPEN Request.

    8.13.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.13.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.13.4 Body

    Keiner

    8.13.5 Response

    1. Wenn keine Shipments existieren (Auftrag nicht finalisiert):

    { "messages": [ "No shipments are available for order with ID [124221]." ] }

    2. Wenn Shipment existiert:

    https://api-qa.deutschepost.com/dpi/shipping/v1/orders/%3corderiD%3e/shipments

  • Warenpost International Seite 47 von 65

    Anbindungsleitfaden

    [ { "awb": "9980000087902", "items": [ { "id": 17418756, "barcode": "RL703774865DE", "product": "10293", "serviceLevel": "STANDARD", "custRef": "CUSTOMER REFERENCE", "recipient": "Homer Simpson", "addressLine1": "Evergreen Terrace", "addressLine2": "neben", "addressLine3": "Ned Flanders", "city": "Springfield", "state": "Ohio", "postalCode": "12345", "destinationCountry": "US", "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D4900000006BA", "returnItemWanted": false, "shipmentNaturetype": "SALE_GOODS", "contents": [ { "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 Muttern", "contentPieceValue": "32.23", "contentPieceNetweight": 50, "contentPieceOrigin": "AT", "contentPieceAmount": 1 } ] }, { "id": 17418757, "barcode": "RL703774879DE", "product": "10292", "serviceLevel": "STANDARD",

  • Warenpost International Seite 48 von 65

    Anbindungsleitfaden

    "custRef": "CUSTOMER REFERENCE", "recipient": "Marge Bouvier", "addressLine1": "Straße 17", "addressLine2": "Kreuzung", "addressLine3": "2. Fenster links", "city": " BspStadt ", "state": "Mitte", "postalCode": "12345", "destinationCountry": "DE", "shipmentGrossWeight": 500, "senderName": "Kunde123", "senderAddressLine1": "Breite Gasse", "senderAddressLine2": "2. Haus rechts", "senderCountry": "DE", "senderCity": " BspStadt ", "senderPostalCode": "12345", "senderPhone": "+49301234567890", "senderEmail": "[email protected]", "voucherId": "A001210D4900000006C9", "returnItemWanted": false, "contents": [] } ] } ]

    8.14 Beispiel für einen „validate order item“ Request

    8.14.1 URL

    POST https://api-qa.deutschepost.com/dpi/shipping/v1/validation

    8.14.2 Autorisation

    Bearer SovVegFT0uw6gTapSsOoPzxa_snZm35QuAqINkutI1w=

    8.14.3 Header

    Content-Type: application/json KEY_PHASE: 1 PARTNER_ID: DP_LT REQUEST_TIMESTAMP: 16082018-122210 PARTNER_SIGNATURE: 9d7c35be

    8.14.4 Body

    { "customerEkp": "{{custEKP}}", "items": [

    https://api-qa.deutschepost.com/dpi/shipping/v1/validation

  • Warenpost International Seite 49 von 65

    Anbindungsleitfaden

    { "id": 0, "product": "10272", "serviceLevel": "STANDARD", "custRef": "04 03 01 T002", "custRef2": "1714343439", "recipient": "Marge Bouvier", "recipientPhone": "", "recipientFax": "", "recipientEmail": "", "addressLine1": "Straße des 17. Juni 1", "addressLine2": "Kreuzung Yzak-Rabin-Straße", "addressLine3": "Rez-de-Chaussée", "city": "Berlin", "state": "Mitte", "postalCode": "01000", "destinationCountry": "US", "returnItemWanted": false, "shipmentAmount": 0, "shipmentCurrency": "EUR", "shipmentGrossWeight": 500, "senderName": "Miroslav Ćiro Blažević", "senderAddressLine1": "Lenné-Park 12", "senderAddressLine2": "107a - 111a/b", "senderCountry": "US", "senderCity": "Castrop-Rauxel", "senderPostalCode": "01432", "senderPhone": "+4935120681234", "senderEmail": "[email protected]",

    "shipmentNaturetype": "RETURN_GOODS", "contents": [ { "contentPieceIndexNumber": 0, "contentPieceHsCode": "1234567890", "contentPieceDescription": "10 x Sánguches", "contentPieceNetweight": 50, "contentPieceOrigin": "AF", "contentPieceAmount": 1, "contentPieceValue": "322.23" } ] } ]

    }

  • Warenpost International Seite 50 von 65

    Anbindungsleitfaden

    8.14.5 Response

    {

    "customerEkp": "0000010000",

    "items": [

    {

    "id": 0,

    "product": "10272",

    "serviceLevel": "STANDARD",

    "custRef": "04 03 01 T002",

    "custRef2": "1714343439",

    "recipient": "Marge Bouvier",

    "recipientPhone": "",

    "recipientFax": "",

    "recipientEmail": "",

    "addressLine1": "Straße des 17. Juni 1",

    "addressLine2": "Kreuzung Yzak-Rabin-Straße",

    "addressLine3": "Rez-de-Chaussée",

    "city": "Berlin",

    "state": "Mitte",

    "postalCode": "01000",

    "destinationCountry": "US",

    "shipmentAmount": 0.0,

    "shipmentCurrency": "EUR",

    "shipmentGrossWeight": 500,

    "senderName": "Miroslav Ćiro Blažević",

    "senderAddressLine1": "Lenné-Park 12",

    "senderAddressLine2": "107a - 111a/b",

    "senderCountry": "US",

    "senderCity": "Castrop-Rauxel",

    "senderPostalCode": "01432",

    "senderPhone": "+4935120681234",

    "senderEmail": "[email protected]",

    "returnItemWanted": false,

    "shipmentNaturetype": "RETURN_GOODS",

    "contents": [

    {

    "contentPieceIndexNumber": 0,

    "contentPieceHsCode": "1234567890",

    "contentPieceDescription": "10 x Sánguches",

    "contentPieceValue": "322.23",

    "contentPieceNetweight": 50,

    "contentPieceOrigin": "AF",

    "contentPieceAmount": 1

    }

    ]

    }

    ]

    }

  • Warenpost International Seite 51 von 65

    Anbindungsleitfaden

    9 Detaillierte Feldbeschreibung

    Für WaPo

    Int relevant

    Crea

    te Order

    Add

    Items to an Order

    Feldname Beschreibung Definition Feld-Länge

    Pflicht/ Optional

    Beispiel bzw. Auswahl

    X X customerEkp 10-stellige EKP / Postkundennummer

    Alpha-numerisch

    16 Pflicht 1234567890

    X X orderStatus Auftragsstatus Gibt an, ob dem Auftrag weitere Sendungen hinzugefügt werden

    können. „OPEN" bedeutet, dass später Sendungen hinzugefügt werden können. „FINALIZE" bedeutet, dass

    die Bestellung sofort abgeschlossen wird.

    Alpha-numerisch

    Pflicht

    OPEN FINALIZE

    X paperwork

    X X contactName Ansprechpartner bei Rückfragen (aktuell für

    WaPo noch nicht aktiv)

    Alpha-numerisch

    Pflicht Max Musterhaft

    X jobReference Irrelevant bei Warenpost International

    Alpha-numerisch

    (max. 17 Zeichen)

    Optional

    X pickupType Irrelevant bei Warenpost

    International

    Alpha-

    numerisch

    Optional CUSTOMER_DR

    OP_OFF

    X X X awbCopyCount Kopien des AWB labels.(aktuell für WaPo noch nicht aktiv)

    numerisch Pflicht 1

    X X items

    X X id Systemisch gesetzte ID der Sendung, relevant für Folgerequests

    numerisch 8 Wird systemseitig gesetzt

    X X X product Produktnummer gem. PPL Alpha-

    numerisch

    5 Pflicht

    10246

    X X X serviceLevel Der Service-Level, der für den Versand dieses Artikels verwendet wird. (aktuell für WaPo noch nicht aktiv)

    Alpha-numerisch

    Pflicht

    STANDARD, keine Alternative bei WaPoInt

    X X custRef Kundenreferenz (aktuell für WaPo noch nicht aktiv)

    Alpha-numerisch

    20 optional Test123

    X X X recipient Name des Empfängers Alpha-nume