Guardar disponibilidad por canal
POST /api/fulfillment-config/update-fulfillment-config
Descripción
Define si un canal de entrega se ofrece en un canal de venta y cuándo se puede pedir por él.
Detalles
* Crea o actualiza la disponibilidad de un canal de entrega en un canal de venta específico. * Todo pedido del menú digital espera la aprobación del personal antes de entrar a cocina, se pague antes o después. * El canal para pedidos en línea no se puede apagar en QR / Enlace: primero se elige otro. * En el menú digital define cuándo el cliente puede pedir: siempre o solo dentro de un horario. * Por horario, el canal puede llevar su propio horario; sin turnos propios usa el del negocio. * En el punto de venta el personal toma pedidos siempre. * Falla si el canal no existe o no está disponible. * Devuelve la configuración actualizada del canal de entrega en todos los canales activos.
Permisos requeridos
admin.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| fulfillmentUuid | string | Sí |
min:36
max:36
|
| channelId | int | Sí |
min_value:1
|
| isActive | int | Sí |
enum:0,1
|
| orderingMode | string | No |
enum:always,schedule
|
| orderingSchedule | object | Sí | — |
Ejemplo de request
curl -X POST https://restofy.pro/api/fulfillment-config/update-fulfillment-config \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"fulfillmentUuid": "string",
"channelId": 1,
"isActive": 1,
"orderingSchedule": []
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"orderingSchedule": {
"dateStart": null,
"dateEnd": null,
"periods": [],
"exceptions": []
},
"fulfillmentUuid": "36e3f3ad-01fa-4f44-b001-7e0d5ac7981e",
"channelId": 2,
"isActive": 1
}
Response
{
"success": true,
"message": "Disponibilidad actualizada",
"data": {
"channels": [
{
"channelId": 1,
"channelCode": "channel.staff.pos",
"channelName": "Punto de venta",
"isActive": 1,
"orderingMode": "always",
"orderingSchedule": null,
"paymentOptions": [],
"menuIds": []
},
{
"channelId": 2,
"channelCode": "channel.link.qr",
"channelName": "QR / Enlace",
"isActive": 1,
"orderingMode": "always",
"orderingSchedule": null,
"paymentOptions": [
{
"optionType": "pay_on_pickup",
"paymentMethodId": null,
"cashRegisterId": null,
"whatsappPhone": null,
"instructions": null,
"asksChange": 0
}
],
"menuIds": []
}
],
"paymentOptionTypes": [
"gateway",
"whatsapp_transfer",
"pay_on_pickup"
],
"electronicPaymentMethods": [
{
"paymentMethodId": 13,
"name": "Wompi"
}
],
"cashRegisters": [
{
"id": 1,
"name": "Caja Principal"
}
],
"gatewayNeedsCashRegister": true,
"menus": [
{
"menuId": 6,
"name": "Carta de Bebidas"
},
{
"menuId": 5,
"name": "Carta de Desayunos"
},
{
"menuId": 2,
"name": "Carta Fin de Semana"
},
{
"menuId": 1,
"name": "Carta Principal"
},
{
"menuId": 3,
"name": "Carta Semana"
},
{
"menuId": 7,
"name": "Happy Hour"
},
{
"menuId": 4,
"name": "Menú del Día"
}
]
}
}