**Version: 202601**

# Get order count

**GET** `/openapi/2026-01/orders/count`

Provides the total number of orders matching the specified query parameters.

## Request

**Query Parameters**

- `ids` string[]

  Filter orders by order IDs. Example: ?ids=1001&ids=1002
- `status` string[]

  Filter by order status.

  *   opened: pending payment.
  *   cancelled: cancelled.
  *   placed: in progress.
  *   finished: completed. Example: ?status=opened&status=finished
- `fulfillment_status` string[]

  Filter by order fulfillment status.

  *   initialled: initial.
  *   waiting: waiting to ship.
  *   partially\_shipped: partially shipped.
  *   shipped: fully shipped.
  *   partially\_finished: partially received.
  *   finished: fully received.
  *   cancelled: cancelled.
  *   returning: return in progress.
  *   partially\_returned: partially returned.
  *   returned: fully returned. Example: ?fulfillment\_status=waiting&fulfillment\_status=shipped
- `financial_status` string[]

  Filter by payment status.

  *   waiting: pending payment.
  *   paying: payment under review.
  *   authorized: authorized.
  *   partially\_paid: partially paid.
  *   paid: paid.
  *   cancelled: cancelled.
  *   failed: payment failed.
  *   refunding: refund in progress.
  *   refund\_failed: refund failed.
  *   refunded: fully refunded.
  *   partially\_refunded: partially refunded. Example: ?financial\_status=waiting&financial\_status=paid
- `recovery_status` string[]

  Filter orders by cart recovery status:

  *   `waiting`: waiting to be recalled
  *   `sending`: recall notification in progress
  *   `recalling`: recall in progress
  *   `failed`: recall failed
  *   `success`: recall successful
- `location_id` string

  Filter orders by location ID
- `keyword` string

  Keyword for searching orders
- `keyword_scope_fields` string[]

  Fields to apply keyword search on. Supported values: order\_no, email, phone, name, etc. Example: ?keyword\_scope\_fields=order\_no&keyword\_scope\_fields=email
- `customer_id` string

  Filter orders by customer ID
- `total_min` double

  Filter orders with total greater than or equal to this value
- `total_max` double

  Filter orders with total less than or equal to this value
- `created_at_min` string

  Filter orders created after this time (e.g., 2018-11-02T12:30:10Z)
- `created_at_max` string

  Filter orders created before this time (e.g., 2018-11-02T12:30:10Z)
- `updated_at_min` string

  Filter orders updated after this time (e.g., 2018-11-02T12:30:10Z)
- `updated_at_max` string

  Filter orders updated before this time (e.g., 2018-11-02T12:30:10Z)
- `placed_at_min` string

  Filter orders placed after this time (e.g., 2018-11-02T12:30:10Z)
- `placed_at_max` string

  Filter orders placed before this time (e.g., 2018-11-02T12:30:10Z)
- `sales_platform` string[]

  Filter orders by sales channel. Example: ?sales\_platform=value1&sales\_platform=value2
- `admin_hasfilter` boolean

  Apply the same has\_filter logic as the admin-side incomplete order list:

  *   `true`: apply filter
  *   `false`: do not apply filter
- `finished_at_min` string

  Filter orders finished after this time (e.g., 2018-11-02T12:30:10Z)
- `finished_at_max` string

  Filter orders finished before this time (e.g., 2018-11-02T12:30:10Z)
- `fulfilled_at_min` string

  Filter orders fulfilled after this time (e.g., 2018-11-02T12:30:10Z)
- `fulfilled_at_max` string

  Filter orders fulfilled before this time (e.g., 2018-11-02T12:30:10Z)
- `last_referrer_show_created_at_min` string

  Filter orders by last touchpoint time start (e.g., 2018-11-02T12:30:10Z)
- `last_referrer_show_created_at_max` string

  Filter orders by last touchpoint time end (e.g., 2018-11-02T12:30:10Z)
- `source_name_created_at_min` string

  Filter orders by first touchpoint time start (e.g., 2018-11-02T12:30:10Z)
- `source_name_created_at_max` string

  Filter orders by first touchpoint time end (e.g., 2018-11-02T12:30:10Z)
- `shipping_emails` string[]

  Filter orders by shipping address email. Example: ?shipping\_emails=[a@example.com](mailto:a@example.com)&shipping\_emails=[b@example.com](mailto:b@example.com)
- `shipping_phones` string[]

  Filter orders by shipping address phone. Example: ?shipping\_phones=13800000001&shipping\_phones=13800000002
- `browser_ips` string[]

  Filter orders by browser IP address. Example: ?browser\_ips=1.2.3.4&browser\_ips=5.6.7.8
- `product_ids` string[]

  Filter orders by product ID. Example: ?product\_ids=2001&product\_ids=2002
- `skus` string[]

  Filter orders by SKU. Example: ?skus=SKU0001&skus=SKU0002
- `spus` string[]

  Filter orders by SPU. Example: ?spus=SPU0001&spus=SPU0002
- `order_tags` string[]

  Filter orders by order tag. Example: ?order\_tags=vip&order\_tags=new
- `customer_emails` string[]

  Filter orders by customer email. Example: ?customer\_emails=[c@example.com](mailto:c@example.com)&customer\_emails=[d@example.com](mailto:d@example.com)
- `fuzzy_fields` string[]

  Field names to apply fuzzy matching on. Combined with fuzzy\_keywords / fuzzy\_relation Allowed values:

  *   `name`: customer name (not recipient name)
  *   `number`: order number
  *   `id`: order ID
  *   `sku`: product SKU (snapshot data). For exact match use `skus`
  *   `spu`: product SPU (snapshot data). For exact match use `spus`
  *   `tag_list`: order tags. For exact match use `order_tags`
  *   `shipping_email`: shipping address email. For exact match use `shipping_emails`
  *   `shipping_phone`: shipping address phone. For exact match use `shipping_phones`
  *   `browser_ip`: order IP address. For exact match use `browser_ips`
  *   `product_tags`: product tags (snapshot data)
  *   `product_title`: product title (snapshot data)
  *   `credit_card_number`: last 4 digits of the payment card
  *   `source`: first-visit landing page
  *   `source_name`: first-visit source
  *   `tracking_number`: shipping tracking number
  *   `shipping_line_name`: shipping plan name
  *   `line_item_vendor`: product vendor
  *   `discount_code`: discount code
  *   `shipping_address_extra_info`: special shipping field info
  *   `transaction_id`: payment transaction number
  *   `customer_id`: customer ID
  *   `last_landing_url`: last-visit landing page
  *   `last_referrer_show`: last-visit source
  *   `country`: country name (snapshot data; mixed CN/EN search not supported)
  *   `shop_name`: POS shop name
  *   `staff_contact`: POS staff Note: for fields that also have a dedicated exact-match array parameter (sku/spu/tag\_list/shipping\_email/shipping\_phone/browser\_ip), use the array parameter for full-value lookups; reserve fuzzy mode for prefix or fragment search. Example: ?fuzzy\_fields=name&fuzzy\_fields=number
- `fuzzy_keywords` string[]

  Fuzzy keyword list. Any keyword matches in any of fuzzy\_fields counts as a hit. Example: ?fuzzy\_keywords=iphone&fuzzy\_keywords=vip
- `fuzzy_relation` string

  How fuzzy\_fields entries are joined: "and" or "or". Defaults to "or"

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `count` int32

    Total count of orders matching the filter conditions

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "count": 0
  }
}
```
