There seems to be some inconsistencies with the way Shopify treats manually created rates and CCS rates when the store has multi-origin shipping activated.
Say i had
product A - list price $8 - only available at location A
product B - list price $8 - only available at location B
and setup a single delivery profile which contains all products and all locations, in this profile i setup 3 rates
1. standard shipping, for orders $0-$10 - $10
2. free shipping, for orders > $10 - $0
3. App implemented using carrier service API
If i place 1x product A and 1x product B in the cart, Shopify will send two requests to the App, one for each product as they are in different locations. However, the two rates setup in Shopify will be calculated off the entire cart total and show free shipping.
Few issues here:
1. any apps using CCS won't ever see the entire cart contents now in this situation and unable to apply a generic rule such as free shipping > $10 (for the entire cart), and any merchants who have been using an app to achieve customised rules (for example free shipping > $10 but for a given postcode range only) can no longer achieve this. Furthermore as some merchants have unwittingly upgraded their stores to use this, they cannot go back and hence they lose the ability to control their rates.
2. the behaviour is inconsistent and causes confusion.
Anyone have any suggestions as to how we can get the original functionality back?
There's a similar thread here: https://community.shopify.com/c/Shopify-APIs-SDKs/What-triggers-a-call-to-Custom-Carrier-Service/td-...
A new API is in the works to better handle this. No ETA yet.
I'll leave this thread open in case others have suggestions/work arounds.
The parameter shows when multi-locations is enabled rather than multi-origin.
I'll PM you some details of a store with the parameter set to true but multi-origin not enabled.
looking at the graphql spec, perhaps the legacyMode is what i'm after? are you able to confirm what exactly this represents?
Since you went to the effort of introducing CCS I am curious as to when you expect it to kick in? With your explanation as is, the customer has a $16 checkout and there free shipping. If you moved that into the CCS, then you have the issue that one request for $8 would return $10 and another for $8 would also return $10. But interestingly, since you are in fact shipping 2 cheaper items from 2 different places, collecting fees for shipping would make sense so you don't lose money. Can you glue the two requests together to form one response. Nope. So what can you do here.
I guess it boils down to not losing money on shipping, and not losing customers too. Shopify said they are doing this to usher in the era of multi-origin and multi-location orders, so clearly our payloads in CCS need more info too. Do you even see anything? In all my CCS Apps the payload looks same as it has for 8 years now... nothing new. Fun fun fun.