Manage customer data by creating, updating, or removing customer profiles. These endpoints provide essential functionality for handling customer information across Gameball.
This API enables you to create or update a customer profile in Gameball using a unique customerId. Serving as a consistent identity, this customerId allows you to track a customer’s entire journey, linking them to all associated events, purchases, and loyalty activities across their lifetime. This ensures comprehensive customer management within the Gameball platform.
Security: Requires apiKey header.
Channel Merging Available
If your system uses different customer IDs across multiple channels (e.g., online and offline), Gameball's channel merging feature helps unify customer profiles. By including the customer’s mobile number or email (based on your merging configuration) with each request, Gameball will combine activities into a single profile.For more information, head to the Channel Merging Guide.
Request
Body
application/json
customerIdstringRequired
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.
Its recommended not to use sequence for customerId
emailstringOptional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobilestringOptional
Customer's mobile number.
Note: This is required if your account uses mobile-based channel merging.
deviceTokenstringOptional
Token used to identify the device.
osTypestringOptional
Operating system type of the device.
customerAttributesObjectOptional
Additional customer-specific attributes. Includes attributes such as the customer’s name, contact details, and purchase history.
customerAttributes object
displayNamestringOptional
Display name for the customer.
firstNamestringOptional
Customer's first name.
lastNamestringOptional
Customer's last name.
emailstringOptional
Customer's email address.
genderstringOptional
Customer's gender.
mobilestringOptional
Customer's mobile number.
dateOfBirthstringOptional
Customer's date of birth.
joinDatestringOptional
Date the customer joined.
countrystringOptional
Customer's country.
citystringOptional
Customer's city.
zipstringOptional
Customer's postal code.
preferredLanguagestringOptional
The customer's preferred language for communication and interactions. This is typically used to personalize notifications, messages, and other system interactions based on the customer's language preference.
tagsstringOptional
A list of tags or labels associated with the customer. These tags are used to categorize customers for personalized marketing campaigns, rewards, and tailored communications. Tags can represent customer preferences, behaviors, or any other custom categories relevant to your business.
Example: A customer could have tags like "VIP", "High Spender", or "Frequent Shopper" to indicate their status or behavior patterns, allowing for more targeted engagement.
sourcestringOptional
Source of the customer registration.
utmsarrayOptional
List of UTM attributes associated with the customer.
devicesarrayOptional
List of devices associated with the customer.
paymentMethodsarrayOptional
List of payment methods used by the customer.This array may include various forms of payment, such as credit cards, PayPal, or other payment providers.Each payment method is represented as a string.
Example:[ "Credit Card", "PayPal", "Apple Pay" ]
totalSpentfloatOptional
Total amount spent by the customer.
lastOrderDatestringOptional
Date of the last order placed by the customer.
totalOrdersintegerOptional
Total number of orders placed by the customer.
avgOrderAmountfloatOptional
Average amount spent per order by this customer.
channelstringOptional
Represents the platform or medium through which the customer interacts with your business. This could refer to various sales or communication channels like physical stores, your mobile application, social media, or third-party services.
Example: "channel": "Mobile App"
referrerCodestringOptional
The referral code of an existing customer who is referring the customer being created. This is required in the create customer request to process the referral.
guestbooleanOptional
A flag indicating if the individual interacting with your system is a guest (not signed up). Set this to true for guest users; otherwise, they are treated as registered customers by default.
gameballIdnumber
The customer’s unique ID within the Gameball system. This ID is used to store the customer in our database and is different from the customerId used in the dashboard.
This API allows you to retrieve essential customer information from Gameball using a unique customerId. While focused on providing key profile details, the response excludes personally identifiable information (PII), ensuring secure access to customer data for seamless integration and personalized engagement.
This endpoint returns general customer info (no personal data) with the public key. To access PII, use Get Customer Details with the secret key.
Security: Requires apiKey header.
Request
Path Parameters
customerIdstringRequired
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.
Response
application/json
gameballIdnumber
The customer’s unique ID within the Gameball system. This ID is used to store the customer in our database and is different from the customerId used in the dashboard.
customerIdstring
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.
customerAttributesObjectOptional
Additional customer-specific attributes. Includes attributes such as the customer’s name, contact details, and purchase history.
This is a minimized customerAttributes object, excluding all personally identifiable information (PII) for privacy protection.
customerAttributes object
customObject
Key-value pairs that allow you to store additional attributes for the customer. This can include any extra information specific to your needs, enabling more personalized interactions and offerings.
genderstring
Customer's gender.
countrystring
Customer's country.
citystring
Customer's city.
tagsarray
Tags associated with the customer.
sourcestring
Source of the customer registration.
utMsarray
List of UTM attributes associated with the customer.
devicesarray
List of devices associated with the customer.
paymentMethodsarray
List of payment methods used by the customer.
totalSpentnumber
Total amount spent by the customer.
lastOrderDatestring
Date of the last order placed by the customer.
totalOrdersnumber
Total number of orders placed by the customer.
manualDatestring
Custom date for manual entries.
referralCodestring
The referral code of the customer. Used to refer other customers.
referralLinkstring
The referral link generated for the customer.
dynamicReferralLinkstring
A dynamic referral link for mobile apps, enabling users to share a unique URL with others for referral purposes.
This API provides access to comprehensive customer information in Gameball, including personally identifiable information (PII), using a unique customerId. Secured by a secret key, this endpoint ensures that sensitive customer data remains protected, offering a complete view of the customer profile for more personalized and secure interactions.
Security: Requires apikey and secretkey headers.
Request
Path Parameters
customerIdstringRequired
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.
Response
application/json
customerIdstring
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.
gameballIdnumber
The customer’s unique ID within the Gameball system. This ID is used to store the customer in our database and is different from the customerId used in the dashboard.
customerAttributesObject
Additional customer-specific attributes. Includes attributes such as the customer’s name, contact details, and purchase history.
customerAttributes object
displayNamestring
Display name for the customer.
firstNamestring
Customer's first name.
lastNamestring
Customer's last name.
emailstring
Customer's email address.
genderstring
Customer's gender.
mobilestring
Customer's mobile number.
dateOfBirthstring
Customer's date of birth.
joinDatestring
Date the customer joined.
countrystring
Customer's country.
citystring
Customer's city.
zipstring
Customer's postal code.
preferredLanguagestring
The customer's preferred language for communication and interactions. This is typically used to personalize notifications, messages, and other system interactions based on the customer's language preference.
tagsstring
A list of tags or labels associated with the customer. These tags are used to categorize customers for personalized marketing campaigns, rewards, and tailored communications. Tags can represent customer preferences, behaviors, or any other custom categories relevant to your business.
Example:
"VIP"
"High Spender"
"Frequent Shopper"
These tags allow for more targeted engagement based on customer status or behavior patterns.
sourcestring
Source of the customer registration.
utmsarray
List of UTM attributes associated with the customer.
devicesarray
List of devices associated with the customer.
paymentMethodsarray
List of payment methods used by the customer. This array may include various forms of payment, such as credit cards, PayPal, or other payment providers. Each payment method is represented as a string.
Example:
["Credit Card", "PayPal", "Apple Pay"]
totalSpentnumber
Total amount spent by the customer.
lastOrderDatestring
Date of the last order placed by the customer.
totalOrdersnumber
Total number of orders placed by the customer.
avgOrderAmountnumber
Average amount spent per order by this customer.
channelstring
Represents the platform or medium through which the customer interacts with your business. This could refer to various sales or communication channels like physical stores, your mobile application, social media, or third-party services.
Example:
"Mobile App"
"Website"
"In-store"
"Social Media"
referralCodestring
The referral code of the customer. Used to refer other customers.
referralLinkstring
The referral link generated for the customer.
dynamicReferralLinkstring
A dynamic referral link for mobile apps, enabling users to share a unique URL with others for referral purposes.
This API retrieves a customer’s available coupons in Gameball, offering detailed information on each coupon's type, status, and usage. Use this endpoint to access current coupon data associated with the customer for better engagement.
Security: Requires apikey and secretkey headers.
Request
Path Parameters
customerIdstringRequired
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.
Response
application/json
couponsarray
List of coupon objects associated with the customer.
coupons object
namestring
Name of the coupon.
codestring
The coupon code that the customer will use. Example: If a coupon code like "7wagbk72a4" is generated for a customer, it can be used during checkout to apply the relevant discount or offer.
valuenumber
The monetary value or percentage value of the coupon, depending on its type. Example: If a coupon provides a $100 discount, the value will be 100.
typestring
Type of the coupon, such as fixed amount, percentage discount, free shipping, or product-specific coupon. Possible Values :
shipping
fixed
percentage
product
custom
target string
It defines how the coupon is associated with the customer based on its origin or creation method. The possible values are:
Online:The coupon is created through the redemption process, which can occur when a customer redeems points according to the general redemption rules, or when they redeem a different type of coupon based on extra redemption rules.
POS: The coupon is created through a physical point of sale (POS), typically in-store.
Permanent : The coupon is awarded to the customer as a lifetime reward upon reaching a certain tier.
Reward: The coupon is part of a reward campaign, where the coupon is issued as a reward to the customer. This is typically given when the customer achieve a reward campaign.
Automation: The coupon is generated automatically through an automation workflow, triggered by predefined system actions or customer behaviors.
currencystring
Currency code if the coupon has a fixed monetary value.
startDatedatetime
The date and time when the coupon becomes valid and can be used. Example: If the coupon becomes valid on October 17, 2024, the startDate will be "2024-10-17T08:22:00.0000Z".
expiryDatedatetime
The date and time when the coupon will expire and no longer be valid. Example: If the coupon expires on October 17, 2027, the expiryDate will be "2027-10-17T08:22:00.0000Z".piry date of the coupon.
isExpiredboolean
Indicates if the coupon has expired.
isActiveboolean
Status of the coupon, whether it is active or not.
usageLimitnumber
The total number of times the coupon can be used across all customers. Example: If a coupon can onlybe used once, the usageLimit will be set to 1, indicating that it cannot be reused after the first use.
limitPerCustomernumber
The number of times a single customer can use the coupon. Example: If each customer can only use the coupon one time, the limitPerCustomer will be set to 1, ensuring the coupon can only be redeemed once per customer.
usedCountnumber
Number of times the coupon has been used.
customerUsedCountnumber
Number of times the coupon has been used by the customer.
cappingnumber
The maximum discount or value cap that the coupon can offer, even if the discount calculation exceeds this value. Example: If the maximum discount for the coupon is capped at $400, the capping will be set to "400", meaning the discount will not exceed that amount.
minOrderValuenumber
The minimum order value required for the coupon to be applied. Example: If the coupon requires a minimum purchase of $1,000 to apply, the minOrderValue will be 1000.
entitledProductIdsarray
A list of product IDs that are eligible for the coupon. If provided, only these products can benefit from the coupon.
Example: If the coupon is only valid for a specific product, the entitledProductIds array may contain IDs like ["productId123"] to indicate that only this product is eligible for the discount. coupon.
entitledVariantIdsarray
A list of product variant IDs that are eligible for the coupon. If provided, only these product variants can benefit from the coupon.
Example: If the coupon is valid for specific product variants, the entitledVariantIds array might include IDs like ["variantId456"], limiting the coupon to these variants.
entitledCollectionIdsarray
A list of collection IDs that are eligible for the coupon. If provided, only these collections can benefit from the coupon.
Example: If the coupon applies to an collection of products, the entitledCollectionIds array could include ["collectionId789"], indicating which collections the coupon can be used on.
entitledMerchantIdsarray
A list of merchant external IDs that are eligible to redeem the coupon. When provided, only the merchants with IDs in this list can benefit from or apply the coupon. This allows the coupon to be restricted to specific merchants, ensuring that it is valid only for certain merchants. If the array is empty or not provided, the coupon will be available to all merchants.
entitledPlatformsarray
Platforms where the coupon can be applied.
combinesWith.orderDiscountsboolean
Indicates if the coupon can be combined with order discounts. Example: If the coupon cannot be combined with order discounts, this field will be set to false, ensuring that the coupon and other discounts will not apply together.
combinesWith.productDiscountsboolean
Indicates if the coupon can be combined with product discounts. Example: If the coupon cannot be used with existing product discounts, combinesWith.productDiscounts will be false, preventing customers from stacking discounts.
combinesWith.shippingDiscountsboolean
Indicates if the coupon can be combined with shipping discounts. Example: If the coupon cannot be combined with free shipping offers, combinesWith.shippingDiscounts will be false.
group.handlestring
A unique identifier for the coupon group.
group.urlstring
URL of the coupon group.
group.iconPathstring
Icon path of the coupon group.
isManualCouponboolean
Flag specifies whether the coupon is manually created by the user or automatically generated by the system as part of a reward or automation process.
Example: if set to true , this means that this coupon is generated manually .
isAvaliableToUseboolean
Flag determines whether a coupon can be used by a specific customer at a given time. This flag considers several key conditions to ensure the coupon is eligible for redemption:
Expiry Date: The coupon must not have expired. If the current date is after the expiry date, the coupon will not be available.
Start Date: The coupon must be within its valid usage period. If the current date is before the start date, the coupon cannot be used yet.
Active Status: The coupon must be active. If isActive is set to false, the coupon is not available for use.
Usage Limit: The coupon must not have reached its overall usage limit. If the total number of uses has been exhausted, the coupon will no longer be available for use.
Per-Customer Usage Limit: The coupon must not have been used more than the allowed number of times by the specific customer. If the customer has reached the maximum allowed usage (e.g., limitPerCustomer), they will not be able to use the coupon again.
If all these conditions are met, the coupon will be available for use. Otherwise, it will be marked as unavailable.
The API call removes the customer identified by customerId from the system. This removes the customer profile and associated data.
This API can also be accessed using the POST method for systems that do not support DELETE. In such cases, simply use /customers/{customerId}/delete endpoint to achieve the same functionality.
Security: Requires apikey and secretkey headers.
Request
Path Parameters
customerIdstringRequired
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.
The API call generates a hash for an existing customer based on their unique customerId. This hash is used to securely redeem loyalty points during transactions.
Security: Requires apikey and secretkey headers.
Request
Path Parameters
customerIdstringRequired
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.
Response
application/json
hashstring
A unique, rotating identifier generated for each customer, used as an additional layer of security and verification during redemptions and hold operations. This number is dynamically regenerated with each transaction to ensure secure validation and prevent unauthorized actions. The hash serves as a key to verify the legitimacy of the redemption or hold request. Refer to theHold Management Section for more details about using the hash generated here.