For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhook Event Publishing

Set up webhook events to ensure smooth interaction between services and systems.

Here you can find an overview of the Emporix Webhook Service, along with its features and benefits.

  • Looking for code tutorials? Check out the Webhook Service guide.

  • Looking for API reference? Check out the Webhook Service in the Emporix API Reference.

Purpose

To move towards an event-driven architecture, we are introducing the Webhook Event Publishing functionality. This feature, implemented through the Emporix API Webhook Service, allows external systems to subscribe to internal events published by the Commerce Engine. Thanks to the Webhook Service, you do not need to call specific API endpoints to look for recent changes in services — you will be automatically notified instead.

Features

The Webhook Service introduces the following features:

Feature
Description

Events

All actions that take place in the Emporix API are considered events. For example, creating and updating a catalog in the Emporix API Catalog Service are both considered events. You can also subscribe to Schema custom entity events (schema.custom-instance-created, schema.custom-instance-updated, schema.custom-instance-deleted).

Event subscription management

You can manage notifications for your Emporix tenant by subscribing to and unsubscribing from particular events.

Event Gateway

The Event Gateway is a dashboard where you pre-configure endpoints to receive notifications about events you have subscribed to in the Webhook Service. The Event Gateway acts as an intermediary, as it passes notifications from the Webhook Service directly to your tenant.

Statistics

You can retrieve statistics for the Shared Account strategy on the number of events successfully sent to the endpoints that you earlier configured in the Event Gateway.

Strategy configuration

Possible to configure within the Emporix Management Dashboard if Shared Account, Licensed Account - Svix, or Other - HTTP strategy is used.

Multiple webhook targets

For the Other - HTTP strategy, you can register multiple HTTP targets for the same event type. Each target can have its own URL, headers, HMAC secret, optional JsonPath filter, and payload field selection.

JsonPath filtering

For the Other - HTTP strategy, optional Jayway JsonPath predicates let you deliver an event to a target only when the sanitized payload matches your condition. Invalid filters are rejected at configuration time.

Webhooks strategies

You can apply one of the following strategies to your tenant:

  • Svix-Shared - default strategy allowing you to use the shared Svix subscription offered by Emporix

  • Svix - strategy that allows you to connect your own Svix licence

  • HTTP - strategy that lets you receive event notifications as HTTP requests to one or more declared URLs, with optional JsonPath filters per target

Overview

The Emporix Webhook Event Publishing process consists of the following sequence of events:

  1. When an event that you subscribed to takes place, a message is sent to the Webhook Service.

  2. The Webhook Service forwards the message to the Event Gateway.

  3. The Event Gateway matches the event to your configured HTTP or Svix endpoints for that event type. For HTTP multiple webhook targets, optional JsonPath filters are evaluated against the sanitized payload. Targets with no filter receive all events of the subscribed type; inactive targets are skipped.

For the HTTP strategy, you can store multiple eventsConfiguration entries for the same event type.

Filter evaluation (HTTP)

For the HTTP strategy, after the payload is sanitized to the allowlisted fields for that event type:

  1. The service finds eventsConfiguration entries for the event type.

  2. Inactive entries are skipped (no filter evaluation, delivery, or retries for that entry).

  3. Optional JsonPath filter values are evaluated against the sanitized payload.

  4. Empty or omitted filters match every event of that type.

  5. Invalid JsonPath expressions are rejected with HTTP 400 when you save the configuration and are never stored.

For Management Dashboard setup, see Webhooks. For request and response examples, see the Webhook Service Tutorials.

For more information about webhooks usage, see Webhooks. For more information on HMAC configuration, see HTTP Webhook Strategy - HMAC Configuration. To see example integration with external application through webhooks, see:

Last updated

Was this helpful?