Send Fulfillment Request 422

guifusion
Shopify Partner
2 0 2

Hello everyone,

When I create an order from the "create an order" endpoint. The order gets created successfully.
Then I get the fulfilment id for that order and call the "Send a fulfilment request" endpoint. The error I get there is confusing me since I am new to Shopify endpoints. I am attaching the body for the request for both endpoints. It will be great if someone can help me understand why I get this error.

Create an Order

https://gf-store-for-test.myshopify.com/admin/api/2022-04/fulfillments.json
{
    "order": {
      "currency": "PKR",
      "line_items": [
        {
          "quantity": 23,
          "title": "Some Title",
          "grams": "100",
          "fulfillment_service": "My New Fulfillment Service",
          "price": 50
        }
      ]
    }
  }


Send a Fulfillment Request

https://gf-store-for-test.myshopify.com/admin/api/2022-04/orders/{{fullfilmentorderid}}/fulfillment_...

 

{
    "fulfillment_request": {
        "message": "some message"
    }
}

 

 

The error I get is "The fulfillment order's assigned fulfillment service must be of api type". Not sure what it means by this.
Help is appreciated. 😃

 

Replies 3 (3)
RobZone
Shopify Staff
Shopify Staff
69 10 22

That means your fulfillment is assigned to a shop location, likely the default location.  Your order needs to contain line items stocked at a fulfillment service location in order to request a fulfillment from a fulfillment service.

 

If that does not make sense because you are not using a fulfillment service, then you do not need to request fulfillment.  You just want to create a fulfillment for the fulfillment order.

To learn more visit the Shopify Help Center or the Community Blog.

guifusion
Shopify Partner
2 0 2

Thank you for the response brother,
When I create the line item I add a line item present at a fulfilment service. But even then I get the issue. I am going to attach the body to that request here as well.

{
    "order": {
         "email": "norman@mail.com",
        "line_items": [
            {
                "fulfillment_service": "zach",
                "fulfillment_status": "partial",
                "fulfillable_quantity": 1,
                "product_id": 8168788197690,
                "variant_id": 44610974613818,
                "quantity": 1
                
            }
        ],
        "currency": "USD"
    }
}

 

RobZone
Shopify Staff
Shopify Staff
69 10 22

You cannot set the fulfillment service or status via the API this way.  The API just ignored the parameters.

The Zach location is a Custom Fulfillment Service, it is not an app location.  That is why you got the error message.  Does your shop require fulfillment via a custom fulfillment service email?

To learn more visit the Shopify Help Center or the Community Blog.