How can I improve custom order routing for accurate fulfilment in my app?

How can I improve custom order routing for accurate fulfilment in my app?

TheodorFreundHT
Shopify Partner
12 1 0

Hello Everyone,

 

in short:

I have found and read https://community.shopify.com/c/blog/introducing-smart-order-routing/ba-p/2128121, but the functionality is not enough for me to achieve what I want to have happen.

 

In detail:

We have a custom fulfilment app running in google cloud. It grabs the order data via webhook and does all the order processing on its own, including deciding on fulfilment channels. This is done in part for business reasons.

The important part here is, that we use a system of rules and additional data that let us decide on a per-product-in-basket level which channel to use. 

The usual case is that we need to decide based on the preference-value of the "most important product" in the basket between two channels that operate on the same market and are both in stock for the products in the basket.

Last but not least, there is one product we only ship from the office, which is skipped by this fulfilment service.

 

We then proceed to fulfil the last open fulfilment order via API after our fulfilment has been done, but there remains a certain disconnect between the two. The channel chosen by shopify is not linked to the actually chosen one by the backend.

What I want to achieve is to have the fulfilment orders in shopify reflect the actual state of affairs, such that the split of products as well as the location and stock will be correctly tracked.

I scoured the documentation, but could only find the above mentioned Smart Routing feature. I could also see myself doing the order routing via custom code and API calls, but afaics even that is not a possibility.

Any Ideas? Am I missing something?

Thank you for your attention

Theo

P.s.: I know this is a repost, as I already asked the question, but I thought I might have put it in the wrong channel as I didn't get any answers for over a month.

Replies 0 (0)