Add Custom Event
See the sample example of how a custom event 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 custom event to trigger the previously created achievement.
Try yourself
Add a transaction Endpoint:
POST /api/{storeCode}/customEvent{ "event": { "type": "app_login", "eventDate": "2024-05-01T00:00:00", // add current time "customerData": { "email": "[email protected]" } } }This action should trigger
MemberAchievementProgressWasChangedwebhook
The webhook will be triggered each time there is progress made towards the achievement's goal, not only when the achievement is completed.
In this example, the custom event would have to be sent each day over the span of 7 days for the member to complete the previously set up achievement.
Endpoints used
This method allows creating a new Custom Event in the system.
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
Custom event created successfully
Bad request.
Unauthorized
Forbidden.
POST /api/{storeCode}/customEvent HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 213
{
"event": {
"type": "text",
"customerData": {
"customerId": "7239e6f7-e52e-466b-8c24-699709b64076",
"email": "text",
"phone": "text",
"loyaltyCardNumber": "text"
},
"eventDate": "2025-11-18T21:24:46.272Z",
"body": {
"key": "value"
}
}
}{
"customEventId": "00000000-0000-0000-0000-000000000000"
}More resources
For a detailed overview and description of the transactions creation and management, please refer to these series of articles:
Custom EventsIn this section, you will learn about adding and managing custom events in Open Loyalty.Last updated
Was this helpful?

