Buscar insumos parecidos a varios nombres
POST /api/inventory-items/list-inventory-item-matches
Descripción
Para cada nombre recibido devuelve los insumos del maestro que más se le parecen, con un puntaje de parecido.
Detalles
Recibe hasta 100 nombres, por ejemplo los renglones de una factura de proveedor, y para cada uno devuelve hasta 3 insumos parecidos ordenados del más al menos parecido. Ignora mayúsculas, tildes, cantidades y palabras de empaque. Indica cuándo el nombre coincide exacto con un insumo existente. No modifica nada.
Permisos requeridos
catalog.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| items | array | Sí | — |
| items[].ref | string | No |
max:60
|
| items[].name | string | Sí |
min:2
max:150
|
Ejemplo de request
curl -X POST https://restofy.pro/api/inventory-items/list-inventory-item-matches \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"items": [
{
"name": "string"
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"items": [
{
"ref": "renglon-1",
"name": "QUESO CAMPESINO 6AC84D347E47B"
}
]
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"items": [
{
"index": 0,
"ref": "renglon-1",
"name": "QUESO CAMPESINO 6AC84D347E47B",
"exactMatch": true,
"matches": [
{
"inventoryItemId": 27,
"inventoryItemUuid": "ace8c5e4-c386-11f1-a755-a2f78ac020f7",
"name": "Queso campesino 6ac84d347e47b",
"unitId": 9,
"unitName": "Caja",
"purchaseDefaultUnitId": 9,
"purchaseDefaultUnitName": "Caja",
"costCents": 150000,
"isActive": 1,
"score": 1
},
{
"inventoryItemId": 19,
"inventoryItemUuid": "ddb4096b-4e3a-11f1-97bb-5a94900d81f5",
"name": "Queso Campesino",
"unitId": 2,
"unitName": "Gramo",
"purchaseDefaultUnitId": 2,
"purchaseDefaultUnitName": "Gramo",
"costCents": 2500000,
"isActive": 1,
"score": 0.95
}
]
}
]
}
}