Get loyalty program configuration

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
/sdk/studio/{shopId}/loyalty
x-stash-hmac-signature<token>

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

shopId*string

Shop identifier from Stash Studio

Response Body

application/json

application/json

curl -X GET "https://example.com/sdk/studio/string/loyalty"
{  "activeCampaign": {    "campaignId": "string",    "tiers": [      {        "tierId": "string",        "name": "string",        "startPoints": 0,        "pointsPerDollar": 0,        "pointsMultiplierPermille": 0,        "iconUrl": "string",        "milestones": [          {            "milestoneId": "string",            "name": "string",            "pointsNeeded": 0,            "rewards": [              {                "itemId": "string",                "quantity": 0,                "type": "LOYALTY_REWARD_TYPE_UNSPECIFIED"              }            ]          }        ]      }    ]  }}

How is this guide?