Get a list of available campaigns for the member.
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
Store code
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|email=[a-zA-Z0-9!#$%&'\.*+\-@=?^_{|}~;]+|phone=[0-9+]+|loyaltyCardNumber=[0-9a-zA-Z\._-]+This parameter allows to show all campaign even not active
Campaign name
Filter with Campaign custom attributes.
Example: labels=(key;value)
If set to html, the descriptions will be in HTML format. Omit for raw output.
Number of page with results, starts from 1
1Example: 1Items on one page
10Example: 25List of available member campaigns.
Bad request.
Unauthorized
Forbidden.
GET /api/{storeCode}/member/{member}/campaign HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"campaignId": "123e4567-e89b-12d3-a456-426614174000",
"active": true,
"activity": {
"startsAt": "2024-09-17 00:00+02:00",
"endsAt": "2024-09-17 00:00+02:00"
},
"rules": [
{
"conditions": [
{
"operator": "text",
"data": [
"text"
],
"attribute": "text"
}
],
"effects": [
{
"effect": "text",
"pointsRule": "text"
}
]
}
],
"limits": {
"points": {
"interval": {
"type": "days"
},
"value": 1
},
"pointsPerMember": {
"interval": {
"type": "days"
},
"value": 1
},
"executionsPerMember": {
"interval": {
"type": "days"
},
"value": 1
}
},
"translations": [
{
"name": "text",
"description": "text",
"id": 1,
"locale": "text"
}
],
"createdAt": "2026-01-01T00:00:00.000Z",
"memberFilter": {},
"displayOrder": 1,
"labels": [
{
"key": "text",
"value": "text"
}
],
"multiLevel": 1,
"codeGenerator": {},
"eventCodeAttribute": "text",
"name": "text",
"description": "text",
"type": "text",
"trigger": "text",
"event": "text",
"achievementId": "123e4567-e89b-12d3-a456-426614174000",
"limitReached": true,
"limitUsages": {
"points": {
"currentValue": 1,
"limitValue": 1,
"remaining": 1,
"interval": {
"type": "calendarHours"
}
}
}
}
]
}Last updated
Was this helpful?

