What it is
When a linked Bilt member buys from you, you tell Bilt what they bought and how they paid. Bilt rewards the member from the payments. Points are awarded once the order is fully captured, and reversed in proportion when money is refunded. You send one stream of signed events. All traffic goes from you to Bilt, and Bilt never calls you.This contract is a proposal under design review and is not live yet.
How it works
Every change to an order is a newPOST of a new event. There is no PATCH or PUT, and Bilt never edits an event you sent. Bilt answers 202 right away and checks the event a few seconds later.
A 202 is a receipt, not a verdict. Every rule about the content of an event is applied after it.
Key concepts
Event types
Each event has anorder part and, when money moved, a payments part.
Events after the purchase carry only what changed. They point at the order by
orderId, at its lines by lineItemId, and at a tender by paymentId. Never resend line details, the location, or the totals.
Do not send carts, drafts, orders awaiting payment, or picking and packing steps that leave a line’s status unchanged.
Your IDs
Bilt does not give you IDs.orderId names an order, lineItemId names one of its lines, and paymentId names one tender. Every event has an idempotencyKey you generate once. orderId, partnerMemberId, currency, and each paymentId never change across an order’s events.
Payment lifecycle
Each tender has its own sequence, sent insidepayments of whichever order event you are sending.
- A card goes
AUTHORIZED, thenCAPTURED, thenREFUNDED. You can capture several times as you ship, up to the authorized amount. You can refund several times, each with its ownrefundId. A hold released without a capture isVOIDED, which ends the sequence. - Every other tender goes
CAPTURED, thenREFUNDED. It is captured once.
Amounts
Within the purchase:When points move
- Points are earned on
CASH, and onCARDwithcardTypeCREDITorDEBIT. - The award is the sum of those tenders’ captures. Bilt makes it once captures across all tenders equal
netAmounts.total. - A card capture needs its
AUTHORIZEDfirst, with the samepaymentIdand the same card. - Prepaid cards, gift cards, store credit, and other tenders are recorded so the totals reconcile. They earn nothing.
- A refund reverses points in proportion to its amount.
Versioning
A breaking change ships as/v2/partners/order-reports next to /v1. Within /v1, Bilt may add enum values, so accept values you do not know.