Documentație API
Urmărire expediții
Statusurile vin de la curieri, sunt traduse într-un set unic de coduri și se citesc la fel indiferent de curierul care duce coletul.
Două rute
| Rută | Autentificare | Date personale |
|---|---|---|
GET /expedition/public/tracking | nu | Nume și telefoane mascate. Potrivită pentru pagina ta publică. |
GET /expedition/tracking | Bearer JWT | Complete. Doar pentru expedițiile contului tău. |
Urmărire publică
/expedition/public/tracking?trackingNumber={nr}public30/mincurl "https://www.api.livraria.ro/expedition/public/tracking?trackingNumber=81356295593"{
"trackingNumber": "81356295593",
"awbNumber": "81356295593",
"statusCode": "DELIVERED",
"statusLabel": "Delivered",
"createdAt": "2026-10-28T09:05:12.000Z",
"pickupDate": "2026-10-28T14:20:00.000Z",
"deliveryDate": "2026-10-29T11:34:00.000Z",
"senderName": "F**** M** SRL",
"senderPhone": "+407*****00",
"recipientName": "I** P*******",
"recipientPhone": "+407*****01",
"destinationCity": "CLUJ-NAPOCA",
"destinationCounty": "CLUJ",
"courierId": "6577824a89f273256f8ff488",
"courierName": "Dpd",
"updates": [
{
"date": "2026-10-29T11:34:00.000Z",
"statusCode": "DELIVERED",
"statusLabel": "Delivered",
"place": "CLUJ-NAPOCA",
"comment": "",
"recipientName": "I** P*******"
},
{
"date": "2026-10-29T08:02:00.000Z",
"statusCode": "OUT_FOR_DELIVERY",
"statusLabel": "Out for Delivery",
"place": "CLUJ-NAPOCA",
"comment": ""
}
]
}Câmpuri notabile
| Câmp | Tip | Cerut | Descriere |
|---|---|---|---|
statusCode | string | mereu | Codul de status al platformei, din lista de mai jos. Pe el construiești logica. |
statusLabel | string | mereu | Eticheta în engleză. Dacă afișezi statusul în română, tradu-l tu din statusCode. |
pickupDate | string | null | opțional | Data reală a ridicării, raportată de curier — nu data cerută la creare. |
deliveryDate | string | null | opțional | Data livrării, când coletul a ajuns. |
updates | array | mereu | Istoricul evenimentelor, cel mai recent primul. Fiecare are date, statusCode, statusLabel, place și comment. |
Codurile de status
Fiecare curier are propriul vocabular; noi îl traducem în unsprezece coduri. Un status cu final: true nu se mai schimbă.
| Cod | Etichetă | Final | Ce înseamnă |
|---|---|---|---|
NEW | New Order | nu | Expediția este creată la noi. AWB-ul poate fi încă în curs de generare. |
PROCESSING | Processing | nu | Curierul a preluat comanda în sistemul lui. |
PICKED_UP | Picked Up | nu | Coletul a fost ridicat de la expeditor. |
IN_TRANSIT | In Transit | nu | Coletul circulă între depozitele curierului. |
OUT_FOR_DELIVERY | Out for Delivery | nu | Coletul este la curierul de livrare, în ziua respectivă. |
REFUSED | Refused | nu | Destinatarul a refuzat coletul. Nu este final — urmează de obicei un retur. |
DELIVERED | Delivered | da | Livrat destinatarului. |
RETURNED | Returned | da | Coletul s-a întors la expeditor. |
CANCELLED | Cancelled | da | Expedierea a fost anulată. |
INCIDENT | Delivery incident | da | Coletul este pierdut, furat sau distrus, conform raportului curierului. Final, dar nu o anulare — cazul se tratează individual. |
DELETED | Deleted | da | Expedierea a fost ștearsă din sistemul curierului. |
Un model de interogare
Nu interoga la nesfârșit. Oprește-te când statusul este final — sunt cinci coduri:
// Oprește interogarea când statusul este final.
const res = await fetch(
`${API}/expedition/public/tracking?trackingNumber=${awb}`
);
const tracking = await res.json();
const FINAL = ['DELIVERED', 'RETURNED', 'CANCELLED', 'INCIDENT', 'DELETED'];
if (FINAL.includes(tracking.statusCode)) {
stopPolling(awb);
}Pentru listarea în masă, GET /expedition?status=... este mai eficient decât o interogare pe AWB. Filtrul acceptă coduri separate prin virgulă, de pildă status=IN_TRANSIT,OUT_FOR_DELIVERY. Vezi Creare expediție.
Pagina de urmărire Livrǎria
Dacă nu vrei să construiești nimic, poți trimite clienții direct la pagina publică de urmărire. Acceptă atât AWB-ul curierului, cât și numărul de urmărire Livrǎria, și are un buton de reîmprospătare direct de la curier.