Redeem a reward proof as active merchant owner/staff
Requires a Better Auth session and an active merchant owner/staff role checked from the database. Corporate users and unrelated merchants have no access; a live platform admin role does not bypass merchant membership. Optional outletId records the branch of the redemption (409 reward_wrong_outlet when the voucher does not work there). Returns no customer account, name, phone, identity-document or health data. Repeated collection returns already_redeemed.
Authorization
bearer In: header
Path Parameters
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/rewards/merchants/497f6eca-6276-4993-bfeb-53cbbbba6f08/redeem" \ -H "Content-Type: application/json" \ -d '{ "qrToken": "string" }'{ "status": "ready", "campaign": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "title": "string", "deliveryKind": "physical_gift", "kind": "product", "eligibility": "signup", "signupWithinDays": 30, "usesPerMember": 1, "usesPeriod": "total", "benefit": { "type": "free" }, "exclusions": "", "outletIds": [], "catalogItemId": null, "redemptionOutlets": [], "catalogItemTitle": null, "rules": "" }, "expiresAt": "2019-08-24T14:15:22Z", "redeemedAt": "2019-08-24T14:15:22Z"}Branches of the approved listing, for choosing where you are redeeming GET
Owner or staff of that merchant (checked from the database). Send the chosen id as outletId with validate or redeem; it is recorded with the redemption. Empty until the merchant's listing is approved.
Validate a reward proof as active merchant owner/staff POST
Requires a Better Auth session and an active merchant owner/staff role checked from the database. Corporate users and unrelated merchants have no access; a live platform admin role does not bypass merchant membership. Optional outletId records the branch of the redemption (409 reward_wrong_outlet when the voucher does not work there). Returns no customer account, name, phone, identity-document or health data. Repeated collection returns already_redeemed.