Recetas
POST
Listar recetas
POST /api/recipes/list-recipes
Descripción
Listado paginado de recetas públicas con búsqueda.
Detalles
Devuelve el listado paginado de recetas públicas del catálogo incluyendo cantidad de ingredientes, conteo de uso por productos y modificadores, nombre del primer producto/modificador que la usa y estado. Permite buscar por nombre o nombre interno.
Permisos requeridos
catalog.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| query | string | No |
max:100
|
Paginación
| defaultLimit | 25 |
| maxLimit | 100 |
| allowedSorts | name, createdAt |
| defaultSort | name |
| defaultDir | asc |
| withTotal | true |
Ejemplo de request
curl -X POST https://app.restofy.co/api/recipes/list-recipes \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>"
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
[]
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"recipes": [
{
"id": 1,
"recipeUuid": "ddbe9dc2-4e3a-11f1-97bb-5a94900d81f5",
"name": "Ajiaco Bogotano",
"internalName": "recipe-ajiaco",
"description": "Receta estándar ajiaco por porción individual",
"quantity": "1.0000",
"unitId": 8,
"unitName": "Porción",
"unitSymbol": "por",
"isActive": 1,
"linesCount": 5,
"usedByProducts": 1,
"usedByModifiers": 0,
"usedByFirstName": "Ajiaco Bogotano"
},
{
"id": 5,
"recipeUuid": "ddbea1c4-4e3a-11f1-97bb-5a94900d81f5",
"name": "Café Latte Base",
"internalName": "recipe-latte",
"description": "Base de café latte: espresso + leche vaporizada",
"quantity": "1.0000",
"unitId": 8,
"unitName": "Porción",
"unitSymbol": "por",
"isActive": 1,
"linesCount": 2,
"usedByProducts": 1,
"usedByModifiers": 0,
"usedByFirstName": "Café Latte"
},
{
"id": 2,
"recipeUuid": "ddbea0ea-4e3a-11f1-97bb-5a94900d81f5",
"name": "Cazuela de Mariscos",
"internalName": "recipe-cazuela",
"description": "Cazuela de mariscos en salsa de coco por porción",
"quantity": "1.0000",
"unitId": 8,
"unitName": "Porción",
"unitSymbol": "por",
"isActive": 1,
"linesCount": 5,
"usedByProducts": 1,
"usedByModifiers": 0,
"usedByFirstName": "Cazuela de Mariscos"
},
{
"id": 4,
"recipeUuid": "ddbea189-4e3a-11f1-97bb-5a94900d81f5",
"name": "Ensalada César",
"internalName": "recipe-cesar",
"description": "Ensalada César clásica por porción",
"quantity": "1.0000",
"unitId": 8,
"unitName": "Porción",
"unitSymbol": "por",
"isActive": 1,
"linesCount": 4,
"usedByProducts": 1,
"usedByModifiers": 0,
"usedByFirstName": "Ensalada César"
},
{
"id": 3,
"recipeUuid": "ddbea14a-4e3a-11f1-97bb-5a94900d81f5",
"name": "Tres Leches",
"internalName": "recipe-tres-leches",
"description": "Postre tres leches por porción de 200g",
"quantity": "1.0000",
"unitId": 8,
"unitName": "Porción",
"unitSymbol": "por",
"isActive": 1,
"linesCount": 4,
"usedByProducts": 1,
"usedByModifiers": 0,
"usedByFirstName": "Tres Leches"
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 5,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}