Hello,
I would like to know what API to use in order to fulfill a digital product from a multi-piece order, or if anyone can share documentations that are up to date.
For some background:
Our WMS (Infoplus) is integrated with one of our clients Shopify store to streamline all his orders and fulfill them, this client includes digital products in all his orders, and we have a script that filters out those digital products before they are created in our WMS. Once an order is fulfilled the update doesn’t make it back to Shopify because of the digital products, once I manually fulfilled the digital product and I push the update from our WMS, it updates the Shopify store, fulfilling all the other products and sending tracking info.
I need to know what API to use to fulfill those digital products once Shopify sends the payload to our WMS, or if anyone can share documentations to accomplish this ask.
Thanks,
Hey @hubtrotter !
This is a great question. Ideally, your client would only send the fulfillment requests for the non-digital products but understanding that’s not always possible.
In this case, the easiest option would be when you’re running your script to filter out the digital products, create a partial fulfillment for those items to mark them as fulfilled
Then when your WMS system is completes the remaining physical items, it will be a complete order.
Alternatively, if you don’t fulfill the digital products, you can fulfill the physical products that you manage and then use the fulfillmentOrderClose endpoint to close the order. That will put the digital product back in to an unfulfilled status in your clients admin.
Hope that helps give clarity on some of the options available.
This is a late answer but I found it
mutation {
productVariantUpdate(
input: {
id: “{id_input}”,
inventoryPolicy: CONTINUE,
requiresShipping: false
}
) {
userErrors {
field
message
}
}
} come 2024-07 API you need to use inventoryItemUpdate and you can get the inventoryId from the productVariant in the productQuery!