oneapi
Autentificare
Business v1 / Firme

Semnale de risc

Faptele publicate de autorităţi care contează pentru cine ar contracta cu firma — stare, inactivare
fiscală, datorii, situaţia ultimului bilanţ — fiecare cu punctajul şi explicaţia lui, plus ce NU s-a
putut verifica. ⚠️ Scorul nu vine cu etichetă de verdict: pragul îl alege cine afişează.

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

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ă

  • Semnalele de risc ale unei firme, adunate din datele pe care platforma le are deja: starea la registru, insolvenţa, datoriile la ANAF, sancţiunile, inactivitatea fiscală.
  • ⚠️ Răspunsul NU poartă o etichetă de verdict („risc ridicat"). Dă cifra şi faptele din care e făcută, iar pragul îl alege cine afişează — un cuvânt de verdict ajunge în capturi de ecran rupt de semnalele care l-au produs.
  • ⚠️ ABSENŢA DATELOR NU E RISC. O firmă fără bilanţ depus nu primeşte puncte pentru asta; apare în necunoscut. Altfel scorul ar pedepsi firmele mici, care raportează mai puţin, şi ar recompensa cele despre care nu se publică nimic.

La ce folosește

  • Trierea unui partener înainte de un contract, cu faptele la vedere.
  • Decizia dacă merită cerut un document suplimentar: necunoscut spune exact ce lipseşte.
  • Monitorizarea unui portofoliu de clienţi pe semnale, nu pe o etichetă.

Structura răspunsului

CâmpTipDescriere
data[].cui integer Codul de identificare fiscală, fără prefixul RO.
data[].stare string | null
data[].scor integer
data[].semnale[] mixed[]
data[].necunoscut[].tip string
data[].necunoscut[].de_ce string
data.cui integer Codul fiscal al firmei.
data.stare object Starea firmei la registrul comerţului, aşa cum o clasifică platforma — e contextul fără care scorul nu se citeşte.
data.scor integer Scorul, 0–100. ⚠️ 0 înseamnă „niciun semnal găsit", NU „firmă bună": ce n-a putut fi verificat e în necunoscut. Semnalul cel mai greu dă baza, iar restul adaugă cel mult 15 puncte peste el — gravitatea nu se adună liniar, altfel trei fapte mărunte ar depăşi o insolvenţă.
data.semnale[] array Faptele găsite, fiecare cu tipul, greutatea şi sursa din care vine. Doar fapte publicate de autorităţi şi regăsite pentru CUI-ul cerut.
data.necunoscut[] array Ce NU s-a putut verifica, cu motivul. Nu e o notă de subsol, e jumătate din răspuns: un scor mic la o firmă despre care nu ştim nimic înseamnă altceva decât acelaşi scor la una verificată pe toate capetele. 42,6% din firme n-au niciun bilanţ depus.
meta.metoda string Metoda de calcul, în răspuns şi nu doar în documentaţie — un scor fără metodă e o opinie anonimă, iar cine îl afişează trebuie să poată spune de unde vine.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/firme/6719278/risc
{
    "data": {
        "cui": 6719278,
        "stare": {
            "cod": "1048",
            "denumire": "funcțiune",
            "categorie": "activa"
        },
        "scor": 25,
        "semnale": [
            {
                "tip": "datorii_anaf",
                "puncte": 25,
                "explicatie": "Firma apare pe lista datornicilor publicată de ANAF."
            }
        ],
        "necunoscut": []
    },
    "meta": {
        "metoda": "Scorul se calculează DOAR din fapte publicate de autorităţi şi regăsite pentru firma asta. Absenţa datelor nu adaugă puncte — apare în `necunoscut`. Semnalul cel mai greu dă baza, iar restul adaugă cel mult 15 puncte peste el: gravitatea nu se adună liniar."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitCUI-ul nu există în registrul comerţului.
422cui_invalidCUI-ul nu are forma unui cod fiscal românesc (2–10 cifre).
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": "cui_invalid",
        "mesaj": "CUI-ul nu are forma unui cod fiscal românesc (2–10 cifre).",
        "detalii": {
            "cui": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}