Loyalty API
Read CallCustomerBalance3
Returns detailed balance information Bubblehouse holds on the given customer. This includes information on loyalty point balance, tiers, achievements held and used, etc.
| Kind | Read API call |
|---|---|
| Method | GET or POST |
| URL | https://app.bubblehouse.com/api/v20230601/<shop>/CustomerBalance3 |
| Authentication | Customer TokenShop Token |
This endpoint provides comprehensive information about a customer's loyalty status, including points balance, tier status, and available rewards. It's the primary method for retrieving customer loyalty data for display in your application.
Use the optional parameters to control which data is included:
- Omit
include_unused_rewardsfor faster responses when rewards aren't needed - Only set
include_full_program=truewhen rendering full loyalty program pages
Redemption Limits Structure
Redemption limits control how many points customers can redeem within specific time periods. The response includes:
redemption_limit- The effective limit currently applied to this customerglobal_redemption_limit- The default limit for all customerstiers[].redemption_limit- Tier-specific limits (only wheninclude_full_program=true)
When a tier has its own redemption limit, it completely overrides the global limit for customers in that tier.
Input
-
A customer to operate upon, when using a shop token.
If you're using a customer token and decide to pass this field (which we do not recommend), it must match the customer from the token.
-
include_unused_rewardsboolean optionalIf true, the return value will include
unused_rewardsproperty. -
include_full_programboolean optionalIf true, the return value will include information for rendering an entire loyalty program:
sources,offers,tiers,milestones.
Output
API-wide Errors
| Status | Error | Reason & Examples |
|---|---|---|
| 404 | empty_customer_identity |
All fields of the customer identity ('customer' input parameter) have been empty when using a shop token. You need to either specify a non-empty value for one of the customer identity fields, or use a customer token. |
| 403 | customer_identity_does_not_match_token |
API call is using a customer token, but the customer identity in API params does not match the customer from the token. |
| 404 | no_customers_match_customer_identity |
The customer identity ('customer' input parameter) does not match a known customer. |
| 404 | customer_identity_partially_mismatches_matched_customer |
A customer has been matched by one of the fields of the customer identity ('customer' input parameter), but some non-empty fields do not match Bubblehouse data on that customer. |
| 400 | missing_customer_identity |
The customer identity ('customer' input parameter) has not been specified when using a shop token. You need to either specify a non-empty value for one of the customer identity fields, or use a customer token. |
Global Errors
| Status | Error | Reason & Examples |
|---|---|---|
| 429 | rate_limit_exceeded |
Your usage is over the rate limit. Ensure that you're not making duplicate calls, and contact our team for a rate limit increase. |
| 400 | invalid_global_api_version |
The global API version you are trying to use has never existed. |
| 400 | obsolete_global_api_version |
The global API version you are trying to use is no longer supported. |
| 400 | inaccessible_global_api_version |
The global API version you are trying to use is not enabled on your account. |
| 401 | invalid_token |
The provided authentication token is invalid or has expired. |