Order provider
Import and export orders and order lines
The Order provider is a derivative of the DynamicWeb provider designed to work specifically with Orders and Order lines.
Used as a source
When using the Order provider as source the following settings are available.
With the source settings you can:
- Limit the export to orders which have not yet been exported (column OrderIsExported from table EcomOrders)
- Limit the export to orders without an externalID (column in EcomOrders) from e.g. an ERP system
- Limit the export to completed order (and not abandoned carts, which are technically also orders)
- Bulk-set the orders exported to an order state
Used as a destination
When used as a destination provider the following settings are available to you.
In the destination settings you can:
- Remove order lines not present in the import data
- Check Discard duplicate key rows
- Check to remove missing rows after import in the destination
- Check Persist successful rows and skip failing rows to allow the activity to do partial imports by skipping problematic records and keeping the successful ones.
Which tables and columns
The Order Provider uses only two tables; EcomOrders and EcomOrderLines.
For EcomOrders:
- OrderID must be included, and should contain the ID of the order. If the OrderID already exists in DynamicWeb, the order will be updated (rather than created).
- OrderStateID functions as a Foreign Key field to EcomOrderStates. If left blank, the order does not have a state.
For EcomOrderLines:
- OrderLineID must be included, and should contain the ID of the order line. If the OrderLineID already exists in DynamicWeb, the order line will be updated (rather than created).
- OrderLineOrderID must be included, and should contain the ID of the order you are creating relations from.
- OrderLineParentID is optional, and can be used to create a relation between order lines by supplying a pared OrderLineID.
Automatic table sorting
When a job using the Order provider as either source or destination is run, the table imports are automatically executed in the following order:
- EcomOrders
- EcomOrderLines
- EcomOrderLineFields
- EcomOrderLineFieldGroupRelation
Any manually defined order different to this sequence will be overwritten to maintain proper data relations.
EcomOrder column inheritance
When using the Order provider to either import or export EcomOrderLine data all related EcomOrders columns are automatically exposed as available column mappings for the EcomOrderLines table.
This, for example, enables setting up conditionals on the OrderLines table that filters on the basis of data from the related EcomOrders record. It might for instance be the case, that you wish to export only OrderLines where the OrderShippingFeeWithVAT meets some condition, which is a column that otherwise only exists in the EcomOrders table.