Skip to content

Redemptions

Redeem a reward on behalf of a customer.

A customer’s {id} is its Shopify customer ID.

POST /customers/{id}/redemptions

Redeem a reward on behalf of a customer. Deducts the stamp cost and returns a discount code.

Body:

FieldTypeRequiredNotes
reward_product_idintegeryesThe reward to redeem (id from /rewards).
variable_amountintegernoOptional stamp amount for variable-value rewards.
// returns
{
"code": "APPY-5OFF-XXXX",
"name": "$5 off",
"stampBalance": 30
}
FieldTypeDescription
codestringThe issued discount code.
namestringReward name.
stampBalanceintegerResulting stamp balance after deduction.

Returns 422 INSUFFICIENT_STAMPS if the customer cannot afford the reward, or 404 REWARD_NOT_FOUND for an unknown reward.

POST /customers/{id}/reward-grants

Issue (comp) a reward to a customer at no stamp cost. This is the same as a redemption but the stamp balance is left untouched, useful for goodwill gestures or manual comps. A real discount code is issued.

Body:

FieldTypeRequiredNotes
reward_product_idintegeryesThe reward to grant (id from /rewards).
variable_amountintegernoOptional value for variable-value rewards.
// returns
{
"code": "APPY-5OFF-XXXX",
"name": "$5 off",
"stampBalance": 35
}

The response shape matches a redemption, but stampBalance is unchanged because no stamps were spent. Returns 404 REWARD_NOT_FOUND for an unknown reward.