Skip to main content
Recalcula los precios esperados a partir de un menú fresco del mismo alcance de venta y los compara con los lines y totals enviados. Úsalo antes del checkout para mostrar problemas por línea (cambio de precio, producto no disponible, menú cerrado, etc.) sin confiar en los montos del cliente.
Requiere un access token de la API Storefront obtenido mediante intercambio de token. Envía el borrador actual (scope + lines + totals), no solo el id persistido — también se validan ediciones aún no sincronizadas.
En @fire-spark/storefront, llama order.validateOrder(). Si falla, lanza OrderValidationError con el mismo payload issues y lines descrito abajo.

Cuerpo de la solicitud

Solicitud

Respuesta exitosa

Devuelve 200 cuando todas las comprobaciones pasan.

Fallo de validación (422)

Si al menos una comprobación falla, la API responde 422 con:
Las comparaciones de dinero usan igualdad exacta con Big.js (sin epsilon). expected / actual son strings decimales cuando aplican.

Códigos a nivel de pedido (details.issues)

Códigos de canjes

Llegan en details.issues para los canjes del pedido (field es redeem.N.…) y en details.lines[uid] para los canjes de línea.

Códigos a nivel de línea (details.lines[uid])

Muestra details.lines[uid] junto a la fila del carrito para que el cliente pueda quitar o re-personalizar el ítem. Usa details.issues como banners del carrito (tienda cerrada, totales incorrectos, carrito vacío).

Otras respuestas de error

Relacionado

Obtener menús

Menú fresco del mismo scope

Actualizar pedido

Sincronizar líneas tras corregir el carrito

Realizar pedidos

Flujo completo de checkout