Processes

Implementation may include all or only selected processes depending on business requirements.
Additional processes may be implemented by agreement.

Authentication

Goal: Token-based authentication against the loyalty system
Result: Authentication token Call: POST /auth/login Comment: Token should be reused for up to 12 hours or until restart. One token may be used for all connected systems (e.g. centralized POS service).


Customer Identification / Account & User Lookup

GoalResultCallComment
Scan customer code (card/app)QR/Code read and customer IDN.A.JSON format: {"accountId":"XXX","idType":"CARDCODE"} or {"accountId":"XXX","idType":"APPCODE"}
Identify accountAccount ID and statusGET /accountsUse ID type CARDCODE or APPCODE. Only ACTIVE accounts should proceed.
Check registration (membership)Membership status, opt-ins, user IDGET /accounts/{accountId}/membershipsIndicates account is registered.
Get user dataPersonal detailsGET /usersGenerally not required unless data protection alignment needed.
Display point balanceAvailable / locked pointsGET /accounts/{accountId}/balance

Transactions with Customer Card - Earn Points

StepCallComment
1N.A.Assign customer to transaction before/after receipt entry
2N.A.Finalize receipt (internal POS process)
3POST /accounts/{accountId}/transactionsReceipt total must match line items sum. All fields should be filled.
4N.A.Handle API response. Use offline queue for failures.
5N.A.Print receipt info (e.g. customer ID, points earned).

Transactions with Customer Card - Returns

StepCallComment
1GET /transactions/{transactionId}Retrieve original receipt
2N.A.Assign customer from original receipt or scan again
3N.A.Finalize receipt (internal POS process)
4POST /accounts/{accountId}/transactionsUse RETURN line items. Receipt ID must be unique.
5N.A.Handle API response. Use offline queue for failures.
6N.A.Print receipt per business requirements.

Transactions without Customer Card

StepCallComment
1N.A.Finalize receipt
2POST /transactionsSubmit for reporting purposes only. Must use unique ID.
3N.A.Handle API response. Use offline queue for failures.
4N.A.Optional message on receipt (e.g. "Register and earn points").

Pay with Points

StepCallComment
1N.A.Scan customer card/app
2GET /accounts/{accountId}/balance or /balance/EURQuery points or euro equivalent
3N.A.Enter amount to redeem
4POST /accounts/{accountId}/transactionsProcess as payment method before receipt finalization
5N.A.Handle API response. No retries if failed.
6POST /accounts/{accountId}/transactionsAdd payment to receipt
7POST /accounts/{accountId}/transactionsProcess refunds as negative transaction if needed

Automatic Coupon Redemption

No POS action required. Redemption occurs automatically when a qualifying purchase is processed. Article/merchandise matching must be defined in the coupon data.


Coupon Redemption (via Account Coupon in App)

StepCallComment
1N.A.Scan coupon code from app; format: {"accountId":"XXX","accountCouponId":"YYY"}
2GET /v2/accountcoupons/{accountcouponid}Validate coupon and get external reference
3N.A.Check reference against cart rules
4PATCH /v2/accountcoupons/{accountcouponid}/previewOptional: validate coupon preview
5N.A.Apply pricing rule (internal)
6POST /accounts/{accountId}/transactionsFinalize receipt
7PATCH /v2/accountcoupons/{accountcouponid}Redeem coupon in Convercus system
8N.A.Coupon redemption is final

Coupon Redemption (via POS Selection)

StepCallComment
1N.A.Scan customer card/app
2GET /v2/accounts/{accountid}/accountcouponsRetrieve visible coupons with external references
3N.A.Display and allow selection in POS interface
4N.A.Store selected AccountCouponId for redemption
5N.A.Optionally validate pricing rule against cart
6PATCH /v2/accountcoupons/{accountcouponid}/previewOptional validation step
7N.A.Apply pricing rule (internal)
8POST /accounts/{accountId}/transactionsFinalize receipt
9PATCH /v2/accountcoupons/{accountcouponid}Finalize coupon redemption
10N.A.Redemption is not reversible