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
recipes.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-11-02T19:00:57Z
HTTP 200
Request
{
"items": [
{
"ref": "renglon-1",
"name": "QUESO CAMPESINO 6AE8D7A83960F"
}
]
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"items": [
{
"index": 0,
"ref": "renglon-1",
"name": "QUESO CAMPESINO 6AE8D7A83960F",
"exactMatch": true,
"matches": [
{
"inventoryItemId": 27,
"inventoryItemUuid": "72b9c9bc-d116-11f1-8bb6-de64ef616b7c",
"name": "Queso campesino 6ae8d7a83960f",
"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
}
]
}
]
}
}