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
Â
Â
Â
Â
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.
Â