Loyalty

You can integrate with the Kounta POS to implement your own Loyalty schemes. This integration allows you to implement Customer Search, Customer Reward Lookup, and Reward Redemption.

To enable this functionality, go to the Loyalty tab of your Kounta add-on configuration and turn on Enable Integrated Customers and configure the appropriate URLs.

Customer Search

While Kounta provides the capability for you to easily find, create and update customers for your integrated merchant, there are times where Kounta may not yet know about these customers.

As such we've provided the ability for a merchant to initiate a search directly within your application, allowing you to return one or more customers that match the search parameter, alongside extra information and integrated actions the merchant can initiate.

When we lookup the customer we will include the following parameters: keyword, company_id, site_id, and order_id in the url.

Note that all IDs here are the Kounta IDs, and the order_id provided is just a placeholder ID at the time of the request, and will need to be included as-is in your response.

e.g. https://www.rewardsprovider.com/customer-search?keyword=John%20Smith&site_id=123&company_id=456&order_id=111

You can return one or more customers that match the keyword search parameters. The response schema would look like:

The following are required fields: id, first_name, email_address.

points_label will default to the value 'Points'.

icon_url should reference a 300x300 image.

params can be an object with any key:value pairs you want to display.

Customer Rewards

When an individual customer is selected, a Rewards requests will be made with the customer_id (Kounta ID) and reference_id (your ID).

E.g. https://www.rewardsprovider.com/reward-lookup?customer_id=789&reference_id=911&site_id=123&company_id=456&order_id=111

Note a reward could indicate any type of action, it could infer payment, discount, reward, or coupon. Basically it allows you to prompt the merchant to take some action on the customer and/or order as needed.

The expected response is similar, except you can now just return the individual member record and the rewards associated with that member.

The following are required fields in rewards: id, redeem_url, title.

points_label will default to the value 'Points'.

action_label will default to the value 'Redeem'.

variable_quantity represents whether to allow the user to select number of points to redeem (up to points_required amount) when they click 'Redeem'. This amount will be sent as an additional parameter &quantity=50

Rewards Redemption

We will use the redeem_url you provided for the reward, replacing the order_id=1234 placeholder with a valid ID you can use to call the API and update the order. After updating the order via the API you should return a 200 OK response in the format: