Create & Update Basket
This endpoint is used to notify Thanx of the states that a basket is in, apply rewards to the order, and accrue loyalty progress or points for the order.
A basket can be in one of the following states:
State | Description |
---|---|
checkout | Refers to any point before the order is placed. Any time the user updates their basket or rewards, Thanx expects to receive a request to check if discount information should be updated. |
placed | Refers to when an order has been submitted to the system and a user can no longer modify their order through the website. If a reward is specified, the reward will be locked. If a points product is specified, the user’s points balance will be deducted in exchange for specified reward and the reward will be locked. |
billed | Refers to when the order has been trasmitted to the POS and the user’s credit card has been charged. Any specified reward will be marked as used. Loyalty progress or points will be accrued upon receipt of this event. |
completed | Refers to when the order has been made and transferred to the customer. |
voided | Refers to an order that got canceled after entering the placed state and before entering the billed state. Any locked reward will be re-delivered to the user. Points were exchanged for a points product will not be redelivered, but the points product reward will be available for future redemption. |
refunded | Refers to an order being refunded / canceled any time after it enters the billed state. Any locked reward will be re-delivered to the user. Points were exchanged for a points product will not be redelivered, but the points product reward will be available for future redemption. |
Only a single reward or points product can be redeemed per order.
HTTP Request
Parameters
Basket unique ID
Basket ID is not required when submitting a basket with ‘checkout’ state.
Basket state (checkout
, placed
, billed
, completed
, voided
,
refunded
)
When the order is wanted in (ISO 8601 format). If this timestamp is not provided, Thanx assumes the order is wanted ASAP. Providing this timestamp allows Thanx to determine if a reward will be valid in the future (for example, for a weekend only promotion where the user orders in advance)
The location identifier; this is what your system uses to identify a location. Providing this information allows Thanx to apply location restricted rewards.
Reward IDs to apply to the basket. If you are integrating with reward codes, provide the reward code here instead.
Currently only a single reward or points product can be applied to a basket. The request will 400 if multiple rewards or points products are specified in the request.
Points Product IDs to apply to the basket.
Currently only a single reward or points product can be applied to a basket. The request will 400 if multiple rewards or points products are specified in the request.
Array of payment methods
Array of items
The subtotal of the basket in USD (before taxes & tips)
Currently either instore
or online
, defaults to online
. This is used to
adjust which configured product IDs are returned in the applicable reward and
points product entities.
Response
Response ID
Basket state (checkout
, placed
, billed
, completed
, voided
,
refunded
)
Discount to apply