inconsistent behaviour with new multi-location shipping rules and CarrierServiceAPI

Highlighted
New Member
3 0 0
Hm, we have merchants who transfers stock internally before shipping together, stores with different stocks in the same building, merchants who refuses to let the end customer pay double shipping just because they happened to be sold out for one of the items on the location that carries the other x products in the order, and so on and so forth - we should be able to define whether to consolidate shipping cost or not (and a price based rate is a price based rate, not a price-per-location-based rate?). Am I missing something here, or are we, with multi origin shipping enabled, completely unable to serve the merchant a price based shipping rate through our app, if the merchant has more than one location?
0 Likes
Highlighted
Shopify Partner
47 0 15

From what i can tell, via CCS, what you're after isn't possible, which is also the issue i have with a large number of merchants that use my app, enabling multi-origin shipping is a non-backwards compatible change.

 

If you setup the rates within Shopify though and put everything as a single profile then you get the rate calculated over the entire order - but only if you use the in-built Shopify rates, it would be good if in the mean time this can be made compatible and consistent with CCS as well.

0 Likes
Highlighted
New Member
3 0 0

Definitely - and that is what we have to do as well, but then we cannot give the option of different pick up points, etc., that the carriers offer.
And in some carriers' case, that is violating the TOS.

So this is a major issue for our merchants..

0 Likes
Highlighted
Shopify Expert
4111 25 375

It seems we all need patience. Shopify has admitted for a decade now that even though their commerce engine is advance, perhaps more so than any other, they lack the polish of the logistics domain. Heck, 5 years before Shopify was a dream I was tasked with building out an online (WWW) freight-forwarding logistics service to handle US transportation issues like LTL, lift-gate, modal, zone, express services +++, and yet, even today, there is nary a glimmer in the Shopify code that that kind of interface is coming to fruition any time soon. So you have one external industry with mature code, standards and operational understandings (Logistics), and another industry piggy-backed on top (commerce) that is only now attempting to plug-in, without causing too much trouble. And to boot, Shopify is now touting planet-wide 2-day delivery!

 

So yes, patience. We won't see CCS much longer as I imagine the in-house options will supersede that, instead we will likely be bridging external carriers to Shopify with a standard interface. Let the chips fall where they may,...

Custom Shopify Apps built just for you! hunkybill@gmail.com http://www.resistorsoftware.com
0 Likes
Highlighted
Tourist
6 0 3

Hi, 

 

I would like to say couple more words here. I just finished a simple integration process. 

 

It looks like multi-location shipping would be technically possible given that we have a hashing done on the carrier services requests. 

 

As per latest Shopify Carrier Services API, it gives 15 minutes of cache time. It also caches each time for any new change done in the request. Hence it would be possible that we can technically hash the destination part and create an index of origins given alongside. 

While returning consecutive responses for the same destination with different origins, it will be either possible to return a 0 price or price between origins & last destination sorted, which will then be combined by Shopify into a single price for the customer.  I am not sure how Shopify would merge each shipping lines, but technically it would be possible to put a check. 


I hope the same logic can be applied for each fulfillment connected to the choosen pricing to provide a unified price for the merchant from the shipping provider. 

 

I am going to try this logic with our app now. 

 

Best Regards,
Keethan. 

 

1 Like
Highlighted
Shopify Partner
47 0 15
you need to be careful here, we have thought about this too, however Shopify will sometimes not refresh the rates at all, if you try and return a 0 rate for some requests but others you may end up in a situation where you unexpectedly show the customer free shipping. All this works well from what we observe doing unit tests, but none of this behaviour is guaranteed or documented which means it cannot be relied on. we run millions of CCS requests through our app and from what we observe there will always be a small percentage of cases where this will fail, due to timing, caching and what not. With such large numbers, even a small percentage is enough to cause significant problems for merchants.
1 Like
Highlighted
Tourist
6 0 3

Yes. That is a highly probable case. There are lot of parameters for failure which we cannot calculate. 

 

I can confirm that Shopify doesn't allow if one of the requests fail while other succeeds. I have given alternator which makes the request fail for each alternate requests. 

 

You can see the functionality live here. 

https://shop.1courier.net/

 

There are few specific products. 

"Spiceland" - Main Warehouse

"Chequered Red Shirt" - Main warehouse
"Black Leather Bag" - Second warehouse

"Milliken"  -  Second Warehouse

which are from two different origin / warehouse locations. 

If you happen to have both of them, the requests will fail to give you a cart price. Where as if you have one of them, the request will be valid. 

 

@Parcel_Intellig Let me know of your thoughts on this.

 

Best Regards,
Keethan

 

 

0 Likes
Highlighted
Shopify Partner
47 0 15
I've found of one request has no rates, then Shopify automatically tries different locations, i think it assumes that those locations just have no stock, again none of this seems to be officially documented, but it also doesnt seem to try every combinations of locations and sometimes even retries the same location combinations too.

If your app runs on multiple servers, Shopify has also stated that they do not guarantee multiple shipment requests will arrive at the same server either, which further complicates matters.
1 Like
Highlighted
Shopify Partner
47 0 15
I guess the other thing is, you are processing each one of these requests in a stateless fashion, well you can keep some state on your end, but these requests may take a second or two to make it across to you, you have a total of 10s to return a rate which doesnt give you much room to move, how are you going to tell of the request you receive includes items for the entire order? you will need to look up the cart via the cart token or abandoned cart or some other method right? these look ups will take time too, we have found that these lookup are highly inaccurate due to caching on Shopify's end, which means being able to tell which request to send real rates back, and which ones to zero out is not going to be 100% accurate either.
0 Likes
Highlighted
Tourist
6 0 3

Yes. I understand the complexity now. 

Thanks for your clarifications.

 

I will see if I can find a realistic solution in the space. 

Best Regards,
Keethan

1 Like