Fluent Commerce Logo
Docs

External Webhook Integration Architecture - commercetools Connector

Essential knowledge

Intended Audience:

Technical User

Author:

Fluent Commerce

Changed on:

17 June 2026

Overview

Enables the system to receive and process payloads from external webhooks, integrating them into the Fluent Commerce ecosystem.

Key points

  • Sync Type: Automatic, based on incoming webhook events.
  • Payload Handling: External systems push data to the connector, which acts as the ingestion point.
  • CT Queue Listener: Reads messages from the queue and facilitates the routing of the payload.
  • Event Queue: Holds event messages for processing by the appropriate handlers.

Data Pipeline Execution

1. Ingestion (Webhook/Batch Job)

  • CT Queue: Webhook notifications are pushed to the `ct-queue`.
  • CT Queue Listener: This class reads the message from the `ct-queue` and pushes it to the Event Queue.
  • Event Queue: This queue is responsible for holding the event message until it is processed.

2. Processing & Payload Extraction

  • Message Router: The router reads the message name from the Event Queue and passes it to the corresponding handler.
  • Message Handling: The handler reads the message data, fetches additional information via the SDK, maps it to the Fluent data model, and pushes the resulting data to the Fluent OMS.

3. Execution & Customization

  • Extensibility: Handlers are fully extensible, allowing partners to modify the logic as required for their specific implementation.
  • Route Configuration: Partners can manage message names and override handler classes via the `application-connector.yml`.

Data Storage & Schema Mapping

The following mapping framework is applied to webhook payload routing:
ComponentDescription
CT-QueueEntry point for incoming webhook events.
Message RouterMaps message names to specific handlers.
Fluent OMSDestination for transformed/mapped data.

Developer Extension Points

Implementation Patterns

  • Overriding Handlers: Partners can override existing handlers by updating the `application-connector.yml` file to point to a new handler class.
  • New Handlers: New handlers can be added by extending the `MessageHandler` class and ensuring the package is within `com.fluentcommerce.connect`.