Redemption Keys
What are Redemption Keys?
A redemption key is an object that is created on the Application level in the Producer Site.
As an integrator, you can issue unique redemption keys to users that can be redeemed in first-party or third-party systems.
These keys can be created from CMS (https://cf-blast.livelikecdn.com/producer) and then can be issued to users
As a user, you can redeem these unique keys (using code/id)
Creating Redemption Key
- Head to your Application on the Producer Site
- Select "Redemption Keys" in the Sidebar
- Select the "New Redemption Key" button on the top right hand side
- Enter Key Name, Description and a custom code (optional)
- Select "Create" to finish
Fetching Redemption Keys in the SDK
You can fetch all Redemption Keys (non producer users can see only keys redeemed by them) using the SDK interface getRedemptionKeys
This interface supports status as filter
This interface returns paginated list of Redemption Keys
let sdk: EngagementSDK
sdk.getRedemptionKeys(
page: .first,
options: nil
) { result in
switch result {
case .failure(let error):
print("Error: \(error)"
case .success(let redeemedCodes):
print("Success")
}
}
LiveLike.getRedemptionKeys({
status: "redeemed" //Valid values are active, inactive, redeemed
})
.then(paginatedRedemptionKeys => console.log(paginatedRedemptionKeys))
rewardsClient.getRedemptionKeys(LiveLikePagination.FIRST,
object : LiveLikeCallback<LLPaginatedResult<RedemptionKey>>() {
override fun onResponse(
result: LLPaginatedResult<RedemptionKey>?,error: String?) {
...
}
})
Redeem Key By Code in the SDK
Keys can be redeemed using the SDK interface redeemKeyByCode by passing the code of the Redemption Key
let sdk: EngagementSDK
sdk.redeemKeyBy(
redemptionCode: "xxxxxxxxx"
) { result in
switch result {
case .failure(let error):
print("Error: \(error)"
case .success(let redemptionKey):
print("Success")
}
}
LiveLike.redeemKeyByCode({
code: "xxxxxxxxx"
}).then(redemptionKey => console.log(redemptionKey))
rewardsClient.redeemKeyWithCode("xxxxxxxxx",
object : LiveLikeCallback<RedemptionKey>() {
override fun onResponse(result: RedemptionKey?, error: String?) {
...
})
Redeem Key By ID in the SDK
Keys can be redeemed using the SDK interface redeemKeyById by passing the id of the Redemption Key
let sdk: EngagementSDK
sdk.redeemKeyBy(
redemptionKeyID: "xxxxxxxxx"
) { result in
switch result {
case .failure(let error):
print("Error: \(error)"
case .success(let redemptionKey):
print("Success")
}
}
LiveLike.redeemKeyById({
redemptionKeyId: "xxxxxxxxx"
}).then(redemptionKey => console.log(redemptionKey))
rewardsClient.redeemKeyWithId("xxxxxxxxx",
object : LiveLikeCallback<RedemptionKey>() {
override fun onResponse(result: RedemptionKey?, error: String?) {
...
})
Unassign Redeem Key to CurrentProfile
Redeem Key can be unassigned from the current Profile
digitalGoods().unassignRedemptionKey(UnassignRedemptionKeyOptions("<key>")){ result,error -> ... }
LiveLike.unassignRedemptionKey({
redemptionKeyId: "xxxxxxxxx"
}).then(redemptionKey => console.log(redemptionKey))
Updated about 1 year ago