ZintGO POS API Documentation
Build POS integrations for customer lookup, point earning, reward redemption, and store loyalty configuration.
POS Partner API
Get Auth Token
/auth/getAuthToken1.0.0Issue a store-scoped bearer token for POS integration requests.
storeId
REQUIREDstringbodyMax Length: 80
Example: STORE_ID
Unique identifier issued for the store.
clientSecret
REQUIREDstringbodyMax Length: 160
Example: CLIENT_SECRET
Secret issued to the POS partner. Keep this value private.
{
"storeId": "STORE_ID",
"clientSecret": "CLIENT_SECRET"
}{
"access_token": "YOUR_POS_TOKEN",
"token_type": "Bearer",
"expires_in": 3600
}Add Customer
/customers/add1.0.0Create or match a customer and attach a wallet for the authenticated store.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
Idempotency-Key
REQUIREDstringheaderMax Length: 120
Example: IDEMPOTENCY_KEY
Unique key to prevent duplicate POST writes.
Correlation-ID
REQUIREDstringheaderMax Length: 120
Example: CORRELATION_ID
Trace id generated by the POS.
customerEmail
OPTIONALstringbodyMax Length: 160
Example: CUSTOMER_EMAIL
Customer email. Use either email or phone.
customerPhone
OPTIONALstringbodyMax Length: 32
Example: CUSTOMER_PHONE
Customer mobile number. Use either phone or email.
displayName
OPTIONALstringbodyMax Length: 120
Example: Sample Customer
Customer-facing display name.
{
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"displayName": "Sample Customer"
}{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"created": true,
"matchedBy": "phone",
"customer": {
"uid": "CUSTOMER_UID",
"exists": true,
"displayName": "Sample Customer",
"email": "CUSTOMER_EMAIL",
"phone": "CUSTOMER_PHONE"
},
"wallet": {
"exists": true,
"points": 42
}
}Read Customer
/customers/read1.0.0Read customer and wallet details for the authenticated store when a wallet exists.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
customerUid
OPTIONALstringqueryMax Length: 80
Example: CUSTOMER_UID
Use any one customer identifier.
customerEmail
OPTIONALstringqueryMax Length: 160
Example: CUSTOMER_EMAIL
Use any one customer identifier.
customerPhone
OPTIONALstringqueryMax Length: 32
Example: CUSTOMER_PHONE
Use any one customer identifier.
GET /customers/read?customerPhone=CUSTOMER_PHONE
Authorization: Bearer YOUR_POS_TOKEN{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"customer": {
"uid": "CUSTOMER_UID",
"exists": true,
"displayName": "Sample Customer"
},
"wallet": {
"exists": true,
"points": 42
}
}Read Store Config
/store/config1.0.0Read current earn and reward configuration for the authenticated store.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
GET /store/config
Authorization: Bearer YOUR_POS_TOKEN{
"storeId": "STORE_ID",
"config": {
"qrType": "dynamic",
"earnMode": "bill",
"pointsPerVisit": 1,
"pointsPerQty": 1,
"pointsPer10": 1,
"rewardType": "percent",
"rewardThresholdPoints": 100,
"rewardLabel": "10% off next bill",
"rewardConfig": {
"percentOff": 10,
"percentTarget": "bill",
"percentItem": ""
}
}
}Update Store Config
/store/config1.0.0Update the store reward rule, earn mode, threshold, and customer-facing reward label.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
Idempotency-Key
REQUIREDstringheaderMax Length: 120
Example: IDEMPOTENCY_KEY
Unique key to prevent duplicate config updates.
Correlation-ID
REQUIREDstringheaderMax Length: 120
Example: CORRELATION_ID
Trace id generated by the POS.
earnMode
OPTIONALstringbodyAllowed: visit, quantity, bill
Example: bill
Controls how points are calculated.
rewardType
OPTIONALstringbodyAllowed: free, percent, amount
Example: percent
Controls the redemption style.
rewardThresholdPoints
OPTIONALnumberbodyMinimum: 1
Example: 100
Points required before a reward becomes available.
{
"qrType": "dynamic",
"earnMode": "bill",
"pointsPer10": 1,
"rewardType": "percent",
"rewardThresholdPoints": 100,
"rewardConfig": {
"percentOff": 10,
"percentTarget": "bill",
"percentItem": ""
}
}{
"storeId": "STORE_ID",
"config": {
"earnMode": "bill",
"rewardType": "percent",
"rewardThresholdPoints": 100,
"rewardLabel": "10% off next bill"
}
}Add Points
/points/add1.0.0Add an explicit number of loyalty points to a customer wallet.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
Idempotency-Key
REQUIREDstringheaderMax Length: 120
Example: IDEMPOTENCY_KEY
Unique key to prevent duplicate point additions.
Correlation-ID
REQUIREDstringheaderMax Length: 120
Example: CORRELATION_ID
Trace id generated by the POS.
customerUid
OPTIONALstringbodyMax Length: 80
Example: CUSTOMER_UID
Use any one customer identifier.
customerEmail
OPTIONALstringbodyMax Length: 160
Example: CUSTOMER_EMAIL
Use any one customer identifier.
customerPhone
OPTIONALstringbodyMax Length: 32
Example: CUSTOMER_PHONE
Use any one customer identifier.
points
REQUIREDnumberbodyMinimum: 1
Example: 5
Number of points to add.
{
"customerUid": "CUSTOMER_UID",
"points": 5,
"note": "POS sale"
}{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"pointsAdded": 5,
"newPoints": 47
}Add Extended Points
/points/addExtended1.0.0Calculate points using the store configuration and return reward availability after the add.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
Idempotency-Key
REQUIREDstringheaderMax Length: 120
Example: IDEMPOTENCY_KEY
Unique key to prevent duplicate point additions.
Correlation-ID
REQUIREDstringheaderMax Length: 120
Example: CORRELATION_ID
Trace id generated by the POS.
customerPhone
OPTIONALstringbodyMax Length: 32
Example: CUSTOMER_PHONE
Use any one customer identifier.
value
OPTIONALnumberbodyExample: 48.50
Example: 48.50
Generic value used by configured earn mode.
quantity
OPTIONALnumberbodyExample: 2
Example: 2
Quantity value for quantity based programs.
billAmount
OPTIONALnumberbodyExample: 48.50
Example: 48.50
Bill value for bill based programs.
{
"customerPhone": "CUSTOMER_PHONE",
"value": 48.5
}{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"pointsAdded": 4,
"newPoints": 51,
"rewardEligible": false,
"reward": {
"rewardThresholdPoints": 100,
"rewardType": "percent",
"rewardLabel": "10% off next bill",
"rewardConfig": {
"percentOff": 10,
"percentTarget": "bill",
"percentItem": ""
},
"availableRewards": 0
}
}Read Points
/points/read1.0.0Read the current point balance and wallet status for a customer.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
customerUid
OPTIONALstringqueryMax Length: 80
Example: CUSTOMER_UID
Use any one customer identifier.
customerEmail
OPTIONALstringqueryMax Length: 160
Example: CUSTOMER_EMAIL
Use any one customer identifier.
customerPhone
OPTIONALstringqueryMax Length: 32
Example: CUSTOMER_PHONE
Use any one customer identifier.
GET /points/read?customerEmail=CUSTOMER_EMAIL
Authorization: Bearer YOUR_POS_TOKEN{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"points": 51,
"walletExists": true
}Read Extended Points
/points/readExtended1.0.0Read point balance, wallet status, and reward summary for a customer.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
customerUid
OPTIONALstringqueryMax Length: 80
Example: CUSTOMER_UID
Use any one customer identifier.
customerEmail
OPTIONALstringqueryMax Length: 160
Example: CUSTOMER_EMAIL
Use any one customer identifier.
customerPhone
OPTIONALstringqueryMax Length: 32
Example: CUSTOMER_PHONE
Use any one customer identifier.
GET /points/readExtended?customerUid=CUSTOMER_UID
Authorization: Bearer YOUR_POS_TOKEN{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"points": 51,
"walletExists": true,
"reward": {
"rewardThresholdPoints": 100,
"rewardType": "percent",
"rewardLabel": "10% off next bill",
"rewardConfig": {
"percentOff": 10,
"percentTarget": "bill",
"percentItem": ""
},
"availableRewards": 0
}
}Redeem Reward
/points/redeem1.0.0Redeem one configured reward and return the calculated discount summary.
Authorization
REQUIREDstringheaderMax Length: 1200
Example: Bearer YOUR_POS_TOKEN
Store-scoped bearer token.
Idempotency-Key
REQUIREDstringheaderMax Length: 120
Example: IDEMPOTENCY_KEY
Unique key to prevent duplicate redemptions.
Correlation-ID
REQUIREDstringheaderMax Length: 120
Example: CORRELATION_ID
Trace id generated by the POS.
customerUid
OPTIONALstringbodyMax Length: 80
Example: CUSTOMER_UID
Use any one customer identifier.
billAmount
OPTIONALnumberbodyExample: 25.00
Example: 25.00
Bill amount used for bill discount calculation.
{
"customerUid": "CUSTOMER_UID",
"billAmount": 25.0
}{
"storeId": "STORE_ID",
"customerUid": "CUSTOMER_UID",
"customerEmail": "CUSTOMER_EMAIL",
"customerPhone": "CUSTOMER_PHONE",
"txId": "TRANSACTION_ID",
"pointsRedeemed": 100,
"newPoints": 25,
"rewardLabel": "10% off next bill",
"billAmount": 25,
"discountAmount": 2.5,
"finalBillAmount": 22.5,
"reward": {
"rewardThresholdPoints": 100,
"rewardType": "percent",
"rewardLabel": "10% off next bill",
"rewardConfig": {
"percentOff": 10,
"percentTarget": "bill",
"percentItem": ""
},
"billAmount": 25,
"discountAmount": 2.5,
"finalBillAmount": 22.5,
"availableRewards": 0
}
}