# 更新会议室预定限制

更新会议室预定限制。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/vc/v1/reserve_configs/:reserve_config_id
HTTP Method | PATCH
接口频率限制 | [100 次/分钟](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 更新视频会议室信息(vc:room)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer t-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
reserve_config_id | string | 会议室或层级id<br>**示例值**："omm_3c5dd7e09bac0c1758fcf9511bd1a771"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：open_id<br>**可选值有**：<br>- open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多：如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid)<br>- union_id：标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多：如何获取 Union ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id)<br>- user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多：如何获取 User ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id)<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
scope_type | string | 是 | 1 代表层级，2 代表会议室<br>**示例值**："2"
approval_config | approval_config | 否 | 预定审批设置
approval_switch | int | 否 | 预定审批开关：0 代表关闭，1 代表打开。<br>**说明**：<br>1.  未设置值时不更新原开关的值，但此时必填  approval_condition<br>2.  设置值为 1 时，必填  approval_condition<br>3.  设置值为 0 时整个 <br>approval_config 其他字段均可省略。<br>**示例值**：1<br>**数据校验规则**：<br>- 取值范围：`0` ～ `1`
approval_condition | int | 否 | 预定审批条件：0 代表所有预定均需审批，1 代表满足条件的需审批<br>**说明**：为 1 时必填 meeting_duration<br>**示例值**：1<br>**数据校验规则**：<br>- 取值范围：`0` ～ `1`
meeting_duration | number(float) | 否 | 超过 meeting_duration<br>的预定需要审批（单位：小时，取值范围[0.1-99]）<br>**说明**：<br>1.  当 approval_condition <br>为 0 ，更新时如果未设置值，默认更新为 99 .<br>2.  传入的值小数点后超过 2 位，自动四舍五入保留两位。<br>**示例值**：3
approvers | subscribe_user\[\] | 否 | 审批人列表，当打开审批开关时，至少需要设置一位审批人<br>**示例值**：[{user_id:"ou_e8bce6c3935ef1fc1b432992fd9d3db8"}]
user_id | string | 是 | 预定管理员ID<br>**示例值**："ou_a27b07a9071d90577c0177bcec98f856"
time_config | time_config | 否 | 预定时间设置
if_cover_child_scope | boolean | 否 | 是否覆盖子层级及会议室<br>**示例值**：true
time_switch | int | 是 | 预定时间开关：0 代表关闭，1 代表开启<br>**示例值**：1<br>**数据校验规则**：<br>- 取值范围：`0` ～ `1`
days_in_advance | int | 否 | 最早可提前 <br>days_in_advance 预定会议室（单位：天，取值范围[1-730]）<br>**说明**：不填写时，默认更新为 365<br>**示例值**：30
opening_hour | string | 否 | 开放当天可于 <br>opening_hour 开始预定（单位：秒，取值范围[0,86400]）<br>**说明**：<br>1.  不填写时默认更新为 <br>28800 <br>2.  如果填写的值不是 60 <br>的倍数，则自动会更新为离其最近的 60 整数倍的值。<br>**示例值**："27900"
start_time | string | 否 | 每日可预定时间范围的开始时间（单位：秒，取值范围[0,86400]）<br>**说明**：<br>1.  不填写时，默认更新为 0 ，此时填写的  end_time 不得小于 30。<br>2.  当 start_time 与<br>end_time 均填写时，<br>end_time 至少超过 <br>start_time 30 。<br>3.  如果填写的值不是 60 的倍数，则自动会更新为离其最近的 60 整数倍的值。<br>**示例值**："0"
end_time | string | 否 | 每日可预定时间范围结束时间（单位：秒，取值范围[0,86400]）<br>**说明**：<br>1.  不填写时，默认更新为 86400 ，此时填写的<br>start_time 不得大于等于 86370 。<br>2.  当 start_time 与<br>end_time 均填写时，<br>end_time 至少要超过<br>start_time 30。<br>3.  如果填写的值不是  60 的倍数，则自动会更新为离其最近的 60 整数倍的值。<br>**示例值**："86400"
max_duration | int | 否 | 单次会议室可预定时长上限（单位：小时，取值范围[1,99]）<br>**说明**：不填写时默认更新为 2<br>**示例值**：24
reserve_scope_config | reserve_scope_config | 否 | 预定范围设置
if_cover_child_scope | boolean | 否 | 是否覆盖子层级及会议室<br>**示例值**：true
allow_all_users | int | 否 | 可预定成员范围：0 代表部分成员，1 代表全部成员。<br>**说明**：<br>1.  此值必填。<br>2.  当设置为 0 时，至少需要 1 个预定部门或预定人<br>**示例值**：0<br>**数据校验规则**：<br>- 取值范围：`0` ～ `1`
allow_users | subscribe_user\[\] | 否 | 可预定成员列表<br>**示例值**：[{user_id:"ou_e8bce6c3935ef1fc1b432992fd9d3db8"}]
user_id | string | 是 | 预定管理员ID<br>**示例值**："ou_a27b07a9071d90577c0177bcec98f856"
allow_depts | subscribe_department\[\] | 否 | 可预定部门列表<br>**示例值**：[{department_id:"od-5c07f0c117cf8795f25610a69363ce31"}]
department_id | string | 是 | 预定管理部门ID，使用open_department_id<br>**示例值**："od-47d8b570b0a011e9679a755efcc5f61a"

### 请求体示例
```json
{
    "scope_type": "2",
    "approval_config": {
        "approval_switch": 1,
        "approval_condition": 1,
        "meeting_duration": 3,
        "approvers": [
            {
                "user_id": "ou_a27b07a9071d90577c0177bcec98f856"
            }
        ]
    },
    "time_config": {
        "if_cover_child_scope": true,
        "time_switch": 1,
        "days_in_advance": 30,
        "opening_hour": "27900",
        "start_time": "0",
        "end_time": "86400",
        "max_duration": 24
    },
    "reserve_scope_config": {
        "if_cover_child_scope": true,
        "allow_all_users": 0,
        "allow_users": [
            {
                "user_id": "ou_a27b07a9071d90577c0177bcec98f856"
            }
        ],
        "allow_depts": [
            {
                "department_id": "od-47d8b570b0a011e9679a755efcc5f61a"
            }
        ]
    }
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
500 | 121001 | internal error | 服务器内部错误，如果重试无效可联系管理员
400 | 121002 | not support | 暂不支持该功能
400 | 126001 | invalid room or level id, check itself or whether the scope type corresponds to it | 不存在该会议室或层级ID，或者检查scope_type是否对应
400 | 126012 | updated sum of userIDs and deptIDs exceed 500 | 用户与部门ID总数目超过了500
400 | 126013 | some userIDs you put is invalid | 存在无效的用户ID
400 | 126014 | some deptIDs you put is invalid | 存在无效的部门ID
400 | 121003 | param error | 参数错误，检查参数的取值范围（请按照上面字段说明自查）
404 | 121004 | data not exist | 无效的请求体，请确保请求方法、请求信息、请求数据格式等是正确的
403 | 121005 | no permission | 无权限进行该操作，建议检查token类型、操作者身份以及资源的归属

