Customer Campaigns Progress
Retrieve customer’s progress within Gameball’s reward campaigns, providing insights into achievements and current status in each campaign.
v4.1.
Filter by Campaign ID
Use the optionalcampaignId query parameter to return progress for a single campaign instead of retrieving the full campaign list. The value must be a positive integer and should match the campaign ID returned in rewardsCampaignId or rewardCampaignConfiguration.id.
When campaignId is provided, the response is still a JSON array. A matching campaign returns an array with one item. If the campaign does not exist, is not visible to the customer, or the customer is not eligible for it, the endpoint returns 200 OK with an empty array ([]), not 404.
You can combine campaignId with campaignType. When both filters are provided, both must match. For example, ?campaignId=123&campaignType=game returns the campaign only if campaign 123 is also a game campaign; otherwise, the response is an empty array.
Validation
Example: Single Campaign
Example: Campaign ID and Type
Example: Invalid Campaign ID
Streak campaign progress
For streak campaigns, the response includes the customer’s current streak plus step-level progress against each reward. The step unit matchesstreakIntervalUnit on rewardCampaignConfiguration (Day, Week, or Month).
Example: Daily streak progress
currentStreakis1andcurrentTierStepis1(the days 1–6 range)nextMilestoneStepis7(the 10-point reward)stepsToNextMilestoneis6- Only the first
tierProgressentry hasisReached: true
Headers
If the lang header is provided, the response will be returned in the specified language (e.g., en for English, fr for French). If this header is not included, the system will use the default language.
Path Parameters
Unique identifier for the customer that you can reference across the customer's whole lifetime. Could be a database ID, random string, email, or anything that uniquely identifies the customer.
Query Parameters
Filter campaigns by type. Use reward to return only reward-type campaigns (points multipliers, missions, spending milestones, streaks, etc.), or game for game-type campaigns (Spin the Wheel, Slot Machine, Quiz, Scratch & Win, Match Cards, etc.). Omit to return all campaigns. Any other value results in a validation error.
reward, game Filter the response to a single campaign by its ID. When provided, the response array contains at most one item: the matching campaign's progress, or an empty array if the campaign does not exist or is not available to this customer. Must be a positive integer. Use the campaign ID returned in rewardsCampaignId or rewardCampaignConfiguration.id. Can be combined with campaignType, in which case both filters apply.
x >= 1Response
Customer campaigns progress retrieved successfully
The name of the rewards campaign.
The unique ID of the rewards campaign.
Indicates if the customer has unlocked the campaign.
The highest score achieved by the customer. This value is applicable only in the context of a high score rewards campaign.
The customer's current consecutive streak count. Returned only for streak campaigns. The unit matches streakIntervalUnit on the campaign configuration (Day, Week, or Month).
The highest consecutive streak count this customer has reached for this campaign. Returned only for streak campaigns. The unit matches streakIntervalUnit on the campaign configuration (Day, Week, or Month).
The percentage of the campaign the customer has completed. For example, in a second-order campaign where the customer must make 2 orders, if they have only placed 1 order, the completion percentage will be 50%.
The number of times the customer has achieved the campaign.
A flag that determines whether the customer is currently eligible to participate in and achieve this reward campaign. It provides a quick indication of the customer's ability to meet the campaign's conditions based on their current status.
Comprehensive description of the reward campaign configuration.
The startStep of the reward tier the customer is currently in. Returned only for streak campaigns. Example: if the customer is on day 1 of a daily streak whose first reward covers steps 1–6, currentTierStep is 1.
The startStep of the next unreached reward tier. Returned only for streak campaigns. Null if the customer has already reached the last tier.
The number of remaining streak steps until nextMilestoneStep. Returned only for streak campaigns. Example: with currentStreak 1 and nextMilestoneStep 7, stepsToNextMilestone is 6.
Per-tier progress for a streak campaign. One entry per reward, using that reward's startStep. Returned only for streak campaigns.