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 cómo se cobra: pago anticipado y medios aceptados.
Detalles
* Crea o actualiza la disponibilidad de un canal de entrega en un canal de venta específico. * Si no se aceptan todos los medios de pago, se debe enviar al menos un medio; de lo contrario la operación falla. * Los medios de tipo gift card, anticipo, saldo a favor y crédito no se pueden seleccionar como medio explícito. * Si se indica una secuencia de facturación automática, debe existir, estar disponible y ser de facturas de venta. Falla también si el canal o los medios de pago no existen o no están disponibles. * 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
|
| prepaidRequired | int | Sí |
enum:0,1
|
| allowAllPaymentMethods | int | Sí |
enum:0,1
|
| requiresStaffApproval | int | Sí |
enum:0,1
|
| allowExternalOrder | int | Sí |
enum:0,1
|
| invoiceSequenceId | int | No |
min_value:1
|
| paymentMethodIds | string | No |
array_int
|
Ejemplo de request
curl -X POST https://app.restofy.co/api/fulfillment-config/update-fulfillment-config \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"fulfillmentUuid": "string",
"channelId": 1,
"isActive": 1,
"prepaidRequired": 1,
"allowAllPaymentMethods": 1,
"requiresStaffApproval": 1,
"allowExternalOrder": 1
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
{
"fulfillmentUuid": "ab19d75f-a006-4743-b105-a233edd17f9a",
"channelId": 2,
"isActive": 1,
"prepaidRequired": 0,
"allowAllPaymentMethods": 1,
"requiresStaffApproval": 0,
"allowExternalOrder": 0
}
Response
{
"success": true,
"message": "Disponibilidad actualizada",
"data": {
"channels": [
{
"channelId": 1,
"channelCode": "channel.staff.pos",
"channelName": "Punto de venta",
"isActive": 0,
"prepaidRequired": 0,
"allowAllPaymentMethods": 1,
"requiresStaffApproval": 0,
"allowExternalOrder": 0,
"invoiceSequenceId": null,
"paymentMethodIds": []
},
{
"channelId": 2,
"channelCode": "channel.link.qr",
"channelName": "QR / Enlace",
"isActive": 1,
"prepaidRequired": 0,
"allowAllPaymentMethods": 1,
"requiresStaffApproval": 0,
"allowExternalOrder": 0,
"invoiceSequenceId": null,
"paymentMethodIds": []
}
]
}
}