The Zinrelo platform offers some advanced features which require Custom Integration via Zinrelo API. This document explains how the advanced scenarios can be set up using the Zinrelo API. If you are just looking for an overview of the basic integration for any of your sales channels, you should start with 'Getting Started with Zinrelo Integration'.
The advanced scenarios can be classified into the following broad categories -
- Processing order returns / cancellations
- Awarding points for custom activities (Activities that happen outside the Zinrelo platform)
- Integrating loyalty data with your CRM
- Adding promotional elements about the loyalty program to your website
- Creating a referral program for your mobile app purchases
- Setting up custom redemption options
Processing Order returns / Cancellations
Customers earn points for placing orders. But if they return or cancel the orders, the points should be deducted.
Before you set up the return order process, you must change the default configuration of the ‘Purchase on website’ activity in the Zinrelo console. Change the ‘Approval Type’ to fixed duration and enter the allowed duration for cancelling orders. The points will be kept in the ‘pending’ status for this duration and will then be available for the customers to use.
There are two options for processing Order returns:
- Real time processing of returns: When the order is cancelled in your order management system, make an API call to Zinrelo to cancel the order in the loyalty program as well. The points will be immediately deducted from the customer’s account. The Return Order API call requires the Order ID to be passed in the request parameters. In case of partial returns, you can send the partial return amount in the request parameters too. Zinrelo will look up the order ID and business rules and deduct points from the user accordingly.
- Batch Mode processing for returns:
If your order management system doesn’t let you use Zinrelo’s API, you can use the batch mode processing method to process returns. Upload a file of return transactions to a FTP setup by Zinrelo. Zinrelo will process the return transactions for all records in the file at the end of the day.
See batch mode processing for details.
Awarding Points for Custom Activities
The Zinrelo platform doesn’t restrict you to awarding points for certain pre-defined activities. You can award points for any activity as long as you can track it at your end.
There are two options for awarding points for custom activities:
- Awarding points in real time: When customers perform the activity, make an API call to Award Points. The function requires the customer email address and the activity ID to be passed in the request parameters. Zinrelo will look up the given activity configuration and award points based on the business rules set.
Note: You have an option to override the business rules and award a fixed number of points for the activity by passing the required points value in the API call.
- Awarding points via batch mode:
You can upload a list of custom activities done by the customers in a specified format to a FTP location set up by Zinrelo. Zinrelo will process all the transactions and award points to the customers at the end of the day.
See batch mode processing for details.
The primary use for integrating loyalty data with your CRM / email marketing tool is to personalize marketing emails by including the available loyalty points, customer tier or the eligible redemption options.
- Updating User data: Updating your CRM with loyalty data is a two part process. You first have to retrieve the loyalty data from Zinrelo using Zinrelo’s API and then you have to update your CRM with that data.
Retrieving the data from Zinrelo can be done with the Get All Users API function. With this function you can fetch the data for all customers that enrolled in a specific date range. Alternately, you can fetch the data only for those customers that did any transactions in a given date range. The latter is useful to fetch incremental data instead of pulling up the whole list of all enrolled users each time to update your CRM.
- Updating Transaction data:
Accounting teams may require data of approved / rejected / expired transactions for book keeping. This can be fetched using the Get All Transactions API. As with the Get All User API function, you can selectively extract data in a given date range using the transaction status as a filter.
Promotional elements on the website
A popular strategy to promote the program on the website is to show the available points and eligible redemption options for each customer at different places on the website. (See the program promotion document for details about website promotion strategies).
To fetch the details of any user, you can use the Get User API function. This will return all the data for that customer including available points, expiry date of points and the customer Tier. To display the redemption options that the customer is eligible for, you can use the Get User Redemptions API function. The response will contain a list of only those redemptions that the customer is eligible for.