oneapi
Autentificare
Business v1 / Nomenclatoare

Potrivire semantică CPV

Ia un text liber care descrie ce se cumpără (ex. „laptopuri pentru birou") și întoarce codurile CPV
cele mai apropiate ca SENS, cu scor — 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/cpv/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.: „laptopuri pentru birou". ex. laptopuri pentru birouex. servicii de pazaex. lucrari de asfaltare

Cum se comportă

  • Ia un text liber care descrie ce se cumpără şi întoarce codurile CPV cele mai apropiate ca sens, fiecare cu un scor. Nu e căutare pe cuvinte (ca /cpv?q=), ci pe înţeles — prinde parafraze, sinonime şi formulări diferite de denumirea oficială.
  • Vocabularul CPV are ~9.454 de coduri, greu de navigat pe cod. „laptopuri pentru birou" te duce la codurile de calculatoare portabile fără să ştii numărul exact.
  • Sub capotă e aceeaşi infrastructură ca la CAEN: textul e transformat într-un vector de sens (bge-m3, self-hosted) şi comparat cu indexul precalculat al codurilor CPV. Rezultatul e o listă ordonată de sugestii, nu un verdict — foloseşte scorul şi ia top câteva.
  • ?text= e obligatoriu. ?limita= alege câte sugestii (implicit 5, max 20).

La ce folosește

  • Alegerea codului CPV la publicarea unei achiziţii, pornind de la descriere.
  • Clasificarea automată a obiectului unor contracte în coduri CPV.
  • Căutare în vocabularul CPV când nu ştii codul exact.

Structura răspunsului

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

CâmpTipDescriere
text string Textul.
potriviri[].cod string Codul.
potriviri[].denumire string Denumirea.
potriviri[].scor number Scorul de potrivire (0–1).

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/cpv/potriveste?text=laptopuri+pentru+birou&limita=3
{
    "data": {
        "text": "laptopuri pentru birou",
        "potriviri": [
            {
                "cod": "30141200-1",
                "denumire": "Calculatoare de birou",
                "scor": 0.7954199436056661
            }
        ]
    }
}

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 CPV nu e construit, 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."
            ]
        }
    }
}