Restofy Docs
Sub-recetas reutilizables POST

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"
            }
        ]
    }
}