shiptrack.com SOAP Schnittstelle - deutsch

1      Allgemein

1.1    Änderungshistorie

Rev. NrDatumFirmaMitarbeiterBeschreibung der Änderung

1.0

16.09.2015

MHP

ML

Erstellung des Dokuments

1.1

07.07.2016

MHP

MWi

Ergänzung der einzelnen Ebenen bei den optionalen Feldern und Anpassungen am Format des Dokuments

1.2

05.09.2016

MHP

ML

WSDL überarbeitet, Zugang Testsystem erstellt

1.3

13.09.2016

MHP

LK

Ergänzung fehlender Frachtführerkürzel

1.4

13.06.2017

MHP

LRS

Ergänzung der fehlenden Frachtführerkürzel und Hinzufügen neuer Parameter

1.5

15.06.2017

MHP

LRS

Ergänzung um weitere Parameter und Frachtführerkürzel

1.6

19.06.2017

MHP

LRS

Allg. Anpassungen u. weitere Parameter

1.7

22.06.2017

MHP

LRS

Erweiterung um Sendungsanlage mittels PUT

1.8

23.06.2017

MHP

LRS

Ergänzung um neue WSDLs

1.8.1

16.08.2017

MHP

LK

Layout-Anpassungen

1.8.3

21.12.2017

MHP

ML

Shipmenttags & VorsystemIds rein rein  Testsystem raus

1.8.420.02.2019MHPMLZusätzliche Objekte wie Dokumente, Incidents und Timings
1.8.504.08.2020MHPRSUpdate Frachtführerkürzel
1.8.609.04.2021MHPMWiAktualisierung übermittelter Felder

1.2    Einführung


Nachfolgend wird die SOAP Schnittstelle beschrieben, die vom Shiptrack.com Service angeboten. Die Schnittstelle arbeitet nach dem SOAP-Standard. Die Authentifizierung des Nutzers der Schnittstelle wird mit der HTTP-Basic Authentifizierung durchgeführt.

1.3    Fehlerbehandlung

Damit bei einem auftretenden Fehler in der Schnittstelle der Aufrufer eine aussagekräftige Fehlermeldung bekommt, sendet die Schnittstelle eine Antwort mit einem HTTP-Statuscode, der den Fehler repräsentiert. Außerdem wird eine Nachricht zurückgeliefert, die Detailinformationen zum Fehler enthält. Für den Fehler, dass ein Kunde als Parameter angegeben wird, der nicht existiert, wird zum Beispiel der HTTP-Statuscode 404 zurückgesendet. Die dazugehörige Detail-Fehlermeldung sieht wie folgt aus:

Der Standardfehlercode für undefinierte Fehler ist der HTTP-Statuscode 505. Nachfolgend ist eine Tabelle mit allen bekannten Shiptrack.com spezifischen Fehlercodes aufgelistet:

Fehlercode

HTTP-Status

Beschreibung

404.1

404

Die angegebene Client-Id existiert nicht in der Datenbank

400.1

400

Das angegebene Datumsformat im since-Parameter entspricht nicht den Richtlinien

500.1

500

Es ist kein Statusbaum konfiguriert um die Status auszuwerten

2      Sendungsverfolgungsdaten

Über die SOAP Schnittstellen können die Sendungsverfolgungsdaten mithilfe von zwei Funktionen abgerufen werden, die ein gefiltertes Ergebnis der gesamten Sendungsverfolgungsdaten eines Kunden zurückliefern. Beide Funktionen liefern das Ergebnis in Form eines XML-Strings, dessen Format im nachfolgenden Kapitel erläutert wird.  Die zugehörige WSDL die den SOAP Webservice beschreibt befindet sich im Anhang.


2.1    Sammelabfrage

URL Livesystem: https://service.shiptrack.com:8443/shipments

Der Parameter Client-Id muss mit der mitgeteilten Kunden-Id gefüllt werden.


2.1.1    GET

Mit der http-Methode GET werden alle Sendungen, die den Kunden mit der in der URL angegebenen Client-Id zugeordnet sind auf. Das Ergebnis wird als XML zurückgeliefert und als Stream übertragen. Die Liste der Sendungsdaten die zurückgeschickt wird, kann mit folgenden optionalen GET Parametern eingeschränkt werden:

  • since Wird dieser Parameter angegeben, werden nur Datensätze zurückgeliefert, die seit dem Zeitpunkt importiert oder bei denen neue Daten hinzugefügt wurden.
    Datentyp:
    Datum - Format(YYYYMMddHHmmss) in der Zeitzone UTC oder ISO-8601
  • until Wird dieser Parameter angegeben, werden nur Datensätze zurückgeliefert, die bis zu dem Zeitpunkt importiert oder bei denen neue Daten hinzugefügt wurden.
    Datentyp:
    Datum - Format(YYYYMMddHHmmss) in der Zeitzone UTC oder ISO-8601
  • onlyUpdates Wenn dieser Parameter true ist, werden nur die Schlüssel der Datensätze zurückgeliefert, die sich geändert haben.
    Datentyp:
    Boolean (true/false)


2.2    Einzelabfrage

URL:  https://service.shiptrack.com:8443/shipmentsSearch

Der Parameter Client-Id muss mit der mitgeteilten Kunden-Id gefüllt werden.


2.2.1    GetWithTrackingNr

Führt eine Suche auf der Trackingnummer einer Sendung oder eines Paketes durch. Es wird immer die komplette Sendung zurückgeliefert auch wenn die Trackingnummer sich auf Paketebene findet. Betroffene Felder sind: shipment_tracking_id auf Sendungsebene und send_id auf Paketebene.

Parameter

Beschreibung

client

Id des Shiptrack.com Kunden. Wird von MHP mitgeteilt.

trackingNr

Trackingnummer nach der gesucht werden soll.

2.2.2    GetWithReferenceNr

Dieser Aufruf ermöglicht eine Suche auf den Referenznummern einer Sendung, sowohl auf Sendungs- als auch auf Paketebene. Der angegebene Wert wird in folgenden Feldern gesucht: send_referenznr_01, send_referenznr_02, send_referenznr_03, send_referenznr_04, send_referenznr_05 auf Sendungsebene und send_referenznr_06, send_referenznr_07, send_referenznr_08, send_referenznr_09, send_referenznr_10 auf Paketebene.

Parameter

Beschreibung

client

Id des Shiptrack.com Kunden. Wird von MHP mitgeteilt.

referenceNr

Referenznummer nach der gesucht werden soll.

2.3    Sendungsanlage via PUT

Mit Hilfe des http-Verbs PUT lassen sich sowohl einzelne als auch mehrere Sendungen an den Service übermitteln. Zur erfolgreichen Übermittlung müssen die in Abschnitt 2.3.1 definierten Minimalfelder angegeben werden.

Nach erfolgreicher Übermittlung stehen die Daten stehen die Daten nicht sofort zum Abruf über die Sammel- oder Einzelabfrage zur Verfügung sondern müssen zunächst durch den Service

abgearbeitet werden

2.3.1    Minimale Felder für die Anlage einer Sendung

Parameter

Beschreibung

shipment_tracking_id

Tracking-Sendungsnummer des Frachtführers

frachtfuehrer

Kürzel des Frachtführers

send_versanddatum

Datum an dem die Sendung versendet wurde

2.3.2   Beispiel für die Anlage einer Sendung


2.4    Sendungsverfolgungsdatenformat

Nachfolgend wird das Format der Sendungsverfolgungsdaten, welche von der Schnittstelle zurückgeliefert und angenommen werden erläutert.


Die Übertragung der Daten findet im XML-Format statt. Die Kodierung des XML erfolgt immer als UTF-8 und beginnt mit dem Tag „workitem“. Innerhalb des Tags „workitem“ können eine oder mehrere Sendungen übergeben werden. Eine Sendung wird dabei immer mit dem Tag „shipment“ eingeleitet. Wichtig dabei ist, dass bei dem „shipment“ Tag immer das Attribut „collection“ mit dem Wert „true“ vorhanden ist. Ebenso werden alle Tags, die in dem XML vorkommen, kleingeschrieben.

Beispiel der Grundstruktur:


Beispiel der Grundstruktur mit mehreren Sendungen:


Eine Sendung kann wiederum ein oder mehrere Pakete enthalten. Ein Paket wird dabei mit dem Tag „package“ eingeleitet. Auch bei diesem Tag muss das Attribut „collection“ mit dem Wert „true“ angegeben werden.

Beispiel einer Sendung mit einem Paket:


Beispiel einer Sendung mit mehreren Paketen:


Somit wird mindestens folgende Nachricht übertragen:

Eine Abfrage mit Daten ist wie folgt aufgebaut:


2.4.1    Status-Codes

Im zurückgelieferten Ergebnis sind sowohl Status-Werte auf Ebene der Sendung unter dem Schlüssel shipment.shipment_tracking_id.status_code zu finden, als auch auf der Ebene einzelner Pakete. Diese sind unter dem Schlüssel shipment.package.package_tracking_status.status_path zu finden. Die genannten Schlüssel enthalten von MHP normierte Status-Codes. Diese Status-Codes sind im Anhang in separaten Tabellen aufgelistet.

Der Status-Code, der unter dem shipment.package.package_tracking_status.status_code zu finden ist, ist der originale Status-Code der vom Frachtführer übermittelt wurde.

2.4.2    Minimal Felder

Das Ergebnis kann je nach vorhandenem Informationsvolumen mehr oder weniger Informationen enthalten. In der nachfolgenden Tabelle sind alle Felder mit einer Beschreibung aufgeführt die bei jeder Anfrage mindestens mitgesendet werden.

Feld

Beschreibung

shipment_tracking_id

Tracking-Sendungsnummer des Frachtführers.

shipment_id

Eindeutige Id der Sendung im Shiptrack.com System.

frachtfuehrer

Kürzel des Frachtführers, mit dem die Sendung befördert wird.

package.send_id

Tracking-Paketnummer des Frachtführers.

send_versanddatum

Datum an dem die Sendung versendet wurde.

2.4.3    Datumswerte

Datumswerte werden in den Sendungsdaten immer nach folgendem Schema dargestellt:

Feld

Beschreibung

date

Datum im Format mm/dd/yyyy

time

Zeit im Format hh:mm:ss

timezone

Zeitzone. Optionales Feld. Wenn Feld nicht angegeben ist die Zeitzone unbekannt.

timezone.name

Name der Zeitzone

timezone.offset

Offset zur UTC Zeitzone


2.4.4    Optionale Felder

Nachfolgend sind optionale Felder aufgeführt die in der Antwort enthalten sind. Die einzelnen Ebenen werden mithilfe von Punkten getrennt.

2.4.4.1   Shipmentebene

Alle diese Felder befinden sich auf der Shipment-Ebene, weswegen diese nicht explizit angegeben wird.

Feld

Beschreibung

send_referenznr_1

Referenznummer 1

send_referenznr_2

Referenznummer 2

send_referenznr_3

Referenznummer 3

send_referenznr_4

Referenznummer 4

send_referenznr_5

Referenznummer 5

abs_adr_01

Absenderadresse 1

abs_adr_02

Absenderadresse 2

abs_adr_03

Absenderadresse 2

abs_strasse

Absenderstraße

abs_plz

Absenderpostleitzahl

abs_ort

Absenderort

abs_land

Absenderland

abs_land_kurz

Zweistelliges Absenderländerkürzel (ISO3166)

abs_region

Bundesland/Kanton des Absenders

abs_mail

Absendermail

abs_telefon

Absendertelefon

abs_telefax

Absenderfax

abs_loc

Standort des Absenders

empf_adr_01

Empfängeradresse 1

empf_adr_02

Empfängeradresse 2

empf_adr_03

Empfängeradresse 2

empf_strasse

Empfängerstraße

empf_hnr

Empfängerhausnummer

empf_plz

Empfängerpostleitzahl

empf_ort

Empfängerort

empf_land_kurz

Zweistelliges Empfängerländerkürzel (ISO3166)

empf_land

Empfängerland

empf_staat

Staat des Empfängers

empf_iso

ISO-Code des Empfängers

empf_nationalitaet

Nationalität des Empfängers

Empf_postfach

Postfach des Empfängers

empf_mail

Empfängermail

empf_tel

Empfängertelefon

empf_kdnr

Empfängerkundennummer

send_gewichtgesamt

Gewicht aller Pakete in der Sendung

shipment_tracking_url

Link auf eine gebuchte Portalseite mit Trackinginformationen

send_abholdatum

Abholdatum der Sendung

send_anz

Anzahl der Pakete in der Sendung

send_kundenkennung

ggf. besondere Kundennummer

send_termindatum

Auslieferungsfälligkeit

send_service_code

Code Zusatzinformationen zur Sendung

send_service_details

Zusatzinformationen zur Sendung

send_art_lademittel_01

Palette, Paket …

send_nachnahmebetrag

Nachnahmebetrag

send_nachnahmewaehrung

Nachnahmebetrag Währung

send_mandant

Mandant einer Sendung

send_service_code

Service code

send_service_details

Details zur Serviceart

send_customerservice

Freie Bezeichnung der Serviceart (z.B. Express, Overnight)

shipment_tags

Spezielle Key-Value Parameter (inbound, outbound b2b,b2c)

send_estimatedtimeofarrival

Voraussichtliche Lieferzeit

send_contractedtimeofarrival

Vertragliche Lieferzeit

send_versandart_kunde

Serviceart Versand

sourcesystem_shipmentid

Eindeutige ID der Sendung aus dem Vorsystem

2.4.4.2   Shipmentstatusebene

Alle diese Felder können sich auf der Shipment-Tracking-Status-Ebene befinden.

Feld

Beschreibung

status_date

Statusdatum

status_code

MHP-Statuscode

2.4.4.3   Packageebene

Alle diese Felder können sich auf der Package-Ebene befinden.

Feld

Beschreibung

send_referenznr_6

Referenznummer 6

send_referenznr_7

Referenznummer 7

send_referenznr_8

Referenznummer 8

send_referenznr_9

Referenznummer 9

send_referenznr_10

Referenznummer 10

send_anzahllademittel_01

Anzahl der Lademittel 01

send_anzahllademittel_02

Anzahl der Lademittel 02

send_anzahllademittel_03

Anzahl der Lademittel 03

send_anzahllademittel_04

Anzahl der Lademittel 04

send_artlademittel_01

Art des Lademittels 01

send_gewichteinzel

Gewicht des Pakets

send_hoehe

Höhe des Pakets

send_laenge

Länge des Pakets

send_breite

Breite des Pakets

send_versandart

Versandart des Pakets

send_zusatz

Zusätzliche Pakete

sourcesystem_packageid

Eindeutige ID des Pakets aus dem Vorsystem

2.4.4.4   Packagestatusebene

Alle diese Felder können sich ebenfalls auf der Package-Tracking-Status-Ebene befinden.

Feld

Beschreibung

status_date

Statusdatum

status_details

Statusdetails

status_code

Statuscode

status_path.status_code

MHP-Statuscode

status_recipient

Wer hat das Paket entgegengenommen

status_drop_location

Detail, wo z.B. das Paket abgelegt wurde

status_country

Statusland kurz

status_zip

Status Postleitzahl

status_city

Statusort

Status_state

Staat zum Status

status_street

Statusstraße

status_depot_name

Status-Depotname

status_additional_info

Zusatzinformationen zum Status

Status_loc

Standort zum Status

2.4.4.5   Dokumentebene

Diese Ebene befindet sich innerhalb der Shipment-Ebene.

Feld

Beschreibung

shipment_document_id

Eindeutige DokumentenId

shipment_document_status_type

Status des Dokuments. Derzeit mögliche Status:("ShipmentDocumentOnInternalStorageStatus",
"ShipmentDocumentOnExternalStorageStatus",
"ShipmentDocumentExistsStatus",
"ShipmentDocumentDownloadErrorStatus")

shipment_document_type

Dokumentart. Beispiele:

"PoD",
"CustomsDocument",
"Invoice",
"Misc",
"Waybill"

url

Eindeutiger Pfad zum Dokument

created

Erstellungsdatum des Dokuments in der Datenbank

shipment_document_originalname

Originalname des Dokuments, wenn vorhanden

mimetype

Dokumententyp (tif, gif, png, pdf ...)

size

Dokumentengröße in byte

shipment_document_description

Beschreibung des Dokuments

2.4.4.6   Incidentebene

Diese Ebene befindet sich innerhalb der Shipment-Ebene.

Feld

Beschreibung

name

Name der Definition, die gegriffen hat

definition

Guid zur Definition, die gegriffen hat

created

Erstellungsdatum des Incidents

2.4.4.7   Timingebene

Diese Ebene befindet sich innerhalb der Shipment-Ebene.

Feld

Beschreibung

type

Typ des Timings (ETA, GTA, FIX)

calculation_quality

Trefferqualität ETA (ContryToCountry → PlzToPlzWithServicedefinition)

source.label

Wer hat es erstellt oder berechnet (derzeit MHP oder Carrier)

source.service_definition_guidEindeutige Id der zugrundeliegenden Versandart
source.transit_times_guidEindeutige Id der zugrundeliegenden  Versandart
source.hours_added.hours_totalSumme der Tage aus hours_saturday, hours_sunday & hours_holiday
source.hours_added.hours_saturdayAnzahl der Samstage, die auf die Laufzeit drauf gerechnet wurden
source.hours_added.hours_sundayAnzahl der Sonntage, die auf die Laufzeit drauf gerechnet wurden
source.hours_added.hours_holidayAnzahl der Feiertage, die auf die Laufzeit drauf gerechnet wurden
creation_dateErstellungszeitpunkt der Berechnung
range.from_dateErrechneter Lieferzeitpunkt von (Datum + Uhrzeit)
range.to_dateErrechneter Lieferzeitpunkt bis (Datum + Uhrzeit)

3      Anhang

3.1    Mögliche Status-Codes auf Sendungsebene

Nachfolgend sind die sämtliche Status-Codes aufgelistet, die auf Sendungsebene verwendet werden.

Code

Beschreibung

transit

In Zustellung

delivered

Ausgeliefert

partial_delivered

Teilausgeliefert

deny

Annahme wurde vom Empfänger verweigert

fault

Fehler

delay

Verzug

data_recorded

Sendung erfasst

3.2    Mögliche Status-Codes auf Paketebene

In der folgenden Tabelle sind alles Status-Codes aufgelistet, die auf Paketebene verwendet werden.


Code

Beschreibung

Beispiele

undefined

Unbekannter Schlüssel


data_transmitted

Daten wurden an Frachtführer gemeldet

Kann von V-LOG gesetzt  oder vom Frachtführer gemeldet werden

transit

In Bewegung

Eingang/Ausgang Scans

out_for_delivery

Im Zustellprozess

letzte Meile, Ins Zustellfahrzeug geladen

delivered

Zugestellt


pick_up

Paket wurde abgeholt

Paket wurde dem Frachtführer übergeben, Abholung durch Frachtführer oder Übergabe der Sendung in einer Filiale

defect_delivered

Ausgeliefert mit Mängeln

Trotz Fehler vom Empfänger unter Vorbehalt angenommen

fault

Fehler

Beschädigt, Verloren gegangen,

delay

Verzögerung

Empfänger nicht angetroffen, Abholung nicht möglich wegen Urlaub,

canceled

Storniert

Versender bricht ab

deny

Annahme verweigert

Empfänger nimmt nicht an, Empfänger sendet zurück

information

Status-Updates

Temperatur, Gewicht



3.3    Frachtführerkürzel

Nachfolgend werden alle derzeit bekannten Frachtführerkürzel aufgelistet.

Kürzel

Frachtführer

ABCLOGISTIKABC-Lokistik
AGILITYAgility
APAEXPRESSDHL Express Austria

APD

DPD Österreich / Prime Time

ASR

DB Schenker Österreich

ATP

Österreichische Post (AG)

BDP

Belgische Post (Bpost)

BLM

Bleckmann Niederlande

BOOSBoos Logistik

BRT

Bartolini Italien 

BURSPEDBursped Speditions-G.m.b.H. & Co.
CAMCamion Transport CH
CESCity Express Serbia
CHCPost Schweiz Cargo
CHESchweizer Post Express

CHP

Schweizer Post (CH)

COLISSIMOColissimo FR
COUCoureon Logistics GmbH
CPLSpedition Planzer (Schweiz)
CTTCTT Correios POR

DCH

Dachser

DHCDHL Parcel Connect
DhlDassDHL Paket
DHBDHL Benelux
DhlIftstaDHL Express
DHLProActiveDHL Paket
DhlPushDHL Paket

DHL

DHL Paket

DHLEXPRESSDHL Express
DHMDHL Home Delivery
DHNDHL Parcel Netherland

DKS

Logwin Logistik

DPB

Deutsche Post AG (DV-Freimachung von Briefsendungen)

DPD

Dynamic Parcel Distribution - Geopost

DPDUKDynamic Parcel Distribution United Kingdom
DSVDSV Global Transport and Logistics
DSWSwipBox

DTL

Deutsche Textil Logistik

DtlIftstaDeutsche Textil Logistik

DZS

DHL Freight (Danzas)

EAKAzkar, Dachser Spanien

ECS

Correos ES . Public

EMS

Emons

ESR

SEUR (E)

FCPColis Privé
FCRChronopost Frankreich
FDEDelivengo

FDX

FedEx

FMRMondial Relay Distribution FR

FNT

TNT Frankreich

FPDDPD Frankreich
FRPLa Poste (FR)
FSRSchenker Frankreich
GEFCOGroupages express de Franche-Comté

GLS

General Logistic Systems

GLSFRGeneral Logistic Systems France
GLSHUGeneral Logistic Systems Hungary
GLSROGeneral Logistic Systems Romania

GON

GO! Express & Logistics

GPC

Geis Parcel CZ

GSMSecured Mail
GWWGebrüder Weiss
HEPPNERHeppner

HES

Hermes 2 Man Handling

HUGGERHugger

HVS

Hermes Versand Service

HWL

Hellmann Worldwide Logistics

IDSGEISHans Geis
IDSKUNKühne & Nagel
IDSSCHMIDSpedition Andres Schmid
INNIGHTBENELUXTNT Innight NL
INNIGHTDEATTNT Innight DE, AT
INSIntersoft 

JENSCH

Jentsch Logistik

KIA

Kiala

KNUBBENKnubben (OSL)
KIESSLINGSpedition Kiessling

KLEINE

Spedition Kleine

LAGERMAXSpedition Lagermax
NBRBring Parcel Norway

NCT

Neutral Carrier Tracking (MHP)

NELLENQUACK

Nellen & Quack

NOERPELSpedition Nörpel
NOLIMITNoLimit
NOTHEGGERSpedition Nothegger

NSE

Night Star Express

NTGLOGISTICSNTG Logistik
OETJENSpedition Oetjen
ONTIMESpedition Ontime

OPL

Opal

PDKPost Denmark
PHLDHL Poland

PON

Post Nord

QUEHENBERGERQuehenberger Logistics
PLPPost Polzka
PPLProfessional Parcel Logistic

RABEN

Raben Group

RHE

Rhenus Logistics

SCHAEFSchäflein Spedition
SDGSeven Days Logistics
SEPPost Schweden
SEVENSENDERSSeven Senders
SKDDHL Parcel Slovensko
SKPPosta Slovenska

SKR

Schenker Worldwide

THIJS

Thijs Logistiek

TIN

TNT Innight Deutschland/Österreich

TMD

Transmed

TNT

TNT Deutschland

TOF

Trans-o-flex

TPG

Post (Niederlande)

TPOCeska Posta
UKMDHL Parcel UK Mail

UPS

United Parcel Service

WLSWLS Spedition
ZOBELSpedition Zobel

3.4    WSDL

3.4.1    WSDL für Shipments

3.4.2    WSDL für ShipmentsSearch