You can integrate with the Kounta by Lightspeed 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 by Lightspeed add-on configuration and turn on
Enable Integrated Customers
and configure the appropriate URLs.
While Kounta by Lightspeed provides the capability for you to easily find, create and update customers for your integrated merchant, there are times where Kounta by Lightspeed 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 by Lightspeed 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.
When an individual customer is selected, a Rewards requests will be made with the customer_id (Kounta by Lightspeed 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
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: