Locations v1 / GeoIP
GeoIP — IP-ul apelantului
Spune dacă IP-ul de la care vine cererea cade în România și, dacă da, poziția lui în
ierarhia noastră administrativă (regiune/județ/UAT/localitate). MaxMind GeoLite2 e folosit
doar intern pentru a afla aproximativ punctul; nu expunem date MaxMind. IP din afara
RO / privat / nerezolvabil → in_romania: false.
GET
https://oneapi.ro/api/locations/v1/geoip
Parametri de interogare
Ruta nu acceptă parametri de interogare.
Cum se comportă
- Spune dacă IP-ul de la care vine cererea cade în România și, dacă da, poziția lui în ierarhia noastră administrativă: regiune/județ/UAT/localitate — toate din datele NOASTRE.
- MaxMind GeoLite2 (memory-mapped local, fără apel extern) e folosit doar INTERN, ca să afle aproximativ punctul IP-ului; nu expunem niciun câmp MaxMind.
- IP din afara României / privat / nerezolvabil →
in_romania: false, fără alte câmpuri. - Determinarea RO e orientativă (punctul IP e aproximativ, nivel oraș) — poate greși lângă granițe. IP-ul e dată personală: nu-l stocăm brut.
La ce folosește
- Pre-completarea județului/localității într-un formular pornind de la IP-ul vizitatorului.
- Servirea de conținut sau prețuri localizate pe RO fără a cere explicit locația.
- Semnal anti-fraudă la checkout: verifici dacă cererea vine dinspre România.
Structura răspunsului
Toate câmpurile de mai jos sunt în data.
CâmpTipDescriere
ip
string
IP-ul pentru care s-a făcut căutarea.
in_romania
boolean
Dacă IP-ul cade în interiorul granițelor RO (ANCPI). false → niciun alt câmp.
regiune[]
mixed
Regiunea în care cade IP-ul; apare doar când precizia a permis rezolvarea administrativă.opțional
judet[]
mixed
Județul în care cade IP-ul; apare doar când precizia a permis rezolvarea.opțional
uat[]
mixed
UAT-ul în care cade IP-ul; apare doar când precizia a permis rezolvarea.opțional
localitate[]
object[]
Localitatea în care cade IP-ul; poate fi
null chiar și când județul e cunoscut.opțional
localitate.distanta_m
Distanța de la punctul IP la localitatea returnată (metri).
Exemple de răspuns
Rezolvă IP-ul cererii (în docs, generat pe server).
GEThttps://oneapi.ro/api/locations/v1/geoip
{
"data": {
"ip": "127.0.0.1",
"in_romania": false
},
"meta": {
"sursa": "MaxMind GeoLite2",
"precizie": "necunoscuta",
"atribuire": "This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com."
}
}
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 | validare | Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat. |
| 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": "Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat."
}
}