Add Transaction
See the sample example of how a transaction can be added. Links to more detailed instructions can be found at the end of the article.
How this example works
In this example, we will create a sample transaction to trigger the previously created campaign.
Try yourself
Add a transaction Endpoint:
POST /api/{storeCode}/transaction{ "transaction": { "items": [ { "sku": "12AB", "name": "Restaurant", "quantity": 1, "grossValue": 500, "category": "dine" } ], "header": { "documentType": "sell", "documentNumber": "12345", "purchasePlace": "onsite", "purchasedAt": "2024-05-01T00:00:00", // add current time "labels": [] }, "customerData": { "email": "[email protected]" } } }This action should trigger
CampaignEffectWasAppliedwebhook
Endpoints used
This method allows creating a new Transaction.
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
Return registered transaction id.
Bad request.
Forbidden.
POST /api/{storeCode}/transaction HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 651
{
"transaction": {
"items": [
{
"sku": "text",
"name": "text",
"quantity": 1,
"grossValue": 1,
"category": "text",
"maker": "text",
"labels": [
{
"key": "text",
"value": "text"
}
]
}
],
"header": {
"documentNumber": "text",
"documentType": "sell",
"linkedDocumentNumber": "text",
"purchasedAt": "2025-11-18T22:06:08.317Z",
"purchasePlace": "text",
"labels": [
{
"key": "text",
"value": "text"
}
]
},
"customerData": {
"customerId": "text",
"name": "text",
"email": "text",
"phone": "text",
"loyaltyCardNumber": "text",
"nip": "text",
"address": {
"street": "text",
"address1": "text",
"address2": "text",
"postal": "text",
"city": "text",
"province": "text",
"country": "text"
}
},
"channelId": "123e4567-e89b-12d3-a456-426614174000"
}
}{
"transactionId": "00000000-0000-0000-0000-000000000000"
}More resources
For a detailed overview and description of the creation and management of the transaction, please refer to these series of articles:
TransactionsIn this section, you will learn everything about Transactions. We will show you how to create Transactions, match them with customers, and many more important and helpful features.Last updated
Was this helpful?

