Batch Creation
The Batch Creation API Endpoints enable efficient bulk processing of multiple operations in a single request, optimizing performance and reducing network overhead. These APIs support large-scale transactions, data synchronization, and automated workflows within Gameball. With batch processing, you can create or update multiple customer profiles, register multiple orders for single or multiple customers, retrieve and adjust customer loyalty balances, award cashback as loyalty points, allow customers to redeem points as a payment method, and track multiple user actions or multiple actions for a single user.
Each creation request supports up to 1,000 objects per request.
Available APIs
POST - Create Customers Batch Job
The Batch Customer API allows clients to create or update multiple customer profiles in a single API call. This is useful for bulk user imports, mass profile updates, and large-scale customer data synchronization while reducing network overhead and improving efficiency.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
customerId string
Required
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
email string
Optional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobile string
Optional
Customer's mobile number.
Note: This is required if your account uses mobile-based channel merging.
deviceToken string
Optional
Token used to identify the device.
osType string
Optional
Operating system type of the device.
customerAttributes Object
Optional
Additional customer-specific attributes. Includes attributes such as the customer’s name, contact details, and purchase history.
Sample request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Track Orders Batch Job
The Batch Order API enables merchants to create multiple orders in a single request. This is useful for bulk order processing, syncing transaction data, integrating customer purchases, and rewarding them for completing their purchases. The API supports orders for single or multiple customers, allowing efficient order registration and reward calculations.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
customerId string
Required
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.
email string
Optional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobile string
Optional
Customer's mobile number.
Note: This is required if your account uses mobile-based channel merging.
orderId string
Required
Unique identifier for the order on your system.This ID is case-sensitive.
totalPaid float
Required
The actual amount paid by the customer for the order, accounting for any discounts or coupons applied. Unlike totalPrice
, which reflects the original cost of the order, totalPaid
represents the final amount the customer paid at checkout after all adjustments. This value is used for reward calculations in Gameball to determine the points or benefits earned from the order.
Example: A customer purchases items worth $120, including taxes and shipping. If a $20 coupon is applied, the totalPaid
becomes $100, reflecting the discounted amount the customer paid. This is the value used to calculate any points or rewards earned from the order.
orderDate datetime
Required
Timestamp of when the order was placed.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Balance Inquiry Batch Job
The Balance Inquiry Batch API allows merchants to retrieve the balance of multiple customers in a single request. This is useful for bulk processing, account reconciliation, and large-scale customer engagement operations.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
body array
Required
A string array of the unique identifiers for the customers for whom the balance inquiry is being made.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Balance Adjustment Batch Job
The Balance Adjustment Batch API allows merchants to adjust the loyalty balances of multiple customers in a single request. This is useful for bulk reward allocations, refunds, corrections, and large-scale promotional campaigns.
Security: Requires apiKey and secretKey headers.
Request
Body
customerId string
Required
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.
email string
Optional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobile string
Optional
Customer's mobile number.
Note: This is required if your account uses mobile-based channel merging.
points number
Required
Token used to identify the device.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Send Events Batch Job
The Batch Events API allows you to record multiple user actions or multiple actions for a single user in a single request. Each event has a name (e.g., place_order
, signup
, referral
) and can include properties such as amount, source, or other relevant metadata. Tracking these events helps monitor user behavior, automate rewards, and optimize engagement strategies.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
customerId string
Required
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.
events object
Required
An object containing one or more events, each represented by its event name as the key, and an associated object containing metadata related to the event. The structure of the event object can vary depending on the specific event being recorded. Events can be any significant action a customer performs, such as making a purchase, writing a review, adding to cart, etc.
The events
object holds one or more events as keys (e.g., write_review
, place_order
, etc.), where each key is the event name, and its value is an object that can include metadata, providing additional details about the event. The metadata inside each event can vary depending on the nature of the event, but it usually contains properties that help describe the specifics of that event, such as product IDs, order amounts, or timestamps.
How the Event Object Works:
Each event key corresponds to a specific customer action.
Inside each event, the metadata can contain relevant attributes, such as item or transaction identifiers, descriptions, or other properties that describe the action in more detail.
This allows you to track and monitor important actions that a customer takes within your platform. These events can later be used for analysis, rewarding customers, or triggering automation.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Reward Cashback Batch Job
The Reward Cashback Batch API awards loyalty points to customers in Gameball through a cashback program based on the transaction amount.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
customerId string
Required
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.
email string
Optional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobile string
Optional
Customer's mobile number .
Note: This is required if your account uses mobile-based channel merging.
transactionId string
Required
A unique identifier for a transaction in your system (e.g., order number or invoice number). This ID is critical for managing transaction lifecycle events such as reversals, cancellations, or refunds in Gameball.
transactionTime dateTime
Required
The time of the transaction in your system (e.g., order datetime, invoice datetime).
amount number
Required
Monetary value of the transaction for which the customer will be rewarded, based on the Cashback program configuration.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
POST - Redeem Batch Job
The Batch Redeem API enables customers to redeem loyalty points as a payment method in Gameball, allowing them to use points instead of monetary value during transactions. This API supports bulk redemptions, making it efficient for handling multiple customer transactions in a single request.
Security: Requires apiKey and secretKey headers.
Request
Body
application/json
customerId string
Required
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.
email string
Optional
Customer's email address.
Note: This is required if your account uses email-based channel merging.
mobile string
Optional
Customer's mobile number .
Note: This is required if your account uses mobile-based channel merging.
transactionId string
Required
A unique identifier for a transaction in your system (e.g., order number or invoice number). This ID can be used to reverse, cancel, or refund any reward or redemption transactions in Gameball.
transactionTime string
Required
The time of the transaction in your system (e.g., order datetime, invoice datetime).
amount float
Optional
The actual monetary value the customer wants to redeem. This will be deducted from their points balance based on the redemption factor. For instance, if the customer wants to redeem $10 and the redemption factor is 0.1, then 100 points will be deducted from their balance to cover this amount.
Note: Only one of
amount
,points
, orholdReference
must be provided for the redemption.
points integer
Optional
The number of points the customer wants to redeem from their balance. This allows the customer to specify exactly how many points they wish to use.
Note: Only one of
amount
,points
, orholdReference
must be provided for the redemption.
holdReference string
Optional
A unique reference obtained from the Hold Points API. If provided, the points in the hold will be used. It is used when points have been reserved previously , allowing the system to redeem the points that are on hold.
Example: If you previously used the Hold Points API to hold 100 points, you would provide the holdReference
obtained from that hold transaction to redeem the 100 points that were held
Note: Only one of
amount
,points
, orholdReference
must be provided for the redemption.
Sample Request
Response
application/json
jobIdnumber
The assigned job ID, which is later used for status verification and response retrieval.
Sample Response
Last updated