We are connected to our 3PL by API.
We are moving to a new 3PL and want to start transitioning some of our orders there.
We are not ready to move ALL of our orders to the new 3PL b/c we don't have enough inventory.
How can we start connecting to the new 3PL but keep the old API connection with the other 3PL until we're ready to disconnect?
Or is there a good way to transition 3PL when the order processing is done by API?
You need to provide more details. For example, you say you are currently connected to a 3PL via API. What does that even mean? An App you are subscribing to? An App you wrote and control?
If you want to transition to a different 3PL, simply alter your existing API integration (assuming you wrote it) to cherry pick which orders you want to send to the new 3PL. Another way of saying this, is if you install a new integration to your new 3PL, place filters on it that selectively decide which orders to process. This is because any and all integrations subscribing to orders via a webhook can inspect the orders and decide what to do with them.
While your questions are valid, they are clearly very much tied to your external software and without describing those, it is highly doubtful anyone can help you in these forums without much more than a cursory summary like mine.
The good news for you is that yes, it is clearly something that can be done, and in fact is really easy to do for an expert with your 3PL systems and a smattering of Shopify. Without that expertise, you are at the mercy of your own abilities.
That is fine. So for the time being, you leave it alone and let orders go to them. At the same time, since you are introducing a new 3PL, you are doing one of two things:
If you chose 1, you probably will suffer and not be able to do much other than have all your orders go to them too. They probably have the ability to run you in a sandbox and not do anything real, so at least you have that.
If you build your own integration, then you get to filter, and decide which orders to send to them.
Either way, that is your transition. If you think this is not a great situation, welcome to the world of working with 3PL and Enterprise companies, where they charge you an arm and a leg, offer you rock bottom functionality, and mostly they try and ensure your experience is sub-optimal, simply because they can. No one questions these companies and their weak at best software integrations, they more or less tell you to suck it up buttercup. Just my experience perhaps, but as a developer for 35 years, I have seen and heard enough crap from these companies to last a lifetime.
Well, you can control shipping costs with Shopify. Via Plus you can inspect the checkout, make up shipping price, and show it to customer. Without price, you get the checkout items and weight, you can make up a shipping price, and present that to the customer. Therefore at the end of the checkout, they are paying for whatever you deem appropriate level for pallet and or special packaging.
The hardest part of that is configuring the origin of any shipment, and the destination. Not always obvious. Clearly the simplest case is a fixed origin, and then you can determine the price based on the checkout contents. Calling out to trucking services, you can usually get a pretty good idea of costs, with things like lift gate, delivery to residential addresses etc.
Have fun. Not sure what solution you expect to find here. You need working code. I bet a couple of App developers will try and sell you their miracle cures. I hope one works for you.