L
LoyaltyDocs

Authentication & Conventions

JWT auth, phone format, idempotency keys, centre codes, and status-code semantics

Four ground rules shape every interaction with the platform. They exist to keep customer balances safe even when tills crash, networks drop, or buttons get double-tapped.

1. Only Your Systems Talk to Ours

All loyalty operations run from your backend systems to ours, over an authenticated channel your developers set up once. Nothing loyalty-related ever runs from a customer's phone or browser — so credentials and balances stay out of reach. The one deliberate exception is the public referral form, which carries its own static token rather than a user's login — see Public Referral Forms.

2. Phone Numbers Are Exact

A customer's phone number — including the country code — is their identity. The platform never reformats numbers, because tenants operate across countries with different conventions. Whatever format you register a customer with is the format you use everywhere after.

3. Repeats Are Always Harmless

Every operation that moves points carries a reference of yours — the bill number, the redemption number, the refund number, an operation code for a bonus or penalty. The platform uses it to recognize repeats:

  • Sending the same redemption again returns the original answer — no second code is sent, nothing is recalculated.
  • Confirming the same transaction again is acknowledged and ignored — points never move twice.
  • Submitting the same refund, bonus, penalty or adjustment again is acknowledged and ignored — it never doubles.

What this means operationally

Your team never has to wonder "did that go through?" after a glitch. Send it again — the platform sorts it out.

4. Say Which Centre — When Centres Are Separated

If your tenant ring-fences points to the centre that issued them, every call that touches a customer's points names the centre it comes from, using the code from your centre list. Without separation the field is simply omitted. See Centres & Store Separation.

For developers

The authentication setup, request formats, and error codes for every operation on this page live in the interactive API reference — follow the inline links. The centre is the `store_code` field on every customer, earning, spending and correction call; idempotency keys are `reference_id`, `redemption_id`, `reversal_code` and `operation_code`.

Was this page helpful?

Last updated on

On this page