A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Greetings,
Background:
I am trying to migrate to the new FulfillmentOrder API. I understand the differences between the new API and the old fulfillment API. I have played around with creating fulfillment services and going through the migration steps.
The client for my App has a 3rd party fulfillment service which she uses to fulfill dropship orders. This is automated by use of the email that is automatically sent to the dropshipper when an order (one including products that have inventory managed by this fulfillment service) is fulfilled - currently either by using the createFulfillment API endpoint or through the Admin GUI.
Problem:
My problem is that there appears to be no way to update fulfillment services to the new API when they were created through the Admin GUI (under Settings > Shipping and Delivery), which takes an email address and automatically dispatch emails to a dropshipper.
What I have tried:
When I run through the migration steps to upgrade a new test fulfillment service that I created via an API call, everything goes smoothly and the fulfillment service is mutated to this:
` {
"id": "gid://shopify/FulfillmentService/58456244407?id=true",
"handle": "tester",
"fulfillmentOrdersOptIn": true,
"callbackUrl": "https://www.myapp.com/callback_url",
"serviceName": "tester",
"inventoryManagement": false,
"type": "THIRD_PARTY",
"productBased": true
},`
When I try the exact same mutation on a new test fulfillment service created via the Admin GUI, I recieve this error:
{
"data": {
"fulfillmentServiceUpdate": {
"fulfillmentService": null,
"userErrors": [
{
"field": [
"id"
],
"message": "Fulfillment service could not be found."
}
]
}
},
This happens despite the fact that the fulfillment service appears in the results of a query of all fulfillment services: Here is the result I get when I do this:
{
"id": "gid://shopify/FulfillmentService/58456309943?id=true",
"handle": "tester1",
"fulfillmentOrdersOptIn": false,
"callbackUrl": null,
"serviceName": "tester1",
"inventoryManagement": false,
"type": "THIRD_PARTY",
"productBased": true
}
If I am unable to upgrade a fulfillment service that uses this automatic emailing system (which doesn't appear to be now part of the API), will it cause breaking changes? If so, how do I upgrade this fulfillment service which will still need the automated emails to the dropshipper to be dispatched as the client has been relying on for some years.
Thanks for your help.