TABLE OF CONTENTS
The standard integration between Shipstation and WOS is very simple.
Every 10 minutes, WOS calls into Shipstation's APIs to look for updated orders. Only 2 parameters are used in this call:
- Updated Min and Max dates
- Status is equal to "Awaiting Shipment"
Note: Created Date is not used because orders might enter in a different status than awaiting shipment and that would cause these orders to be missed.
We have seen some instances where Shipstation has issues with dates and when orders are actually available. We've also seen issues where it takes Shipstation time to run through all the rules and apply it to orders in the system. For this reason, we typically offset our date call by 5 minutes to account for this.
Shipstation Tags and Stores are looked up and pulled into WOS. Typically, all tags are put into CustomField1 and the store name is put into CustomField2. These can be changed upon request.
If Order Lines don't have a sku or if a quantity is 0, then the entire order is skipped and does not come down to WOS. Because WOS requires a sku and a quantity, and because we have seen that Shipstation doesn't allow these lines to be updated in their system, these orders need to be fulfilled manually and the inventory adjusted out of WOS. There is an alternative listed in the Integration Options below.
Order Management Details
WOS doesn't currently allow orders to be updated once they are created. Orders must be deleted and resubmitted. But orders get locked once they are batched and an integration can't delete these orders. This makes any attempt at an automated order update potentially inconsistent.
Most customers have decided that manually deleting orders to ensure they can control the process is a better approach than an automation that might not always be successful.
If an order is split in Shipstation, both the new and old/updated order will come through the integration. If the order number has been updated, WOS will let the new order number be created. The existing order number will be blocked because it's seen as a duplicate order. This would result in a situation where the split lines come into WOS, but the original full order still exists and could result in double shipment.
It is best to first delete the order out of WOS and then split the order in Shipstation.
Note: The WOS/Shipstation integration has an experimental flow where we attempt to delete the order and then create both split orders. It has been developed but is not yet active on any account. If you'd like to try this flow, please reach out to WOS Support.
WOS does not have a standard flow that reads and updates cancelled orders. Please read the Order Updates section above for an explanation as to why.
WOS has a flow for cancelled orders that can be added to your account up on request. It does the following:
- Every 5 minutes read into Shipstation for recently cancelled orders
- Check WOS to see if those orders still exist
- Attempt to delete the order (CustomField4 is updated to indicate the request came from Shipstation Cancelled orders. This is done so the History Log has some record as to why the order was deleted.)
- If the order can't be deleted, then the Notes field is updated to start with CANCELLED.
- Force Show Order Notes during the packing stage would need to be turned on to help catch these orders
- This would also mean that all order notes would pop up for the packer to see them
Automated Label Creation
Upon request, the WOS/Shipstation integration can automatically generate shipping labels and print them at packing.
Implementing this flow requires the use of WOS Print Agent
Timing of Labels
WOS starts the label generation after the order is picked complete. The shipping label is stored in WOS' Print Queue and then triggered to print when the order is packed.
Note: This marks the order as "Shipped" in Shipstation after the order is picked. Based on Shipstation's integration with your eCommerce platform, this could notify the customer of the tracking number before the order is packed.
Real-time Label Generation
Instead of generating shipping labels after picking, the integration can wait for packing. This would require the packer to wait for a live call to Shipstation to be made before a label could print out. Depending on how quickly Shipstation responds to the label request, this could double or triple the time it takes to print a label.
Shipstation's default label call is just telling Shipstation to provide a label against the given order number. If multiple boxes will be sent on the order, WOS can use the "Packing Box Closed" event to identify what is in the box and send a box weight to Shipstation to generate a box-specific label.
Note: Shipstation does not allow a "multi-box shipment" through the API in the same way it does through their interface. So this results in multiple single-box shipments against the order and can affect the cost of the shipment.
Based on an order tag, print out a packing slip titled as "Pickup". This will skip the label generation and give the packer a label to apply to the order details that are being picked up.
The integration to pull orders can be focused on a single Shipstation store. Multiple specific stores is not currently an option because Shipstation's API only allows for a single store ID to be used.
Shipstation only refreshes their integrations every 2 hours or as users request a refresh of their pages. This store refresh can be triggered through their API either on a more frequent schedule than every 2 hours or as part of the order download.
Instead of downloading all Shipstation tags to WOS, the integration can filter out and only include specific ones. This would require a request to WOS Support to update the list of allowed or filtered tags each time there is a change.