Using WooCommerce REST API to query assigned order locations

When a WooCommerce order is placed and automatically/manually routed to a warehouse location using our integration, that assignment can be used with external integrations if needed when querying an order - due to our seamless integration with the WooCommerce REST API.

Once a location has been added in our integration, it will be assigned an ID. This is the ID that is used in the background when we assign/route an order to a specific location.

A location is assigned to an order on a per-line item basis - and this can be managed within the order in the WooCommerce Admin within each line item, like the example above.

Querying orders over REST API


When using the default WooCommerce REST API to query orders, we include a warehouse ID designation in two places in the existing/default WooCommerce API response for each order:

Full WooCommerce API Response Example:

  1. Inside a top-level variable called warehouse:
     "warehouse": "204",

Inside each line_item value, inside the meta_data variable, as the key _order_item_wh. (Helpful for line items split to different locations in a single order)

"line_items": [
"id": 31,
"name": "Blue T-Shirt",
"product_id": 43,
"variation_id": 0,
"quantity": 1,
"subtotal": "9.00",
"subtotal_tax": "0.72",
"total": "9.00",
"total_tax": "0.72",
"taxes": [
"id": 1,
"total": "0.72",
"subtotal": "0.72"
"meta_data": [
"id": 21643,
"key": "_order_item_wh",
"value": "204"

Querying orders over REST API - and filtering by warehouse


When using the default WooCommerce REST API to query orders, a filter by warehouse can also be added to only return orders assigned to a specific warehouse - per the example above.

Was this article helpful?
1 out of 3 found this helpful