Abrufen von Trackinginformationen für Sendungen
Mit der exporto API können technische Integrationspartner den Verarbeitungsstatus einzelner Sendungen (Shipments) abrufen. Diese Informationen geben Aufschluss darüber:
ob eine Sendung bereits durch exporto verarbeitet wurde,
ob sie erfolgreich verzollt wurde,
und welchen Status die Zustellung durch den Last-Mile-Carrier aktuell hat.
Empfohlener Ablauf zum Abrufen von Trackingdaten
Es gibt zwei Möglichkeiten, Trackinginformationen abzurufen:
Direktabruf einzelner Shipments per shipmentId über GET /shipment/{shipmentId}
Suchen und abrufen von mehreren Sendungen
1. Direktabruf einzelner Sendungen
Wenn die shipmentID bekannt ist, kann der aktuelle Status direkt über den folgenden Endpunkt abgefragt werden:
Die API-Antwort (Response) enthält unter anderem folgende Statusinformationen und Zeitstempel, die die Verarbeitungskette des Shipments abbilden:
Diese Werte geben Aufschluss darüber, wann eine Sendung verarbeitet, verzollt, an den Carrier übergeben oder zugestellt wurde.
2. Suchen und abrufen von mehreren Sendungen
Über den Endpunkt GET /shipment/search lassen sich Sendungen finden und ihr aktueller Status sowie die Tracking-Informationen abrufen. Zurückgegeben wird eine paginierte Liste – der Endpunkt eignet sich also sowohl für einzelne Abfragen als auch für das regelmäßige Pollen nach Updates.
Wie gesucht wird
Alle Filter sind optional und können kombiniert werden. Am häufigsten schränkt man die Ergebnisse über den Sendungstyp (type) ein – outbound für Sendungen auf dem Weg zum Endkunden oder inbound – sowie über eine Tracking-ID: Eine bestimmte Sendung findet man über foreignOutboundTrackingId (Carrier-Strecke zum Endkunden) oder foreignInboundTrackingId (Carrier-Strecke zum Lager). Beide Tracking-Suchen vergleichen exakt.
Zusätzlich kann über processedAt zeitlich gefiltert werden: Damit werden alle Sendungen zurückgegeben, die ab einem bestimmten Zeitpunkt verarbeitet wurden – sortiert vom ältesten zum neuesten.
Die Paginierung erfolgt über page (nullbasiert) und pageSize (1–100, Standardwert 100).
Auf Updates pollen
Um das eigene System aktuell zu halten, nutzt man carrierReceivedAtUpdatedAt und carrierDeliveredAtUpdatedAt. Diese geben Sendungen zurück, deren „carrier-received"- bzw. „carrier-delivered"-Information nach einem bestimmten Zeitpunkt aktualisiert wurde. Bewusst wird dabei der Zeitpunkt des Tracking-Imports herangezogen und nicht der Zeitpunkt, an dem das Carrier-Ereignis tatsächlich stattgefunden hat – so werden keine Sendungen verpasst, wenn Tracking-Daten verspätet eintreffen. Da die Ergebnisse aufsteigend nach diesem Aktualisierungszeitpunkt sortiert sind, kann man sich einfach den zuletzt gesehenen Zeitpunkt merken und ihn beim nächsten Poll wieder mitgeben.
Was zurückkommt
Jede Sendung enthält ihre shipmentId, die bei der Bestellanlage angegebene orderId, den type, den aktuellen status sowie die verfügbaren Tracking-IDs. Die status-Werte unterscheiden sich je nach Typ: Outbound-Sendungen durchlaufen new → processed → closed (oder rejected), Inbound-Sendungen verwenden announced, processed, closed, rejected, toBeClarified und disposed.
Für den Zustellfortschritt gibt carrierState wieder, was der Carrier aktuell meldet – notAvailable, pending, inDelivery, delivered oder deliveryFailed – zusammen mit Zeitstempeln dafür, wann die Sendung erstellt, verarbeitet, beim Zoll angemeldet, vom Carrier übernommen und zugestellt wurde. Zu beachten ist, dass Carrier-Status und -Zeitstempel noch nicht für jeden Carrier verfügbar sind.
Außerdem listet jede Sendung ihre lineItems (Artikel, Name, Menge, Preise, Barcode, Ursprungsland) sowie ein customs-Objekt mit Import- und Export-Status.
Die vollständige Feldreferenz und Möglichkeiten zum Testen der Anfragen finden sich in der Swagger-Dokumentation.
https://api.exporto.de/v1/docs#/Shipment/ShipmentController_searchShipments
Kontakt
Bei technischen Rückfragen oder Unterstützung bei der Implementierung steht das exporto Team gerne zur Verfügung.
Kontakt: product@exporto.de
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.