The extension provides a simple API for exporting new orders to a 3rd-party service. You can use it as a base for your specialised module. By default it exports an order after invoice creation. By default it used RabbitMQ to send the orders asynchronously for smoother experience. This feature can be disabled via backend panel.
To install the extension using Composer use the following commands:
composer require mslwk/module-generic-order-export
php bin/magento module:enable MSlwk_GenericOrderExport
php bin/magento setup:upgrade
You can download the extension directly from GitHub and
put it inside app/code/MSlwk/GenericOrderExport
directory. Then run the
following commands:
php bin/magento module:enable MSlwk_GenericOrderExport
php bin/magento setup:upgrade
To use this module you are required to do several things. You are strongly advised to create your own module extending contents of this one.
-
Create your own implementation of the
MSlwk\GenericOrderExport\Api\OrderExportServiceInterface
responsible for the actual export process and add a preference to youretc/di.xml
like this:<preference for="MSlwk\GenericOrderExport\Api\OrderExportServiceInterface" type="You\YourModel\Model\YourOrderExportService" />
-
If you don't want to use RabbitMQ to queue the export process go to
Stores -> Configuration -> Sales -> Sales -> Order Export -> Enable async export
-
If you want to export your orders under different conditions disable the default observer responsible for exporting the orders (
mslwk_order_export_sales_order_invoice_register
) via youretc/events.xml
. After that you have to create your own plugin/observer/whatever to export the orders. Go toMSlwk\GenericOrderExport\Observer\ExportOrderAfterInvoiceRegistered
for reference. -
If you need a fallback mechanism in case of export failure you have to implement it yourself to reflect your needs.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Maciej Sławik - https://github.com/maciejslawik
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details