Crear varias sub-recetas de una vez
POST /api/sub-recipes/create-sub-recipes
Descripción
Registra hasta 100 sub-recetas nuevas en una sola llamada, cada una con sus ingredientes.
Detalles
Valida todo el lote antes de guardar: si una sola sub-receta o uno de sus ingredientes tiene un problema no se crea nada y la respuesta indica la posición y el campo de cada error. Cada sub-receta lleva al menos un ingrediente con una unidad de su misma medida base. Las sub-recetas nacen activas y permite una prueba previa que valida sin guardar nada.
Permisos requeridos
catalog.module
recipes.module
El usuario solo necesita uno de los permisos listados.
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| dryRun | bool | No |
default:0
|
| items | array | Sí | — |
| items[].ref | string | No |
max:60
|
| items[].name | string | Sí |
min:1
max:150
|
| items[].internalName | string | No |
max:150
|
| items[].description | string | No |
max:2000
|
| items[].quantity | string | Sí |
decimal
min_value:0
|
| items[].unitId | int | Sí |
min_value:1
|
| items[].lines | array | Sí | — |
| items[].lines[].inventoryItemId | int | Sí |
min_value:1
|
| items[].lines[].quantity | string | Sí |
decimal
min_value:0
|
| items[].lines[].unitId | int | Sí |
min_value:1
|
Ejemplo de request
curl -X POST https://restofy.pro/api/sub-recipes/create-sub-recipes \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"items": [
{
"name": "string",
"quantity": "string",
"unitId": 1,
"lines": [
{
"inventoryItemId": 1,
"quantity": "string",
"unitId": 1
}
]
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
{
"items": [
{
"name": "Salsa de la casa 6ae8ddcd64eee",
"quantity": 1,
"unitId": 3,
"lines": [
{
"inventoryItemId": 24,
"quantity": 0.5,
"unitId": 3
}
],
"ref": "salsa"
},
{
"name": "Salsa de la casa 6ae8ddcd64ef3",
"quantity": 2.5,
"unitId": 3,
"lines": [
{
"inventoryItemId": 24,
"quantity": 0.5,
"unitId": 3
}
],
"ref": "masa"
}
]
}
Response
{
"success": true,
"message": "Sub-recetas creadas",
"data": {
"dryRun": false,
"items": [
{
"index": 0,
"ref": "salsa",
"subRecipeId": 1,
"subRecipeUuid": "7e00caaf-f430-430c-878a-8407cb171ece"
},
{
"index": 1,
"ref": "masa",
"subRecipeId": 2,
"subRecipeUuid": "7514b261-9c80-49ce-b0ac-f334cd1554b0"
}
]
}
}