NCT - CSV Schnittstelle

1   Allgemein

1.1   Einführung

Nachfolgend wird die Schnittstelle beschrieben, die Shiptrack.com im CSV-Format anbietet. Diese Dokumentation beschreibt CSV-Dateien, die aus der ecovium-Struktur aufgebaut sind und soll Ihnen als unterstützendes Mittel bei der Schnittstellenentwicklung dienen.

 

2   Ablage der Trackingdaten

Zur Ablage der Trackingdaten, die Sie später mit Hilfe dieses Dokumentes erstellt haben, gibt es zwei Möglichkeiten.

2.1    Datenablage bei ecovium

Die Datenablage erfolgt nur über FTP - Server. Sie können mitentscheiden, ob eine SFTP Anbindung, oder eine FTP Anbindung für Sie in Frage kommt. Die Zugangsdaten zu Ihrem persönlichen FTP-Verzeichnis fragen Sie bitte bei ecovium an.

2.1.1    Ablage auf einem FTP-Server

Diese Variante der Datenablage benutzt in der Regel den Port 21 und ist eine unverschlüsselte Verbindung.

2.1.2    Ablage auf einem SFTP-Server

Diese Variante verwendet in der Regel ebenfalls den Port 21 bei ecovium, aber beinhaltet zusätzliche SSL-Einstellungen, die dafür sorgen, dass Daten in beide Richtungen verschlüsselt übertragen werden.

2.2    Datenablage bei Ihnen oder einem Drittanbieter

Es besteht auch die Möglichkeit, dass Sie die Daten auf Ihrem eigenen (S)FTP – Server ablegen. In diesen Fall benötigen wir allerdings folgende Verbindungsinformationen zum entsprechenden Server:

Name

Datentyp

Beschreibung

(S)FTP Port

Integer

Login Port für den FTP-Server (meistens 21 bei FTP oder 22 bei SFTP)

(S)FTP IP Adresse / Servername

String

Adresse des Servers

(S)FTP Ordner

String

Ablageverzeichnis/ Ablageordner des (S)FTP Servers

Username

String

Login Benutzername für den Server

Passwort

String

Login Passwort für den Server

 

2.3    Bereitstellungszeiten der Daten

Um den Datenfluss von Trackinginformationen optimal zu regeln und dem Kunden möglichst aktuelle Trackinginformationen bereitzustellen, ist es für uns notwendig, eine Auskunft darüber zu bekommen, in welchen Intervallen Sie die Trackingdaten auf unserem bzw. auf Ihrem Server bereitstellen.

 

 

3    Beschreibung der Datei

3.1    Dateinamen

Die Namenskonvention bleibt Ihnen frei überlassen. Allerdings muss jede Datei mit Statusrückmeldungen, die Sie uns übergeben die Dateiendung .csv besitzen. 

Um ein Überschreiben vorhandener Dateien zu verhindern wäre es von Vorteil, wenn jede Datei einen eigenen Namen besitzt. Dies kann z.B.: durch eine fortlaufende Nummer, oder durch das Nutzen des aktuellen Datums + Uhrzeit erfolgen.

Bsp.:

000000001.csv, 000000002.csv, 000000003.csv, … 100000001.csv, 100000002.csv

20151221081025.csv, 20151221091026.csv, 20151221101029.csv,

3.2    Dateicodierung

Die Kodierung der Dateien wird (wie in der Musterdatei unter Punkt 7 aufgeführt) als UTF8 erwartet.

3.3    CSV-Felder

3.3.1    Pflichtfelder

Einige Felder im CSV Format wurden von ecovium als Pflichtfelder definiert, die immer in einem CSV Dokument vorkommen müssen (siehe Punkte 5.1 und 6.1).

3.3.1    Optionale Felder

Die übrigen Felder sind sogenannte optionale Felder, die nicht immer in einem CSV Dokument vorkommen müssen. Dies kann z.B. daran liegen, dass Sie das Feld nicht kennen oder nicht befüllen können, da Sie die Daten dazu nicht bereitstellen bzw. übergeben können (siehe Punkte 5.2 und 6.2).

 

 

 

4    Modifizierungen

4.1    CSV-Veränderungen

Ecovium behält sich das Recht vor, das CSV jederzeit zu ändern. Eine Veränderung kann z.B. dann erfolgen, wenn Felder hinzugefügt bzw. entfernt werden.

4.2    Kundenbenachrichtigungen

Sofern wir Veränderungen am CSV Format durchführen, die für Sie relevant sind, werden wir Sie darüber zeitnah informieren, sofern Sie uns Kontaktinformationen mitgeteilt haben.

 

 

 

5    Felder mit Sendungsdaten

Die folgenden Felder enthalten Informationen über die Sendung. Bitte beachten Sie die Zuordnung der Felder in die Kategorien „Pflichtfelder“ und „Optionale Felder“.

5.1    Pflichtfelder

Name

Vorkommen

Typ

Beschreibung

Min.

Max.

shipment_tracking_id

1

1

String

Eindeutige Sendungsnummer

5.2    Optionale Felder

Name

Vorkommen

Typ

Beschreibung

Min.

Max.

send_versanddatum

0

1

Date

Datum an dem die Sendung versendet wurde; Format dd/MM/yyyy

carrier_name

0

1

String

Frachtführer/ Spedition

send_referenznr_01

0

1

String

1 Referenznummer des Kunden

send_referenznr_02

0

1

String

2 Referenznummer des Kunden

send_referenznr_03

0

1

String

3 Referenznummer des Kunden

send_referenznr_04

0

1

String

4 Referenznummer des Kunden

send_referenznr_05

0

1

String

5 Referenznummer des Kunden

send_gewichtgesamt

0

1

String

Gesamtgewicht der Sendung

send_service_code

0

1

String

Servicecode zur Sendung*1

send_service_details

0

1

String

Beschreibung zum verwendeten Servicecode*1

abs_adr_nr

0

1

String

Kundennummer des Absender (vom Spediteur)

abs_land

0

1

String

Land des Absender

abs_land_kurz

0

1

String

Zweistelliges Absenderländerkürzel (ISO3166)*4

abs_staat

0

1

String

Staat des Absender

abs_adr_01

0

1

String

Erste Adresse des Absenders

abs_adr_02

0

1

String

Zweite Adresse des Absenders

abs_adr_03

0

1

String

Dritte Adresse des Absenders

abs_strasse

0

1

String

Straße des Absenders

abs_hnr

0

1

String

Hausnummer des Absenders

abs_plz

0

1

String

Postleitzahl des Absenders

abs_ort

0

1

String

Ort des Absenders

abs_geodat_longitude

0

1

String

Längengrad der Position des Absenders*5

abs_geodat_latitude

0

1

String

Breitengrad der Position des Absenders*5

abs_mail

0

1

String

E-Mail Adresse des Absenders

abs_telefon

0

1

String

Telefonnummer des Absenders

abs_telefax

0

1

String

Fax des Absenders

empf_adr_01

0

1

String

Empfänger Adresse 01*2

empf_adr_02

0

1

String

Empfänger Adresse 02*2

empf_adr_03

0

1

String

Empfänger Adresse 03*2

empf_adr_04

0

1

String

Empfänger Adresse 04*2

empf_adr_05

0

1

String

Empfänger Adresse 05*2

empf_fax

0

1

String

Fax des Empfängers

empf_kdnr

0

1

String

Kundennummer des Empfängers (vom FF)

empf_hnr

0

1

String

Hausnummer des Empfängers

empf_iso

0

1

String

Iso Code für das Empfängerland*4

empf_land

0

1

String

Land des Empfängers

empf_ort

0

1

String

Ort des Empfängers

empf_plz

0

1

String

Postleitzahl des Empfängers

empf_staat

0

1

String

Staat des Empfängers

empf_strasse

0

1

String

Straße des Empfängers

empf_geodat_longitude

0

1

String

Längengrad der Position des Empfängers*5

empf_geodat_latitude

0

1

String

Breitengrad der Position des Empfängers*5

empf_tel

0

1

String

Telefonnummer des Empfängers

empf_mobile

0

1

String

Mobilnummer des Empfängers

empf_land_kurz

0

1

String

Zweistelliges Absenderländerkürzel (ISO3166)*3

empf_mail

0

1

String

E-Mail Adresse des Empfängers

empf_postfach

0

1

String

Postfach des Empfängers

send_id

0

1

String

Eindeutige Paketnummer

send_referenznr_06

0

1

String

Referenznummer 6

send_referenznr_07

0

1

String

Referenznummer 7

send_referenznr_08

0

1

String

Referenznummer 8

send_referenznr_09

0

1

String

Referenznummer 9

send_referenznr_10

0

1

String

Referenznummer 10

send_beschreibungsinhalt

0

1

String

Beschreibungsinhalt des Paketes

send_gewichteinzel

0

1

String

Einzelgewicht des Pakets

send_hoehe

0

1

String

Höhe des Pakets

send_laenge

0

1

String

Länge des Pakets

send_breite

0

1

String

Breite des Pakets

ruecksendung

0

1

Bool

Kennzeichnung, ob es sich bei der Sendung um eine Rücksendung handelt "true"; ansonsten "false".

 

*1 Der Servicecode ist ein fester Code, für den eine Service Beschreibung hinterlegt ist, die beschreibt, wie die Sendung verschickt wird (z.B. Nacht – oder Tagexpress, Samstaglieferung, usw.).

*2 Die Empfänger Adressen werden in der Regel nur von Feld 01 bis Feld 03 befüllt. Dabei entspricht Feld01 meistens dem Namen des Empfängers, Feld02 und Feld 03 weiteren Informationen, wie z.B. Ort und Straße bzw. Straße und Hausnummer.

*3 In der Regel ein ISO-A2 genormter Wert. Mit Absprache auch ISOA3 möglich.

*4 z.B.: 276 für Deutschland mit Länderkürzel ‚DE‘ (siehe Ländertabelle im Anhang)

*5 Die Geodaten (Längen- und Breitengrad) werden in der Dezimalschreibweise angegeben, Beispiele: "54.787767", "-113.45678", "5.353422". Bitte beachten Sie, dass der Bereich nach dem Punkt auf 20 Stellen beschränkt ist.

 

 

 

6    Felder mit Statusdaten

Die folgenden Felder enthalten Informationen über den Status der Sendung. Bitte beachten Sie auch hier die Zuordnung der Felder in die Kategorien „Pflichtfelder“ und „Optionale Felder“.

6.1    Pflichtfelder

Name

Vorkommen

Typ

Beschreibung

Min.

Max.

status_code

1

1

String

Eventcode / Statuscode

status_date

1

1

Date

Datum und ggf. Uhrzeit des Status (Format dd/MM/yyyy/HH:mm)

6.2    Optionale Felder

Name

Vorkommen

Typ

Beschreibung

Min.

Max.

status_details

0

1

String

Beschreibung des Status

status_country

0

1

String

2- stelliges Länderkürzel für das Land, wo die Scannung stattfindet 

status_state

0

1

String

Staat, wo die Scannung stattfindet

status_city

0

1

String

Ort oder Stadt, wo die Scannung stattfindet

status_zip

0

1

String

Postleitzahl des Ortes oder der Stadt, wo die Scannung stattfindet

status_street

0

1

String

Straße (und Hausnummer), wo die Scannung stattfindet

status_depot_name

0

1

String

Name des Scandepots

status_drop_location

0

1

String

Ablageort bei der Scannung

status_geodat_longitude

0

1

String

Längengrad der Position des Statusevents *1  

status_geodat_latitude

0

1

String

Breitengrad der Position des Statusevents *1

status_recipient

0

1

String

Unterschriftsleistender bei der Scannung

status_additional_Info

0

1

String

Zusätzliche Informationen zu der Statusbeschreibung Status

 

*1  Die Geodaten (Längen- und Breitengrad) werden in der Dezimalschreibweise angegeben, Beispiele: "54.787767", "-113.45678", "5.353422". Bitte beachten Sie, dass der Bereich nach dem Punkt auf 20 Stellen beschränkt ist.

 

 

 

7    Musterdatei

7.1    Kopfzeile

Die Felder besitzen in unserer CSV-Vorlage eine bestimmte Reihenfolge, welche in der Kopfzeile der Datei aufgeführt wird: 

"shipment_tracking_id";"carrier_name";"send_versanddatum";"send_referenznr_01";"send_referenznr_02";"send_referenznr_03";"send_referenznr_04";"send_referenznr_05";"send_gewichtgesamt";"send_servicecode";"send_service_details";"abs_adr_nr";"abs_land";"abs_land_kurz";"abs_staat";"abs_adr_01";"abs_adr_02";"abs_adr_03";"abs_strasse";"abs_hnr";"abs_plz";"abs_ort";"abs_geodat_longitude";"abs_geodat_latitude";"abs_mail";"abs_telefon";"abs_telefax";"empf_adr_01";"empf_adr_02";"empf_adr_03";"empf_adr_04";"empf_adr_05";"empf_fax";"empf_kdnr";"empf_hnr";"empf_iso";"empf_land";"empf_ort";"empf_plz";"empf_staat";"empf_strasse";"empf_geodat_longitude";"empf_geodat_latitude";"empf_tel";"empf_mobile";"empf_land_kurz";"empf_mail";"empf_postfach";"send_id";"send_referenznr_06";"send_referenznr07";"send_referenznr08";"send_referenznr09";"send_referenznr10";"send_beschreibunginhalt";"send_gewichteinzel";"send_hoehe";"send_laenge";"send_breite";"ruecksendung";"status_code";"status_date";"status_details";"status_country";"status_state";"status_city";"status_zip";"status_street";"status_depot_name";"status_drop_location";"status_geodat_longitude";"status_geodat_latitude";"status_recipient";"status_additional_info"

 Denken Sie daran, dass nicht alle Felder verwendet werden müssen oder aktuell auf Shiptrack.com angezeigt werden.

 7.2    Datei

  File Modified

File NCT_example.csv

Jun 07, 2022 by Michael.Landwehr

 

 

 

 

8    Statuscodes

Um Trackinginformationen auswerten zu können, benötigen wir einen festen Statuscode mit einer dazugehörigen Beschreibung.

8.1     Shiptrack-Codes

Sofern sie so etwas nicht vorliegen haben können Sie unseren internen Statuscodes nutzen. Intern werden von uns folgenden Statuscodes genutzt: 

Statuscode

Beschreibung

data_transmitted

Daten wurden an Frachtführer gemeldet

transit

In Bewegung

out_for_delivery

Im Zustellprozess

delivered

Zugestellt

pick_up

Paket wurde abgeholt

defect_delivered

Ausgeliefert mit Mängeln

fault

Fehler

delay

Verzögerung

cancelled

Storniert

deny

Annahme verweigert

information

Status-Updates

 

1.2     Externe Codes

Jegliche Änderungen, Anpassungen oder das Hinzufügen von Statuscodes und Beschreibungen sind für uns mit Arbeit verbunden. Wenn Sie diesbezüglich Wünsche haben, können Sie sich gerne mit uns in Kontakt setzten, sollen aber bedenken, dass Änderungen, Anpassungen und auch das Hinzufügen von neuen Statuscodes kostenpflichtige Leistungen sind.

 

 

 

9    Ländertabelle

Hier ist eine Version der aktuellen Länderkürzel mit Ihren entsprechenden hinterlegten ISO Codes aufgeführt.