Struktura
Zasób Tracking
posiada następujące atrybuty:
Atrybut | Typ | Opis | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tracking_number | String | Numer przesyłki | ||||||||||||||||||
type | String | Rodzaj przesyłki. Dostępne rodzaje opisane są na stronie Rozmiary i usługi dla przesyłek | ||||||||||||||||||
service | String | Rodzaj przesyłki. Dostępne rodzaje opisane są na stronie Rozmiary i usługi dla przesyłek | ||||||||||||||||||
custom_attributes | Object | Dodatkowe atrybuty dla przesyłek paczkomatowych.
| ||||||||||||||||||
status | String | Status w jakim aktualnie znajduje się przesyłka. | ||||||||||||||||||
created_at | DateTime | Data utworzenia przesyłki. | ||||||||||||||||||
updated_at | DateTime | Data ostatniej aktualizacji informacji o zmianie statusu. | ||||||||||||||||||
tracking_details | Array | Tablica obiektów zawierające historię zmian statusów, posortowana chronologicznie w kolejności malejącej (ostatni status jest pierwszy na liście).
| ||||||||||||||||||
expected_flow | Array | Tablica przewidywanych statusów, przez które może przejść jeszcze określona przesyłka. |
Przykład zasobu Tracker
w formacie JSON:
{ "tracking_number": "612345678901234567890123", "type": "inpost_locker_standard", "service": "inpost_locker_standard", "status": "dispatched_by_sender", "custom_attributes": { "size": "A" "target_point_id": "KRA000", "target_machine_detail": { "href": "https://api-pl-points.easypack24.net/v1/points/AAA000", "name": "AAA000", "opening_hours": "PN-PT 09:00-16:00", "location_description": "Beta Agencja Usługowo-Finansowa", "location": { "latitude": 50.26899, "longitude": 18.97812 }, "address": { "line1": "ul.Reymonta 999", "line2": "33-333 Kraków" }, "type": [ "parcel_locker" ] }, }, "tracking_details": [ { "status": "dispatched_by_sender", "origin_status": "NWP", "agency": "Kraków", "datetime": "2015-09-17T11:28:00.000+02:00" }, { "status": "confirmed", "origin_status": "PPN", "agency": null, "datetime": "2015-09-17T10:28:00.000+02:00" } ], "expected_flow": [], "created_at": "2015-09-17T08:00:00.000+02:00", "updated_at": "2015-09-17T11:28:00.000+02:00", }
określ rodzaj zapytania i ścieżkę do funkcjonalności, np. GET /v1/machines
Parametry
Parametr | Typ | Opis |
---|---|---|
Przykład zapytania
GET W_TYM_MIEJSCU_WSTAW_SCIEZKE_DO_FUNKCJI HTTP/1.1 Host: api-shipx-pl.easypack24.net Content-Type: application/json Authorization: Bearer lkfjasd9f70y43ohriw...[ommited for brevity]... Jeśli zasób wywoływany jest metodą POST, umieść tutaj przykład przesyłanych danych w odpowiednim formacie (najczęściej JSON).
Odpowiedź
HTTP/1.1 200 OK Content-Type: application/json Przykład odpowiedzi (JSON) - dla sukcesu (HTTP Status Code 200)
Uwierzytelnianie
Zasób Tracking nie jest autoryzowany, nie jest wymagane podanie tokenu.
Historia przesyłki
Pobieranie informacji o zmianach statusów dla określonej przesyłki:
GET /v1/tracking/:tracking_number
Przykład zapytania
curl -X GET https://api-shipx-pl.easypack24.net/v1/tracking/612345678901234567890123 -H 'content-type: application/json'
Odpowiedź
Gdy podany numer przesyłki jest poprawny i zostały odnalezione informacje o przesyłce, serwer zwróci odpowiedź jak poniżej:
HTTP/1.1 200 OK Content-Type: application/json { "tracking_number": "612345678901234567890123", "type": "inpost_locker_standard", "service": "inpost_locker_standard", "status": "dispatched_by_sender", "custom_attributes": { "size": "A" "target_point_id": "KRA000", "target_machine_detail": { "href": "https://api-pl-points.easypack24.net/v1/points/AAA000", "name": "AAA000", "opening_hours": "PN-PT 09:00-16:00", "location_description": "Beta Agencja Usługowo-Finansowa", "location": { "latitude": 50.26899, "longitude": 18.97812 }, "address": { "line1": "ul.Reymonta 999", "line2": "33-333 Kraków" }, "type": [ "parcel_locker" ] }, }, "tracking_details": [ { "status": "dispatched_by_sender", "origin_status": "NWP", "datetime": "2015-09-17T11:28:00.000+02:00" }, { "status": "confirmed", "origin_status": "PPN", "datetime": "2015-09-17T10:28:00.000+02:00" } ], "expected_flow": [], "created_at": "2015-09-17T08:00:00.000+02:00", "updated_at": "2015-09-17T11:28:00.000+02:00", }
Przykład odpowiedzi w sytuacji gdy informacje o przesyłce nie zostały odnalezione:
HTTP/1.1 404 Not Found Content-Type: application/json { "status": 404, "error": "resource_not_found", "description": "Tracking information about 612345678901234567890123 InPost Locker shipment has not been found.", "details": null }
Przykład odpowiedzi w sytuacji, gdy system nie był w stanie rozpoznać rodzaju przesyłki na podstawie podanego numeru:
HTTP/1.1 400 Bad Request Content-Type: application/json { "status": 400, "error": "uknown_tracking_number", "message": "Cannot identify type of shipment by given tracking number (612345678901234567890123)", "details": null }
Flow przesyłek (wygaszone)
Dla każdego z rodzajów przesyłek może występować różne, spodziewane flow (expected_flow
).
Pobieranie flow dla określonego rodzaju przesyłki
/v1/tracking/flow/:shipment_type
Możliwe wartości dla parametru :shipment_type
zostały określone na stronie API Przesyłka.
Przykład zapytania
curl -X GET https://api-shipx-pl.easypack24.net/v1/tracking/flow/inpost_locker_standard -H 'content-type: application/json'
Przykład odpowiedzi
HTTP/1.1 200 OK Content-Type: application/json {}
Historia serwisu przesyłek
Paczki mieszane mogą zmieniać swój serwis w tracie procesu logistycznego.
Historię ostatniego serwisu paczki można przeglądać, odpytują poniższy zasób:
Przykład zapytania
curl -X GET https://api-shipx-pl.easypack24.net/v1/tracking/523000015802677003881245/service_history -H 'content-type: application/json'
Przykład odpowiedzi
HTTP/1.1 200 OK Content-Type: application/json { "href": "https://api-shipx-pl.easypack24.net/v1/shipments/120" "id": "120" "service_history": { "last_service": "inpost_courier_standard", "updated_at": "2017-10-27T12:39:02.125+02:00" } }