☰ Meniu · Calcul
Referință API

Calculul unui bon

Află ce ar acumula și ce ar folosi un bon înainte ca oaspetele să plătească. Nu se scrie nimic.

POST/v1/checks/calculate
Permisiune: transactions:write sau devices:write

Aplică aceleași reguli ca POST /v1/transactions: nivelul oaspetelui, regulile categoriilor, partea stabilită de program, limitele localului și rezervările. Apelează-l ori de câte ori se schimbă coșul. O altă casă ar putea totuși să folosească soldul înainte să se închidă bonul; folosește o rezervare când asta contează.

memberstring, obligatoriu
Numărul cardului, valoarea scanată, seria, id-ul membrului sau telefonul.
amountinteger, obligatoriu
Totalul bonului înainte de cashback, în subunități.
redeem_amountinteger
Cât vrea oaspetele să plătească cu cashback.
hold_iduuid
Calculează ca și cum această rezervare ar fi confirmată.
line_itemsarray
La fel ca la o tranzacție; folosite de regulile categoriilor.
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 }'
Răspuns · 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
Cât s-ar folosi efectiv.
max_redeeminteger
Suma maximă pe care o poate folosi acum acest bon.
limited_bystring sau null
Când cererea a fost pentru mai mult: balance, program, per_check sau per_day.
cashback_earned, earn_rate, level
Ce ar acumula bonul și la ce nivel.
balance_afterinteger
Soldul după acest bon.
hold_requiredboolean
Localul acceptă plata doar prin rezervări și nu s-a trimis hold_id.
stamps_earned, reward_unlocked, discount_percent
Pentru programele cu ștampile și vizite.
displayobject
cashier_text și receipt_lines în limba oaspetelui.