Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Fulfill Digital Product from an order

Fulfill Digital Product from an order

hubtrotter
New Member
6 0 0

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,

 

Replies 2 (2)

ShopifyDevSup
Shopify Staff
1453 239 532

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 

- https://shopify.dev/docs/api/admin-graphql/2023-07/mutations/fulfillmentCreateV2#examples-Partially_... 

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. 

- https://shopify.dev/docs/api/admin-graphql/2023-07/mutations/fulfillmentOrderClose 

Hope that helps give clarity on some of the options available. 

- Kyle G. 

Developer Support @ Shopify
- Was this reply helpful? Click Like to let us know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

windmillcode
Shopify Partner
18 0 3

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!