☰ Menú · Calcular
Referencia de la API

Calcular un ticket

Consulta qué generaría y canjearía un ticket antes de que el cliente pague. No se escribe nada.

POST/v1/checks/calculate
Permiso: transactions:write o devices:write

Aplica las mismas reglas que POST /v1/transactions: el nivel del cliente, las reglas de categoría, el porcentaje del programa, los límites del local y las reservas. Llámalo cada vez que cambie la cesta. Otra caja podría gastar el saldo antes de que se cierre el ticket; usa una reserva cuando eso importe.

memberstring, obligatorio
Número de tarjeta, valor escaneado, número de serie, id de socio o teléfono.
amountinteger, obligatorio
El total del ticket antes del cashback, en unidades mínimas.
redeem_amountinteger
Cuánto quiere pagar el cliente con cashback.
hold_iduuid
Calcula como si esta reserva se hubiera capturado.
line_itemsarray
Igual que en una transacción; lo usan las reglas de categoría.
curl
curl https://loyaltyfy.io/api/v1/checks/calculate \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{ "member": "2000111703779", "amount": 20000, "redeem_amount": 5000 }'
Respuesta · 200
{
  "object": "check_calculation",
  "amount": 20000,
  "redeem_amount": 1250,
  "max_redeem": 1250,
  "limited_by": "balance",
  "net_amount": 18750,
  "cashback_earned": 938,
  "earn_rate": 5,
  "level": "Base",
  "balance_after": 938,
  "category_rules_applied": false,
  "hold_required": false,
  "stamps_earned": 0,
  "reward_unlocked": false,
  "member": { "object": "member", ... },
  "display": {
    "cashier_text": "Paid with cashback: 12.50 MDL · Cashback earned: 9.38 MDL · Cashback balance: 9.38 MDL",
    "receipt_lines": [
      "Paid with cashback: 12.50 MDL",
      "Cashback earned: 9.38 MDL",
      "Cashback balance: 9.38 MDL"
    ]
  }
}
redeem_amountinteger
Lo que se canjearía de verdad.
max_redeeminteger
Lo máximo que puede canjear este ticket ahora.
limited_bystring o null
Cuando la petición pidió más: balance, program, per_check o per_day.
cashback_earned, earn_rate, level
Lo que generaría el ticket y con qué nivel.
balance_afterinteger
El saldo después de este ticket.
hold_requiredboolean
El local solo canjea mediante reservas y no se envió hold_id.
stamps_earned, reward_unlocked, discount_percent
Para programas de sellos y de visitas.
displayobject
cashier_text y receipt_lines en el idioma del cliente.