but when I send a query asking for this, I receive the information that this object is not part of it:
“message”: “Field ‘pickupPoint’ doesn’t exist on type ‘DeliveryMethod’”
I was happy I could finally use the native Shopify Pickup Point Map instead of using the bad integrations from the delivery companies that don’t always load and cause a lot of work with the customer support when the map wasn’t loading and we don’t know where to ship the order. But now I can’t access the data that is necessary for fulfilling the order like the Pickup ID which is the only real information I need.
I’m wondering how others do? I tried to build a workaround with flow to extract the “externalId” field from the fulfillmentOrders and write it to order notes but unfortunately flow can’t access this object neither.
At this point the delivery point shipping option of Shopify is totally useless to me. Do I miss something?
No, you’re not missing out on anything. pickupPoint data is already present in the Admin UI of Shopify, but it’s not available in the GraphQL Admin API, which is the reason why you’re receiving an error message saying the field is not available.
Unfortunately, even Shopify Flow cannot access the field because it’s only possible to access those fields which are available through the API.
In case you need pickup point ID in the current fulfillment process, the following solutions could be considered:
Make use of carrier’s app or API, if such information is stored by the carrier.
Add the pickup point ID as an order attribute/cart attribute at the time of checkout process (if it’s possible through the integration).
Ask for a feature request from Shopify, as exposing pickupPoint through the Admin API will make your work much simpler.
Currently, there is no possibility to access the pickupPoint object through the GraphQL Admin API.
Careful with the cart attribute route people are pointing at, it does not fit what you actually posted. Your payload has fromDeliveryOptionGenerator false, which means this came from Shopify’s own pickup point picker and not from a third party checkout extension. Cart attributes only help when you are the one rendering the picker and writing the value in yourself. With the native picker there is nothing putting an attribute on the cart, so there is nothing to read back later.
What you can get today, fulfillmentOrder.deliveryMethod is a DeliveryMethod and it carries methodType, presentedName, serviceCode, sourceReference, brandedPromise, minDeliveryDateTime, maxDeliveryDateTime and additionalInformation with instructions and phone. DeliveryMethodType has a PICKUP_POINT value, so you can branch on pickup point orders properly instead of pattern matching the shipping line name. presentedName is the delivery option label the buyer saw at checkout and serviceCode is a reference to the shipping method, so between those two you can usually work out which locker network it was.
The field I would actually go test on one of these orders is destination on the fulfillment order. It has company, address1, address2, city, province, zip, countryCode, phone and the name fields. If it comes back with the locker rather than the buyer’s home address, you have the drop off point in full and the only thing genuinely missing is the externalId. Matching that address and name back to a Mondial Relay point id through their own point lookup is ugly, but it is a lot closer than waiting on a feature request.
Have you run destination on one of the locker orders yet, and does it show the locker or the customer address?
@lumine is right that the cart attribute route doesn’t apply here, and the reason decides what you should do next.
fromDeliveryOptionGenerator: false means Shopify’s own picker placed that point. On 2026-07, the current stable version, DeliveryMethod has exactly nine fields: additionalInformation, brandedPromise, id, maxDeliveryDateTime, methodType, minDeliveryDateTime, presentedName, serviceCode, sourceReference. Nothing pickup-point shaped, so your error is the schema being honest rather than a scope or permissions problem. DeliveryMethod - GraphQL Admin
unstable does add deliveryOptionGeneratorPickupPoint to DeliveryMethod, so this is moving. Read the field description before you get hopeful though. It returns null “when the delivery method doesn’t utilize a pickup point generated by a delivery option generator, or when the used pickup point isn’t generated by a delivery option generator owned by the requesting app”. Both halves rule out your order. The field that’s coming won’t expose points from Shopify’s native picker.
What does read back is a generator you own. A Pickup Point Delivery Option Generator function supplies the points at checkout, and afterwards you query deliveryOptionGeneratorPickupPoint for the externalId with read_orders and read_merchant_managed_fulfillment_orders. The access limit is steep: custom apps on development stores or Plus only, no public apps, nothing on non-Plus. Generate pickup points
On @lumine’s destination suggestion, it carries company, address1, address2, city, province, zip, countryCode, phone and the name fields. Its location field is documented as the Shopify location designated for pick-up, so I’d expect null for a Mondial Relay locker. Still run it. If company and address1 come back as the locker, you have everything except the id.