Developers · Pilot
The loyalty API for Bangladesh.
Programs, customers, earning, refunds, checkout holds, wallet passes and campaigns from your own POS, website or CRM. The same balances the counter and the wallet pass show.
curl -X POST "https://app.revisit.cards/v1/developer/programs/$PROGRAM_ID/actions" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "action": "earn", "externalCustomerId": "user-42", "sourceEventId": "order-2041" }'{
"data": {
"action": "earn",
"balance": 8,
"delta": 1,
"duplicate": false,
"externalCustomerId": "user-42",
"sourceEventId": "order-2041"
},
"success": true
}What you can build
Loyalty that runs inside your stack.
Stamp from the till
Your POS earns for each paid order. Retries are safe: one order, one stamp, and the wallet pass updates on its own.
Join at checkout
Enroll a customer by your own id on your website or order form, then hand them an Apple or Google Wallet pass.
Refunds that add up
Take back stamps, points or credit for a refund. If the reward was already used, the owner decides.
Run campaigns
Send wallet push or SMS campaigns under the shop's own rules, consent and daily limits.
Your first run
Four calls to your first stamp.
A test key, an invented customer and a stamp. Four calls, no real data touched.
- 01
Get a test key
The business owner makes one in the app under Settings, Developers.
- 02
Pick a program
List the programs and keep the id of the one you earn on.
- 03
Enroll a customer
Enroll a customer by your own id. You get a membership back.
- 04
Earn a stamp
Earn for an order id. Send it twice: it still counts once.
curl -X POST "https://app.revisit.cards/v1/developer/programs/e01b010d-2c65-48e1-83a0-acad79f8d3b4/actions" \
-H "Authorization: Bearer $DEVELOPER_API_KEY" \
-H "Idempotency-Key: 5f0c2a8e-7b1d-4c3e-9a6f-0d4b8e36983a" \
-H "Content-Type: application/json" \
-d '{
"action": "earn",
"externalCustomerId": "user-42",
"sourceEventId": "order-1001"
}'API reference
Everything the app does.
207 endpoints, plain REST. Every call has examples you can paste into a terminal.
Loyalty
Wallet and passes
Messaging
Business
Made for here
Built for how shops here work.
Exact money
Whole minor units in the program's currency, never floats. 1250 is 12.50 BDT.
Any BD number
01XXXXXXXXX, +8801XXXXXXXXX or an international number. All accepted.
Private by default
Numbers go in, never out. You get a mask and a member code.
Common questions.
Do I need an SDK?
No. It is plain HTTPS and JSON, so any language that can make a web request works. Every endpoint shows cURL, Node.js and Python.
Can I read customers' phone numbers?
No. Revisit seals customers' numbers and no business sees a full one, in the app or the API. You can send a phone to enroll or find a customer; you get back a masked number and a member code.
Is there a sandbox?
Yes. A test key works in an isolated workspace with invented programs and members. Nothing you try sends a real message, pass or payment.
My POS timed out. Did the stamp land?
Retry with the same Idempotency-Key and the same order id as sourceEventId. The stamp is added once, however many times the call arrives.
Does it work alongside the Revisit scanner?
Yes. The API and the scanner write to the same balances, so staff can keep scanning while your POS earns too.
Are there webhooks?
Not in this release. You call the API and read status; background jobs answer with a reference you read later.
Pilot access
Build it with us.
The API is in a pilot with a few businesses. Tell us what you are building and we will open it for your shop.