Restofy Docs

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
min:36 max:36
channelId int
min_value:1
isActive int
enum:0,1
prepaidRequired int
enum:0,1
allowAllPaymentMethods int
enum:0,1
requiresStaffApproval int
enum:0,1
allowExternalOrder int
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": []
            }
        ]
    }
}