OwnRewards

11/11 endpoints live-verified

Your POS. Our loyalty engine. Their regulars coming back.

Integrate OwnRewards once — then every merchant on your platform can run points, rewards, coupons, WhatsApp win-backs and a branded member app at the counter. Verified REST APIs. Days to ship, not months.

For POS vendors & in-house POS teams · Merchants keep your till UI

Tablet POS and customer phone at the counter — loyalty in the flow

Integrate once

Every merchant on your POS unlocks full OwnRewards loyalty

Who this page is for

For merchants

Merchants keep your billing screen. Loyalty rides alongside — lookup, redeem, earn, reverse — without leaving the ticket.

For POS vendors

You become the POS that ships enterprise retention. Co-market with us; partner pricing available.

Counter loop

Four calls. Full loyalty at the till.

Do not redeem by only posting a bill — redemption goes through cart-checkout. Earn happens after payment on save-own-bill.

  1. 1

    Phone on the ticket

    Cashier enters the customer phone. POS calls cart-validate — balance, eligible rewards and coupons come back in one response.

    POST /loyalty-redeem/cart-validate
  2. 2

    Apply offer + OTP

    Customer picks points, a reward or a coupon. Optional OTP confirms high-value redemptions. Discount lands on the ticket before payment.

    POST /loyalty-redeem/cart-checkout
  3. 3

    Bill closes → earn

    After payment, POS posts the closed bill with a unique order id and stable itemIds. Points credit; WhatsApp fires.

    POST /loyalty-bill/save-own-bill
  4. 4

    Cancel / return

    Void or return? Call order/return — loyalty reverses cleanly. Duplicate bill posts return 409 and credit nothing twice.

    POST /v1/loyalty/order/return

API surface

Open APIs you call — plus one catalog URL you host.

Live reliability suite · 11/11

Layered glass plates suggesting API integration
JobEndpoint
Pre-bill lookupPOST /loyalty-redeem/cart-validate
Typed coupon checkPOST /loyalty-redeem/validate-coupon
Redeem + OTPPOST /loyalty-redeem/cart-checkout
Bill earnPOST /loyalty-bill/save-own-bill
Cancel / returnPOST /v1/loyalty/order/return
Product catalogYou host HTTPS catalog
Custom eventsPOST /events/publish
Outbound webhooksPlatform webhooks (HMAC)

Auth: billStructureId on save-own-bill · optional API key on cart routes · X-API-Key + Secret on /v1/loyalty and events.

Ship it

Onboard once. Activate when the mapping is right.

  1. 1

    Connect Custom POS

    Outlet → Integrations → Custom POS. You get billStructureMappingId and a saveBillUrl.

  2. 2

    Push a sample bill

    Post one sample to save-own-bill. Map your JSON fields to OwnRewards canonical fields in admin.

  3. 3

    Activate mapping

    draft → pending → active. Earn runs only when active — no surprise credits during mapping.

  4. 4

    Wire the counter loop

    cart-validate → (validate-coupon) → cart-checkout → save-own-bill → order/return on voids.

  5. 5

    Optional: catalog & keys

    Register your catalog URL. Create an API key for /v1/loyalty and events. Subscribe to webhooks.

  • Idempotent bills — honor 409
  • Stable itemId on every line
  • Never log OTPs or API secrets
  • Subscribe to webhooks; don't poll after 2xx
Core loop (illustrative)
// 1) Lookup at the till
POST /loyalty-redeem/cart-validate
{
  "phoneNo": "9876503099",
  "countryCode": "91",
  "outletId": "<outletId>",
  "billAmount": 500,
  "cartItems": [{ "itemId": "SKU-1", "name": "Latte", "qty": 1, "price": 180 }]
}

// 2) Apply reward / points / coupon (+ OTP when required)
POST /loyalty-redeem/cart-checkout
{ "phoneNo": "…", "outletId": "…", "rewardId": "…", "otp": "123456" }

// 3) After payment — earn (unique order id; 409 = already credited)
POST /loyalty-bill/save-own-bill
{ "billStructureId": "…", "orderId": "POS-88421", "items": [/* itemId required */] }

// 4) On void / return
POST /v1/loyalty/order/return
Headers: X-API-Key, X-API-Secret
Prefer the full integrator guide for schemas, error codes and catalog pull contract.

Why POS vendors ship this

Billing plus retention beats billing alone.

  • Stickier merchants

    Loyalty programs raise switching cost. Merchants who earn and redeem inside your POS stay on your POS.

  • One integration, many brands

    You ship the connector once. Each merchant configures their own earn rates, rewards and WhatsApp in OwnRewards.

  • Co-sell ready

    Partner pricing, co-marketing and a joint story: billing + retention in one counter flow.

  • Production patterns

    Idempotent bills (409), OTP redemption, HMAC webhooks, rate limits with Retry-After — built for real tills.

FAQ

Custom POS FAQ

  • Teams that already post bills over HTTPS usually ship the core loop (validate → checkout → save-own-bill → return) in a few days. Catalog pull and webhooks add a short follow-up.

Next step

Ready to offer loyalty inside your POS?

Book 30 minutes — we'll walk the counter loop against your bill payload and leave you with a ship checklist.

Card after outlet · charged after 14 days · Live in a day