1. Home
  2. WooCommerce MultiLocation & Order Routing
  3. Developer Docs
  4. Using WooCommerce REST API to query assigned order locations

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

wp-json/wc/v3/orders

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: https://myworks.d.pr/oj2iqR

    1. Inside a top-level variable called warehouse:
      "warehouse": "204",
    2. 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

wp-json/wc/v3/orders?status=processing&warehouse=204

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.

Updated on June 6, 2019

Was this article helpful?