Skip to Content
API ReferenceGet Tracking

Get Tracking

Return the complete tracking history of a shipment, in chronological order.

GET /tracking/{ldv}

Request

Headers

HeaderValue
AuthorizationBearer <access_token>
Acceptapplication/json

Path Parameters

ParameterTypeRequiredDescription
ldvstringYesShipment number. Exactly 12 characters, case-insensitive

Shipments are searchable for 90 days after creation. Older shipments return 404.

Example

curl https://delivery.spedisci.online/api/v2026-04/tracking/ABC123456789 \ -H "Authorization: Bearer <access_token>" \ -H "Accept: application/json"

Response Fields

FieldTypeDescription
tracking_numberstringThe shipment number, uppercased
eventsEvent[]Tracking events, oldest first

Event Object

FieldTypeDescription
codenumber | stringInternal tracking event code. Empty string "" when the description has no mapped code
datestringISO-8601 timestamp of the event
descriptionstringHuman readable event description (Italian)
placestring | nullWhere the event happened. Falls back to the depot city of the operator; when the event has notes they are appended in parentheses

description is the authoritative label of an event. code is a stable internal identifier that may be absent for less common descriptions — do not rely on it being present.

Response Codes

CodeDescription
200OK — tracking object returned
204No Content — the shipment exists but has no tracking events yet
400The shipment number is not valid (not 12 characters)
401Missing or invalid access token
404Shipment not found within the 90-day lookup window

Error Examples

{ "code": 400, "status": "error", "message": "Shipment number not valid!" }
{ "code": 404, "status": "error", "message": "Shipment not found!" }

A 204 No Content response has an empty body by HTTP definition. Treat it as “the shipment is known but nothing has happened to it yet”, not as an error.

Polling vs Webhooks

Polling this endpoint is fine for one-off lookups, but for continuous monitoring use webhook notifications instead — you receive an update the moment the status changes, and the notification payload embeds this exact same tracking object.

Last updated on