Salt la conținut

Demonstrator pentru transparența digitală în sectorul public

Transparență DigitalăPlatformă națională · demo

Reutilizare · contract stabil v1.0

API public și exporturi open data

Datele aprobate pentru publicare sunt disponibile prin endpoint-uri versionate, cu aceeași structură în JSON și CSV, paginare deterministă și erori ușor de procesat automat.

Sursă publică unică

Paginile și API-ul folosesc aceleași filtre, inclusiv căutarea tolerantă la diacritice.

JSON și CSV

Colecțiile pot fi descărcate prin format=csv sau antetul Accept.

Utilizare responsabilă

Limită distribuită de 120/60s la origine, antete standard și Retry-After.

Endpoint-uri v1

Toate rutele acceptă GET și OPTIONS. Colecțiile au page, pageSize, sort, order și format.

Rute API publice disponibile
MetodăRutăScopFormate
GET/api/v1Descoperirea versiunii și a resurselor APIjson
GET/api/v1/institutionsCatalogul instituțiilor publicejson · csv
GET/api/v1/publicationsRegistrul publicărilor aprobatejson · csv
GET/api/v1/publications/{slug}Publicare și istoric de versiunijson
GET/api/v1/consultationsConsultări publice și calendarjson · csv
GET/api/v1/consultations/{slug}Dosarul public al unei consultărijson
GET/api/v1/information-requestsRăspunsuri anonimizate și indicatori agregațijson · csv
GET/api/v1/time-seriesSerii lunare longitudinale și metadate metodologicejson · csv
GET/api/v1/indicatorsIndicatori comparabili pe instituțiejson · csv
GET/api/v1/complianceEvaluări reproductibile și agregări de conformitatejson · csv
GET/api/v1/openapiSpecificația OpenAPI 3.1 citibilă de mașinijson

Exemple

Filtrare și paginare JSON

GET /api/v1/publications?q=buget&institution=municipiul-nova&page=1&pageSize=25&sort=publishedAt&order=desc

Export CSV

GET /api/v1/compliance?dataset=evaluations&state=overdue&format=csv

Serii longitudinale reproductibile

GET /api/v1/time-series?period=2026-q2&institution=municipiul-nova&pageSize=100&format=json

Negocierea formatului

curl -H 'Accept: text/csv' 'https://domeniu.example/api/v1/institutions?pageSize=100'

Contractul răspunsului

Succesul conține data și meta. Erorile folosesc application/problem+json, un cod stabil, status HTTP și requestId pentru diagnostic.

CSV folosește UTF-8 cu BOM, antete stabile în snake_case și aceleași rânduri după filtrare, sortare și paginare. Pentru seriile longitudinale, fiecare rând include versiunea schemei, metodologia și snapshotul care permit reproducerea rezultatului.

Licență: CC BY 4.0

Datele pot fi copiate, redistribuite și adaptate cu atribuirea sursei. Datele demonstratorului sunt fictive și nu au caracter oficial.

Textul licenței

Protecție în straturi

Limitare, corelare și obiective de serviciu

SLO demonstrator · 30 zile

Limită distribuită

120 cereri în 60 de secunde pentru fiecare identitate tehnică pseudonimizată. Contorul PostgreSQL este atomic; fallbackul local este semnalat în loguri.

Diagnostic fără date personale

X-Request-ID corelează execuția la origine, x-vercel-id cererea la edge, iar X-Response-Time publică durata aplicației care a produs reprezentarea.

Ținte măsurabile

Disponibilitate 99.9% și latență la origine p95 sub 1 secundă. Acestea sunt ținte ale demonstratorului, nu un SLA contractual.

Vercel aplică protecția DDoS înaintea aplicației, CDN-ul absoarbe cererile cache-uite, iar limiterul distribuit protejează originea. Pentru pilot, regula WAF care acoperă și cache hit-urile se activează separat, mai întâi în mod de observare.

Status: stable

Politica de evoluție și depreciere

v1 activ · fără Sunset

Schimbări compatibile

Putem adăuga rute, câmpuri opționale, filtre sau formate. Nu eliminăm și nu reinterpretăm angajamentele v1.

Schimbări incompatibile

Eliminarea ori schimbarea semantică necesită o versiune majoră nouă, rută separată și ghid de migrare.

Preaviz minim

Deprecierea este anunțată cu minimum 180 de zile înaintea retragerii, prin changelog, documentație și antetele Deprecation, Sunset și Link.

O excepție poate scurta termenul numai pentru o obligație legală ori o vulnerabilitate critică; motivul, impactul și alternativa se publică în changelog. Deprecierea nu schimbă comportamentul resursei înainte de Sunset.

Changelog API

Modificările sunt publicate în ordine cronologică inversă și clasificate după impactul asupra clienților.

  1. v1.0 · compatible

    Serii longitudinale reproductibile în JSON și CSV

    Dashboardul longitudinal este publicat ca set lună–indicator, cu schemă și metodologie versionate, snapshot determinist și tratarea explicită a valorilor lipsă.

  2. v1.0 · operational

    Protecție distribuită și SLO observabil

    Limita 120/60s este contorizată atomic în PostgreSQL cu identitate pseudonimizată și fallback local; răspunsurile publică antete standard, identificatori de corelare și durata execuției la origine.

  3. v1.0 · compatible

    Paginare executată end-to-end în PostgreSQL

    Instituțiile, publicările și consultările transferă numai pagina cerută, cu total exact și ordine stabilă, păstrând neschimbat contractul API.

  4. v1.0 · compatible

    Căutare coerentă și tolerantă la diacritice

    Filtrul q folosește aceeași normalizare în interfață și API, iar instituțiile, publicările și consultările sunt filtrate în PostgreSQL prin indecși trigram.

  5. v1.0 · governance

    Contractul v1 este protejat automat

    Baseline-ul public fixează rutele, parametrii, filtrele, sortarea și formatele stabile. CI oprește eliminările incompatibile și cere o versiune majoră nouă.

  6. v1.0 · compatible

    Cache condiționat și paginare navigabilă

    Răspunsurile oferă ETag și 304, iar colecțiile publică legături standard first, prev, next și last fără a modifica forma datelor.