DOCS

Searching and filtering orders

/

Searching and filtering orders

Retrieve lists of orders with GraphQL.

Using the orders query in GraphQL, you can retrieve paginated lists of orders with various criteria. This is useful when you need a list of orders by country, between specific dates, to build a search, etc.

1

Get your API key

First, register for a Zonos account and configure your account on Zonos Dashboard. You will then be able to get your API key, which will allow you to authenticate with the Zonos API.

2

Decide what details to retrieve

You can query lists of orders based on similar accountOrderIds or by providing a date range between which orders were published. For a complete list of available fields, consult the GraphQL API reference.

On each individual order you query, all normal Order fields are available, e.g., the country, shipping information, landed cost totals, etc. All possible fields are listed in the GraphQL API reference.

Query

1
2
3
4
5
6
7
8
9
10
query orders($ordersFilter: OrdersFilter, $first: Int) {
  orders(filter: $ordersFilter, first: $first) {
    edges {
      node {
        id
        # ... field names here
      }
    }
  }
}

Variables

1
2
3
4
5
6
7
8
{
  "ordersFilter": {
    "between": {
      "before": "2022-10-01",
      "after": "2022-09-01"
    }
  }
}
3

Send the pages to fetch

All queries that retrieve lists support Relay-style pagination. The first variable allows you to specify how many objects are returned.

Query

1
2
3
4
5
query orders($filter: OrderFilter!, $first: Int) {
 orders(orderFilter: $filter, first: $first) {
  # ... field names here
 }
}

Variables

1
2
3
{
  "first": 20
}
4

Send your request

Now that you have built your request and configured it, you can send a POST request to the Zonos API. Make sure to authenticate with your API key and provide the correct version header in your request.

POST https://api.zonos.com/graphql/

Query

1
2
3
4
5
6
7
8
9
10
11
12
13
14
query orders($ordersFilter: OrdersFilter, $first: Int) {
  orders(filter: $ordersFilter, first: $first) {
    edges {
      node {
        id
        items {
          description
          hsCode
          quantity
        }
      }
    }
  }
}

Variables

1
2
3
4
5
6
7
8
9
{
  "ordersFilter": {
    "between": {
      "before": "2022-10-01",
      "after": "2022-09-01"
    }
  },
  "first": 20
}

Response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "data": [
    {
      "order": {
        "id": "1000753",
        "items": [
          {
            "description": "Blue Snorkle Set",
            "hsCode": "9506290000",
            "quantity": 2
          }
        ]
      }
    }
  ]
}

Was this page helpful?


© 2023 Zonoszonos.com