Hi Guillaume,
The error message regarding no location likely means that a fulfillment location has not been assigned to the order. Each order should be associated with a location, which represents where the order is to be fulfilled from. This is usually either a merchant’s location or a third-party location like a warehouse.
When creating an order, you should include the location_id in your request body. This ID is a unique identifier for the location associated the order. You can retrieve a list of all locations associated with a shop by making a GET request to the admin/api/{version}/locations.json endpoint.
After the order is created, you can use the Fulfillment API to mark the order as delivered. The Fulfillment API allows you to create fulfillments for an order, which includes updating the shipment status.
When creating a fulfillment, you should specify the status as delivered, tracking_numbers with the tracking numbers for the order, and tracking_urls with the corresponding URLs where the tracking number can be used to track the shipment. The location_id should also be included in the fulfillment creation request.
I hope this helps!