The guide illustrates the Shopware Order processing strategy on Alumio.
Orders placed on the website is captured in the Shopware environment, Alumio is responsible for performing periodic order dumps from Shopware to a destination endpoint.
The strategy adopted for processing Order is as follows,
- Invoke the in-built prototype "Subscriber for Shopware order" or "Shopware transaction order subscriber" to request an Order dump from Shopware to Alumio environment (Incoming connection).
- Perform necessary transformations to prepare the payload (Optional).
- Write the processed Orders to a destination storage (FTP, SFTP) or redirect the data to an external endpoint (outgoing connection).
Shopware API call details
The API call to fetch the orders from Shopware is,
Subscriber: Subscriber for Shopware order
The API call to fetch the orders-transactions from Shopware is,
Subscriber: Shopware transaction order subscriber
It is recommended to use the "Subscriber for Shopware order" over the "Shopware transaction order subscriber" unless explicitly requiring some fields from the order-transaction API call.
Note: The id returned in order-transactions API call does not point to the Order id, it is a separate id that points to the order transaction id. The corresponding Order id can be retrieved using the following HTTP call. data.*.id will correspond to the Order id.
Identity tracking with Mutation Date Concept
Functionality: It will restrict Alumio from fetching old Orders that were already processed by the Integration pipeline.
The transformer "Shopware Order Identity Tracker Save Transformer" provided by Alumio in the Shopware 6 connector package is used to implement this functionality.
The transformer requires 2 fields to be present within the JSON data it is processing.
Tip: If the restructuring code provided by Alumio on Shopware 6 Connector is used "Shopware Transaction Order Restructure Transformer" or "Shopware Order Restructure Transformer", the transformer also assigns these 2 fields orderDate.dateModified and identifier for tracking.
The subscriber used to construct the Incoming connection is the "Shopware order subscriber", the subscriber utilizes OAuth for authentication and thus the relevant information has to be fed to the subscriber as shown below.
Data Limit - is used to limit the number of records fetched per transaction or API call to the Orders endpoint.
Start Date -
To add additional fields that might be left out by the Restructure code, Create and invoke a transformer that copies these required fields to a tag "data.*.result" before the Shopware Order Resturcuture Transformer.
Transformer to create this array structure,
Order restructure transformer
Orders Route Configuration
The intermediate configuration that connects the Incoming configuration to the Outgoing configuration.
Country Dictionary Map
The country id received from Shopware is in its Hash code format and this transformer is used to convert it to the standard ISO format.
The country hash and the respective ISO code has to be supplied in the map provided as shown below.
The outgoing configuration uses the Filesystem XML publisher to convert the JSON records to XML and writes it to an FTP location specified in the Filesystem configuration.
KeyPath: The keypath will be directly translated as the FileNames of the created XML in the FTP storage.