Back to My Kounta

Loyalty Integration Method - Obsolete

Josh -

This specification is due to be replaced on1/2/2016 with the more flexible functionality detailed here

 

Rewards/Loyalty Integration

When staff pull up a customer on the POS they can fetch available rewards for that customer if he/she is linked to a rewards addon. In order for a customer to be linked the rewards addon needs to set a ‘reference_id’ against the customer via the API.

To enable your addon as reward addon, please contact developers@kounta.com and provide a URL for fetching available rewards. The URL should accept query parameters of 'company_id', 'customer_id', and 'order_id' (which are all Kounta IDs). Note that the order_id provided in the call to you is just a placeholder ID at the time of the request, and will need to be included as-is in your response.

 

The data returned from this call needs to be a json object in the format:

{
  member: {
      id: "string of the loyalty id in your system",
      icon_url: "string URL for a customer image to display",
      current_points: integer of how many points they currently have,
  },
  rewards: [
      {
          id: "string reward id",
          title: "string title for the reward",
          terms: "any details/text you want to display for the reward",
          points_required: int number of points required,
          redeem_url: "string URL for redeeming this reward, which will be called when the POS user clicks redeem on this reward. It needs to include the order_id we sent you, such as 'order_id=1234' in the URL."
      },
      ...
  ],
}



If you need to return an error, please return it in the format:

{
  error: "Your error message here"
}

 

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 response in the format:

{
  success: boolean (true or false),
  error: "error message if success was false, else can be omitted"
}

 

Flow Example

Have more questions? Submit a request

Comments

Powered by Zendesk