LogoLogo
HomepageCase studiesBook a demo
User Guide
User Guide
  • Welcome to Open Loyalty!
  • What's New
    • 2024
    • 2023
    • 2022
  • What's Next
  • Technical Guide
  • Main Features
    • Global Management
      • Analytics
      • Settings
      • Config Duplication
      • Usage
    • Dashboard
      • General Overview
      • Units Wallet Overview
      • Additional Metrics
      • Members by Tiers
    • Members
      • Member List
        • Configuration
        • Creating Members
        • Managing Members
        • Removing Members
      • Segments
        • Creating Segments
        • Managing Segments
        • Segment Conditions
      • Referred Members
    • Campaigns
      • Creating Campaigns
        • Return Campaign
        • Referral Campaign
        • Time-Based Campaign
        • Redemption Code Campaign
        • Internal event - Achievement progressed
        • Percent value distribution
      • Managing Campaigns
      • Campaign Simulation
      • Follow-up Campaigns
    • Custom Events
      • Custom Event Schemas
    • Transactions
      • Adding Transactions
      • Managing Transactions
      • Channels
    • Tiers
      • Adding Tiers
      • Managing Tiers
      • Tiers Configuration
      • Tier Benefits
    • Wallets
      • Wallet Types and Configuration
      • Unit Transfers
        • Creating Unit Transfers
        • Importing Unit Transfers
        • Managing Unit Transfers
    • Achievements
      • Creating Achievement
      • Managing Achievements
      • Follow up Achievements
    • Rewards
      • Reward List
        • Rewards Configuration
        • Creating Reward
        • Reward Types
        • Units Conversion Coupon
        • Adding Coupons
        • Reward Flow
      • Reward Fulfillment
      • Reward Categories
    • Webhooks
      • How to Configure a Webhook
      • What Triggers a Webhook
      • Expiring Notifications
    • Collections
    • Imports / Exports
      • Imports
        • Sample Import Files
      • Exports
        • UI Data Exports
        • Configuration Exports
        • S3 Bucket Exports
    • Settings
      • Roles
      • Admins
        • System Logs
      • Tenants
      • Translations
    • Expressions
      • Attributes List
      • Operators
      • Custom Functions
      • Expression Examples
      • Sample Use Cases
        • Using Member Custom Attributes
        • Complex Effects (if, else)
        • Excluding Members
        • Elapsed Time Conditions
        • Using Additional Dates for Calculations
        • Register on Birthday
        • Transaction on Birthday
        • Tier Upgrade or Downgrade
  • Sample Setups
    • Good Practices
    • Pay with Points
    • Promo and Discounts in Cart
    • Sample Campaigns
      • #1 Earn 1 point for every $1 spent
      • #2 Earn 2x points when shopping on Monday morning
      • #3 Earn 1 stamp for every transaction
      • #4 Buy product ACME 123 and earn 100 points
      • #5 Refer a friend and get 100 points
      • #6 Refer 5 friends and get a $50 off coupon for the next purchase
      • #7 Register to the program and get 50 bonus points
      • #8 Get 30 bonus points for your first transaction in the loyalty program
      • #9 Cashback campaign
      • #10 Product meets selected criteria
    • Sample Achievements
      • #1 Celebrate summer - Buy 5 times between June and August
      • #2 Place 10 Orders above 50โ‚ฌ - Complete 10 transactions, for more than 50โ‚ฌ each
      • #3 Ambitious player - Log in to the game 3 times per week for 8 consecutive weeks
      • #4 SKU 'ABC' configuration - Spend total of 100$ on products with SKU 'ABC132' in September
      • #5 Workout track -Track a workout of at least 30 minutes for 5 days in a row
      • #6 4 referees made the transactions for 2 consecutive weeks
      • #7 2 referees made a transaction configuration
  • FAQ
    • Configuration Migration
    • Custom Attributes
    • Achievements
    • GDPR
    • Opt-Out
    • Referral Programs
    • Returns and Cancellations
    • Timezones
Powered by GitBook
On this page

Was this helpful?

  1. Main Features
  2. Webhooks

How to Configure a Webhook

Last updated 4 months ago

Was this helpful?

The subscription method means that you can decide which webhooks are active - you do not receive data from the ones you are not interested in.

You can subscribe to the webhook in two ways.

One way is to use the admin panel, which will allow you to configure webhooks using a graphical interface, and the second is to use the endpoint.

To get to Webhooks in the admin panel head to Webhooks

  • Webhook name - Webhook name in the system

  • Active from - Date of webhook activation

  • Legacy - Information is webhook is working in the Legacy mode

  • URL - Address to which the webhook is sent

To make it easier to search for a specific webhook, you can use filtering based on the headers or use a search table in the upper right corner:

Adding a new webhook subscription

To add a new webhook subscription:

  1. log in to the app as an Administrator

  2. Go to Webhooks

  3. Click the ADD NEW WEBHOOK button

  4. Fill in the required fields

  5. Click ADD WEBHOOK

From the dropdown list choose the webhook you'd like to subscribe to. Enter the address to which the webhooks will be sent. In addition, you can add multiple headers to the webhook however, it is not required by the system.

After saving, when the correct event is executed, the webhook will be sent to the previously entered address.

You can also subscribe to the webhook by using the endpoint:

/api/{storeCode}/webhook/subscription

In the body request, put the name of the webhook in eventName and the address of the service you want the data to be sent to in the URL

Webhook body example

Webhook 'account.available_points_amount_changed' automatically informs whenever the number of available points in a user's account changes. The update information is presented in the form of a body containing the following information.

{
"eventName": "string",
"storeCode": "string",
"createdAt": "2019-08-24T14:15:22Z",
"data": {
"customer": {},
"accountId": "string",
"amount": null,
"amountChange": null,
"amountChangeType": "string",
"wallet": {}
}

Webhook can be used as a trigger to execute an action on the user side of the application.

Get all webhook subscriptions.

get

If sorting is not chosen, the rows will be returned in an unspecified order.
To sort a result, use an _orderBy parameter in query.

Authorizations
Path parameters
storeCodestringRequired

Store code

Query parameters
urlstringOptional
legacybooleanOptional
eventNamestringOptional
createdAtstring ยท date-timeOptional
_pageintegerOptional
_itemsOnPageintegerOptional
_orderBystringOptional
Responses
200
List of webhook subscriptions
application/json
401Error
application/json
403
Forbidden.
application/json
get
GET /api/{storeCode}/webhook/subscription HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "webhookSubscriptionId": "text",
      "eventName": "text",
      "url": "text",
      "legacy": true,
      "createdAt": "2025-06-06T12:03:26.234Z"
    }
  ],
  "total": {
    "all": 1,
    "filtered": 1
  }
}
  • Adding a new webhook subscription
  • GETGet all webhook subscriptions.
  • POSTCreate a new webhook subscription
  • Webhook body example

Create a new webhook subscription

post
Authorizations
Path parameters
storeCodestringRequired

Store code

Body
Responses
200
Return created webhook subscription ID.
application/json
400
Bad request.
application/json
401Error
application/json
403
Forbidden.
application/json
post
POST /api/{storeCode}/webhook/subscription HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 112

{
  "webhookSubscription": {
    "eventName": "text",
    "url": "text",
    "headers": [
      {
        "headerName": "text",
        "headerValue": "text"
      }
    ]
  }
}
{
  "webhookSubscriptionId": "00000000-0000-0000-0000-000000000000"
}