I'm working with a local shipper to build an app so that stores in our community (who are already in shopify) can ship with that shipper. I've had some luck getting orders and marking them as fulfilled while at the same time connecting into our API to actually order the shipping.
The problem is I'm not sure exactly what shopify expects the flow to be. Our vision for the flow is:
- a customer orders a product from the store and it sits waiting until the store employees have time to fulfill it and order shipping
- at some point the store has time and puts the ordered product in a box and opens our app. Our app queries and shows all unfufilled orders (I'm currently querying for displayFulfillmentStatus UNFULFILLED), and shows the distance from the store (fulfillment center)
- if the store owner wants to user our shipping service. They mark the order as fulfilled and place an order in our app (using mutation fulfillmentCreate and the shipper's public API)
That seems to fit our purpose, but I feel like I'm missing a step where I mark shipping and probably other things. It feels like a bit of a hack, and I'm not sure this will play well with other services in your ecosystem if I don't get it right.
So what am I missing/doing wrong and what should I be doing instead. I haven't had much luck finding a good white paper/tutorial on how I should be handling fulfillment and shipping. I'm more than happy to follow any examples given to me.
Thanks for any advice, really loving your product as I work on my first store app. I just wish I had more luck finding articles/whitepapers/discussions on these sort of expected flows. You've built a powerful but complex ecosystem.
Your process sounds like it's on track to me. Something you can do as your orders progress through their delivery lifecycle is create fulfillment events so that customers can see those updates on their order status page. I think you need to use the REST API to update fulfillments and create fulfillment events (source for the REST API requirement for updating fulfillments). AFAIK you can't send delivery notifications via the native Shopify shipping updates with the fulfilment events, through, which is a shame.
I wouldn't feel bad that things aren't clear, especially since you're using the GraphQL API for at least part of your integration. Much of the documentation is without context and it's frustrating to go through IMO.