Unlock Discount Basket (Redemptions 2.0)
When reward locking is enabled in the Punchh Platform, the guest's discount basket must be locked. An external ID will be required to lock the discount basket to prevent other channels from creating simultaneous transactions or modifying the discount basket. In this mode, the guest's discount basket must be locked when discounts are applied to a transaction, using a unique identifier external_uid specific to the transaction generated by your application.
The external_uid ensures that no modifications or updates are allowed by any other channel (e.g., web, mobile, etc.) except the application that initially locked the discount basket with the external_uid. Contact your Punchh representative to update this Punchh platform configuration setting.
In some scenarios where a transaction is cancelled or when the guest modifies the order after the basket is locked, the guest's discount basket needs to be unlocked so that transactions can be processed for the guest via other channels (e.g., web, online ordering, etc.). To unlock the discount basket, the external_uid must be passed in the API request along with the guest's user_id.
- Type: stringAuthorizationrequired
This is a combination of unique API location key as well as business key (UUID) as the Authorization header.
- Type: stringContent
- Type requiredSet this header to application/json.
- Type: stringUser
- Agent requiredFor details, see User Agent.
- Type: stringAcceptrequired
Advertises which content types the client is able to understand
- Type: stringexternal
_uid requiredUnique identifier generated by the system to lock the discount basket to prevent duplicate transactions
- Type: integeruser
_id requiredGuest user ID
- 200
Discount Basket is unlocked successfully.
- application/json
- application/json
curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/discounts/unlock \
--request PUT \
--header 'Authorization: Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE' \
--header 'Content-Type: application/json' \
--header 'User-Agent: IntegratorName/IntegrationType/VersionNumber' \
--header 'Accept: application/json' \
--data '{
"user_id": 11111111,
"external_uid": "EXTERNAL_UID_GOES_HERE"
}'