Business v1 / Nomenclatoare
Clasificare CPV în masă
Trimiți o listă de descrieri de obiect de achiziţie (body JSON {"texte": ["...", "..."]}, max 50) și
primești, pentru fiecare, codurile CPV potrivite ca SENS, cu scor. ?limita= (per text, implicit 3, max 10).
POST
https://oneapi.ro/api/business/v1/cpv/clasifica-lot
Corpul cererii
Se trimite ca JSON, în corpul cererii (Content-Type: application/json) — nu în şirul de interogare.
NumeTipDescriereValori acceptate
texteopțional
array | null
Listă de descrieri (obligatoriu, în body). Max 50.
limitaopțional
string | null
Câte sugestii per text (implicit 3, max 10).
Două descrieri
Corpul cererii
{
"texte": [
"laptopuri pentru birou",
"servicii de paza"
],
"limita": 2
}
O descriere, trei potriviri
Corpul cererii
{
"texte": [
"lucrari de asfaltare"
],
"limita": 3
}
Cea mai bună potrivire pentru fiecare
Corpul cererii
{
"texte": [
"mobilier de birou",
"consumabile medicale"
],
"limita": 1
}
Parametri de interogare
Ruta nu acceptă parametri de interogare.
Cum se comportă
- Versiunea „în masă" a lui
/cpv/potriveste: trimiţi o listă de descrieri de obiect de achiziţie (body JSON{"texte": [...]}, max 50) şi primeşti, pentru fiecare, codurile CPV potrivite ca sens, cu scor. Toate se embeddează într-un singur lot. - Ordinea rezultatelor respectă ordinea textelor; un text gol întoarce
potriviri: []. Metoda ePOST.?limita=alege câte sugestii per text (implicit 3, max 10).
La ce folosește
- Clasificarea în masă a obiectelor de achiziţie în coduri CPV.
- Pre-completarea codurilor CPV pentru un set de linii de contract.
Structura răspunsului
Toate câmpurile de mai jos sunt în data[].
CâmpTipDescriere
text
string
Textul trimis, în ordinea din cerere.
potriviri[].cod
string
Codul CPV potrivit.
potriviri[].denumire
string | null
Denumirea obiectului de achiziţie.
potriviri[].scor
number
Scorul de potrivire semantică (0–1).
Exemple de răspuns
body: {"texte": ["laptopuri pentru birou", "servicii de paza"], "limita": 2}
POSThttps://oneapi.ro/api/business/v1/cpv/clasifica-lot
{
"data": [
{
"text": "laptopuri pentru birou",
"potriviri": [
{
"cod": "30141200-1",
"denumire": "Calculatoare de birou",
"scor": 0.7954199436056661
}
]
}
]
}
body: {"texte": ["lucrari de asfaltare"], "limita": 3}
POSThttps://oneapi.ro/api/business/v1/cpv/clasifica-lot
{
"data": [
{
"text": "lucrari de asfaltare",
"potriviri": [
{
"cod": "45233142-6",
"denumire": "Lucrări de reparare a drumurilor",
"scor": 0.8324728508277461
}
]
}
]
}
body: {"texte": ["mobilier de birou", "consumabile medicale"], "limita": 1}
POSThttps://oneapi.ro/api/business/v1/cpv/clasifica-lot
{
"data": [
{
"text": "mobilier de birou",
"potriviri": [
{
"cod": "39130000-2",
"denumire": "Mobilier de birou",
"scor": 0.9695870876312256
}
]
}
]
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Lipseşte texte, e gol, sau peste 50 de elemente. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
| 503 | mentenanta | Indexul semantic CPV nu e construit, sau embeddings 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 texte, e gol, sau peste 50 de elemente."
}
}