For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get member's ranking in a specific campaign

Integration This method returns detailed information about a member's ranking in a specific campaign, including surrounding members.

get
Authorizations
AuthorizationstringRequired

Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/

Obtain an access token

Send a request with the parameters username and password

Definition

POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition

Example

curl {HOST}/api/admin/login_check
    -H 'Content-Type: application/json;charset=UTF-8'
    -H 'Accept: application/json, text/plain, */*'
    --data-binary '{"username":"admin","password":"password"}'

Example Response

{
    "token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
    "refresh_token":"0558f8bb29948c4e54c443f..."
}

Using JSON Web Token

Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.

Example

curl {HOST}/api/{storeCode}/analytics/members
    -H 'Accept: application/json'
    -H 'Content-type: application/x-www-form-urlencoded'
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'

Refresh JSON Web Token

You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition

Path parameters
storeCodestringRequired

Store code

campaignstring · uuidRequired

Campaign ID

memberstring · uuidRequired

Member identifier (UUID)

Query parameters
typestringOptional

The type of cycle for which the ranking is to be returned.

Responses
200

Member's ranking details with surrounding members.

application/json
groupValuestringOptional

Group label the member is ranked under for grouped leaderboards (e.g. the city or custom attribute value). Empty string for non-grouped leaderboards. Members with no resolvable group value on a grouped leaderboard are not found here (404).

Example: Warsaw
scorenumber · floatOptional

Member's score in the campaign

Example: 123.1
recalculatedAtstring · date-timeOptional

When the position was last recalculated

Example: 2010-01-01T01:01:01Z
positionintegerOptional

Current position in the leaderboard

Example: 1
changedPositionAtstring · date-timeOptional

When the position changed or initial date

Example: 2010-01-01T01:01:01Z
get/api/{storeCode}/campaign/{campaign}/leaderboard/member/{member}
GET /api/{storeCode}/campaign/{campaign}/leaderboard/member/{member} HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "groupValue": "Warsaw",
  "score": 123.1,
  "recalculatedAt": "2010-01-01T01:01:01Z",
  "position": 1,
  "changedPositionAt": "2010-01-01T01:01:01Z",
  "progress": {
    "general": 4,
    "recalculated": 0,
    "period": 2
  },
  "surrounding": {
    "higher": [
      {
        "member": {
          "customerId": "90fb7967-34cb-4440-8786-651dd861d874",
          "firstName": "text",
          "lastName": "text",
          "email": "zella.wisoky1@yahoo.com",
          "phone": "501911936",
          "loyaltyCardNumber": "3581"
        },
        "ranking": {
          "score": 123.1,
          "recalculatedAt": "2010-01-01T01:01:01Z",
          "position": 1,
          "changedPositionAt": "2010-01-01T01:01:01Z",
          "progress": {
            "general": 4,
            "recalculated": 0,
            "period": 2
          }
        }
      }
    ],
    "lower": [
      {
        "member": {
          "customerId": "90fb7967-34cb-4440-8786-651dd861d874",
          "firstName": "text",
          "lastName": "text",
          "email": "zella.wisoky1@yahoo.com",
          "phone": "501911936",
          "loyaltyCardNumber": "3581"
        },
        "ranking": {
          "score": 123.1,
          "recalculatedAt": "2010-01-01T01:01:01Z",
          "position": 1,
          "changedPositionAt": "2010-01-01T01:01:01Z",
          "progress": {
            "general": 4,
            "recalculated": 0,
            "period": 2
          }
        }
      }
    ]
  }
}

Last updated

Was this helpful?