Get a player's loyalty standing

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.

GET
/sdk/studio/{shopId}/loyalty/players/{playerId}
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

shopIdstring

Shop identifier from Stash Studio

playerIdstring

The player whose loyalty standing to retrieve

Response Body

curl -X GET "https://test-api.stash.gg/sdk/studio/string/loyalty/players/string"
{
  "loyalty": {
    "campaignId": "string",
    "totalPoints": 0,
    "pointsDelta": 0,
    "currentTierId": "string",
    "previousTierId": "string",
    "pointsToNextTier": 0,
    "pointsToNextMilestone": 0,
    "nextMilestone": {
      "milestoneId": "string",
      "rewards": [
        {
          "itemId": "string",
          "quantity": 0,
          "type": "LOYALTY_REWARD_TYPE_UNSPECIFIED"
        }
      ]
    },
    "pointsMultiplierPermille": 0
  }
}
{
  "code": 0,
  "message": "string",
  "details": [
    {
      "@type": "string",
      "property1": null,
      "property2": null
    }
  ]
}

How is this guide?