This is an extension for Magento2 which facilitates efficient inventory, order and tracking info synchronization between Magento2/Magento and the ShipStream Magento2/Magento Plugin. This extension will have no effect until the corresponding plugin subscription has been configured in ShipStream.
shipStreamSyncShipStreamInfoV1Infos:shipStreamSyncShipStreamInfoV1
shipStreamSyncShipStreamManagementV1SetConfig:shipStreamSyncShipStreamManagementV1
shipStreamSyncShipStreamManagementV1SyncInventory:shipStreamSyncShipStreamManagementV1
shipStreamSyncShipStreamStockAdjustV1StockAdjust:shipStreamSyncShipStreamStockAdjustV1
shipStreamSyncShipOrderInfoV1Info:shipStreamSyncShipOrderInfoV1
shipStreamSyncShipStreamOrderShipmentV1CreateWithTracking:shipStreamSyncShipStreamOrderShipmentV1
sales_order_save_commit_after
to trigger an order sync when an order is savedcore_flag
tableYes, but there are several shortcomings that this extension addresses:
shipment.info
method returns SKUs that do not reflect the simple
product SKU which is used by ShipStream. This extension returns SKUs that are appropriate
for the WMS to use.shipStreamSyncShipStreamOrderShipmentV1CreateWithTracking:shipStreamSyncShipStreamOrderShipmentV1
method which also allows for easy customization (e.g. receiving and storing serial numbers or lot data).The API endpoints are implemented using Magento's provided SOAP/XML-RPC API so these endpoints do not create any additional security vulnerability exposure.
Without a state between "Processing" and "Complete" it is otherwise difficult to tell if an order is ready to be submitted to the warehouse, if it has been successfully submitted to the warehouse, or if the order has been processed at the warehouse.
The "Ready to Ship" status can be set manually or programmatically (using some custom code with your own business logic) to indicate when an order is ready to be shipped. If you don't want to use this status simply ignore it and configure ShipStream to pull orders in "Processing" status instead.
The "Failed to Submit" status indicates that there was an error when trying to create the order at the warehouse.
The "Submitted" status indicates that it was successfully submitted to the warehouse, but that it has not yet been fully shipped. Once it is fully shipped the order status will automatically advance to "Complete".
Note: Feel free to change the status labels of these new statuses but do not change the status codes to avoid breaking the integration.
If the ShipStream plugin is configured to sync orders that are in "Ready to Ship" status the order status progression will work as depicted below. Note that this requires a user or some custom code to advance the order status from "Processing" to "Ready to Ship" before the sync will occur.
If the ShipStream plugin is configured to sync orders that are in "Processing" status the order status progression will work as depicted below. This configuration will result in automatic order sync without any user interaction once payment is received.
It is also possible to configure the ShipStream plugin to use any other status in the event that you would like to create a custom workflow.
Use composer to install this extension:
composer require shipstream/magento2-shipstream-sync
bin/magento module:enable ShipStream_Sync
bin/magento setup:upgrade
Once this extension is installed and the Magento cache has been refreshed you have only three steps:
More details for each step are provided below.
Adjust configuration in System > Configuration > Services > ShipStream Sync > General section to your needs.
This extension does not require any setup other than to create an API Role and API User for the ShipStream plugin.
Create a User in Magento 2 Go to System > Permissions > All Users to manage admin users. Add a New Shipstream User:
Assign User Role: System > Permissions > User Roles. Copy Shipstream Role user admin/pass to local.xml
Role Resource: Stores->Settings->Configuration->ShipStream Sync
To get AuthToken:
Copy the tokens for the integration and paste them into the ShipStream plugin configuration
Get the Access token and copy the same to Shipstream plugin local.xml
The following Role Resources are required for best operation with the ShipStream plugin:
The ShipStream plugin will need the following information:
/soap/default/
We should assign the new source and stock created by module as base at the backend.
Feel free to modify this source code to fit your specific needs.
For help just email us at help@shipstream.io!