Fluent Commerce Logo
Docs

Adobe Commerce - Store Locator

Feature

Changed on:

17 Oct 2023

Overview

The Store Locator Module is responsible for synchronizing locations from Fluent to Adobe Commerce.Key features:
  • 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.

How it Works

Technical Details

No alt providedSynchronization flow contains 4 steps:
  • Adobe Commerce Update Location Service requests Fluent for location data for a specific date-time range.
  • Fluent returns appropriate location information.
  • Adobe Commerce publishes received data to the Adobe Commerce message queue.
  • Location message consumer fetches published messages and saves appropriate locations.
This flow is common for all Location synchronization types.

Synchronization types

There are three synchronization types implemented:
  • Full
  • Manual
  • Delta
Full Synchronization
Allows synchronizing all locations, supposed to be used after module installation to import all location information from Fluent to Adobe Commerce. To fetch the location, it uses the location updated date range from 1970-01-01 to NOW + 5 mins.Can be run from Magento CLI with the command below:`1bin/magento fluent:store_locator:sync`
Manual Synchronization
Allows fetching from Fluent location changes from a specific date. Can be run only from the admin interface. It uses the date range from SPECIFIED to NOW + 5mins 
Delta Synchronization
A background process to keep Adobe Commerce locations up to date, being executed by Adobe Commerce cron job. The frequency of the cron job execution can be configured in module configuration in Adobe Commerce admin. By default, it runs every day at midnight in the configured admin timezone. It uses a date range from LAST_EXECUTION_TIME to NOW + 5 mins.

Simplified module architecture

No alt provided

Events

NameDescriptionParameters
fluent_before_save_store_locatorAllows customization of store locator model before savestore locator model, store locator response data
fluent_get_store_locator_query_build_afterAllows customization of the payload of get location requestrequest_data of type StoreLocatorGetDataInterface, query of type string
fluent_store_locator_prepare_variableAllows customization of variables used for request buildingvariables of type array, request_data of type StoreLocatorGetDataInterface
fluent_store_locator_prepare_request_fieldsAllows customization of fields used for request buildingrequest_fields of type DataObject
fluent_store_locator_email_prepare_request_variableAllows customization of filter fields used in email request buildingfield_list of type DataObject
fluent_store_locator_email_prepare_variableAllows customization of variables used in email request buildingvariables of type DataObject, request_data of type StoreLocatorGetEmailDataInterface
fluent_store_locator_email_prepare_request_fieldsAllows customization of fields to be requested in email request buildingrequest_fields of type DataObject