Covers all questions related to inventory management, order fulfillment, and shipping.
I'm sending a POST request to https://retail-it-test.myshopify.com/admin/api/2021-01/orders/3795053084838/fulfillments.json with payload:
{"fulfillment": {"location_id": 56908873894, "shipment_status": "ready_for_pickup"}}
The result I'm receiving is:
{"fulfillment":{"id":3354343145638,"order_id":3795053084838,"status":"success","created_at":"2021-04-27T16:15:56+01:00","service":"manual","updated_at":"2021-04-27T16:15:56+01:00","tracking_company":null,"shipment_status":null,"location_id":56908873894,"line_items":[{"id":9870673543334,"variant_id":39251348783270,"title":"Ajax Full Zip Sweatshirt","quantity":1,"sku":"50003471S","variant_title":"Size S Color Green","vendor":"LUMA","fulfillment_service":"manual","product_id":6536321138854,"requires_shipping":true,"taxable":true,"gift_card":false,"name":"Ajax Full Zip Sweatshirt - Size S Color Green","variant_inventory_management":"shopify","properties":[],"product_exists":true,"fulfillable_quantity":0,"grams":0,"price":"69.00","total_discount":"0.00","fulfillment_status":"fulfilled","price_set":{"shop_money":{"amount":"69.00","currency_code":"GBP"},"presentment_money":{"amount":"69.00","currency_code":"GBP"}},"total_discount_set":{"shop_money":{"amount":"0.00","currency_code":"GBP"},"presentment_money":{"amount":"0.00","currency_code":"GBP"}},"discount_allocations":[],"duties":[],"admin_graphql_api_id":"gid:\/\/shopify\/LineItem\/9870673543334","tax_lines":[{"title":"GB VAT","price":"11.50","rate":0.2,"price_set":{"shop_money":{"amount":"11.50","currency_code":"GBP"},"presentment_money":{"amount":"11.50","currency_code":"GBP"}}}],"origin_location":{"id":2652546007206,"country_code":"GB","province_code":"","name":"Retail IT Demo Shop","address1":"56 Wimbledon Hill Road","address2":"","city":"London","zip":"SW19 7PA"}}],"tracking_number":null,"tracking_numbers":[],"tracking_url":null,"tracking_urls":[],"receipt":{},"name":"1108.1","admin_graphql_api_id":"gid:\/\/shopify\/Fulfillment\/3354343145638"}}
Order status is "Fulfilled" not "Ready for pickup" like when I'm doing from admin web interface. I checked Shopify community forum and found a topic related to my issue, but there is no solution: https://community.shopify.com/c/Shopify-APIs-SDKs/Mark-order-as-quot-Ready-for-Pickup-quot-via-Admin...
Hi @MaximRIT,
As of now, there isn't any way to mark an order as ready_for_pickup
via our APIs, this is only possible (AFAIK) via the merchant's Admin interface.
Best,
Seth.
syf_ | Developer Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit Shopify.dev or the Shopify Web Design and Development Blog
From what I understand this has still not been fixed? Has anybody had further information regarding this?
Come on Shopify. This really isn't good enough when automation is the way businesses can scale. This has been a issue since back in 2020 or prior based on other threads.
This is a known issue and is slated to be resolved in the 2023-01 release candidate https://shopify.dev/api/admin-graphql/2023-01/mutations/fulfillmentOrderLineItemsPreparedForPickup
To mark an order as picked up, use the fulfillmentCreateV2 mutation https://shopify.dev/docs/api/admin-graphql/2024-01/mutations/fulfillmentCreateV2 .
To learn more visit the Shopify Help Center or the Community Blog.
What about marking an order as picked up? I can't find any information on getting that done through the api.
This works to mark order as ready for pickup, but how about marking it as picked up? This is essential thing and making order ready for pickup using API without finalizing it as picked up via API is almost useless.
The second part of Bretts message. create a fulfilment to ‘mark as picked up’ not entirely logical maybe but it does work. be sure to set notify customer to false.
this second call is available on REST too, the first is graphql only.