Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Zasób asób Tracking reprezentuje obiekt z informacjami o aktualnym stanie przesyłki w procesie logistycznym. Za jego pomocą można uzyskać informacje o utworzeniu przesyłki, ostatniej zmianie statusu czy też historii statusów.

Table of Contents
minLevel2
 

Struktura

Zasób Tracking posiada następujące atrybuty:

AtrybutTypOpis
tracking_numberStringNumer przesyłki
typeStringRodzaj przesyłki. Dostępne rodzaje opisane są na stronie API Przesyłka.
serviceStringRodzaj przesyłki. Dostępne rodzaje opisane są na stronie Usługi i wymiary dla przesyłek.
custom_attributesObject

Dodatkowe atrybuty dla przesyłek paczkomatowych.

AtrybutTypOpis
sizeStringRozmiar przesyłki [A, B, C]
target_machine_idStringNazwa paczkomatu odbiorczego.
target_machine_detailHashDodatkowe parametry paczkomatu odbiorczego.
dropoff_machine_id StringNazwa paczkomatu nadawczego.
dropoff_machine_detailHashDodatkowe parametry paczkomatu nadawczego.
statusStringStatus w jakim aktualnie znajduje się przesyłka.
created_atDateTimeData utworzenia przesyłki.
updated_atDateTimeData ostatniej aktualizacji informacji o zmianie statusu.
tracking_detailsArray

Tablica obiektów zawierające historię zmian statusów, posortowana chronologicznie w kolejności malejącej (ostatni status jest pierwszy na liście).Przykład obiektu:

Atrybut
Code Block
{
    "status": "ready_to_pickup",
    "datetime": "2015-08-02T10:15:00.000+02:00"
}
TypOpis
statusStringNazwa statusu
origin_statusString Symbol statusu
agency String Nazwa agencji
datetimeString Czas zmiany statusu
expected_flowArrayTablica przewidywanych statusów, przez które może przejść jeszcze określona przesyłka.

Przykład zasobu Tracker w formacie JSON:

Code Block
{
	"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",
}

 

Code Block
określ rodzaj zapytania i ścieżkę do funkcjonalności, np.
GET /v1/machines

Parametry

ParametrTypOpis

Przykład zapytania

Code Block
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ź

Code Block
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:

Code Block
GET /v1/tracking/:tracking_number

Przykład zapytania

Code Block
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:

Code Block
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:

Code Block
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:

Code Block
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

Code Block
/v1/tracking/flow/:shipment_type
Tip

Możliwe wartości dla parametru :shipment_type zostały określone na stronie API Przesyłka.

Przykład zapytania

Code Block
curl -X GET https://api-shipx-pl.easypack24.net/v1/tracking/flow/inpost_locker_standard -H 'content-type: application/json' 

Przykład odpowiedzi

Code Block
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

Code Block
curl -X GET https://api-shipx-pl.easypack24.net/v1/tracking/523000015802677003881245/service_history -H 'content-type: application/json'

Przykład odpowiedzi

Code Block
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"
    }
}