oneapi
Autentificare
Locations v1 / Căutare & rezolvare

Autocomplete (typeahead)

Aceeași căutare ca /cauta, dar payload minim pentru un dropdown rapid. Ca picker de
entități oficiale (fiecare cu cod_siruta), NU întoarce locuri secundare (cătune/
cartiere) implicit — trimite ?secundare=1 dacă vrei și pe acelea. Fără meta
actualizat — se apelează la fiecare tastă.

GET
https://oneapi.ro/api/locations/v1/autocomplete

Parametri de interogare

NumeTipDescriereValori acceptate
qopțional string | null Prefixul tastat de utilizator. max 100 car.
judetopțional string | null Indicativul auto al judeţului (CJ, IF, B). ex. CJ
nivelopțional string | null Nivelul administrativ: uat sau localitate. uatlocalitate
tipopțional string | null Tipul unităţii (municipiu, oras, comuna, sat…). max 30 car.
secundareopțional boolean | null Include și cătunele/cartierele. Implicit 0 (doar oficiale). 0 | 1
aliasopțional boolean | null Include potrivirile pe nume alternative (exonime/istorice). Implicit da; 0 = doar numele principal. 0 | 1
limitaopțional integer | null Câte rezultate să întoarcă; implicit 20, maximum 50. 1 – 50

Cum se comportă

  • Aceleași date ca /cauta, dar payload minim — pentru un dropdown care se declanșează la fiecare tastă.
  • Ca picker de entități oficiale (fiecare cu cod_siruta), NU întoarce locuri secundare (cătune/cartiere) implicit. Trimite ?secundare=1 dacă vrei și pe acelea.
  • Fiecare rezultat aduce și judet_cod + lat/lng, ca la selecție să ai direct județul și coordonatele, fără al doilea apel.

La ce folosește

  • Câmp de localitate cu sugestii instant în checkout: userul tastează, tu arăți entitățile oficiale cu cod_siruta selectabil.
  • Picker de UAT/localitate într-un panou de configurare (zone de livrare, filiale) — fiecare opțiune aduce deja județul, gata de salvat.
  • Căutare pe hartă: la selecție ai lat/lng în răspuns și centrezi harta fără un al doilea apel.

Structura răspunsului

Toate câmpurile de mai jos sunt în data[].

CâmpTipDescriere
cod_siruta integer | null Cheia publică (localitate/UAT). null pentru locuri secundare (doar cu ?secundare=1).
nume_afisare string Nume dezambiguizat pentru omonime.
nivel string Nivelul entității: regiune, judet, uat sau localitate.
tip string | null Tipul entității (cod brut; denumirile la /nomenclatoare/tipuri).
judet_cod string | null Indicativul auto al județului („CJ").
lat number | null Latitudine WGS84. null când lipsește.
lng number | null Longitudine WGS84. null când lipsește.

Exemple de răspuns

GEThttps://oneapi.ro/api/locations/v1/autocomplete?q=baia&limita=5
{
    "data": [
        {
            "cod_siruta": 146904,
            "nume_afisare": "Baia (Suceava)",
            "nivel": "uat",
            "tip": "comuna",
            "judet_cod": "SV",
            "lat": 47.4203,
            "lng": 26.2169
        }
    ]
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (q, judet, nivel, tip, secundare, alias, limita). Câmpul vinovat e în detalii.
429cota_depasitaCota 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 nedeclarat ori o valoare care nu trece validarea (q, judet, nivel, tip, secundare, alias, limita). Câmpul vinovat e în detalii.",
        "detalii": {
            "q": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}