Fulfillment order line item does not exist. - But it does and I am using line_item_id?

Solved
Mowtine
Tourist
7 2 0

I am trying to fulfil an order with the API. 

I get the fulfillment_orders for the order:

 

{
"fulfillment_orders": [
        {
"id": 5162433085613,
"shop_id": 59711815853,
"order_id": 4183684907181,
            ...
"supported_actions": [
"create_fulfillment",
"hold"
            ],
"destination": null,
"line_items": [
                {
"id": 10909262577837,
"shop_id": 59711815853,
"fulfillment_order_id": 5162433085613,
"quantity": 1,
"line_item_id": 10763713675437,
"inventory_item_id": 43141097849005,
"fulfillable_quantity": 1,
"variant_id": 41044827701421
                }
            ],
"fulfill_at": null,
            ...
        }
    ]
}

 

and I use the id for the fulfilment and line_item_id for id for line item:

 

{"fulfillment":{"message":"MSG","notify_customer":true,
"tracking_info": {"number": 1562678,"url": "https://www.my-shipping-company.com","company": "my-shipping-company"},
    "line_items_by_fulfillment_order":[
{"fulfillment_order_id":5162433085613,
"fulfillment_order_line_items":[
    {"id":10763713675437,
    "quantity":1}
]}]}}​

but when posting that I get: 

 

"Fulfillment order line item does not exist."
What am I doing wrong here?
 
Thanks. 
Accepted Solution (1)

Accepted Solutions
Mowtine
Tourist
7 2 0

This is an accepted solution.

Found the problem. The tutorial at: https://shopify.dev/apps/fulfillment/order-management-apps is INCORRECT.

You can't use: https://{shop}.myshopify.com/admin/api/2021-10/fulfillments.json

You must use: https://{shop}.myshopify.com/admin/api/2021-10/orders/<number>/fulfillments.json

to fulfil an order.

View solution in original post

Replies 2 (2)
Mowtine
Tourist
7 2 0

This is an accepted solution.

Found the problem. The tutorial at: https://shopify.dev/apps/fulfillment/order-management-apps is INCORRECT.

You can't use: https://{shop}.myshopify.com/admin/api/2021-10/fulfillments.json

You must use: https://{shop}.myshopify.com/admin/api/2021-10/orders/<number>/fulfillments.json

to fulfil an order.

View solution in original post

kolalok
Visitor
1 0 0

I believe I found another way to get rid of this error so I mention it here in case it helps someone else.

 

The documentation is not entirely clear in what exactly should be entered as the "line item ID".

We need to be aware that:

  • orders (those created by shop customers) have line items, identified by line_item_id in your listing
  • fulfillment orders have their own line items, identified by just id here (10909262577837 in your example), usually corresponding to the order's line items

Surprisingly, the latter is correct when creating a fulfillment using the /fulfillments.json endpoint.

So maybe the tutorial is correct after all, it's only confusing.