I am using the Admin rest API, with the request: https://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/assignedfulfillmentorder.
The documentation defines that the destination should be in the response. Which it is, but it is always null. Regardless of whether the order has a shipment address.
If I place a fulfillment request without an address, it warns me that the fulfiller might reject the request if I don't enter an address. So that assumes that this api request should contain the destination.
Any help anybody could provide would be much appreciated
If the destination is null that means your customer doesn't have a default address.
I solved the bug by duplicating the order, attaching more information to the customer, and resubmitting the order request.
Thanks for this insight, you lead me down the right path with investigating this, and this is what I have found:
tl;dr Orders without a customer results in an empty destination field. Editing the shipping address will NOT update the fulfillment request destination, even if cancelled and a new one is created.
Sorry for the long explanation, but the tldr; pretty much sums it up. My concern here really is that the fulfillment requests address really should honour the ship to address, regardless of whether the order has a customer and if the address changes.
Now that I understand the inner workings, I can work around the issue and reject requests without addresses, with a message to recreate the order with a customer. As for the user changing the shipping address, well as it stands we can only make decisions on whether to fulfill the order on the original address.
Same result with GraphQL query.
This seems like a bug to me, otherwise for fulfilment services that rely on a shipping destination in the fulfilment order, but may not have the full scope to see all the details of an order, cannot fulfill such requests.