Get loyalty configuration
Retrieves the shop's loyalty configuration in the shape UpdateLoyaltyConfig accepts: display settings, bonus definitions, reward products with their status, and every campaign (season) with its status. Product rewards are returned by SKU. Use it to verify a sync. Returns NOT_FOUND when the shop has no loyalty program.
Authorization
hmac Versioned HMAC-SHA256 signature authenticating server-to-server SDK requests (your backend calling Stash), as opposed to client-side SDK operations. Recommended over the deprecated X-Stash-Api-Key for the best security. Header format: v1;{appId};{unixMillisTimestamp};{base64Signature} (semicolon-delimited). {base64Signature} is the base64-encoded HMAC-SHA256 of the string {unixMillisTimestamp}.{requestBody} using your app ingress secret (the ingress secret is shown base64-encoded in Studio; base64-decode it to the raw bytes used as the HMAC key), where {requestBody} is the compact canonical request JSON for POST requests and empty for GET requests. The timestamp must be within 5 minutes of Stash server time. Your appId is your immutable app identifier, shown in Stash Studio under Project Settings > App details; your ingress secret is under Project Settings > API Secrets.
In: header
Path Parameters
Shop identifier from Stash Studio
Response Body
application/json
application/json
curl -X GET "https://example.com/sdk/studio/string/loyalty/config"{ "displayConfig": { "programName": "string", "vipStoreName": "string" }, "bonuses": [ { "id": "string", "type": "BONUS_TYPE_UNSPECIFIED", "name": "string", "pluralName": "string", "abbreviatedName": "string", "iconImageUrl": "string" } ], "products": [ { "sku": "string", "name": "string", "description": "string", "imageUrl": "string", "backgroundImageUrl": "string", "status": "REWARD_PRODUCT_STATUS_UNSPECIFIED" } ], "campaigns": [ { "id": "string", "name": "string", "startAt": "2019-08-24T14:15:22Z", "endAt": "2019-08-24T14:15:22Z", "reset": { "points": "POINTS_UNSPECIFIED", "milestoneClaims": "MILESTONE_CLAIMS_UNSPECIFIED", "currency": "CURRENCY_UNSPECIFIED" }, "tiers": [ { "id": "string", "name": "string", "startPoints": 0, "iconUrl": "string", "backgroundImageUrl": "string", "color": "string", "benefits": [ { "text": "string" } ], "earnRates": [ { "bonusId": "string", "rewardPerDollar": 0 } ], "milestones": [ { "id": "string", "name": "string", "description": "string", "pointsNeeded": 0, "rewardName": "string", "rewardImageUrl": "string", "backgroundImageUrl": "string", "bonusRewards": [ { "bonusId": "string", "amount": 0 } ], "productRewards": [ { "sku": "string", "quantity": 0 } ] } ] } ], "status": "CAMPAIGN_STATUS_UNSPECIFIED" } ]}How is this guide?
Get loyalty program configuration GET
Retrieves the shop's active loyalty campaign configuration: its tiers (ordered by starting points) and milestones (ordered by points needed). Returns NOT_FOUND when the shop has no active loyalty campaign.
Get a player's loyalty standing GET
Retrieves a single player's loyalty standing (points balance, current tier, distance to the next tier and milestone, and effective points multiplier) for the shop's active loyalty campaign. Returns NOT_FOUND when the shop has no active loyalty campaign.