
# 查询智能信息服务号菜单
#### 功能介绍
根据用户提供的过滤条件查询服务号菜单。
#### URI
GET /v1/aim-sa/menus
表1Query参数 
| 参数                | 是否必选 | 参数类型    | 描述                                                                  |
|:---|:---|:---|:---|
| menu_id           | 否    | String  | 菜单ID。 最小长度：**0** 最大长度：**32**                                        |
| pub_id            | 否    | String  | 服务号ID。 最小长度：**0** 最大长度：**32**                                       |
| pub_name          | 否    | String  | 服务号名称。 最小长度：**0** 最大长度：**50**                                       |
| online_begin_time | 否    | String  | 上线开始时间。格式为：yyyy-MM-ddTHH:mm:ssZ。                                    |
| online_end_time   | 否    | String  | 上线结束时间。格式为：yyyy-MM-ddTHH:mm:ssZ。                                    |
| state             | 否    | Integer | 菜单状态。 - 1：未生效 - 2：已生效 - 3：已失效 - 4：服务号已冻结 最小值：**1** 最大值：**4**        |
| menu_name         | 否    | String  | 一级菜单名称。 最小长度：**0** 最大长度：**50**                                      |
| offset            | 否    | Integer | 偏移量，表示从此偏移量开始查询，offset大于等于0。 最小值：**0** 最大值：**2147483647** 缺省值：**0** |
| limit             | 否    | Integer | 每页显示的条目数量。 最小值：**1** 最大值：**100** 缺省值：**10**                         |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数   | 参数类型                                                     | 描述              |
|:---|:---|:---|
| data | [ListMenusRsp] object | 查询智能信息服务号菜单响应体。 |
   
 表4ListMenusRsp 
| 参数        | 参数类型                                                       | 描述                     |
|:---|:---|:---|
| data      | Array of [MenusRsp] objects | 菜单信息。 数组长度：**1 - 100** |
| page_info | [PageOffSet] object       | 分页信息。                  |
   
 表5MenusRsp 
| 参数            | 参数类型                                       | 描述                                    |
|:---|:---|:---|
| menu_id       | String                                     | 菜单ID。                                 |
| pub_id        | String                                     | 服务号ID。                                |
| pub_name      | String                                     | 服务号名称。                                |
| logo_img      | String                                     | LOGO图片资源ID。                           |
| logo_url      | String                                     | LOGO图片资源URL。                          |
| menu          | [Menus] object | 菜单配置。                                 |
| menu_state    | Integer                                    | 资源状态。 - 1：未生效 - 2：已生效 - 3：已失效 - 4：已冻结 |
| approve_state | Integer                                    | 审核状态。 - 1：待审核 - 2：通过 - 3：驳回           |
| online_time   | String                                     | 上线时间。格式为：2020-12-12T12:00:00Z。        |
| oper_time     | String                                     | 最新操作时间。格式为：2020-12-12T12:00:00Z。      |
| company_id    | String                                     | 企业ID。                                 |
| company_name  | String                                     | 企业名称。                                 |
   
 表6Menus 
| 参数         | 参数类型                                                       | 描述                      |
|:---|:---|:---|
| menu_items | Array of [MenuItem] objects | 各子菜单项配置。 数组长度：**0 - 3** |
   
 表7MenuItem 
| 参数             | 参数类型                                                       | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| name           | String                                                     | 子菜单名称。 1. 一级菜单名长度和菜单数量有关，具体约束为： - 当菜单数量为1个时，菜单名长度范围在1-24个字符。 - 当菜单数量为2个时，菜单名长度范围在1-12个字符。 - 当菜单数量为3个时，菜单名长度范围在1-8个字符。 2. 二级菜单名长度范围恒为1-16个字符。 说明： 以上字符区分中英文，一个中文占2个字符，字母和数字占1个字符，且同时生效的一组菜单内名称不能重复。                                                   |
| action_type    | String                                                     | 菜单动作类型。 - OPEN_SUBMENU：打开子菜单 - OPEN_URL：打开URL - CALLING：拨打电话 - OPEN_APP：打开APP - OPEN_QUICK：打开快应用 最小长度：**0** 最大长度：**30**                                                                                                                              |
| content        | String                                                     | 对应值类型。对应不同action_type值，content含义如下： - action_type=OPEN_SUBMENU：不填 - action_type=OPEN_URL：参数数值为跳转URL - action_type=CALLING：参数数值为电话号码 - action_type=OPEN_APP：参数数值为APP的跳转deeplink - action_type=OPEN_QUICK：参数数值为快应用跳转的deeplink 最小长度：**0** 最大长度：**1000** |
| ext_msg        | [ExtMsg] object               | 额外需要携带的信息。 - action_type=OPEN_SUBMENU时，不填 - action_type=CALLING时，不填 - action_type=OPEN_URL时，必填 - action_type=OPEN_APP时，必填 - action_type=OPEN_QUICK时，必填                                                                                               |
| sub_menu_items | Array of [MenuItem] objects | 子菜单配置项。 说明： 仅当action_type=OPEN_SUBMENU时生效，且该项内不允许再配置子菜单。 数组长度：**0 - 5**                                                                                                                                                                              |
   
 表8ExtMsg 
| 参数                 | 参数类型   | 描述                                                                  |
|:---|:---|:---|
| open_in_browser    | String | 打开方式。 - 0：webView打开 - 1：浏览器打开 说明： action_type=OPEN_URL必填，其他不填。      |
| web_title          | String | 标题，必填，长度范围为1-20个字符。 说明： action_type=OPEN_URL必填，其他不填。                |
| package_name       | String | app包名，长度范围为1-50个字符。 说明： action_type=OPEN_APP必填，其他不填。                |
| app_id             | String | 商家应用的appid，长度范围为0-60个字符。 说明： action_type=OPEN_APP必填，其他不填。           |
| browser_floor_url  | String | 兜底url，长度范围为0-1000个字符，支持http/https。 说明： action_type=OPEN_APP选填，其他不填。 |
| depend_engine_ver  | String | 依赖的快应用引擎版本号，长度范围为1-50个字符。 说明： action_type=OPEN_QUICK必填，其他不填。        |
| third_service_name | String | 第三方服务名，长度范围为1-50个字符。 说明： action_type=OPEN_QUICK或OPEN_APP必填，其他不填。    |
   
 表9PageOffSet 
| 参数     | 参数类型    | 描述                           |
|:---|:---|:---|
| offset | Integer | 偏移量，表示从此偏移量开始查询，offset大于等于0。 |
| limit  | Integer | 每页显示的条目数量。                   |
| total  | Integer | 总量。                          |
   
**状态码： 400**
表10响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 结果详情。 |
   
**状态码： 500**
表11响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 结果详情。 |
   
#### 请求示例
查询菜单
```
https://koomessage.myhuaweicloud.cn/v1/aim-sa/menus?limit=1
```
#### 响应示例
**状态码： 200**
返回信息。
```
{
  "data" : {
    "data" : [ {
      "menu_id" : "b1323ef35b8f4ee3a6767fa5b6cb4922",
      "company_id" : "4a607f2ce71aae6204e7ae0407ac6827",
      "company_name" : "我的企业名称",
      "pub_id" : "961b0f7d32314b5cb287fc06fe09cccc",
      "pub_name" : "我的服务号",
      "approve_state" : 1,
      "menu_state" : 1,
      "menu" : {
        "menu_items" : [ {
          "name" : "APP",
          "action_type" : "OPEN_APP",
          "content" : "imdada://fe.imdada.cn/static/redirect_to_dada.html?page=1000",
          "ext_msg" : {
            "app_id" : "10000004",
            "package_name" : "com.dada.mobile.shop.android",
            "browser_floor_url" : ""
          },
          "sub_menu_items" : [ ]
        }, {
          "name" : "快应用",
          "action_type" : "OPEN_QUICK",
          "content" : "hap://app/app.com",
          "ext_msg" : {
            "depend_engine_ver" : "v8801",
            "third_service_name" : "我的服务号"
          },
          "sub_menu_items" : [ ]
        }, {
          "name" : "菜单集合",
          "action_type" : "OPEN_SUBMENU",
          "content" : "",
          "ext_msg" : { },
          "sub_menu_items" : [ {
            "name" : "URL",
            "action_type" : "OPEN_URL",
            "content" : "https://huawei.com",
            "ext_msg" : {
              "web_title" : "huawei",
              "open_in_browser" : "0"
            },
            "sub_menu_items" : null
          }, {
            "name" : "电话联系",
            "action_type" : "CALLING",
            "content" : "131****0000",
            "ext_msg" : { },
            "sub_menu_items" : null
          }, {
            "name" : "打开APP1",
            "action_type" : "OPEN_APP",
            "content" : "imdada://fe.imdada.cn/static/redirect_to_dada.html?page=1000",
            "ext_msg" : {
              "app_id" : "10000001",
              "package_name" : "com.dada.mobile.shop.android",
              "browser_floor_url" : ""
            },
            "sub_menu_items" : null
          }, {
            "name" : "快应用跳转",
            "action_type" : "OPEN_QUICK",
            "content" : "hap://app/App888.com",
            "ext_msg" : {
              "depend_engine_ver" : "vv88801",
              "third_service_name" : "华为服务号08"
            },
            "sub_menu_items" : null
          } ]
        } ]
      },
      "oper_time" : "2022-08-09T13:12:07Z",
      "online_time" : null,
      "logo_img" : "290e1ecc91f043f08d6549ab1484cccc",
      "logo_url" : "AimSauploadService/1c6c742ca1ff485783a377339deb1437image.jpg"
    } ],
    "page_info" : {
      "offset" : 0,
      "limit" : 1,
      "total" : 3
    }
  }
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 返回信息。 |
| 400 | 非法参数。 |
| 500 | 内部错误。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koomessage/ErrorCode.html)。
