Store Locator - Adobe Commerce Connector
Essential knowledge
Intended Audience:
Technical User
Author:
Fluent Commerce
Changed on:
17 June 2026
Overview
The store locator is responsible for synchronizing locations from Fluent to Adobe Commerce.- Manually synchronize all locations at any time.
- Manually synchronize locations by updated date at any time.
- Background synchronization of recently modified locations.
- Multi-retailer / multi-website configuration support.
Key points
- Core Functionality: You will learn how the framework synchronizes location data from Fluent to Adobe Commerce using a 4-step, asynchronous message queue workflow.
- Three Sync Methods: Data is maintained via Full sync (CLI command used after installation), Manual sync (Admin UI for custom date ranges), and Delta sync (automated background cron job running daily by default).
- Crucial Consideration: Because updates rely on the Adobe Commerce message queue and background cron jobs, ensuring proper cron execution and consumer configuration is vital for keeping locations up to date.
- Developer Customization: If you need to alter the default behavior, the framework provides eight distinct events to customize query payloads, request variables, and data models before they are saved.
Data Pipeline Execution
1. Ingestion - Webhook
Unlike standard push-based webhooks, the Store Locator initiates ingestion by executing an outbound request to pull data from Fluent Commerce. This ingestion is triggered through three primary methods:- Full Synchronization (CLI): Used after installation to import all location information from Fluent to Adobe Commerce. It utilizes a location updated date range spanning from
`1970-01-01`to`NOW + 5 mins`. It can be run manually via the Magento CLI: Bash`bin/magento fluent:store_locator:sync` - Manual Synchronization (Admin UI): Allows fetching location changes from a specific date. This method is executed from the Adobe Commerce admin interface and utilizes a date range from
`SPECIFIED_DATE`to`NOW + 5 mins`. - Delta Synchronization (Automated Cron): An automated background process to keep Adobe Commerce locations up to date. It is executed by an Adobe Commerce cron job whose frequency is configured in the admin panel (running every day at midnight by default). It uses a date range from
`LAST_EXECUTION_TIME`to`NOW + 5 mins`.
- The Adobe Commerce Update Location Service requests location data from Fluent Commerce for the specific date-time range.
- Fluent Commerce returns the appropriate location information to the service.

2. Validation Chain - di.xml
The validation check for the Store Locator is handled natively within the integration service layer. The platform enforces data integrity parameters by applying a strict, bounded time filter to the request payload (`START_DATE` to `NOW + 5 mins`). This programmatic constraint guarantees that only location updates modified within that valid execution window are accepted for staging.3. Queue Processing (fluentcommerce.store_locator.sync)
Once the location data is received and validated by the update service, it moves into an asynchronous queue to finalize processing:- Adobe Commerce publishes the received dataset directly into the internal Adobe Commerce message queue.
- The location message consumer fetches the published messages from the queue.
- The consumer parses the payload and saves the appropriate locations to the Adobe Commerce database models.
Developer Extension Points
The framework provides eight distinct events that allow developers to customize query payloads, request variables, and location data models before they are committed to the database:`fluent_before_save_store_locator`: Allows customization of the store locator model before save. Parameters:`store locator model`,`store locator response data`.`fluent_get_store_locator_query_build_after`: Allows customization of the payload of the get location request. Parameters:`request_data`(of type`StoreLocatorGetDataInterface`),`query`(of type`string`).`fluent_store_locator_prepare_variable`: Allows customization of variables used for request building. Parameters:`variables`(of type`array`),`request_data`(of type`StoreLocatorGetDataInterface`).`fluent_store_locator_prepare_request_fields`: Allows customization of fields used for request building. Parameters:`request_fields`(of type`DataObject`).`fluent_store_locator_email_prepare_request_variable`: Allows customization of filter fields used in email request building. Parameters:`field_list`(of type`DataObject`).`fluent_store_locator_email_prepare_variable`: Allows customization of variables used in email request building. Parameters:`variables`(of type`DataObject`),`request_data`(of type`StoreLocatorGetEmailDataInterface`).`fluent_store_locator_email_prepare_request_fields`: Allows customization of fields to be requested in email request building. Parameters:`request_fields`(of type`DataObject`).
