a month ago
We have a custom print business, with many store fronts and many print styles/lines. ShipStation is being used as our single hub for all of those store fronts, but (understandably) doesn't know anything about what print line each order should be sent to. I've written a server that grabs orders from shipStation, then separates orders into different print lines based on business logic.
Now, I would like to group those orders together, so the operator can print labels for all of the orders in their queue. This means that I have many arbitrary lists of orders and I need to tell shipStation how to bucket them appropriately.
My thought was to use tags and apply the "PrintList 1" tag to all of the orders on PrintList 1. Then the operator can just pull up all orders with that tag to print out the shipping labels. I see that I can use the /orders/addtag endpoint to do this.
The problem I'm facing is that when we have a 2000 order day (which is not uncommon), then I'll need to call /order/addtag 2000 times to process all of that. When I'm rate limited at 40 calls per minute then adding tags will take 50 minutes. Waiting an hour before processing any shipping labels isn't going to work for our process. And it sometimes feels like I'm rate limited tighter than 40 per minute.
It would be nice if I could call /order/addtag with a body of { 'orderIds': [1,2,3,4,5,6], 'tagId': 99}. Then I would only need to make 100 calls if I have 20 orders per list, and people can wait 2.5 minutes.
Do you have a way that I can bucket these orders together easily and quickly? We don't have to use tags if you have a better way.
3 weeks ago
Hello @BrettHuff!
Thank you for your suggestion. We’ve passed it along to our development team for review.
Happy Shipping!
-Cara
2 weeks ago
You could look at the createorders call. It allows you to update 100 orders in a single payload. Only problem is you have to pass the whole order details through the call.
https://www.shipstation.com/docs/api/orders/create-update-multiple-orders/
2 weeks ago
For completeness: we actually pivoted from the original direction. Our chosen solution is to use barcodes. I figured out the format for the barcodes that ShipStation uses (it's ^#^ followed by the order id in hex followed by another ^, if anyone wonders), so now I'm just printing barcodes on our printlists. Then an operator can start a batch, scan a bunch of barcodes, and print the batch. This approach also solved some other process problems at the same time. So two birds with one stone.