# 修改对局规则打开状态

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

接口英文名：gamematch.setMatchIdOpenState

改 matchid 对应的打开状态。

每个 matchid 都有两种状态：打开(1)和关闭(0)

用户在调用加入匹配接口时，只能加入状态为打开的 matchid。状态为打开的 matchid 才会分配匹配池。

小程序通过[updateMatchRule](api_gamematch.updatematchrule)修改 matchid 对应的规则时，只能修改状态为关闭的 matchid

可以通过[getAllMatchRule](api_gamematch.getallmatchrule)拉取小程序所有 matchid 的配置信息和打开状态。

将打开状态设置为关闭（0）时，匹配服务会释放掉 matchid 对应的匹配池。如果是线上正在使用的 matchid，请谨慎变更 matchid 的状态。

## 1. 调用方式

### HTTPS 调用

```bash
POST https://api.weixin.qq.com/wxa/business/gamematch/setmatchopenstate?access_token=ACCESS_TOKEN
```

### 云调用

- 本接口不支持云调用。

### 第三方调用

- 本接口不支持第三方平台调用。

## 2. 请求参数

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

```json
[
  {
    "参数名": "access_token",
    "类型": "string",
    "必填": "是",
    "示例": "ACCESS_TOKEN",
    "说明": "接口调用凭证，可使用 [access_token](/minigame/dev/api-backend/access-token/api_getaccesstoken)"
  }
]
```

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "match_id",
    "类型": "number",
    "必填": "是",
    "说明": "需要变更状态的 matchid，通过[createMatchRule](api_gamematch.creatematchrule)后台接口创建",
    "枚举": "-"
  },
  {
    "参数名": "open_state",
    "类型": "number",
    "必填": "是",
    "说明": "matchid 的打开状态",
    "枚举": "枚举值"
  }
]
```

## 3. 返回参数

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "errcode",
    "类型": "number",
    "说明": "错误码"
  },
  {
    "参数名": "errmsg",
    "类型": "string",
    "说明": "错误信息"
  },
  {
    "参数名": "match_id",
    "类型": "string",
    "说明": "匹配池对应的 id，[加入匹配](/minigame/dev/api/game-server-manager/GameServerManager.startMatch.md)时需要携带 matchid 以加入对应的匹配池"
  }
]
```

## 4. 枚举信息

### Body.open_state `Enum`

matchid 的打开状态

```json
[
  {
    "枚举值": "0",
    "描述": "关闭"
  },
  {
    "枚举值": "1",
    "描述": "打开"
  }
]
```

## 5. 注意事项

本接口无特殊注意事项

## 6. 代码示例

请求示例

```json
{
  "match_id":"FD0PT4rKguEdK-L83RaJgdbchUCW8wjhSwgCku4CLQk",
  "open_state":1
}
```

返回示例

```json
{
  "errcode": 0,
  "errmsg": "ok"
}
```

## 7. 错误码

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

```json
[
  {
    "错误码": "-1",
    "错误描述": "系统繁忙，此时请开发者稍候再试"
  },
  {
    "错误码": "0",
    "错误描述": "请求成功"
  },
  {
    "错误码": "1",
    "错误描述": "matchid 不存在"
  },
  {
    "错误码": "200000",
    "错误描述": "无效的请求数据"
  },
  {
    "错误码": "500005",
    "错误描述": "无效的 matchid"
  },
  {
    "错误码": "500012",
    "错误描述": "open_state 的值不合法"
  }
]
```

## 8. 适用范围

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