Get transactions list
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
Specifies the document number used in the transaction.
Used only for return transactions and refers to the original ‘sell’ document.
Labels using pattern e.g. (key1;value1),(key2;value2),...
Labels using pattern e.g. (key1;value1),(key2;value2),...
Number of page with results, starts from 1
1Example: 1Items on one page
10Example: 25To use scroll pagination, add the _scroll parameter to your query:
?_scroll
To retrieve the next page, take the scroll value from the previous response and use it in the next request:
?_scroll=eyJjcmVhdGVkQXQiOiIyMDI1LTA3LTAxIDEzOjU2OjI5LjAyMTcwMyIsImlkIjoiNTM5N2RiYzYtZGVkMi00MTQ0LTlhMjQtOTRjYmI5YWVjNDBjIn0=
Notes:
- Scroll pagination does not support sorting with
_orderBy. - Items are returned in ascending order by the
createdAtfield by default.
List of transactions
Bad request.
Forbidden.
GET /api/{storeCode}/transaction HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"grossValue": 3,
"metrics": [
{
"name": "text",
"value": 1,
"calculatedAt": null
}
],
"transactionId": "123e4567-e89b-12d3-a456-426614174000",
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"customerData": {
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"email": "example@example.com",
"name": "text",
"nip": "text",
"phone": "text",
"loyaltyCardNumber": "text",
"address": {
"street": "text",
"address1": "text",
"address2": "text",
"postal": "text",
"city": "text",
"province": "text",
"country": "text"
}
},
"items": [
{
"name": "text",
"highPrecisionQuantity": 1.125,
"grossValue": 1,
"category": "text",
"labels": [
{
"key": "text",
"value": "text"
}
],
"maker": "text",
"sku": "text"
}
],
"header": {
"documentNumber": "text",
"documentType": "sell",
"linkedDocumentNumber": "text",
"purchasedAt": "2026-01-01T00:00:00.000Z",
"purchasePlace": "text",
"excludedDeliverySKUs": [],
"excludedSKUs": [],
"excludedCategories": [],
"labels": []
},
"matched": true,
"currency": "text",
"pointsEarned": 1,
"unitsDeducted": 1,
"channelId": "123e4567-e89b-12d3-a456-426614174000",
"channelName": "text",
"assignedToCustomerAt": "2026-01-01T00:00:00.000Z"
}
]
}Last updated
Was this helpful?

