Utile v1 / Meta
Acoperirea modulului
Ce conţine modulul, zonă cu zonă: câte ţări au sărbători verificate, câte fusuri orare, câte aeroporturi, până când merg calendarele. Punctul de intrare înainte să ceri date.
GET
https://oneapi.ro/api/utile/v1/acoperire
Parametri de interogare
Ruta nu acceptă parametri de interogare.
Cum se comportă
- Ruta e gratuită, ca orice rută de acoperire din platformă: trebuie să poți afla ce e înăuntru înainte de a-ți lua un token.
- Trei zone au
in_baza: false—timp,coduriși motorul desarbatori. Nu e o lipsă: datele vin din tzdata și ICU/CLDR, care sunt în runtime-ul PHP. Se actualizează la un upgrade de imagine, nu printr-un import, iar versiunea lor e în fiecare răspuns al zonei respective. - Cele șase zone au șase licențe diferite. Aici sunt toate la un loc, ca să nu trebuiască citite una câte una din documentația fiecărei rute.
La ce folosește
- Verifici, înainte de a integra, câte aeroporturi, țări și fusuri conține modulul și de unde vin.
- Afli versiunea tzdata și CLDR pe care se sprijină răspunsurile, ca să știi vintage-ul datelor.
- Vezi ce zone au date în bază și care se calculează din runtime.
Structura răspunsului
Toate câmpurile de mai jos sunt în data.
CâmpTipDescriere
zone
object
Câte o intrare per zonă, cu volumele ei, sursa și dacă are date în bază.
zone.sarbatori.tari
integer
Câte țări are motorul de sărbători (coduri ISO de două litere).
zone.sarbatori.subdiviziuni
integer
Câte subdiviziuni (state, landuri, provincii) au calendar propriu.
zone.sarbatori.verificate
integer
Câte țări sunt confruntate cu textul de lege. Momentan doar România.
zone.sarbatori.sursa
string
zone.sarbatori.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
zone.timp.zone
integer
Câte fusuri orare IANA sunt disponibile.
zone.timp.versiune_tzdata
string
Versiunea bazei IANA din runtime (ex.
2026.3).
zone.timp.sursa
string
zone.timp.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
zone.aeroporturi.total
integer
Toate aerodromurile, inclusiv heliporturi și piste închise.
zone.aeroporturi.cu_iata
integer
Câte au cod IATA — adică sunt aeroporturi în sensul uzual al cuvântului.
zone.aeroporturi.cu_icao
integer
zone.aeroporturi.cu_curse_regulate
integer
Câte au curse regulate declarate de sursă.
zone.aeroporturi.mari
integer
zone.aeroporturi.tari
integer
Ţările acoperite de răspuns.
zone.aeroporturi.piste
integer
Numărul total de piste descrise.
zone.aeroporturi.sursa
string
zone.aeroporturi.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
zone.adrese.tari
integer
Pentru câte țări avem reguli de adresare.
zone.adrese.cu_format_propriu
integer
Câte declară un șablon propriu; restul folosesc șablonul implicit al sursei.
zone.adrese.cu_cod_postal
integer
zone.adrese.cu_subdiviziuni
integer
zone.adrese.sursa
string
zone.adrese.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
zone.coduri.tari
integer
Ţările acoperite de răspuns.
zone.coduri.valute
integer
Valutele acoperite de răspuns.
zone.coduri.versiune_cldr
string
Versiunea CLDR din runtime.
zone.coduri.sursa
string
zone.coduri.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
zone.email.domenii_temporare
integer
Câte domenii sunt pe lista celor de unică folosință.
zone.email.sursa
string
zone.email.in_baza
boolean
Dacă elementul e prezent în baza noastră, nu doar în nomenclatorul sursei.
observatie
string
Explică de ce trei zone n-au date în bază.
Exemple de răspuns
GEThttps://oneapi.ro/api/utile/v1/acoperire
{
"data": {
"zone": {
"sarbatori": {
"tari": 49,
"subdiviziuni": 108,
"verificate": 1,
"sursa": "Yasumi (MIT) + art. 139 Codul Muncii pentru România",
"in_baza": false
},
"timp": {
"zone": 419,
"versiune_tzdata": "2026.3",
"sursa": "IANA tzdata — domeniu public, din runtime",
"in_baza": false
},
"aeroporturi": {
"total": 86112,
"cu_iata": 9055,
"cu_icao": 10511,
"cu_curse_regulate": 4335,
"mari": 1174,
"tari": 247,
"piste": 48250,
"sursa": "OurAirports — domeniu public",
"in_baza": true
},
"adrese": {
"tari": 252,
"cu_format_propriu": 198,
"cu_cod_postal": 182,
"cu_subdiviziuni": 62,
"sursa": "Google libaddressinput — Apache-2.0",
"in_baza": true
},
"coduri": {
"tari": 251,
"valute": 154,
"versiune_cldr": "76.1",
"sursa": "ICU/CLDR — Unicode License, din runtime",
"in_baza": false
},
"email": {
"domenii_temporare": 8943,
"sursa": "disposable-email-domains — CC0 1.0; verificarea MX se face live, prin DNS",
"in_baza": true
}
},
"observatie": "Trei zone (`timp`, `coduri` și motorul de `sarbatori`) NU au date în bază: vin din tzdata și ICU/CLDR, care sunt în runtime. Se actualizează la un upgrade de imagine, nu la un import — de aceea răspunsurile lor poartă versiunea sursei."
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | modul_interzis | Tokenul nu are acces la modulul rutei. |
| 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."
}
}