Solved

Can you create a fulfillment service app for digital products ?

SteamyEngine
Shopify Partner
2 1 1

So Im trying to create a custom app that will handle fulfillment of digital products for the merchants. And playing around GraphQL with the latest "fulfillmentServiceCreate" to setup a fulfillment service I was not able to set that fulfillment service to a digital product inventory location.

Giving me error "Fulfillment service cannot be 'example-app' if the variant does not require shipping" on product details.

I tried other third party apps that have no issue setting them for digital product inventory location (possibly using older API version).

Also tried changing the options but non of them work.

{....
name: "example-app",
callbackUrl: "https://example.com/fulfillment", fulfillmentOrdersOptIn: true, inventoryManagement: false, trackingSupport: false, permitsSkuSharing: false, }

 

Looking into the latest docs it says that "fulfillment service are for fulfillment of physical products", so I'm lost on how to create a  fulfillment service for digital products.

 

Update: Setting "permitsSkuSharing" to "true" will show multiple locations as selectable on product. Though I don't think this is the proper way. 

Accepted Solution (1)

SteamyEngine
Shopify Partner
2 1 1

This is an accepted solution.

Solving my own issue.
So it turns out that the Admin GraphQL and the Admin REST API have different parameters. The GraphQL doesn't have "requires_shipping_method" parameter that will allow you to set location on a digital product. 
Im not sure why there is a difference between them so now I need to use both API's .....

View solution in original post

Reply 1 (1)

SteamyEngine
Shopify Partner
2 1 1

This is an accepted solution.

Solving my own issue.
So it turns out that the Admin GraphQL and the Admin REST API have different parameters. The GraphQL doesn't have "requires_shipping_method" parameter that will allow you to set location on a digital product. 
Im not sure why there is a difference between them so now I need to use both API's .....