
# 修改智能信息服务号菜单
#### 功能介绍
支持用户修改所属企业的指定菜单。
#### URI
PUT /v1/aim-sa/menus/{menu_id}
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                           |
|:---|:---|:---|:---|
| menu_id | 是    | String | 菜单ID。 最小长度：**1** 最大长度：**32** |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型                                       | 描述                             |
|:---|:---|:---|:---|
| menu          | 是    | [Menus] object | 菜单配置信息。                        |
| change_reason | 是    | String                                     | 修改原因。 最小长度：**1** 最大长度：**1000** |
   
 表4Menus 
| 参数         | 是否必选 | 参数类型                                                       | 描述                      |
|:---|:---|:---|:---|
| menu_items | 是    | Array of [MenuItem] objects | 各子菜单项配置。 数组长度：**0 - 3** |
   
 表5MenuItem 
| 参数             | 是否必选 | 参数类型                                                       | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| 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**                                                                                                                                                                              |
   
 表6ExtMsg 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                  |
|:---|:---|:---|:---|
| 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必填，其他不填。    |
   
#### 响应参数
**状态码： 200**
表7响应Body参数 
| 参数   | 参数类型                                                        | 描述              |
|:---|:---|:---|
| data | [UpdateMenuRsp] object | 修改智能信息服务号菜单响应体。 |
   
 表8UpdateMenuRsp 
| 参数      | 参数类型   | 描述      |
|:---|:---|:---|
| menu_id | String | 菜单ID。   |
| log_id  | String | 操作记录ID。 |
   
**状态码： 400**
表9响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 结果详情。 |
   
**状态码： 500**
表10响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 结果详情。 |
   
#### 请求示例
根据菜单ID修改智能信息服务号菜单。设置修改原因为"业务调整"，修改或添加菜单。
```
https://koomessage.myhuaweicloud.cn/v1/aim-sa/menus/34cffce987e64757bb9b711895714692
{
  "change_reason" : "业务调整",
  "menu" : {
    "menu_items" : [ {
      "action_type" : "OPEN_APP",
      "name" : "通过申请",
      "content" : "hap://app/xxxx.deeplink.xxxxx",
      "ext_msg" : {
        "package_name" : "baoming",
        "app_id" : "",
        "browser_floor_url" : "https://www.example.com/"
      }
    }, {
      "action_type" : "OPEN_URL",
      "name" : "打开链接",
      "content" : "https://www.example.com/",
      "ext_msg" : {
        "web_title" : "搜索",
        "open_in_browser" : "1"
      }
    }, {
      "action_type" : "OPEN_SUBMENU",
      "name" : "通过菜单",
      "ext_msg" : { },
      "sub_menu_items" : [ {
        "action_type" : "OPEN_URL",
        "name" : "搜索一下",
        "sub_menu_items" : [ ],
        "content" : "https://www.example.com/",
        "ext_msg" : {
          "web_title" : "url标题",
          "open_in_browser" : "1"
        }
      }, {
        "action_type" : "CALLING",
        "name" : "电一下",
        "sub_menu_items" : [ ],
        "content" : "131****0000"
      }, {
        "action_type" : "OPEN_APP",
        "name" : "手机软件",
        "sub_menu_items" : [ ],
        "content" : "hap://app/xxxx.deeplink.xxxxx",
        "ext_msg" : {
          "package_name" : "开心消消乐",
          "app_id" : "appid",
          "browser_floor_url" : "https://www.example.com/"
        }
      }, {
        "action_type" : "OPEN_QUICK",
        "name" : "快应用",
        "sub_menu_items" : [ ],
        "content" : "hap://app/11111111111",
        "ext_msg" : {
          "depend_engine_ver" : "快应用引擎",
          "third_service_name" : "服务名"
        }
      }, {
        "action_type" : "OPEN_QUICK",
        "name" : "快应用",
        "sub_menu_items" : [ ],
        "content" : "hap://app/dfs/dfdf",
        "ext_msg" : {
          "depend_engine_ver" : "v1.1.0",
          "third_service_name" : "测试"
        }
      } ]
    } ]
  }
}
```
#### 响应示例
**状态码： 200**
返回信息。
```
{
  "data" : {
    "menu_id" : "34cffce987e64757bb9b711895714692",
    "log_id" : "6766"
  }
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 返回信息。 |
| 400 | 非法参数。 |
| 500 | 内部错误。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koomessage/ErrorCode.html)。
