Locations v1 / Geo & reverse
Strada cea mai apropiată
Dintr-un punct (lat/lng) → strada cea mai apropiată + distanța. Fapt OSM.
GET
https://oneapi.ro/api/locations/v1/strada-apropiata
Parametri de interogare
NumeTipDescriereValori acceptate
latobligatoriu
number
Latitudine WGS84.
-90 – 90
lngobligatoriu
number
Longitudine WGS84.
-180 – 180
Cum se comportă
- Cea mai apropiată stradă de un punct (KNN peste geometria OSM) + distanța.
La ce folosește
- Snap al poziției GPS a curierului la strada cea mai apropiată în tracking.
- Identificarea străzii dintr-un punct imprecis înainte de a cere adresa completă.
- Validarea că un pin plasat de utilizator corespunde unei străzi reale.
Structura răspunsului
CâmpTipDescriere
data.id
integer
Id-ul intern al străzii — cheia pentru /strazi/{id}.
data.nume
string
Denumirea celei mai apropiate străzi.
data.tip
string
Cod tip arteră (denumiri în /nomenclatoare/tipuri).
data.localitate.cod_siruta
integer
Codul SIRUTA al localității — chainable spre /localitati/{cod}.
data.localitate.nume
string
Denumirea localității.
data.distanta_m
integer
Distanța (metri) de la punctul interogat la stradă.
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/strada-apropiata?lat=46.77&lng=23.59
{
"data": {
"id": 14994,
"nume": "Unirii",
"tip": "piata",
"localitate": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca"
},
"distanta_m": 25
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"atribuire": "© OpenStreetMap contributors",
"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/strada-apropiata?lat=44.4268&lng=26.1025
{
"data": {
"id": 222730,
"nume": "Unirii",
"tip": "bulevard",
"localitate": {
"cod_siruta": 179169,
"nume": "București Sectorul 3"
},
"distanta_m": 31
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"atribuire": "© OpenStreetMap contributors",
"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/strada-apropiata?lat=47.1585&lng=27.6014
{
"data": {
"id": 28069,
"nume": "Tudor Vladimirescu",
"tip": "bulevard",
"localitate": {
"cod_siruta": 95079,
"nume": "Iași"
},
"distanta_m": 4
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"atribuire": "© OpenStreetMap contributors",
"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/strada-apropiata?lat=46.7712&lng=23.6236
{
"data": {
"id": 15607,
"nume": "Slănic",
"tip": "alee",
"localitate": {
"cod_siruta": 54984,
"nume": "Cluj-Napoca"
},
"distanta_m": 44
},
"meta": {
"actualizat": {
"administrativ": "2026-08-15T16: 39: 14+03: 00",
"geo": "2026-09-04T21: 24: 20+03: 00"
},
"atribuire": "© OpenStreetMap contributors",
"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. |
| 422 | parametri_invalizi | lat/lng lipsă/invalid. |
| 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": "parametri_invalizi",
"mesaj": "lat/lng lipsă/invalid.",
"detalii": {
"lat": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}