Skip to content

Storefront APIs

Languages
Servers
https://loyalty-admin.appstle.com

Storefront APIs

Customer-facing loyalty program APIs for storefront operations. These endpoints allow customers to manage their loyalty account, earn and redeem points, submit reviews, handle referrals, and track their rewards. All endpoints require customer authentication via JWT token.

Operations

Update customer loyalty status

Request

Updates the loyalty program status for the authenticated customer. Allows customers to opt-in, opt-out, or exclude themselves from the loyalty program. Status changes are logged in the activity log with appropriate event types (CUSTOMER_EXCLUDED, CUSTOMER_INCLUDED). When a customer is excluded, they stop earning points but retain existing points and rewards.

Bodyapplication/jsonrequired
customerIdinteger(int64)

Unique identifier of the customer

Example: 0
dobstring(date)

Customer date of birth

Example: "2026-01-12"
statusstring

Customer loyalty status

Enum"ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER""ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER"
Example: "ACTIVE"
curl -i -X POST \
  https://loyalty-admin.appstle.com/loyalty/cp/api/update-customer-status \
  -H 'Content-Type: application/json' \
  -d '{
    "customerId": 0,
    "dob": "2026-01-12",
    "status": "ACTIVE"
  }'

Responses

Customer status updated successfully

Bodyapplication/json
idinteger(int64)
shopstringrequired
customerIdinteger(int64)required
firstNamestring
lastNamestring
emailstring
statusstring
Enum"ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER"
createAtstring(date-time)required
dobstring(date)
enableEmailboolean
tokenstring
redeemLimitinteger(int64)
redeemLimitOnceinteger(int64)
vipTierstring
vipTierIdinteger(int64)
vipTierSummarystring
availablePointsnumber(double)required
pendingPointsnumber(double)required
displayNamestring
vipTierExpiredAtstring(date-time)
spentAmountnumber(double)
lastActivitystring(date-time)
ordersCountinteger(int32)
lastMonthlyReminderSentDatestring(date-time)
redeemedPointsnumber(double)
lastRewardExpiryReminderSentDatestring(date-time)
vipAssignTypestring
Enum"MANUAL""AUTO_RENEWAL""RENEWAL_ON_HIGHER_TIER"
phonestring
loyaltyProgramEnabledboolean
emailSettingstring
skipReviewboolean
updatedSettingsstring
storeCreditAccountIdstring
emailBouncedOrFailedboolean
availableStoreCreditsnumber(double)
isDeletedFromShopifyboolean
enableEmailMarketingboolean
enableSmsMarketingboolean
tagsstring
vipTierAmountnumber(double)
Response
application/json
{ "id": 0, "shop": "string", "customerId": 0, "firstName": "string", "lastName": "string", "email": "string", "status": "ACTIVE", "createAt": "2019-08-24T14:15:22Z", "dob": "2019-08-24", "enableEmail": true, "token": "string", "redeemLimit": 0, "redeemLimitOnce": 0, "vipTier": "string", "vipTierId": 0, "vipTierSummary": "string", "availablePoints": 0.1, "pendingPoints": 0.1, "displayName": "string", "vipTierExpiredAt": "2019-08-24T14:15:22Z", "spentAmount": 0.1, "lastActivity": "2019-08-24T14:15:22Z", "ordersCount": 0, "lastMonthlyReminderSentDate": "2019-08-24T14:15:22Z", "redeemedPoints": 0.1, "lastRewardExpiryReminderSentDate": "2019-08-24T14:15:22Z", "vipAssignType": "MANUAL", "phone": "string", "loyaltyProgramEnabled": true, "emailSetting": "string", "skipReview": true, "updatedSettings": "string", "storeCreditAccountId": "string", "emailBouncedOrFailed": true, "availableStoreCredits": 0.1, "isDeletedFromShopify": true, "enableEmailMarketing": true, "enableSmsMarketing": true, "tags": "string", "vipTierAmount": 0.1 }

Update customer birth date

Request

Updates the birth date for the authenticated customer and potentially awards birthday-related loyalty points. Once set, the customer may receive birthday rewards annually. The birth date is validated and stored in the customer's loyalty profile.

Bodyapplication/jsonrequired
customerIdinteger(int64)

Unique identifier of the customer

Example: 0
dobstring(date)

Customer date of birth

Example: "2026-01-12"
statusstring

Customer loyalty status

Enum"ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER""ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER"
Example: "ACTIVE"
curl -i -X POST \
  https://loyalty-admin.appstle.com/loyalty/cp/api/update-customer-birth-date \
  -H 'Content-Type: application/json' \
  -d '{
    "customerId": 0,
    "dob": "2026-01-12",
    "status": "ACTIVE"
  }'

Responses

Customer birth date updated successfully

Bodyapplication/json
idinteger(int64)
shopstringrequired
customerIdinteger(int64)required
firstNamestring
lastNamestring
emailstring
statusstring
Enum"ACTIVE""INACTIVE""EXCLUDED""EXCLUDED_BY_CUSTOMER"
createAtstring(date-time)required
dobstring(date)
enableEmailboolean
tokenstring
redeemLimitinteger(int64)
redeemLimitOnceinteger(int64)
vipTierstring
vipTierIdinteger(int64)
vipTierSummarystring
availablePointsnumber(double)required
pendingPointsnumber(double)required
displayNamestring
vipTierExpiredAtstring(date-time)
spentAmountnumber(double)
lastActivitystring(date-time)
ordersCountinteger(int32)
lastMonthlyReminderSentDatestring(date-time)
redeemedPointsnumber(double)
lastRewardExpiryReminderSentDatestring(date-time)
vipAssignTypestring
Enum"MANUAL""AUTO_RENEWAL""RENEWAL_ON_HIGHER_TIER"
phonestring
loyaltyProgramEnabledboolean
emailSettingstring
skipReviewboolean
updatedSettingsstring
storeCreditAccountIdstring
emailBouncedOrFailedboolean
availableStoreCreditsnumber(double)
isDeletedFromShopifyboolean
enableEmailMarketingboolean
enableSmsMarketingboolean
tagsstring
vipTierAmountnumber(double)
Response
application/json
{ "id": 0, "shop": "string", "customerId": 0, "firstName": "string", "lastName": "string", "email": "string", "status": "ACTIVE", "createAt": "2019-08-24T14:15:22Z", "dob": "2019-08-24", "enableEmail": true, "token": "string", "redeemLimit": 0, "redeemLimitOnce": 0, "vipTier": "string", "vipTierId": 0, "vipTierSummary": "string", "availablePoints": 0.1, "pendingPoints": 0.1, "displayName": "string", "vipTierExpiredAt": "2019-08-24T14:15:22Z", "spentAmount": 0.1, "lastActivity": "2019-08-24T14:15:22Z", "ordersCount": 0, "lastMonthlyReminderSentDate": "2019-08-24T14:15:22Z", "redeemedPoints": 0.1, "lastRewardExpiryReminderSentDate": "2019-08-24T14:15:22Z", "vipAssignType": "MANUAL", "phone": "string", "loyaltyProgramEnabled": true, "emailSetting": "string", "skipReview": true, "updatedSettings": "string", "storeCreditAccountId": "string", "emailBouncedOrFailed": true, "availableStoreCredits": 0.1, "isDeletedFromShopify": true, "enableEmailMarketing": true, "enableSmsMarketing": true, "tags": "string", "vipTierAmount": 0.1 }

Sync customer metafield data

Request

Synchronizes the authenticated customer's metafield data with Shopify. This endpoint triggers an immediate sync of customer loyalty information (points, tier, etc.) to Shopify metafields. Useful when customer data needs to be refreshed in Shopify for theme display or other integrations.

curl -i -X POST \
  https://loyalty-admin.appstle.com/loyalty/cp/api/update-customer

Responses

Customer data synchronized successfully