Skip to main content

Loyalty Programs

Manage of promotions with Loyalty Program type and rewards type

Available Loyalty Programs

Get list of available Loyalty Programs.

GET /loyaltyprograms

RESPONSE
{
"status"=200,
"message"="success",
"data": [
{
"Id": "{promotion id}",
"TenantId":"{tenant id}",
"Name": "{promotion name}",
"Description": "{promotion description}",
"Code": "{promotion unique code}",
"Enabled": "{promotion enabled}",
"MainImageUrl": "{promotion image url}",
"Type": "{promotion type}",
"PrizeType": "{promotion type}",
"RequirePOPCode": "{promotion require proof of purchase }",
"MechanicType": "{promotion mechanic type}",
"StartDate": "{date when promotion starts}",
"EndDate": "{date when promotion ends}",
"FraudPreventionModuleActivation": "{is active the fraud prevention module}",

},
,...
]
}

Get Loyalty Program

Get an individual Loyalty Program information.

GET /loyaltyprograms/{promotion id}
{
"Id": "{promotion id}",
"TenantId":"{tenant id}",
"Name": "{promotion name}",
"Description": "{promotion description}",
"Code": "{promotion unique code}",
"Enabled": "{promotion enabled}",
"MainImageUrl": "{promotion image url}",
"Type": "{promotion type}",
"PrizeType": "{promotion type}",
"RequirePOPCode": "{promotion require proof of purchase }",
"MechanicType": "{promotion mechanic type}",
"StartDate": "{date when promotion starts}",
"EndDate": "{date when promotion ends}",
"FraudPreventionModuleActivation": "{is active the fraud prevention module}",
"Products": [
{
"Product":{
"id": "{product id}",
"name": "{product name}"
}
},
...
],
"Form":{
"FormItems": [
{
"Id": "{Form item identifier}",
"Statement": "Question statement",
"ImageUrl": "Image asociate to question",
"Type": "{Type of question(0=>text, 1=>Single-Choice,2=>Multi-Choice,3=>Image) }",
"TypeString": "{Question type(Text,Single-Choice,Multi-Choice,Image)}",
"Fields": [
{
"Id": "{Field id}",
"Name": {"Name of field. Not used for Text or Images"},
"ImageUrl": "{Final url image, used for consultation}",
"ImageUrlBase64": "{Image decode in base64. Used only for Image Form items}",
"value": "{Value of consumer anwer}",
"HasPoints": "{indicates whether the question accumulates points}",
"Points": "{Points of question}"
}
],
"TotalPoints": "{Maximum Total posible points}",
"MinimalPoints": "{Minimun points to approve}"
},
...
]
}
}

Available rewards of a Loyalty Program

Get list of available rewards for a Loyalty Program

GET /rewards/{promotion id}

RESPONSE
{
"status"=200,
"message"="success",
"data": [
{
"Id": "{promotion id}",
"TenantId":"{tenant id}",
"Name": "{promotion name}",
"Description": "{promotion description}",
"TermsAndConditions": "{promotion terms and conditions}",
"EndPromotionDesc": "{promotion description to show when finish the redemption}",
"Code": "{promotion unique code}",
"Enabled": "{promotion enabled}",
"MainImageUrl": "{promotion image url}",
"Type": "{promotion type}",
"PrizeType": "{promotion type}",
"RequirePOPCode": "{promotion require proof of purchase }",
"MechanicType": "{promotion mechanic type}",
"StartDate": "{date when promotion starts}",
"EndDate": "{date when promotion ends}",
"FraudPreventionModuleActivation": "{is active the fraud prevention module}",
"CreditsToRedeem":"{Total credits require to redeem the reward}",
"TotalRedemptionLimit":"{Max quantity of redemptions }",
"AvailableRedemptions""{Total of redemptions availables for this reward}",

},
,...
]
}

Get Reward of a Loyalty Program

Get an individual reward of a Loyalty Program

GET /rewards/{promotion id}/{reward id}
{
{
"Id": "{promotion id}",
"TenantId":"{tenant id}",
"Name": "{promotion name}",
"Description": "{promotion description}",
"TermsAndConditions": "{promotion terms and conditions}",
"EndPromotionDesc": "{promotion description to show when finish the redemption}",
"Code": "{promotion unique code}",
"Enabled": "{promotion enabled}",
"MainImageUrl": "{promotion image url}",
"Type": "{promotion type}",
"PrizeType": "{promotion type}",
"RequirePOPCode": "{promotion require proof of purchase }",
"MechanicType": "{promotion mechanic type}",
"StartDate": "{date when promotion starts}",
"EndDate": "{date when promotion ends}",
"FraudPreventionModuleActivation": "{is active the fraud prevention module}",
"CreditsToRedeem":"{Total credits require to redeem the reward}",
"TotalRedemptionLimit":"{Max quantity of redemptions }",
"AvailableRedemptions":"{Total of redemptions availables for this reward}",
"ConfirmationMessage":"{Confirmation message to show} when user wants to redeem the reward",
"PrizeUrlCallToAction":"{Description to show in the code URL",
"Locations": [
{
"Location":{
"Id": "{location id}",
"Name": "{location name}",
"Address": "{Location address }",
"Latitude": "{location coordinates latitude}"
"Longitude": "{location coordinates longitude}"
}
},
...
]
}

Redeem reward

Use user credits to redeem reward

POST /redeemreward
REQUEST
{
"PromotionId":"{Promotion id}",
"UserId":"{user identifier}",
"Trafficsource":"{traffic source or UTM value}",
"RewardId":"{reward idenfitier}",
}
RESPONSE
{
"promotionLocationUserId": "{Promotion location user participation Id}",
"RedemptionCode":"{QR url or alphanumeric code}",
"RedemptionUrl":"{URL to show the user who is going to apply your code}"
}

Transfer credits

Executes the transfer of credits between two users

POST /transfercredits
REQUEST
{
"PromotionId":"{Promotion id}",
"SenderUserId": "{sender user identifier}",
"ReceiverUserId": "{receiver user identifier}",
"Credits": "{Credits to transfer}",
}
RESPONSE
{
"transferCreditsId": "{id of the credit transfer}"
}