☰ Meniu · Rezervări
Referință API
Rezervări
Cashback pus deoparte la scanare și confirmat de bonul închis.
Obiectul hold
- iduuid
- Trimite-l ca
hold_idîmpreună cu bonul. - memberstring
- Numărul cardului.
- amountinteger
- Cashback-ul pus deoparte, în subunități.
- statusstring
active,captured,releasedsauexpired.- captured_bystring sau null
external_idal bonului care a folosit-o.- expires_atdatetime
- Momentul în care o rezervare nefolosită se eliberează singură.
POST
/v1/holdsPermisiune: transactions:write
Pune cashback deoparte. Se aplică aceleași plafoane ca la un bon; o cerere pentru mai mult este refuzată cu 402 insufficient_balance și limited_by. Trimite un Idempotency-Key.
- memberstring, obligatoriu
- Numărul cardului, valoarea scanată, seria, id-ul membrului sau telefonul.
- amountinteger, obligatoriu
- Cashback-ul de pus deoparte.
- check_amountinteger, obligatoriu
- Totalul bonului, pentru partea stabilită de program și regulile categoriilor.
- register_idstring
- Id-ul casei tale.
- line_itemsarray
- Pentru regulile categoriilor.
curl
curl https://loyaltyfy.io/api/v1/holds \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: hold-R3-000131" \
-d '{ "member": "2000111703779", "amount": 3000, "check_amount": 20000, "register_id": "R3" }'
# at payment: the check captures it
curl https://loyaltyfy.io/api/v1/transactions \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "external_id": "000131", "register_id": "R3", "member": "2000111703779",
"amount": 20000, "hold_id": "5b0d6c1e-8f3a-4d7e-9a61-2c4b8e0f7d19" }'Răspuns · 201
{
"object": "hold",
"id": "5b0d6c1e-8f3a-4d7e-9a61-2c4b8e0f7d19",
"member": "2000111703779",
"amount": 3000,
"check_amount": 20000,
"status": "active",
"register_id": "R3",
"captured_by": null,
"expires_at": "2026-10-06T19:02:11.000+00:00",
"livemode": false,
"created_at": "2026-10-06T18:32:11.000+00:00",
"member_after": { "object": "member", "cashback": { "balance": 10200, "held": 3000, "available": 7200, ... }, ... }
}GET
/v1/holds/{id}Permisiune: transactions:write
O rezervare, cu statusul ei curent.
POST
/v1/holds/{id}/releasePermisiune: transactions:write
Eliberează banii imediat. Eliberarea unei rezervări deja eliberate sau expirate nu are niciun efect; o rezervare confirmată răspunde cu 409 hold_captured (anulează bonul în schimb).