# 订单搜索

> 接口应在服务器端调用，不可在前端（小程序、网页、APP等）直接调用，具体可参考[接口调用指南](/doc/oplatform/developers/dev/guide.md)。

接口英文名：searchorder

该接口用于根据传递的条件搜索订单

## 1. 调用方式

### HTTPS 调用

```bash
POST https://api.weixin.qq.com/channels/ec/order/search?access_token=ACCESS_TOKEN
```

### 云调用

- 调用方法：channels.ec.order.search

- 出入参和 HTTPS 调用相同，调用方式可查看 [云调用](/doc/oplatform/developers/dev/cloudCall.md) 说明文档。

### 第三方调用

- 本接口支持第三方平台代微信小店商家调用。[第三方服务商调用模式介绍](/doc/store/shop/dev_before/third_party_platforms)

- 该接口所属的权限集 id 为：131

- 服务商获得其中之一权限集授权后，可通过使用 [authorizer_access_token](/doc/oplatform/developers/dev/AuthorizerAccessToken.md) 代微信小店商家进行调用，具体可查看 [第三方调用](/doc/oplatform/Third-party_Platforms/2.0/Before_Develop/call_interface.md) 说明文档。

## 2. 请求参数

### 查询参数 `Query String Parameters`

```json
[
  {
    "参数名": "access_token",
    "类型": "string",
    "必填": "是",
    "示例": "ACCESS_TOKEN",
    "说明": "接口调用凭证，可使用 [access_token](/doc/store/shop/API/apimgnt/common/api_getaccesstoken)（微信小店商家）、[authorizer_access_token](/doc/oplatform/openApi/ticket-token/api_getauthorizeraccesstoken.md)（服务商代调用）"
  }
]
```

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "search_condition",
    "类型": "object",
    "必填": "是",
    "说明": "搜索条件，备注：搜索条件下的参数必须至少设置一个字段，否则接口报错",
    "枚举": "-"
  },
  {
    "参数名": "on_aftersale_order_exist",
    "类型": "number",
    "必填": "否",
    "说明": "不传该参数：搜索全部订单；\n0：搜索没有正在售后的订单；\n1：搜索正在售后且售后单数量>=1的订单\n\n除了以下几种售后单状态（AfterSaleStatus）外其它的都是正在售后的状态：\nUSER_CANCELD\nMERCHANT_REFUND_RETRY_FAIL\nMERCHANT_FAIL\nMERCHANT_REFUND_SUCCESS\nMERCHANT_RETURN_SUCCESS",
    "枚举": "-"
  },
  {
    "参数名": "status",
    "类型": "number",
    "必填": "否",
    "说明": "订单状态",
    "枚举": "枚举值"
  },
  {
    "参数名": "page_size",
    "类型": "number",
    "必填": "是",
    "说明": "每页数量(不超过100)",
    "枚举": "-"
  },
  {
    "参数名": "next_key",
    "类型": "string",
    "必填": "是",
    "说明": "分页参数，上一页请求返回",
    "枚举": "-"
  }
]
```

### Body.search_condition `Object Payload`

搜索条件，备注：搜索条件下的参数必须至少设置一个字段，否则接口报错

```json
[
  {
    "参数名": "title",
    "类型": "string",
    "必填": "否",
    "说明": "商品标题关键词"
  },
  {
    "参数名": "sku_code",
    "类型": "string",
    "必填": "否",
    "说明": "商品编码"
  },
  {
    "参数名": "user_name",
    "类型": "string",
    "必填": "否",
    "说明": "收件人"
  },
  {
    "参数名": "tel_number",
    "类型": "string",
    "必填": "否",
    "说明": "收件人电话，当前字段已经废弃，请勿使用，如果原本填手机后四位，可正常使用，否则接口报错"
  },
  {
    "参数名": "order_id",
    "类型": "number",
    "必填": "否",
    "说明": "选填，只搜一个订单时使用"
  },
  {
    "参数名": "merchant_notes",
    "类型": "string",
    "必填": "否",
    "说明": "商家备注"
  },
  {
    "参数名": "customer_notes",
    "类型": "string",
    "必填": "否",
    "说明": "买家备注"
  },
  {
    "参数名": "tel_number_last4",
    "类型": "string",
    "必填": "否",
    "说明": "收件人电话后四位"
  },
  {
    "参数名": "address_under_review",
    "类型": "boolean",
    "必填": "否",
    "说明": "申请修改地址审核中"
  },
  {
    "参数名": "present_order_id",
    "类型": "string",
    "必填": "否",
    "说明": "礼物单号"
  }
]
```

## 3. 返回参数

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "errcode",
    "类型": "number",
    "说明": "错误码"
  },
  {
    "参数名": "errmsg",
    "类型": "string",
    "说明": "错误信息"
  },
  {
    "参数名": "order_id_list",
    "类型": "array",
    "说明": "订单号列表"
  },
  {
    "参数名": "next_key",
    "类型": "string",
    "说明": "分页参数，下一个页请求回传"
  },
  {
    "参数名": "has_more",
    "类型": "boolean",
    "说明": "是否还有下一页, true:有下一页；false:已经结束，没有下一页。"
  }
]
```

## 4. 枚举信息

### Body.status `Enum`

订单状态

```json
[
  {
    "枚举值": "10",
    "描述": "待付款"
  },
  {
    "枚举值": "12",
    "描述": "礼物待收下"
  },
  {
    "枚举值": "13",
    "描述": "凑单买凑团中"
  },
  {
    "枚举值": "20",
    "描述": "待发货（包含部分发货）"
  },
  {
    "枚举值": "21",
    "描述": "部分发货"
  },
  {
    "枚举值": "30",
    "描述": "待收货（包含部分发货）"
  },
  {
    "枚举值": "100",
    "描述": "完成"
  },
  {
    "枚举值": "250",
    "描述": "订单取消（包括未付款自动取消，售后取消等取消情况）"
  }
]
```

## 5. 注意事项

本接口无特殊注意事项

## 6. 代码示例

请求示例

```json
{
    "search_condition": {
        "title": "标题关键字",
        "sku_code": "12321",
        "user_name": "张三",
        "tel_number": "13700000000",
        "order_id": "3713218625342112768",
        "merchant_notes": "晚点发货",
        "customer_notes": "发顺丰"
    },
    "on_aftersale_order_exist": 0,
    "status": 20,
    "page_size": 10,
    "next_key": "THE_NEXT_KEY"
}
```

返回示例

```json
{
    "errcode": 0,
    "errmsg": "ok",
    "orders": [
        "3715847042071365120",
        "3715847042071365121"
    ],
    "has_more": false,
    "next_key": "THE_NEXT_KEY_NEW"
}
```

## 7. 错误码

以下是本接口的错误码列表，其他错误码可参考 [通用错误码](/doc/store/shop/dev_before/commErrCode)；调用接口遇到报错，可使用官方提供的 [API 诊断工具](https://developers.weixin.qq.com/console/devtools/debug?utm_source=api_errcode) 辅助定位和分析问题。

```json
[
  {
    "错误码": "40097",
    "错误描述": "请求体参数不正确，请检查各个参数是否按规范填写"
  },
  {
    "错误码": "47001",
    "错误描述": "请求体格式不正确，请检查请求体中各个参数的类型是否正确"
  },
  {
    "错误码": "6060456",
    "错误描述": "请求失败，请检查请求内是否包含不合法字符"
  },
  {
    "错误码": "10080000",
    "错误描述": "账号发起注销，进入注销公示期"
  },
  {
    "错误码": "10080001",
    "错误描述": "账号已注销"
  }
]
```

## 8. 适用范围

本接口支持「微信小店」账号类型调用。其他账号类型如无特殊说明，均不可调用。
