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
| Condition | Result |
|---|---|
campaignId is omitted | Returns the full campaign progress list, matching the previous behavior |
campaignId matches a campaign available to the customer | 200 OK with an array containing one item |
campaignId does not exist, is not visible, or fails customer eligibility | 200 OK with an empty array ([]) |
campaignId is zero or negative | 422 with code 3003 and type PAYLOAD_ERROR |
campaignId is non-numeric, such as campaignId=abc | 400 Bad Request |
Example: Single Campaign
Example: Campaign ID and Type
Example: Invalid Campaign ID
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 current number of consecutive days the customer has visited the website. This value is applicable only in the context of a streak (daily visit) rewards campaign.
The maximum number of consecutive days the customer has visited the website. This value is also applicable only in the context of a streak (daily visit) rewards campaign.
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.