Restofy Docs
Productos del menú POST

Listar productos del catálogo

POST /api/products/list-products

Descripción

Retorna los productos disponibles del catálogo del restaurante, paginados, con búsqueda y filtros opcionales.

Detalles

Lista los productos disponibles del catálogo respetando el orden configurado del restaurante. Permite buscar por coincidencia parcial en el nombre del producto, su código de identificación o el nombre de su categoría. Admite además filtrar por categoría, por estado activo o pausado y por un rango de precio base. Incluye datos de presentación, precio base, categoría asociada y estado operativo de cada producto. Los productos eliminados no se incluyen en la respuesta.

Permisos requeridos

catalog.module

Request

Nombre Tipo Requerido Reglas
query string No
max:100
categoryUuid string No
min:36 max:36
status string No
enum:active,inactive
minPriceCents int No
min_value:0
maxPriceCents int No
min_value:0

Paginación

defaultLimit 25
maxLimit 100
allowedSorts sortKey, name, sku, basePriceCents, createdAt
defaultSort sortKey
defaultDir asc
withTotal true

Ejemplo de request

curl -X POST https://restofy.pro/api/products/list-products \
  -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-09-13T21:05:19Z
HTTP 200

Request

{
    "limit": 5
}

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "products": [
            {
                "uuid": "3661c9fa-18be-11f1-9da2-b627060a1ebe",
                "name": "Sopa del Día",
                "sku": "SOP-001",
                "internalName": "sopa-dia",
                "description": "Sopa casera preparada según disponibilidad del día",
                "kitchenDefaultNotes": "Caliente; Tibia; Sin sal; Aparte el pan",
                "basePriceCents": 700000,
                "prepTimeMinutes": 15,
                "stockMin": "0.0000",
                "sortKey": "02",
                "iconFontAwesome": "fa-solid fa-bowl-hot",
                "color": "#f59e0b",
                "isActive": 1,
                "productCategoryUuid": "ef52bb1b-f81b-44f8-a33c-119ca3d557ce",
                "productCategoryName": "Sopas y Cremas",
                "unitId": 1,
                "defaultCourseId": 1,
                "revenueAccountId": 12,
                "createdAt": "2026-04-15T17:05:02.000Z",
                "pricesCount": 2
            },
            {
                "uuid": "3661f2f0-18be-11f1-9da2-b627060a1ebe",
                "name": "Ajiaco Bogotano",
                "sku": "SOP-002",
                "internalName": "ajiaco",
                "description": "Ajiaco tradicional con pollo, papas y mazorca",
                "kitchenDefaultNotes": "Con alcaparras; Sin alcaparras; Extra crema; Extra mazorca; Aparte el aguacate; Bien caliente; Sin cilantro",
                "basePriceCents": 1100000,
                "prepTimeMinutes": 20,
                "stockMin": "0.0000",
                "sortKey": "04",
                "iconFontAwesome": "fa-solid fa-bowl-food",
                "color": "#eab308",
                "isActive": 1,
                "productCategoryUuid": "ef52bb1b-f81b-44f8-a33c-119ca3d557ce",
                "productCategoryName": "Sopas y Cremas",
                "unitId": 1,
                "defaultCourseId": 1,
                "revenueAccountId": 12,
                "createdAt": "2026-04-15T17:05:02.000Z",
                "pricesCount": 6
            },
            {
                "uuid": "36620cf6-18be-11f1-9da2-b627060a1ebe",
                "name": "Bandeja Paisa",
                "sku": "CAR-001",
                "internalName": "bandeja",
                "description": "Bandeja típica con carne molida, chicharrón, chorizo, huevo, arroz, frijoles y aguacate",
                "kitchenDefaultNotes": "Carne término medio; Carne bien cocida; Carne tres cuartos; Sin chicharrón; Extra arepa; Sin frijoles; Huevo frito; Huevo revuelto; Aparte el aguacate",
                "basePriceCents": 1800000,
                "prepTimeMinutes": 20,
                "stockMin": "0.0000",
                "sortKey": "06",
                "iconFontAwesome": "fa-solid fa-plate-wheat",
                "color": "#ef4444",
                "isActive": 1,
                "productCategoryUuid": "f13d2b64-a2cd-4b6c-836a-7ac52b63a463",
                "productCategoryName": "Carnes",
                "unitId": 1,
                "defaultCourseId": 2,
                "revenueAccountId": 12,
                "createdAt": "2026-04-15T17:05:02.000Z",
                "pricesCount": 2
            },
            {
                "uuid": "366221e3-18be-11f1-9da2-b627060a1ebe",
                "name": "Churrasco a la Parrilla",
                "sku": "CAR-002",
                "internalName": "churrasco",
                "description": "Corte de churrasco 300g a la parrilla con papas y chimichurri",
                "kitchenDefaultNotes": "Término rojo; Término medio; Término bien cocido; Sin sal; Extra chimichurri; Aparte la guarnición",
                "basePriceCents": 2200000,
                "prepTimeMinutes": 25,
                "stockMin": "0.0000",
                "sortKey": "08",
                "iconFontAwesome": "fa-solid fa-fire-burner",
                "color": "#f43f5e",
                "isActive": 1,
                "productCategoryUuid": "f13d2b64-a2cd-4b6c-836a-7ac52b63a463",
                "productCategoryName": "Carnes",
                "unitId": 1,
                "defaultCourseId": 2,
                "revenueAccountId": 12,
                "createdAt": "2026-04-15T17:05:02.000Z",
                "pricesCount": 2
            },
            {
                "uuid": "3662326a-18be-11f1-9da2-b627060a1ebe",
                "name": "Lomo de Res al Vino",
                "sku": "CAR-003",
                "internalName": "lomo-res",
                "description": "Lomo de res con reducción de vino tinto y puré de papa",
                "kitchenDefaultNotes": null,
                "basePriceCents": 2500000,
                "prepTimeMinutes": 30,
                "stockMin": "0.0000",
                "sortKey": "0a",
                "iconFontAwesome": "fa-solid fa-drumstick-bite",
                "color": "#ef4444",
                "isActive": 1,
                "productCategoryUuid": "f13d2b64-a2cd-4b6c-836a-7ac52b63a463",
                "productCategoryName": "Carnes",
                "unitId": 1,
                "defaultCourseId": 2,
                "revenueAccountId": 12,
                "createdAt": "2026-04-15T17:05:02.000Z",
                "pricesCount": 2
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 5,
            "total": 17,
            "totalPages": 4,
            "hasNext": true,
            "hasPrev": false
        }
    }
}