oneapi
Autentificare
Business v1 / Firme

Firme în masă

Rezumatele mai multor firme deodată. Body JSON: { "cui": [123, "RO456", ...] } (max 50). Prefixul RO
e acceptat. Întoarce firmele găsite, CUI-urile căutate şi negăsite, plus intrările necitibile cu motiv.

POST
https://oneapi.ro/api/business/v1/firme/batch

Corpul cererii

Se trimite ca JSON, în corpul cererii (Content-Type: application/json) — nu în şirul de interogare.

NumeTipDescriereValori acceptate
cuiopțional array | null Listă de coduri fiscale (max. 50), în corpul cererii.
Trei coduri Corpul cererii
{
    "cui": [
        6719278,
        14399840,
        2054341
    ]
}
Cu prefix RO, amestecat Corpul cererii
{
    "cui": [
        "RO6719278",
        "199150"
    ]
}
Cu intrări necitibile — fiecare primește un motiv Corpul cererii
{
    "cui": [
        6719278,
        "abc",
        99999999999
    ]
}
Două firme cu fonduri și datorii Corpul cererii
{
    "cui": [
        199150,
        35333601
    ]
}

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • Primeşte o listă de coduri fiscale şi întoarce profilurile-rezumat găsite plus lista codurilor negăsite — pentru validare şi îmbogăţire în masă, fără câte un apel per firmă.
  • Metoda e POST pentru că lista de coduri poate fi lungă şi nu are ce căuta într-un query-string (loguri, telemetrie, istoric). Limita e de 50 de coduri per cerere.

La ce folosește

  • Validarea unei liste de clienţi (existenţă, stare, TVA).
  • Îmbogăţirea în masă a unui CRM pornind de la CUI-uri.

Structura răspunsului

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

CâmpTipDescriere
gasite[].cui integer Codul fiscal al firmei găsite.
gasite[].denumire string | null Denumirea firmei.
gasite[].cod_inmatriculare string | null Numărul de ordine în registrul comerţului (J…).
gasite[].forma_juridica string | null Forma juridică (SRL, SA, PFA…).
gasite[].stare string | null Starea firmei, ca obiect: denumire e textul brut din ONRC (107 valori distincte folosite), categorie e clasificarea noastră în 7 cutii — activa, suspendata, dizolvata, lichidare, radiata, insolventa, alta — pe care o foloseşti ca să filtrezi sau să grupezi. cod e codul ONRC al stării.
gasite[].data_inmatriculare string | null Data înmatriculării la registrul comerţului.
gasite[].sediu.judet string Judeţul sediului social.
gasite[].sediu.localitate string Localitatea sediului social.
gasite[].sediu.cod_siruta integer Codul SIRUTA al localităţii — chainable spre /locations/v1.
gasite[].caen_principal.cod string Codul CAEN principal.
gasite[].caen_principal.denumire string | null Denumirea activităţii principale.
gasite[].fiscal.tva boolean Plătitoare de TVA.
gasite[].fiscal.inactiv boolean Declarată inactivă fiscal.
gasite[].fiscal.e_factura boolean Înrolată în e-Factura.
gasite[].financiar object | null Ultimul bilanţ depus (an, cifră de afaceri, profit net, salariaţi); null la firmele fără bilanţ — PFA-uri, firme noi —, nu zero.
gasite[].financiar.an integer Anul bilanţului.
gasite[].financiar.cifra_afaceri number | null Cifra de afaceri netă, în lei.
gasite[].financiar.profit_net number | null Profitul net, în lei; negativ = pierdere.
gasite[].financiar.salariati integer | null Numărul mediu de salariaţi.
negasite[] integer[] CUI-urile cerute care nu există în registru — se raportează, nu se ignoră.

Exemple de răspuns

body: {"cui": [6719278, 14399840, 2054341]}

POSThttps://oneapi.ro/api/business/v1/firme/batch
{
    "data": {
        "gasite": [
            {
                "cui": 2054341,
                "denumire": "SMIRODAVA S.A.",
                "cod_inmatriculare": "J27/24/1991",
                "forma_juridica": "SA",
                "stare": {
                    "cod": "1084",
                    "denumire": "radiată",
                    "categorie": "radiata"
                },
                "data_inmatriculare": "1991-01-22",
                "sediu": {
                    "judet": "Neamț",
                    "localitate": "Roman",
                    "cod_siruta": 120879
                },
                "caen_principal": {
                    "cod": "1410",
                    "denumire": "Fabricarea articolelor de îmbrăcăminte prin tricotare sau croșetare"
                },
                "fiscal": {
                    "tva": true,
                    "inactiv": false,
                    "e_factura": false
                },
                "financiar": {
                    "an": 2025,
                    "cifra_afaceri": 1177675,
                    "profit_net": 4974,
                    "salariati": 3
                }
            }
        ],
        "negasite": [],
        "invalide": []
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea. Câmpul vinovat e în detalii.
422cui_lipsaTrimite un array cui cu cel puțin un CUI.
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": "Un parametru nedeclarat ori o valoare care nu trece validarea. Câmpul vinovat e în detalii."
    }
}