oneapi
Autentificare
Business v1 / Firme

Sumar achiziţii

Agregatele achizițiilor publice ale firmei: total valoare (RON/EUR) și număr de contracte, plus
defalcări pe an, pe tip, top 5 autorități contractante și top 5 coduri CPV.

GET
https://oneapi.ro/api/business/v1/firme/{cui}/achizitii/sumar

Parametri de cale

NumeTipDescriereExemplu
cuiobligatoriu string Codul de identificare fiscală al firmei, fără prefixul RO (ex. 6719278).

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • Nu toate contractele au valoare declarată. Măsurat pe 4 octombrie 2026, pe toate cele 17,39 milioane de rânduri: lipseşte la 10,8% din contracte (312.587 rânduri), şi aproape niciodată la achiziţii directe (47 din 13,68 milioane) sau la notificări (52 din 811.033). Orice sumă e deci a rândurilor care AU cifră, nu a întregului — la tip=contracte, a nouă zecimi din ele. Numărul de contracte le acoperă pe toate. Filtrele val_min/val_max lucrează pe valoarea în lei, deci exclud rândurile fără valoare.
  • Agregatele contractelor câştigate de firmă: total în RON şi EUR, defalcare pe an şi pe tip, top autorităţi contractante şi top coduri CPV. Perechea „de ansamblu" a listei de la /firme/{cui}/achizitii.
  • Sumele numără fiecare contract o singură dată şi cu partea fiecărui câştigător. SEAP republică anunţul de atribuire la fiecare actualizare (1,19 M de rânduri de contracte sunt republicări), repetă valoarea contractului pe fiecare lot (0,52 M) şi pune valoarea ÎNTREGULUI acord-cadru pe fiecare câştigător (228.000 de rânduri). Citite brut, contractele 2021–2026 însumau 7.059 de miliarde de lei, iar Farmexim 248 de miliarde; corectat, 1.212 miliarde şi 14,6. Valorile imposibile (un simulator de trafic aerian de 125,9 miliarde, lactate de 1,59 miliarde la un DGASPC) nu intră în sume.

La ce folosește

  • Estimarea dependenţei unei firme de banii publici, dintr-un singur apel.
  • Un panou de sinteză pe fişa firmei, fără să paginezi lista de contracte.
  • Identificarea autorităţilor cu care firma lucrează cel mai des.

Structura răspunsului

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

CâmpTipDescriere
total.nr_contracte integer Numărul de contracte.
total.valoare_ron number | null Valoarea, în lei.
total.valoare_eur number | null Valoarea, în euro.
pe_an[].an integer Anul de referinţă.
pe_an[].nr_contracte integer Numărul de contracte.
pe_an[].valoare_ron number | null Valoarea, în lei.
pe_tip[].tip string | null Tipul.
pe_tip[].nr_contracte integer Numărul de contracte.
top_autoritati[].autoritate string | null Autoritatea care ţine registrul.
top_autoritati[].autoritate_cui integer | null CUI-ul autorităţii, ca să poţi deschide /firme/{cui}/achizitii-autoritate; null unde SEAP nu-l dă. Gruparea rămâne pe denumire, iar CUI-ul e cel mai frecvent al ei — aceeaşi autoritate apare scrisă în zeci de feluri în anunţuri.
top_autoritati[].nr_contracte integer Numărul de contracte.
top_autoritati[].valoare_ron number | null Valoarea, în lei.
top_cpv[].cpv string | null Codul CPV al obiectului.
top_cpv[].nr_contracte integer Numărul de contracte.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/firme/6719278/achizitii/sumar
{
    "data": {
        "total": {
            "nr_contracte": 776,
            "valoare_ron": 78087.56,
            "valoare_eur": null
        },
        "pe_an": [
            {
                "an": 2023,
                "nr_contracte": 234,
                "valoare_ron": 25541.43
            }
        ],
        "pe_tip": [
            {
                "tip": "notificari",
                "nr_contracte": 776
            }
        ],
        "top_autoritati": [
            {
                "autoritate": "ORASUL DARMANESTI (PRIMARIA DARMANESTI)",
                "autoritate_cui": 4352921,
                "nr_contracte": 72,
                "valoare_ron": 18582.71
            }
        ],
        "top_cpv": [
            {
                "cpv": "15800000-6",
                "nr_contracte": 257
            }
        ]
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitFirma cu CUI [{cui}] nu a fost găsită.
422validareRuta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat.
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": "Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat.",
        "detalii": {
            "cui": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}