Productos del menú
POST
Obtener producto del catálogo
POST /api/products/get-product
Descripción
Retorna los datos editables de un producto del catálogo identificado por su uuid.
Detalles
Devuelve los datos completos de un producto disponible del catálogo: nombre, categoría, unidad, tiempo de servicio, precio base, apariencia visual, estado operativo y demás atributos editables. Falla si el producto no existe o fue eliminado.
Permisos requeridos
catalog.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| productUuid | string | Sí |
min:36
max:36
|
Respuesta
Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.
| Campo | Tipo | Descripción |
|---|---|---|
| product | object | Datos del producto |
| product.uuid | string | Identificador del producto |
| product.name | string | Nombre del producto |
| product.sku | string | Código SKU |
| product.internalName | string Admite vacío | Nombre interno para cocina y reportes |
| product.description | string Admite vacío | Descripción para la carta |
| product.kitchenDefaultNotes | string Admite vacío | Notas sugeridas para cocina |
| product.basePriceCents | int | Precio base, en centavos |
| product.prepTimeMinutes | int | Tiempo de preparación en minutos |
| product.stockMin | decimal | Existencia mínima antes de avisar |
| product.iconFontAwesome | string Admite vacío | Ícono de Font Awesome |
| product.color | string Admite vacío | Color en hexadecimal |
| product.isActive | bool | Si se ofrece para vender |
| product.productCategoryUuid | string | Identificador de la categoría |
| product.productCategoryName | string | Nombre de la categoría |
| product.unitId | int | Unidad en que se vende |
| product.defaultCourseId | int | Tiempo de servicio por defecto |
| product.revenueAccountId | int Admite vacío | Cuenta de ingresos; vacío si usa la del restaurante |
| product.consumptionTaxCents | int | Impuesto al consumo por unidad, en centavos |
| product.menuCardStyle | string | Estilo de la tarjeta en la carta |
| product.taxRuleIds | array<int> | Reglas de impuesto del producto |
| product.barcodes | array<string> | Códigos de barras con que se reconoce al escanearlo |
| product.costCenterUuid | string Admite vacío | Centro de costos forzado del producto; vacío si sigue al del menú |
Ejemplo de request
curl -X POST https://restofy.pro/api/products/get-product \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"productUuid": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-11-02T19:00:57Z
HTTP 200
Request
{
"productUuid": "a8c10571-e70c-4574-8e7e-9032b828f1e8"
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"product": {
"uuid": "a8c10571-e70c-4574-8e7e-9032b828f1e8",
"name": "Licor con consumo 6ae8dd89bc261",
"sku": "SOP-004",
"internalName": null,
"description": null,
"kitchenDefaultNotes": null,
"basePriceCents": 10000,
"consumptionTaxCents": 2000,
"prepTimeMinutes": 0,
"stockMin": "0.0000",
"sortKey": "q",
"iconFontAwesome": "fa-solid fa-bowl-food",
"color": "#FF4500",
"menuCardStyle": "auto",
"isActive": 1,
"productCategoryUuid": "ef52bb1b-f81b-44f8-a33c-119ca3d557ce",
"productCategoryName": "Sopas y Cremas",
"unitId": 1,
"defaultCourseId": 5,
"taxRuleIds": [],
"revenueAccountId": null
}
}
}