Fluent Commerce Logo
Docs

Basic Knowledge

Essential knowledge articles on integration.

Connect SDK - Fluent Webhooks Integration

Essential knowledge
The Fluent Connect SDK offers seamless integration with Fluent Webhooks, enabling you to receive messages and perform various actions based on incoming calls. This document provides an overview of the core features of the Fluent Connect SDK and outlines the steps to integrate it into your application. Go here to read about Fluent Webhooks.
  • Standardized Webhook Ingestion: You will learn how the Connect SDK natively exposes a dedicated endpoint (`/api/v1/fluent-connect/webhook`) to receive inbound HTTP calls from Fluent Webhooks, automatically transforming raw payloads into the SDK's internal message queue format for scalable processing.
  • Automated Signature Verification: To protect the authenticity and integrity of system interactions, the SDK automatically runs signature validation checks on all incoming messages using environment-specific public keys pre-configured within the `application.yml` file.
  • Routing & Handler Dependencies: An important operational consideration is that an inbound webhook payload will only execute successfully if its event name explicitly corresponds to a designated internal message handler and an active, matching configuration route.
  • Local Development Tunnels: Because local execution environments (`localhost:8080`) are isolated from the internet, developers testing live Fluent workflows locally must utilize a secure tunneling utility like `ngrok` to create a publicly accessible URL that safely routes traffic back to the local webhook endpoint.

Connect SDK Libraries

Essential knowledge
The Connect SDK Libraries comprise a modular software development framework designed for building integrations with Fluent Order Management. The architecture centers around a mandatory core module that handles foundational communication, configuration storage, and routing capabilities. Implementation teams can extend this baseline engine using specialized, pluggable add-on libraries to introduce web frameworks, security filters, specific cloud or infrastructure adapters, and isolated simulation testing suites.
  • What You Will Learn: You will understand the structural purpose of each component within the Connect SDK framework and learn how to select the appropriate core, web, cloud infrastructure, or testing dependencies for your implementation project.
  • Mandatory Core Requirement: The `connect-sdk-core` library is a mandatory dependency for all SDK-based implementations. It houses the baseline engine components, including the REST and GraphQL API client, authentication management for sensitive credentials, message routing, and the configuration manager.
  • Asynchronous Processing Boundary: All transactional endpoints and internal processing steps handled by the SDK execute asynchronously in the background. The explicit exception to this design rule is product availability processing, which runs synchronously.
  • Pluggable Architecture Strategy: Advanced technical capabilities are intentionally isolated into decoupled modules. Developers append specialized add-ons like `connect-sdk-core-web-security` for Spring Security filters, `connect-sdk-core-aws` for Amazon Web Services (AWS) deployment services like Amazon Simple Queue Service (SQS) and AWS Secrets Manager, or `connect-sdk-core-kafka` for Apache Kafka support.
  • Isolated Testing Frameworks: The SDK segregates quality assurance utilities into specific test scopes. Teams deploy `connect-sdk-test-core` to mock external API calls with Wiremock, or utilize the AWS and Kafka test extensions to run integration tests inside software containers alongside LocalStack or virtual Kafka brokers.

Send Enhanced Inventory Attributes in Your Payloads

Essential knowledge
Inventory payloads can include additional Inventory Quantity attributes to capture richer stock context.This article explains how to use the `attributes` object to include additional data in inventory payloads. It supports both simple key-value pairs and custom JSON structures to meet diverse business requirements - whether you’re:
  • managing detailed product information
  • optimizing warehouse processes
  • or integrating with custom workflows
The Inventory Reference Module supports a set of reference attributes that are persisted automatically, while custom attributes provide additional flexibility.
  • Prerequisites: To fully leverage the extended attributes functionality within the inventory payload, ensure that you are using the Inventory Reference Module v2.3.0 or later
  • Flexible attribute structure: The `attributes` object supports any combination of key-value pairs, including complex JSON structures and arrays. This flexibility allows you to customize the data sent in your inventory payloads to meet specific business needs
  • Use reference attributes first: Certain key attributes (such as `associationType`, `associationRef`, `parentRef`, `expectedOn`, `expiresOn`, `condition`, `storageAreaRef`, `supplier`, `manufacturer`, `manufacturerBatchNumber`, `countryOfOrigin`, and `channel`) will be directly updated in the Inventory Quantity associated with the incoming record, facilitating seamless integration with existing fields
  • Use segment fields for flexible key-value extensions: `segment1`, `segment2`, and `segment3` provide flexibility for additional flat classification data without introducing new custom attributes
  • Custom attribute availability: Any custom attributes that you include in the `attributes` object will be available in workflows via `inventoryPosition.inventoryQuantity.attributes.<fieldName>`. This enables you to incorporate custom data into rule-based processes or other logic tailored to your business requirements