Skip to main content
This guide shows a workflow for combining loyalty points from multiple cards. A common use case is to allow a customer to redeem a reward if the number of points on a single card is not enough.
  • Points can be transferred between cards in the same and different loyalty campaigns.
  • Points can be transferred to the same and different customers.

Reward qualification

First, call the qualification endpoint. It returns a list of loyalty cards that you can use to redeem a reward specified in the request.
{
    "customer" : {
      "id" : "cust_D01yXiZdzuMl149QpUFBG58E",
      "source_id" : "src_id",
      "name": "Jan Kowalski"
    },
    "reward": {
		"id": "rew_BLeJDzhaNTxpW3tFFhuFM5Wl",
		"assignment_id": "rewa_sxrvjMvQAtip54kV81FBxs2V"
	}
}
The returned cards belong to the given customer but the customer parameter is optional. If you leave it not defined, the method will return all loyalty card codes which can be used to redeem a reward.

Loyalty card validation

Use the validation API method to verify whether the customer has enough points to receive a reward. Here is an endpoint and example request. An example request body and a response:
{
    "customer" : {
      "id" : "cust_D01yXiZdzuMl149QpUFBG58E",
      "source_id" : "src_id",
      "name": "Jan Kowalski"
    },
    "reward": {
		"id": "rew_BLeJDzhaNTxpW3tFFhuFM5Wl",
		"assignment_id": "rewa_sxrvjMvQAtip54kV81FBxs2V"
  	}
}
In the response, you can see that the customer doesn’t have enough points to get the reward.

The loyalty points transfer

You can transfer loyalty points between campaigns and customers. If a customer has two or more assigned loyalty cards, Voucherify lets you transfer points from one card to another - for example, when the customer does not have enough points on a single loyalty card to receive the reward. You can transfer points between cards in the same or different loyalty campaigns and for the same or different customers. To transfer points from one card to another ({id}), call the transfer endpoint with the following request body: POST: https://api.voucherify.io/v1/loyalties/{campaignId}/members/{memberId}/transfers In the path parameters, you need to include:
  • campaignId - a unique identifier of the loyalty campaign containing the voucher to which the loyalty points are to be sent.
  • memberId – a unique code identifying the loyalty card to which you want to transfer loyalty points.
In the body parameters, you need to add the following data:
  • code – a unique identifier of the loyalty card from which you want to transfer points.
  • points – the number of loyalty points that you want to transfer to another loyalty card.
The number of points in the request body cannot be higher than the current balance on the loyalty card.
[
   {
      "campaign_id": "camp_dYaLHvcIMdUZ2yINBABKDECE",
      "code": "pLUJhg7S",
      "points": 200
   }
]
As a result, the balance on both cards has changed.

Points redemption

Finally, redeem the points from the card. POST: https://api.voucherify.io/v1/loyalties/{campaignId}/members/{memberId}/redemption Where campaignId is a unique id of a loyalty campaign and the memberId is a loyalty card code.
{
	"reward": {
		"id": "rew_BLeJDzhaNTxpW3tFFhuFM5Wl"
	}
}
In the dashboard, you can see that the points from the loyalty card were spent on the reward and the balance was updated.
Last modified on April 8, 2026