Loyalty Catalog Events
List of Catalogs
| Catalog | Description |
|---|---|
| Survey Catalog | Catalog representing values for Surveys in an app. |
| Reward Catalog | Catalog representing values for Rewards in an app. |
"Required Catalog Fields"
Some catalog fields can be marked as optional below but may be required for your app. Please refer to your integration notes to verify which fields are required for your use-case.
Survey Catalog
Below are the Survey Catalog values.
Format
| Param | Usability | Format | Description |
|---|---|---|---|
| name | REQUIRED | STRING | Name of the survey, provided by the partner. |
| description | OPTIONAL | STRING | Description of the survey, provided by the partner. |
| duration | OPTIONAL | INT | Duration of the survey, provided by the partner. (in Seconds) |
| type | REQUIRED | STRING | Type of the survey, provided by the partner. |
| reward_id | REQUIRED | STRING | Reward Id for the survey, provided by the partner. |
| questions_list | REQUIRED | ARRAY(STRING) | List of Questions for the survey, provided by the partner. |
| creation_date | OPTIONAL | STRING | Creation Date of the survey, provided by the partner. (ISO 8601 format) |
| expiry_date | OPTIONAL | STRING | Expiry Date of the survey, provided by the partner. (ISO 8601 format) |
| organization_id | OPTIONAL | STRING | Organization Id of the survey, provided by the partner. |
| organization_name | OPTIONAL | STRING | Organization Name of the survey, provided by the partner. |
Usage
- Android (Java/Kotlin)
- iOS (Swift)
- React Native (JS/TS)
- Web Application (JS/TS)
- JSON
val surveyCatalogModel = SurveyCatalogModel(
name = "Kerri Salazar",
duration = "940",
type = "natoque",
rewardId = "consul",
questionsList = "item1, item1",
description = "dolor",
creationDate = System.currentTimeMillis(),
expiryDate = System.currentTimeMillis(),
organizationId = "feugiat",
organizationName = "Jules Baxter"
)
CFLoyaltyEvent.logCatalog(LoyaltyCatalogSubject.Survey, "testSurveyId", surveyCatalogModel)
let surveyCatalogModel = SurveyCatalogModel(
name: "Kerri Salazar 1",
duration: 940,
type: "natoque",
reward_id: "consul1",
questions_list: ["testQ1", "testQ2"],
description: "dolor",
creation_date: CoreConstants.getTimeConvertedToString(1680703107424),
expiry_date: CoreConstants.getTimeConvertedToString(1680703107424),
organization_id: "feugiat",
organization_name: "Jules Baxter"
)
CFLoyaltyEvent.shared.logCatalog(loyaltyCatalogType: LoyaltyCatalogType.Survey, subjectId: "surveyId3", catalogModel: surveyCatalogModel)
const surveyCatalog = {
name: 'name',
description: 'description',
duration: 12,
type: 'type',
reward_id: 'reward_id',
questions_list: ['Question one'],
creation_date: '2023-04-05T15:58:27.424+02:00',
expiry_date: '2023-04-05T15:58:27.424+02:00',
organization_id: 'organization_id',
organization_name: 'organization_name',
} as SurveyCatalog;
CFLoyalty.logCatalogEvent('useCFLoyaltyCatalogEventsID2', LoyaltyCatalogSubject.Survey, surveyCatalog);
let surveyCatalog = {
name: "Some Survey Name",
description: "Some Description",
type: SurveyType.OpenEnded,
duration: 220,
organization_id: "SomeId",
organization_name: "SomeName",
questions_list: ["Q1", "Q2"],
reward_id: "Some Reward",
creation_date: "2023-04-05T15:58:27.424+02:00",
expiry_date: "2024-04-05T15:58:27.424+02:00"
}
CfLoyalty.logCatalogEvent("someSurveyId", LoyaltyCatalogSubject.Survey, surveyCatalog)
"data": [
{
"id":"testSurveyId",
"kv":{
"creation_date":"2025-10-29T11:43:33.954+01:00",
"description":"dolor",
"duration":"940",
"expiry_date":"2025-10-29T11:43:33.954+01:00",
"hello":"world",
"name":"Kerri Salazar",
"organization_id":"feugiat",
"organization_name":"Jules Baxter",
"questions_list":"item1, item1",
"reward_id":"consul",
"type":"natoque"
},
"type":"survey"
}
]
Reward Catalog
Below are the Reward Catalog values.
Format
| Param | Usability | Format | Description |
|---|---|---|---|
| name | REQUIRED | STRING | Name of the reward, provided by the partner. |
| description | OPTIONAL | STRING | Description of the reward, provided by the partner. |
| type | REQUIRED | STRING | Type of the reward, provided by the partner. |
| required_points | REQUIRED | FLOAT | Required Points for the reward, provided by the partner. |
| creation_date | OPTIONAL | STRING | Creation Date of the reward, provided by the partner. (ISO 8601 format) |
| expiry_date | OPTIONAL | STRING | Expiry Date of the reward, provided by the partner. (ISO 8601 format) |
| organization_id | OPTIONAL | STRING | Organization Id of the reward, provided by the partner. |
| organization_name | OPTIONAL | STRING | Organization Name of the reward, provided by the partner. |
Usage
- Android (Java/Kotlin)
- iOS (Swift)
- React Native (JS/TS)
- Web Application (JS/TS)
- JSON
val rewardCatalogModel = RewardCatalogModel(
name = "Florine Kane",
description = "nostrum",
type = "consetetur",
requiredPoints = "4.5f",
creationDate = System.currentTimeMillis(),
expiryDate = System.currentTimeMillis(),
organizationId = "legimus",
organizationName = "Helen Vega"
)
CFLoyaltyEvent.logCatalog(LoyaltyCatalogSubject.Reward, "testRewardId", rewardCatalogModel)
let rewardCatalogModel = RewardCatalogModel(
name: "Florine Kane 1",
description: "nostrum",
type: "consetetur",
requiredPoints: 4.5,
creationDate: CoreConstants.getTimeConvertedToString(1680703107424),
expiryDate: CoreConstants.getTimeConvertedToString(1680703107424),
organizationId: "legimus",
organizationName: "Helen Vega"
)
CFLoyaltyEvent.shared.logCatalog(loyaltyCatalogType: LoyaltyCatalogType.Reward, subjectId: "rewardId2", catalogModel: rewardCatalogModel)
const rewardCatalog = {
name: 'testData',
description: 'testData',
type: 'testData',
required_points: 1,
creation_date: '2023-04-05T15:58:27.424+02:00',
expiry_date: '2023-04-05T15:58:27.424+02:00',
organization_id: 'organization_id',
organization_name: 'testData',
} as RewardCatalog;
CFLoyalty.logCatalogEvent('useCFLoyaltyCatalogEventsID2', LoyaltyCatalogSubject.Reward, rewardCatalog);
let rewardCatalog = {
name: "Some Reward Name",
description: "Some Description",
type: "Airtime",
required_points: 220,
organization_id: "SomeId",
organization_name: "SomeName",
creation_date: "2023-04-05T15:58:27.424+02:00",
expiry_date: "2024-04-05T15:58:27.424+02:00"
}
CfLoyalty.logCatalogEvent("someRewardId", LoyaltyCatalogSubject.Reward, rewardCatalog)
"data": [
{
"id":"testRewardId",
"kv":{
"creation_date":"2025-10-29T11:43:33.959+01:00",
"description":"nostrum",
"expiry_date":"2025-10-29T11:43:33.959+01:00",
"hello":"world",
"name":"Florine Kane",
"organization_id":"legimus",
"organization_name":"Helen Vega",
"required_points":"4.5f",
"type":"consetetur"
},
"type":"reward"
}
]