oneapi
Autentificare
Business v1 / Nomenclatoare

Potrivire semantică CAEN

Ia un text liber care descrie o activitate (ex. „vreau să repar biciclete") și întoarce codurile
CAEN (Rev.3) cele mai apropiate ca SENS, cu scor de încredere — nu căutare pe cuvinte, ci pe înțeles
(prinde parafraze, sinonime, formulări diferite). ?text= (obligatoriu), ?limita= (câte, implicit 5, max 20).

GET
https://oneapi.ro/api/business/v1/caen/potriveste

Parametri de interogare

NumeTipDescriereValori acceptate
limitaopțional string | null Câte sugestii să întoarcă (implicit 5, max 20). ex. 3
textopțional string | null Textul liber de clasificat (obligatoriu). Ex.: „vreau să repar biciclete". ex. vreau sa repar bicicleteex. transport rutier de marfaex. cabinet stomatologic
nivelopțional string | null

Cum se comportă

  • Ia un text liber care descrie o activitate şi întoarce codurile CAEN cele mai apropiate ca sens, fiecare cu un scor de încredere. Nu e căutare pe cuvinte (ca /caen?q=), ci pe înţeles — prinde parafraze, sinonime şi formulări complet diferite de denumirea oficială.
  • Exemplu: „vreau să repar biciclete" întoarce 9529 („Repararea articolelor de uz personal…") pe primul loc — deşi cuvântul „biciclete" nu apare în denumirea codului, ci doar în notele lui. O căutare pe cuvinte ar rata asta sau ar întoarce „Fabricarea de biciclete" (sens greşit).
  • Sub capotă: textul e transformat într-un vector de sens (model bge-m3, self-hosted) şi comparat cu indexul precalculat al codurilor CAEN. Rezultatul e o listă ordonată de sugestii, nu un verdict — foloseşte scorul şi întoarce top câteva, lăsând alegerea finală la utilizator sau la o regulă de prag.
  • ?text= e obligatoriu. ?limita= alege câte sugestii (implicit 5, max 20). Potrivirea se face pe CAEN Rev.3 (ediția curentă).

La ce folosește

  • Un câmp „descrie ce faci" care sugerează codul CAEN la înregistrarea unei firme.
  • Clasificarea în masă a unor descrieri de activitate în coduri CAEN.
  • Ajutor la alegerea codului corect când denumirile oficiale sunt greu de căutat.

Structura răspunsului

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

CâmpTipDescriere
text string Textul.
nivel string Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
potrivire_sigura boolean
potriviri[].cod string Codul.
potriviri[].denumire string Denumirea.
potriviri[].nivel string Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
potriviri[].versiune string Versiunea setului de date sau a artefactului din care vin valorile.
potriviri[].scor number Scorul de potrivire (0–1).
potriviri[].ancora_lexicala boolean
potriviri[].sursa string

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/caen/potriveste?text=vreau+sa+repar+biciclete&limita=3
{
    "data": {
        "text": "vreau sa repar biciclete",
        "potriviri": [
            {
                "cod": "9529",
                "denumire": "Repararea și întreținerea articolelor de uz personal și gospodăresc n.c.a.",
                "scor": 0.6010549664497375
            }
        ]
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareLipseşte parametrul text.
429cota_depasitaCota lunară a planului a fost depăşită (vezi Retry-After).
503mentenantaIndexul semantic nu e construit pentru versiunea cerută, sau serviciul de embeddings e temporar indisponibil.

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": "Lipseşte parametrul text.",
        "detalii": {
            "limita": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}