Toma de pedidos
POST
Definir costo de envío de la orden
POST /api/pos-order/set-delivery-fee
Descripción
Fija el costo del envío a domicilio de la orden por zona, con un monto ingresado, o lo vuelve al cálculo automático.
Detalles
Establece el costo del envío a domicilio de la orden. Si se elige una zona, la tarifa sale de esa zona. Si se ingresa un monto, ese valor reemplaza el cálculo automático. Sin zona ni monto, el costo vuelve a calcularse solo según la configuración del canal. Solo se permite mientras la orden siga abierta. Si el canal no cobra envío o lo da gratis, no admite zona ni monto.
Permisos requeridos
orders.module
lite.module
El usuario solo necesita uno de los permisos listados.
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| orderUuid | string | Sí |
min:36
max:36
|
| deliveryZoneId | int | No |
min_value:1
|
| amountCents | int | No |
min_value:0
|
Ejemplo de request
curl -X POST https://restofy.pro/api/pos-order/set-delivery-fee \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"orderUuid": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"orderUuid": "3d4321a7-9332-41b2-9262-3e443921a179",
"amountCents": 9000
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"totalBaseCents": 2300000,
"discountCents": 0,
"discountReasonName": null,
"discountAt": null,
"discountByActorId": null,
"discountByActorName": null,
"taxCents": 0,
"tipAmountCents": 0,
"tipRateBasisPoints": 0,
"tipModeApplied": "disabled",
"isTipOverridden": 0,
"tipOverriddenAt": null,
"tipOverriddenByActorName": null,
"tipRoundingOption": "none",
"deliveryFeeCents": 9000,
"deliveryZoneId": null,
"deliveryModeApplied": "fixed",
"isDeliveryOverridden": 1,
"deliveryOverriddenAt": "2026-10-09T02:10:15.000Z",
"deliveryOverriddenByActorName": "App Testing",
"priceCents": 2300000,
"grandTotalCents": 2309000,
"paidCents": 0,
"balanceCents": 2309000,
"paymentStatus": "unpaid"
}
}