By Type
commercetools Connector Extend (Customisation) Guidelines
FeatureA Fluent Connector project typically has the structure as defined below :
com.fluentcommerce.connect.custom
Any customizations/extensions can either be done under the custom folder or as a separate module (jar) altogether.
Regardless of which way one chooses to extend it, the key message here is that any custom code should be under the `com.fluentcommerce.connect` package. This is due to how the FluentConnectorApplication is wired to work with Spring, and in its current form, Spring will only scan for components under `com.fluentcommerce.connect`.
During the server start-up, the commercetools-connector will load all handlers found in the spring context and bind them to the correct service they belong to. As part of this binding process, the commercetools-connector also determines which handler has precedence over others of the same name. In other words, it is possible to override existing handlers by assigning a higher priority to the custom handler. By default, all handlers will have a priority of zero, and the commercetools-connector understands the highest priority as the higher number. For example, priority = 100 takes precedence over priority = 1.`@HandlerInfo(name = "CustomCategoryUpsert", priority = 100)`Adding a Ruleset to your Workflow
How-to Guide- The Ruleset, defining the executed actions for matching events, can be added through the UI using either an existing Ruleset list or the Entity Workflow Swimlane.
- Green icons in the Status rectangles represent Rulesets triggered on that State, while those outside a status transition the entity to the indicated state.
- Adding a Ruleset via JSON requires inclusion in the Workflow JSON's Rulesets Array, following a schema with mandatory elements like name, rules, and triggers, and optional elements like description, type, subtype, eventType, and userActions.
Integration Tests with the Connect SDK
How-to Guide- End-to-End Test Orchestration: You will learn how to wire, configure, and execute automated integration tests using specialized Connect SDK test modules (
`connect-sdk-test-core`, `connect-sdk-test-core-aws`, and `connect-sdk-test-core-kafka`) to validate custom data handlers against simulated API footprints and containerized queue systems. - Execution Command Restrictions: Standard unit test triggers like
`mvn test` will completely ignore these integration suites. You must invoke the pipeline using `mvn clean integration-test` and explicitly declare or preset the targeted active Spring profiles (such as `aws,localstack` or `kafka`) to instantiate the proper environment dependencies and messaging beans. - Isolated Bootstrapping Requirements: When building integration tests inside a decoupled code module that lacks a primary application runner, you must manually deploy an executable bootstrap class annotated with
`@SpringBootApplication` and `@EnableScheduling` inside your `src/test/java` directory. Additionally, you must place three mandatory configuration manifests (`application.yml`, `application-connector.yml`, and `bootstrap.yml`) into the `src/test/resources` folder. - Automated Environment Isolation: The test suite leverages
`Testcontainers` and `WireMock` to manage external asset lifecycles dynamically. Activating specific environment flags like `localstack` inside the configuration settings instructs the SDK to auto-provision localized mock instances of cloud services (including Amazon SQS queues, Amazon S3 buckets, and secrets vaults), eliminating the need to manage external persistent test infrastructure.
Manage Sourcing Profiles
FeatureThe Manage Sourcing Profiles feature allows businesses to create, update, activate, retrieve, and search centralized sourcing configurations. This capability establishes foundational baseline rules—including default networks, virtual catalogs, and maximum shipment split allocations—and enables teams to reference these profiles directly within automated order fulfillment workflows.- Create, update, activate, get, and search Sourcing Profiles
- Configure Default Network, Virtual Catalog, and Max Split values for Sourcing Strategies
- Reference Sourcing Profiles directly within Workflows
Raise a Support Request for Reference Modules
How-to Guide- Before raising a ticket, review the reference module setup and configuration guides, Use the Event API to validate the workflow process executed, including source Event, Rulesets, and Rules, and Check all Settings, Users, Roles, Auth Tokens, etc. before raising an issue.
- Support is provided for reference modules, which are Core, Order, Fulfilment, and Inventory.
- Raise a Support Request for Reference Modules with a Fluent Retail Support (FRS) ticket.