Locations v1 / Proximitate & zone
Distanța dintre două locuri
Distanța în linie dreaptă (geodezic) între două repere de/la, fiecare un cod_siruta
de localitate sau un punct „lat,lng". Reper nerezolvabil → 404.
GET
https://oneapi.ro/api/locations/v1/distanta
Parametri de interogare
NumeTipDescriereValori acceptate
deobligatoriu
string
Primul reper (cod_siruta sau „lat,lng").
max 50 car.
laobligatoriu
string
Al doilea reper.
max 50 car.
Cum se comportă
- Fiecare reper (
de/la) e un cod_siruta de localitate sau un punct „lat,lng". Distanță în linie dreaptă (geodezic).
La ce folosește
- Calcularea taxei de livrare în funcție de distanța depozit → client.
- Sortarea furnizorilor/curierilor după apropierea de un reper.
- Estimarea rapidă a costului/timpului de transport între două localități.
Structura răspunsului
CâmpTipDescriere
data.de.cod_siruta
integer | null
cod_siruta al reperului de plecare; null când reperul a fost dat ca punct „lat,lng".
data.de.nume
string | null
Denumirea reperului de plecare.
data.de.lat
number
Latitudine (WGS84).
data.de.lng
number
Longitudine (WGS84).
data.la.cod_siruta
integer | null
cod_siruta al reperului de sosire; null când a fost dat ca punct brut.
data.la.nume
string | null
Denumirea reperului de sosire.
data.la.lat
number
Latitudine (WGS84).
data.la.lng
number
Longitudine (WGS84).
data.distanta_m
integer
Distanța în linie dreaptă (geodezic), în metri.
data.distanta_km
number
Aceeași distanță exprimată în kilometri.
meta.actualizat
object
Prospețimea datelor pe domenii (dată ISO 8601).
meta.distanta
object
Cum sunt măsurate distanţele din răspuns. Apare pe orice răspuns care conţine o distanţă.
meta.distanta.metoda
string
Mereu
linie_dreapta: distanţa geodezică pe suprafaţa Pământului, nu pe drum.
meta.distanta.detaliu
string
Aceeaşi informaţie, în cuvinte.
Exemple de răspuns
GEThttps://oneapi.ro/api/locations/v1/distanta?de=54984&la=179196
{
"data": {
"de": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"lat": 46.78,
"lng": 23.559444444444
},
"la": {
"cod_siruta": 179196,
"nume": "București Sectorul 6",
"lat": 44.43527778,
"lng": 26.10277778
},
"distanta_m": 327491,
"distanta_km": 327.49
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"distanta": {
"metoda": "linie_dreapta",
"detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
}
}
}
GEThttps://oneapi.ro/api/locations/v1/distanta?de=179196&la=54984
{
"data": {
"de": {
"cod_siruta": 179196,
"nume": "București Sectorul 6",
"lat": 44.43527778,
"lng": 26.10277778
},
"la": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"lat": 46.78,
"lng": 23.559444444444
},
"distanta_m": 327491,
"distanta_km": 327.49
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"distanta": {
"metoda": "linie_dreapta",
"detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
}
}
}
GEThttps://oneapi.ro/api/locations/v1/distanta?de=54984&la=1375
{
"data": {
"de": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca",
"lat": 46.78,
"lng": 23.559444444444
},
"la": {
"cod_siruta": 1375,
"nume": "Flitești",
"lat": 46.113932,
"lng": 23.870942
},
"distanta_m": 77812,
"distanta_km": 77.81
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"distanta": {
"metoda": "linie_dreapta",
"detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
}
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Un reper nu a putut fi rezolvat. |
| 422 | validare | Un parametru nu a trecut validarea (de, la); detalii spune care şi de ce. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Un parametru nu a trecut validarea (de, la); detalii spune care şi de ce.",
"detalii": {
"de": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}