attlaz / magento2-module-attlaz-order
Attlaz Magento2 Order Module
Package info
github.com/Attlaz-Platform/magento2-module-attlaz-order
Type:magento2-module
pkg:composer/attlaz/magento2-module-attlaz-order
Requires
- php: >=8.2
- attlaz/magento2-module-attlaz-base: ^3.2
- magento/framework: >=103.0.6
- magento/module-backend: >=102
- magento/module-sales: >=103
- magento/module-ui: >=101
Requires (Dev)
- friendsofphp/php-cs-fixer: ^v3.17.0
- phpstan/phpstan: ^1.10.16
- phpunit/phpunit: ^9.5
- thecodingmachine/phpstan-safe-rule: ^v1.2.0
README
Attlaz is a cloud-based integration, automation and data management platform.
Getting started
composer require attlaz/magento2-module-attlaz-order
Requirements
- PHP >= 8.2
- Magento Open Source / Adobe Commerce 2.4.6+
attlaz/magento2-module-attlaz-base3.2+
How order synchronization works
The module hands Magento orders to an Attlaz flow. Four fields are stored on each order (and mirrored to the sales order grid):
attlaz_external_id— set once the order has been handed to Attlaz; its presence marks the order as syncedattlaz_sync_id— the Attlaz flow-run id used to poll statusattlaz_sync_status— one ofrequested,running,complete,failed,invalid,unknownattlaz_sync_time— timestamp of the last sync attempt
Two cron jobs run every 5 minutes (default group), each handling up to 20 orders per run:
attlaz_order_sync_unsynced— finds orders without anattlaz_external_idand requests an Attlaz flow run for eachattlaz_order_sync_status— polls the flow-run status of in-progress orders and updatesattlaz_sync_status
Synchronization only runs when Enable order sync is turned on (see Configuration below) and, for flow-based sync, a sync order flow is configured (Stores → Configuration → Attlaz).
You can also trigger a sync manually from the admin order view (the Sync button) or via CLI:
bin/magento attlaz:sync:orders bin/magento attlaz:sync:order-statuses
Configuration
Stores → Configuration → Attlaz → Order sync:
- Enable order sync — master on/off switch for the automatic (cron) sync. Disabled by default (since 3.1.0), so on upgrade the sync stays off until you turn it on. The manual per-order Sync button still works regardless.
- Synchronize order key — the Attlaz flow that receives the orders. (Not required if the sync is driven by a
custom plugin on
SyncOrderCommand::sync()instead of a flow.) - Sync orders from date — only orders created on or after this date are synced; leave empty to sync all. Useful on first rollout to avoid re-sending your whole order history.
- Order states to sync — restrict the sweep to selected order states (e.g. Processing, Complete); leave empty to sync all states.
Retry behaviour
A failed sync request marks the order failed and leaves it without an attlaz_external_id, so the
attlaz_order_sync_unsynced cron picks it up again and retries it on the next run.
Note: there is currently no retry limit or backoff. An order that fails permanently (e.g. because of invalid data) will keep being retried indefinitely — one API request and one log line per cron run. This is intentional so that transient failures self-heal, but keep it in mind when investigating repeated failures. A future version may add a capped / backing-off retry.
Getting Help
Check the Attlaz Documentation.
Please ask usage and debugging questions on StackOverflow (use the "attlaz" tag). (Please do not ask support questions here on Bitbucket.)
docker run -it -v ${PWD}:/app -w /app --rm attlaz/php:8.2 composer update --ignore-platform-req=ext-xsl
zip -r attlaz_order-2.2.5.zip vendor/attlaz/magento2-module-attlaz-order/