Questions about fulfillment deprecation warnings

Hi. We are a 3PL that has many Shopify customers for whom we have created private apps. We use the REST API exclusively and do our best to stay on top of changes and API versioning. We recently received a deprecation warning when making requests to the Fulfillment endpoint EG "https://[api-key]:[api-pass]@acme-supplies.myshopify.com/admin/api/2021-10/orders/123456789/fulfillments.json". I discovered the deprecated API calls endpoint and made a successful request to it with the same credentials but it came back with no data (warning came in just over a week ago so within the 30 day limit). The content of the original warning was this link: https://help.shopify.com/api/guides/managing-fulfillments-with-fulfillmentorders. I’ve done some looking into the Fulfillment Service API and, though I get the general idea of how it’s supposed to work, some things are not clear at all. Most importantly, I could not find a sunset date for the way we are currently handling fulfillments for Shopify customers. The docs talk a lot about callback URLs. Handling those would represent a big departure from our current workflow. Is it possible to migrate to the FulfillmentService API in a private REST app without using callbacks? Does using the FulfillmentService API also presume the use of the CarrierService API? Thanks to anyone who can offer us help with these questions. -Stu

I have had the same issue with fulfilling orders from our private app. Having a sunset date would help but I seem to remember having this same header coming through a couple years ago, then all of a sudden, they stopped.

One other note: I keep getting these warnings but in every instance, the orders/line items are successfully fulfilled using a REST POST call using the current Fulfillment object structure:

{
  "fulfillment": {
   "location_id": locationId,
    "tracking_urls": [trackingUrlArray],
    "line_items": [
      {
        "id": lineItemId
      }
     ],
    "notify_customer": Boolean
  }
}

I have to say, even though I’m still seeing these warnings coming in when calling fulfillment for 3 different private apps, when I call the “deprecated_api_calls.json” endpoint on them, none of them come back with any details. Perhaps it will be as you say and one of these days the warnings will suddenly stop appearing. I will keep my eye on it in the meantime and if anything changes post it here. Thanks for you help/input!

It’s definitely annoying and unclear what needs to be done. I changed the fulfillment object to send back a FulfillmentOrder object but an still getting the warnings. API version used is 2022-04. JSON is structured like this, in case anyone has any insight:

{
    "fulfillment": {
        "message": "The package was shipped this morning.",
        "notify_customer": false,
        "tracking_info": {
            "number": 1562678,
            "url": "https://www.my-shipping-company.com",
            "company": "my-shipping-company"
        },
        "line_items_by_fulfillment_order": [
            {
                "fulfillment_order_id": 1046000819,
                "fulfillment_order_line_items": [
                    {
                        "id": 1058737574,
                        "quantity": 1
                    }
                ]
            }
        ]
    }
}