# 美团棋牌一品多态 API｜无限聚核

> 棋牌包型包间、团购关联、库存、预订核销、退款代理与消息通知。

## AI 接入

[AI 接入提示词](https://doc.elys.cn/chess-sdk.md)

请读取 https://doc.elys.cn/chess-sdk.md，并按其中流程帮我接入无限聚核棋牌一品多态 API。

## 接入说明

开发版本：平台字段与实际权限需联调确认，服务发布后方可使用。

- 官方页面：https://doc.elys.cn/chess
- API Host：`https://newopen.elys.cn`
- Content-Type：`application/json`
- 成功判断：`检查 success 和 data.outcome；platformResponse 保留本次美团返回，受理成功不等于审核、退款完成。`

本文档由无限聚核公开 API 的结构化数据自动生成。接入时以当前字段、鉴权、成功判断和风险说明为准，不要猜测未列出的接口或参数。

## 美团合作授权

无限聚核已获得美团技术服务合作授权，为商户提供相关 API 产品服务。

![宁德无限递归网络科技有限公司美团合作授权书](https://cdn.umember.cn/assets/mt_auth.jpg)

美团合作授权书

<a id="chess-start"></a>

## 开发者接入流程

### 接口与消息全流程

实线为 API 调用或业务处理；Webhook 节点标注应答方式。

```mermaid
sequenceDiagram
 participant D as 开发者
 participant P as 聚核代理 / MC
 participant M as 美团
 participant L as 门禁 / 店长
 D->>P: API 规则 → 包型包间
 P->>M: 原生接口转发
 M-->>P: 5810162 包型结果
 P-->>D: notification / ACK
 D->>P: API 团购查询 → 关联包间 → 可订信息 → 库存 → 升级查询
 M-->>P: 5810017 开始预订
 P-->>D: decision / 保存并 ACK
 D->>D: 分配包间 / 建单
 D->>P: API bookresultcallback（extMap 字符串）
 P->>M: 原样转发
 M-->>P: 5810003 预订同步
 P-->>D: notification / ACK
 M-->>P: 5810027 设备启动
 P-->>D: command / unifiedOrderId
 D->>L: 执行真实开门
 L-->>D: 设备结果
 D-->>P: 同步 data={} 或 businessCode/businessMsg
 P-->>M: 同步开门结果
 D->>P: API isvconsume / 预占额度
 P->>M: 核销（每次调用都转发）
 M-->>P: 当次核销结果
 P-->>D: outcome + platformResponse
 M-->>P: 5810031 核销同步
 P-->>D: notification / ACK，不新增收费
 alt 用户退款状态查询
  M-->>P: 5810023
  P-->>D: query
  D-->>P: 同步 orderId + consumeStatus
  P-->>M: 同步查询应答
 else 人工退款审核
  M-->>P: 5810013
  P-->>D: decision / 保存并 ACK
  D->>L: 等待店长审核
  L-->>D: 同意或拒绝
  D->>P: API refundauditresult
  P->>M: 原样转发
 else 用户撤回退款
  M-->>P: 5810005
  P-->>D: notification / 撤销待审并 ACK
 else 商家主动退款
  D->>P: API merchantapply/refund 或 multirefund
  P->>M: 申请退款
  M-->>P: 5810165 审核意见
  P-->>D: notification / ACK
  D->>P: API query/order 核实退款结果
 end
 M-->>P: 5810001 取消预订
 P-->>D: command / 处理取消并释放资源
 D-->>P: 同步 data={orderId}
 P-->>M: 同步取消应答
 D->>P: API updatestock 更新占用

```

<a id="chess-contract"></a>

## 请求、响应与计费

### 一对一代理

全部为 POST /api/v2/yuding/chess/，对应 /ddzh/yuding/ 同后缀。鉴权通过且计费允许的每次调用都转发，平台决定重复调用是否生效；平台不承诺所有接口幂等。无需额外请求防重标识。

biz 原样传递，不要传签名、凭据或外部账号路由参数。长整数请使用无损 JSON 序列化；保持美团要求的字段类型，extMap 等 JSON 字符串不能变成对象。

success=true 与 outcome=succeeded 表示本次接口明确成功；rejected 为明确拒绝，not_submitted 为确定未提交，unknown 为结果未知。不能仅看 HTTP 200，也不能把异步受理当成审核/退款完成。unknown 先查单，不自动重试写请求。

### 计费边界

仅 isvconsume 计费；首次核销转发前预占 1 次，余额不足 QUOTA_EXHAUSTED 且不转发。共用现有计费订单、额度及流水，棋牌与体育馆相同账号/美团订单共用计费身份。

同周期重复请求不重复预占，仍返回当次平台结果。unknown 保留预占，后续重复拒绝不能误退此前成功或未知扣点。原预占已释放或费用已退回后再核销，按后继计费订单处理。

明确商家取消成功沿用原核销退点；审核同意、申请受理、5810165 和部分退款均不自动退点。开门和消息不计费；门已开但核销失败仍应如实返回设备成功。

### 官方文档与字段类型

业务流程以美团[棋牌一品多态对接方案](https://developer.meituan.com/docs/biz/biz_ddzh_20d841fe-d16e-4896-9629-1fed8f1ca200)为参考，各接口的“接口说明”页签链接到对应官方接口。Body 图形表单和下方示例已按官方业务参数列出嵌套字段。

官方 long 在字段表中标为 integer (int64)，string 订单号须保留引号。大于 JavaScript 安全整数的 long 值应由服务端无损序列化；不要把 long 一律改为字符串，也不要先转换为 JavaScript Number。

extMap 是包含 JSON 内容的字符串；properties 中的 attrValue 也必须是字符串，数组属性需先编码为 JSON 字符串。字段的条件必填要求见说明，具体业务校验由美团执行。

### 可订时段

推送团购可订信息时，进场模式（timeSelectType=2）下每一段在美团单独显示成一行“X–Y内开场”，并在团购关联的每个包间下各列一次。全天可订只推一段 00:00–00:00；有营业时间时写成一段，如跨天 10:00–02:00。

不要为了让顾客按小时或半小时选择而把开放时间切成多段：全天按半小时切成 48 段，同一团购就会在每个包间下重复出现 48 行。顾客下单时再选具体开场时间，使用时长由团购决定。

每个团购分别推送可订信息；推送成功后在美团 App 门店页核对展示。

### 库存与异常恢复

库存按未来 15 天完整占用推送；跨天按北京时间自然日拆分，开始向下、结束向上取整到半小时，并合并重叠。整天空闲也要发 0/0 清空条目，不能简单省略；所有会影响可订库存的本地渠道下单、支付、取消、结束、续时、维修及门店上下线都应重新推送。保洁是否占用由商家业务规则决定；若保洁可预约，不得把保洁时段作为不可订库存。

订单查询 platformResponse.data 中已确认 receipts[].receiptStatus：1 未使用、2 已使用、4 未核销退款、6 已核销退款。混合、空数组、缺失或未知状态都不能推断整单退款成功。amount 出现在原生结果中，但此查询的金额类型和单位尚未完整核实，不用于自动退款金额计算。预订消息 amount 则是元字符串。

无法核实的结果保持 unknown，保留占房或待处理任务并交人工核查；不能因查询失败或空数据释放资源、重试核销、回补额度。商户主动退款受理、审核意见和最终退款状态独立记录。

<a id="chess-messages"></a>

## 消息与应答

### 门店配置与签名

在管理端 /bot-notify 的棋牌 Tab 按门店配置一个 HTTPS URL；消息清单由基础配置决定，仅展示。新增 5810165 后，存量门店需显式保存以合入默认消息；发布时须确认连接允许列表也支持该消息。

外层 eventId,event,version,occurredAt,data；event=merchant.platform.message，version=1.0。data 包含 requestId、traceId、platform、businessId、msgType、mode、shopId、userId、payload 及按实际消息出现的 deadlineAt；payload 保留原文。

校验 X-Webhook-Account、X-Event-Id、X-Event-Timestamp，签名 X-Event-Signature=v1=<hex HMAC-SHA256(API Key,timestamp+"."+原始body)>。decision/notification 的 2xx 只表示收到。

query/command 同步返回 {"code":0,"message":"success","data":{...}}；data 不用 null。5810001 必须含 orderId；5810027 业务拒绝仍用外层 code=0，业务码放 data.businessCode（7/336/337/338/999）。

5810027 通常约 3 秒应答，按实际 deadlineAt；慢核销等工作由开发者可靠队列处理，不能阻塞开门应答。同单再次合法点击仍应执行开门。

接单、退款审核直接调棋牌 API，无需通过 MC /reply 重复提交。直接回调成功后平台尽力收敛 MC 技术待答复状态；状态同步失败不改变已取得的美团结果，也不重发业务。

### 10 类消息

| msgType | 模式 | 处理 / 应答 |
| --- | --- | --- |
| 5810162 | notification | 包型包间结果：ACK；更新逐项结果。 |
| 5810017 | decision | 保存并 ACK；分配包间后调用预订结果回调。 |
| 5810003 | notification | ACK；同步本地预订结果。 |
| 5810023 | query | 同步 data={orderId,consumeStatus}，1 未核销、2 已核销、3 未知。 |
| 5810013 | decision | 保存并 ACK；等店长审核后调用审核结果，不设本地短期限。 |
| 5810001 | command | 完成本地取消/释放资源，同步 data={orderId}，不能仅回空对象。 |
| 5810027 | command | 用 unifiedOrderId 执行真实开门；成功 data={}，业务拒绝 data={businessCode,businessMsg}。同单可多次合法开门。 |
| 5810031 | notification | ACK；同步核销状态，不新增收费。 |
| 5810005 | notification | ACK；撤销退款待审状态，保留已核销等事实。 |
| 5810165 | notification | ACK；auditResult=true/false 为审核意见，reason 为原因，不等于退款到账。 |

### 协议依据与兼容边界

以下 payload 字段依据 2026-11-06 棋牌联调说明，并与消息中心当前透传、签名及应答实现核对。示例均为虚构数据。平台消息不会被转换成聚核订单 DTO，未知字段须保留；商户实际能力仍需联调。

历史直连说明中的 Idempotency 请求头、外部 POI 作为 shopId、原生回包 data 字符串不适用于本代理：外层 shopId 是聚核内部门店 ID，API 不要求防重标识，Webhook 应答 data 使用对象。不得把其他业态的查询字段混入棋牌。

续时按新增的后续时段占库存，不能把原时段再次占用。回调已提供有效起止时间和候选包间时，按该时段校验、占用并推送最新库存；未确认的续时建单字段（例如主单关联字段名）原样保存，不能猜测关系。只有缺少必要时段或包间信息的部分转人工核实。已知的 subOrderIds 仅用于退款关联，不能据此推导续时建单协议。

### 回调地址验证

保存新 URL 前会收到 event=webhook.endpoint.verification，仍使用五字段外层、相同签名和账号头。验签通过后仅返回 {"challenge":"原样的 data.challenge"}。它没有业务 shopId、msgType 或订单，不进入业务处理。X-Event-Timestamp 是 Unix 秒，接收端检查时钟偏差（建议 300 秒）并核对 X-Event-Id 与 eventId、data.requestId。

X-Webhook-Account 对应配置账号邮箱；业务 data.userId、data.shopId 绑定聚核账号与内部门店，必须与本地绑定一起校验，不能仅按 payload 的 opBizCode 或房间 ID 路由。签名计算使用原始字节，不能重新序列化。重复投递以 eventId 防重复副作用；同一订单的新开门事件必须重新执行。

### 完整消息信封与同步回包

#### 已验签的预订消息（虚构示例）

```json
{
  "eventId": "mc_example_001",
  "event": "merchant.platform.message",
  "version": "1.0",
  "occurredAt": "2026-12-01T00:00:00Z",
  "data": {
    "requestId": "mc_example_001",
    "traceId": "trace_example",
    "platform": "meituan",
    "businessId": "58",
    "msgType": "5810017",
    "mode": "decision",
    "shopId": 100001,
    "userId": 100002,
    "payload": {
      "orderId": "1234567890123456789",
      "appProductId": "[100101,100102]",
      "begintime": "2026-12-01 10:00",
      "endtime": "2026-12-01 14:00",
      "duration": "240",
      "products": "[{\"quantity\":1,\"product_id\":100201,\"product_name\":\"无套餐\"}]",
      "amount": "39.90",
      "quantity": "1",
      "bizType": "1"
    }
  }
}
```

#### 核销状态查询应答

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "orderId": "1234567890123456789",
    "consumeStatus": 2
  }
}
```

#### 取消完成应答

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "orderId": "1234567890123456789"
  }
}
```

#### 设备问题应答

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "businessCode": 338,
    "businessMsg": "设备未确认执行，请联系商家"
  }
}
```

### 5810017 payload 字段

orderId 是字符串；appProductId 是候选包间 ID 数组的 JSON 字符串，内部整数无损解析。begintime/endtime 全小写，北京时间 yyyy-MM-dd HH:mm；duration 为分钟字符串，amount 为元字符串。products 是 JSON 数组字符串，product_id 为团购 ID；mobile/userName 为可选用户资料，不可将脱敏手机号当作登录身份。先持久保存，再分配本店候选空闲包间、占房并回调；冲突拒单 code=40006，extMap 首次接单就带齐。

### 5810017 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "appProductId": "[100101,100102]",
  "begintime": "2026-12-01 10:00",
  "endtime": "2026-12-01 14:00",
  "duration": "240",
  "products": "[{\"quantity\":1,\"product_id\":100201,\"product_name\":\"无套餐\"}]",
  "amount": "39.90",
  "quantity": "1",
  "bizType": "1"
}
```

### 5810003 payload 字段

beginTime/endTime 使用驼峰，bookStatus 字符串 2 成功、3 失败。仅同步预订事实，不能覆盖已取消终态或把预订成功当作已核销。

### 5810003 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "beginTime": "2026-12-01 10:00",
  "endTime": "2026-12-01 14:00",
  "bookStatus": "2",
  "amount": "39.90"
}
```

### 5810023 payload 字段

同步返回 orderId 与整数 consumeStatus：1 未核销、2 已核销、3 未知；退款待审不抹除既有核销事实。

### 5810023 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789"
}
```

### 5810013 payload 字段

orderId/reason/type 为字符串；subOrderIds 为存在续时时的订单号数组。isTieredRefund 可能出现，但当前资料未确认类型，不推断。持久保存待审并 ACK；人工审核通过 API 回调，不因等待时间长或已经核销自动拒绝。

### 5810013 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "reason": "计划有变",
  "type": "1",
  "subOrderIds": [
    "1234567890123456790"
  ]
}
```

### 5810001 payload 字段

orderId、cancelType、auditChannel、reason、type 保留原始字符串。完成本地取消、释放资源，记录平台取消事实并更新库存，不在开发者系统重复调用微信退款。重复取消返回相同订单号；未收到的旧订单也要留终态，防止乱序预订重建。

### 5810001 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "cancelType": "2",
  "auditChannel": "2",
  "reason": "用户取消",
  "type": "1"
}
```

### 5810005 payload 字段

撤销待审状态，保留已核销、已取消等独立事实；不能把已取消单恢复成可开门。

### 5810005 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789"
}
```

### 5810031 payload 字段

verifyStatus 字符串 2 表示已核销；verifyChannel 字符串 3 为三方核销；可能有 serialNumber 流水号，留存时按敏感信息管理，不进入普通日志。不再调用核销或扣费。

### 5810031 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "verifyStatus": "2",
  "verifyChannel": "3",
  "type": "1"
}
```

### 5810027 payload 字段

unifiedOrderId 是预订单号，不是本地订单 ID。校验门店、订单、允许开门时段及房间占用；提前开门分钟数由商户策略决定，不能把联调门店 30 分钟当平台规定。成功 data={}；7 过早、336 房间占用、337 非营业时间、338 设备问题或超时、999 其他业务失败。MQTT 发布成功不能证明设备执行成功，应有设备执行回执；未知结果不得报告成功。开门成功后可靠排队核销，核销不阻塞约 3 秒应答。

### 5810027 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "unifiedOrderId": "1234567890123456789"
}
```

### 5810162 payload 字段

逐项记录 roomTypeCode 字符串、roomCodeList 整数数组、success 布尔和 errMsg；API 受理成功不代表逐项同步或平台审核成功。

### 5810162 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "roomSyncResultList": [
    {
      "roomTypeCode": "type-001",
      "roomCodeList": [
        100101,
        100102
      ],
      "success": true,
      "errMsg": ""
    }
  ]
}
```

### 5810165 payload 字段

auditResult 为布尔审核意见，reason 为原因。orderId 可能为字符串或原生 long，需无损解析保存，不经浮点数。该通知不是最终退款完成或退点凭据。

### 5810165 payload 示例

#### 美团 payload（外层信封同上）

```json
{
  "orderId": "1234567890123456789",
  "auditResult": true,
  "reason": ""
}
```

## 棋牌代理接口

<a id="chess-01"></a>

### 推送门店预订规则

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/shoprule/booking`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：同步门店的接单、预约和退款规则；阶梯退款与提前退订分钟数需配套设置。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-shoprule-booking

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `acceptType`（`integer`，必填）：接单方式：1 自动接单，2 人工接单。；可选值：1（自动接单）、2（人工接单）
  - `notifyPhone`（`string`，选填）：接收接单提醒的手机号。
  - `acceptOrderPeriod`（`string`，选填）：可接单的时间范围，格式为 HH:mm,HH:mm；省略时不限制接单时段。
  - `addOrderBefore`（`integer`，选填）：提前多少分钟可预订，允许 0～120。
  - `refundBefore`（`integer`，必填）：允许直接退订的提前分钟数，可填 60、30 或 0；阶梯退款仅允许 60。；可选值：60（提前 60 分钟）、30（提前 30 分钟）、0（开始前）
  - `refundType`（`string`，选填）：退款规则：fullRefund 为全额退款，tieredRefund 为阶梯退款；阶梯退款需同时设置 refundBefore=60。；可选值：fullRefund（全额退款）、tieredRefund（阶梯退款）

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "acceptType": 1,
    "acceptOrderPeriod": "00:00,00:00",
    "addOrderBefore": 30,
    "refundBefore": 60,
    "refundType": "fullRefund"
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-02"></a>

### 推送包型包间

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/room/sync`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：异步同步包型及包间；创建省略 roomTypeId，更新提供该 ID。真实逐项结果通过 5810162 消息返回。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-room-sync

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `roomInfoList`（`array<object>`，必填）：本次同步的包型数组，最多 50 个；接口受理后，逐项结果通过 5810162 消息通知。
    - `roomTypeId`（`integer (int64)`，选填）：美团分配的包型 ID；创建时省略，更新已有包型时必须提供。
    - `roomTypeCode`（`string`，必填）：调用方系统中的包型标识，使用字符串。
    - `roomTypeName`（`string`，必填）：包型名称，使用中文、英文字母和数字。
    - `roomTypeImageUrlList`（`array<string>`，必填）：包型图片地址，最多 5 张，地址使用 HTTP/HTTPS 默认端口。
    - `properties`（`array<object>`，必填）：包型属性。棋牌必需 spaceType、hasIndependentWashRoom、windowTypes；统一面积还需 space，区间面积还需 minSpace 和 maxSpace。
      - `attrName`（`string`，必填）：包型属性名称，按官方棋牌属性表填写；hasWindow 已弃用，使用 windowTypes。；可选值：spaceType（面积类型）、minSpace（最小面积）、maxSpace（最大面积）、space（统一面积）、hasWindow（是否有窗（弃用））、hasSofa（沙发）、hasTeaDesk（茶桌）、hasIndependentWashRoom（独立卫生间）、mahjongNewOld（麻将桌新旧）、chargePolicy（收费政策）、convenienceFacilities（便利设施）、ventilationFacilities（通风设施）、heatAndCoolFacilities（冷暖设施）、areaStyle（风格）、tableAndChairInformation（桌椅类型）、mahjongTypes（麻将类型）、roomIntroduction（房间介绍）、roomTags（房间标签）、windowTypes（窗户类型）、mahjongTiles（麻将张数）
      - `attrValue`（`string`，必填）：属性值始终使用字符串。spaceType 为 1（统一面积）或 2（区间面积）；面积填写整数字符串。数组属性需编码为 JSON 字符串，例如 windowTypes 填 ["1"]。
    - `roomList`（`array<object>`，必填）：该包型的包间数组，每个包型最多 50 个包间。
      - `roomCode`（`integer (int64)`，必填）：调用方系统中的包间 ID，官方类型为 long。
      - `roomName`（`string`，必填）：包间名称。
      - `roomImageUrlList`（`array<string>`，必填）：棋牌场景必填。包间图片最多 5 张，地址使用 HTTP/HTTPS 默认端口。
      - `properties`（`array<object>`，必填）：棋牌场景必填。包间属性必须包含 space、hasIndependentWashRoom、windowTypes。
        - `attrName`（`string`，必填）：包间属性名称，按官方棋牌属性表填写；hasWindow 已弃用，使用 windowTypes。；可选值：space（面积）、hasWindow（是否有窗（弃用））、hasSofa（沙发）、hasTeaDesk（茶台）、hasIndependentWashRoom（独立卫生间）、mahjongNewOld（麻将桌新旧）、convenienceFacilities（便利设施）、ventilationFacilities（通风设施）、heatAndCoolFacilities（冷暖设施）、roomStyle（房间风格）、tableAndChairInformation（桌椅类型）、mahjongType（麻将类型）、windowTypes（窗户类型）、mahjongTiles（麻将张数）
        - `attrValue`（`string`，必填）：属性值始终使用字符串；面积用整数字符串，布尔类属性用 "0" 或 "1"。数组属性需编码为 JSON 字符串；windowTypes 中 0 为无窗、1 为内窗、2 为外窗。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "roomInfoList": [
      {
        "roomTypeCode": "type-001",
        "roomTypeName": "标准包间",
        "roomTypeImageUrlList": [
          "https://example.com/room-type.jpg"
        ],
        "properties": [
          {
            "attrName": "spaceType",
            "attrValue": "1"
          },
          {
            "attrName": "space",
            "attrValue": "20"
          },
          {
            "attrName": "hasIndependentWashRoom",
            "attrValue": "1"
          },
          {
            "attrName": "windowTypes",
            "attrValue": "[\"1\"]"
          }
        ],
        "roomList": [
          {
            "roomCode": 1001,
            "roomName": "一号包间",
            "roomImageUrlList": [
              "https://example.com/room.jpg"
            ],
            "properties": [
              {
                "attrName": "space",
                "attrValue": "20"
              },
              {
                "attrName": "hasIndependentWashRoom",
                "attrValue": "1"
              },
              {
                "attrName": "windowTypes",
                "attrValue": "[\"1\"]"
              }
            ]
          }
        ]
      }
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-03"></a>

### 查询包型包间

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/room/query`
- 在线调试风险：只读请求
- 授权：Authorization: Bearer <API Key>。
- 说明：查询当前授权门店的包型和包间；没有额外业务参数，biz 传空对象。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-room-query

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：官方未定义业务入参，传空对象 {}；授权门店通过外层 shopId 指定。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {}
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-04"></a>

### 删除包型

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/room/delete`
- 在线调试风险：会改变业务状态；调用前必须获得明确确认
- 授权：Authorization: Bearer <API Key>。
- 说明：按美团 roomTypeId 删除包型。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-room-delete

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `roomTypeId`（`integer (int64)`，必填）：要删除的美团包型 ID，官方类型为 long。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "roomTypeId": 100001
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-05"></a>

### 查询门店团购

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/dealgroup/product/query`
- 在线调试风险：只读请求
- 授权：Authorization: Bearer <API Key>。
- 说明：分页查询授权门店下的团购商品。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-dealgroup-product-query

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `pageSize`（`integer`，必填）：每页获取的团购数量；接入案例的接口校验上限为 10，建议使用 10。
  - `pageNo`（`integer`，选填）：查询页码。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "pageSize": 10,
    "pageNo": 1
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-06"></a>

### 团购关联包型包间

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/dealgroup/relate/room`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：将团购与调用方包型、包间关联；包型包间关系变化后应重新推送关联。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-dealgroup-relate-room

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `dealGroupId`（`integer (int64)`，必填）：要建立关联的美团团购 ID，官方类型为 long。
  - `roomInfoList`（`array<object>`，必填）：该团购关联的包型与包间。
    - `roomTypeCode`（`string`，必填）：调用方的包型标识，与包型同步时的 roomTypeCode 对应。
    - `roomBaseCodeList`（`array<integer (int64)>`，必填）：关联包间的 ID 数组，元素为 long，与包间同步时的 roomCode 对应。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "dealGroupId": 100001,
    "roomInfoList": [
      {
        "roomTypeCode": "type-001",
        "roomBaseCodeList": [
          1001
        ]
      }
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-07"></a>

### 推送团购可订信息

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/dealgroup/relate/booking`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：设置团购的可订日期、时段及节假日限制，支持循环日期和指定日期组合。进场模式下每一段在美团单独显示成一行“X–Y内开场”，并在团购关联的每个包间下各列一次：全天可订只推一段 00:00–00:00，不要按小时或半小时切成多段，否则同一团购会重复出现；顾客下单时再选具体开场时间。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-dealgroup-relate-booking

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `dealGroupId`（`integer (int64)`，必填）：美团团购 ID，官方类型为 long。
  - `limitPolicys`（`array<object>`，必填）：团购可订日期和时段规则；同类循环日期或特殊日期的时段不能重叠。
    - `limitType`（`integer`，选填）：日期规则：1 按星期循环，2 指定可订日期，3 指定不可订日期；类型 3 必须与 1 或 2 搭配。；可选值：1（循环日期）、2（特殊可订日期）、3（特殊不可订日期）
    - `effectiveWeek`（`integer`，选填）：limitType=1 时必填；1～7 分别对应周一至周日。；可选值：1（周一）、2（周二）、3（周三）、4（周四）、5（周五）、6（周六）、7（周日）
    - `specialStartDate`（`string`，选填）：日期区间起点，格式 yyyy-MM-dd。类型 2 必填；类型 3 需提供完整日期区间、holidays 或两者。
    - `specialEndDate`（`string`，选填）：日期区间终点，格式 yyyy-MM-dd。类型 2 必填；类型 3 需与 specialStartDate 一起填写，或改用 holidays。
    - `limitTimeRanges`（`array<object>`，选填）：类型 1、2 必填的可订时段；类型 3 不使用此字段。每一段在美团单独显示成一行，通常每个星期只需一段，如全天 00:00–00:00 或跨天营业 10:00–02:00。
      - `startTime`（`string`，必填）：开始时间，HH:mm 格式，按 5 分钟刻度填写。
      - `endTime`（`string`，必填）：结束时间，HH:mm 格式，分钟为 5 的倍数；时长不能超过 24 小时。与起点相同表示全天，小于起点表示跨天。
      - `timeSelectType`（`integer`，必填）：时段模式：1 包段，2 进场。进场表示顾客在该段内选择开场时间，使用时长由团购决定。；可选值：1（包段）、2（进场）
    - `holidays`（`array<integer>`，选填）：仅适用于类型 3。节日编号：101 元旦、102 春节、103 劳动节、104 端午、105 国庆、106 清明、107 中秋、108 儿童节、109 元宵、110 七夕、111 冬至、201 情人节、202 圣诞、203 平安夜。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "dealGroupId": 100001,
    "limitPolicys": [
      {
        "limitType": 1,
        "effectiveWeek": 1,
        "limitTimeRanges": [
          {
            "startTime": "08:00",
            "endTime": "23:00",
            "timeSelectType": 2
          }
        ]
      }
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-08"></a>

### 更新三方库存

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/updatestock`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：同步房间的占用时段。注意毫秒时间戳、半小时分钟偏移以及续时场景的 occupyType 要求。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-updatestock

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `thirdPartyRoomId`（`integer (int64)`，必填）：调用方系统中的房间 ID，官方类型为 long。
  - `roomName`（`string`，必填）：对应的房间名称。
  - `deskSoldTimePeriods`（`array<object>`，必填）：房间占用信息，按业务类型分组。
    - `bizType`（`string`，必填）：业务类型，普通预订填写字符串 "1"。；可选值：1（普通预订）
    - `timePeriodItems`（`array<object>`，必填）：该业务类型下的占用时段数组。
      - `beginMinutes`（`integer`，必填）：开始时间相对当天 00:00 的分钟数，如 08:00 为 480；分钟偏移按半小时粒度填写。
      - `endMinutes`（`integer`，必填）：结束时间相对当天 00:00 的分钟数，分钟偏移按半小时粒度填写。
      - `beginTime`（`integer (int64)`，必填）：占用开始时间，Unix 毫秒时间戳。
      - `endTime`（`integer (int64)`，必填）：占用结束时间，Unix 毫秒时间戳。
      - `occupyType`（`integer`，选填）：占用类型：1 库存占用，2 待保洁不可订，3 待保洁可订，4 保洁中可订，5 保洁中不可订。默认 1；续时场景必填，且保洁占用在续时场景均视为可订。；可选值：1（库存占用）、2（待保洁不可订）、3（待保洁可订）、4（保洁中可订）、5（保洁中不可订）

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "thirdPartyRoomId": 1001,
    "roomName": "一号包间",
    "deskSoldTimePeriods": [
      {
        "bizType": "1",
        "timePeriodItems": [
          {
            "beginMinutes": 480,
            "endMinutes": 600,
            "beginTime": 1796083200000,
            "endTime": 1796090400000,
            "occupyType": 1
          }
        ]
      }
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-09"></a>

### 查询一品多态门店信息

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/dealgroupbook/shopinfoquery`
- 在线调试风险：只读请求
- 授权：Authorization: Bearer <API Key>。
- 说明：查询当前授权门店的一品多态信息；没有额外业务参数，biz 传空对象。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-dealgroupbook-shopinfoquery

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：官方未定义业务入参，传空对象 {}；授权门店通过外层 shopId 指定。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {}
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-10"></a>

### 同步门店超值套餐

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/resource/dealgroup/greatvalue/sync`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：同步门店的超值套餐团购列表，最多 5 个，本次列表覆盖原配置。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-resource-dealgroup-greatvalue-sync

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `dealGroupIds`（`array<integer (int64)>`，必填）：超值套餐团购 ID 数组，最多 5 个。门店须为一品多态门店，团购须属于对应类目、适用该店且处于在线状态；本次列表覆盖原配置。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "dealGroupIds": [
      100001,
      100002
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-11"></a>

### 回调预订结果

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/bookresultcallback`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：提交预订成功或失败结果；extMap 为序列化后的 JSON 字符串。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-bookresultcallback

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderId`（`string`，必填）：美团订单 ID，必须保持字符串类型。
  - `bookStatus`（`integer (int64)`，必填）：预订结果：2 成功，3 失败。；可选值：2（预订成功）、3（预订失败）
  - `code`（`integer (int64)`，必填）：预订业务码：成功填 200；失败按官方业务错误码填写，常见范围 40001～40007，用户端会据此显示失败原因。
  - `appOrderId`（`string`，选填）：调用方系统中的订单号，使用字符串。
  - `type`（`integer (int64)`，选填）：生活服务交易类型：1 预订，2 团购后预约；团购后预约必填，普通预订可省略，其他行业不传。；可选值：1（预订）、2（团购后预约）
  - `extMap`（`string`，选填）：扩展字段需先序列化为 JSON 字符串，不能直接传对象；预订失败时省略。下列子字段描述字符串内部结构。
    - `roomName`（`string`，选填）：棋牌茶馆场景的三方房间名称。
    - `isDIY`（`string`，选填）：棋牌茶馆是否自助：字符串 "true" 展示订单开门按钮，"false" 不展示；不要传布尔值。；可选值：true（展示开门按钮）、false（不展示开门按钮）
    - `thirdPartyRoomId`（`string`，选填）：棋牌茶馆场景的三方房间 ID，使用字符串。
    - `serialNumber`（`string`，选填）：酒吧预订的开台码；棋牌场景无需填写。
  - `serviceTechId`（`string`，选填）：通过美团接口生成的服务人员 ID，有对应服务人员时填写。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": "1234567890123456789",
    "bookStatus": 2,
    "code": 200,
    "appOrderId": "local-order-001",
    "type": 2,
    "extMap": "{\"roomName\":\"一号包间\",\"isDIY\":\"true\",\"thirdPartyRoomId\":\"1001\"}"
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-12"></a>

### 用户到店核销

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/isvconsume`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：提交用户到店核销；支持续时的门店还需提供实际开始和预计结束时间。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-isvconsume

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderId`（`string`，必填）：美团订单 ID，必须保持字符串类型。
  - `startTime`（`string`，选填）：订单实际开始时间，格式 yyyy-MM-dd HH:mm；支持续时的门店必须填写。
  - `endTime`（`string`，选填）：预计结束时间，格式 yyyy-MM-dd HH:mm；支持续时的门店必须填写。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": "1234567890123456789",
    "startTime": "2026-12-01 08:00",
    "endTime": "2026-12-01 10:00"
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-13"></a>

### 商家取消订单

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/merchantcancelorder`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：商家取消订单；生活服务的团购后预约使用 type=2，新版预订使用 type=3。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-merchantcancelorder

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderId`（`string`，必填）：美团订单 ID，必须保持字符串类型。
  - `cancelReason`（`string`，选填）：本次取消订单的原因。
  - `type`（`integer`，选填）：生活服务交易类型：1 为旧预订模式（省略时默认值），2 为团购后预约，3 为新版预订并支持核销后取消。团购后预约必须填 2；预订使用 3；其他行业不传。；可选值：1（旧预订模式）、2（团购后预约）、3（新版预订）

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": "1234567890123456789",
    "cancelReason": "商户与用户协商取消",
    "type": 2
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-14"></a>

### 回调退款审核结果

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/refundauditresult`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：提交取消预订的审核结论；存在续时单时需传入 subOrderIds。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-refundauditresult

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `auditResult`（`integer`，必填）：审核结论：2 通过，3 拒绝。；可选值：2（审核通过）、3（审核拒绝）
  - `orderId`（`string`，必填）：美团订单 ID，必须保持字符串类型。
  - `type`（`integer`，选填）：生活服务的交易类型，预订填 1，可省略；其他行业不传。；可选值：1（预订）
  - `subOrderIds`（`array<string>`，选填）：关联的续时订单 ID 字符串数组；存在续时订单时必须提供全部相关订单。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": "1234567890123456789",
    "auditResult": 2,
    "type": 1,
    "subOrderIds": [
      "1234567890123456790"
    ]
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-15"></a>

### 商家主动申请退款

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/merchantapply/refund`
- 在线调试风险：会改变业务状态；调用前必须确认：确认已核实门店、参数及真实业务影响。
- 授权：Authorization: Bearer <API Key>。
- 说明：申请全额或部分退款；部分退款需指定金额，受理成功不等于退款完成。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-merchantapply-refund

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderId`（`string`，必填）：美团订单 ID，必须保持字符串类型。
  - `refundAmount`（`integer (int64)`，选填）：退款金额，单位分；部分退款（refundType=2）时必填，不能超过用户实际支付金额。
  - `cancelReason`（`string`，选填）：申请退款的原因。
  - `refundType`（`integer`，选填）：1 全额退款，2 部分退款；省略时按部分退款处理。；可选值：1（全额退款）、2（部分退款）

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": "1234567890123456789",
    "refundType": 2,
    "refundAmount": 1000,
    "cancelReason": "协商部分退款"
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-16"></a>

### 续时商家主动取消

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/merchantapply/multirefund`
- 在线调试风险：会改变业务状态；调用前必须获得明确确认
- 授权：Authorization: Bearer <API Key>。
- 说明：续时场景按订单列表提交取消和退款金额；主订单与接单成功的续时订单需一起提供。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-merchantapply-multirefund

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderList`（`array<object>`，必填）：退款订单数组。续时场景需包含主订单及全部接单成功的续时订单；接单失败的续时单不传。非续时场景只传一笔订单。
    - `orderId`（`string`，必填）：该笔美团订单 ID，使用字符串。
    - `orderType`（`integer`，必填）：订单类型：1 主订单，2 续时订单。；可选值：1（主订单）、2（续时订单）
    - `refundAmount`（`integer (int64)`，必填）：该笔订单退款金额，单位分；不退款也要明确填 0，全额退款填写该单用户实付总额。
  - `cancelReason`（`string`，选填）：本次取消原因。
  - `type`（`integer`，选填）：生活服务的交易类型，预订填 1，可省略；其他行业不传。；可选值：1（预订）

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderList": [
      {
        "orderId": "1234567890123456789",
        "orderType": 1,
        "refundAmount": 1000
      },
      {
        "orderId": "1234567890123456790",
        "orderType": 2,
        "refundAmount": 500
      }
    ],
    "cancelReason": "协商取消主单及续时单",
    "type": 1
  }
}
```

#### 响应示例

##### 转发成功（平台业务结果仅为示例）

```json
{"success": true, "code": 10000, "message": "", "traceId": "trace-example", "data": {"outcome": "succeeded", "platformResponse": {"code": "OP_SUCCESS", "data": {}}}}
```

<a id="chess-17"></a>

### 查询订单信息

- 方法：`POST`
- URL：`https://newopen.elys.cn/api/v2/yuding/chess/query/order`
- 在线调试风险：只读请求
- 授权：Authorization: Bearer <API Key>。
- 说明：查询美团预约订单。orderId 的官方类型为 long，与回调接口中的字符串订单 ID 区分。
- 美团官方文档：https://developer.meituan.com/docs/api/ddzh-yuding-query-order

#### JSON Body 参数

- `platform`（`string`，必填）：固定 meituan。；默认值：meituan
- `shopId`（`string`，必填）：无限聚核内部门店 ID，须属于当前账号。不是美团 POI。
- `biz`（`object`，必填）：美团业务参数；公共鉴权与签名由服务端处理。请保持下列字段的类型和条件必填约束。
  - `orderId`（`integer (int64)`，必填）：预约单 ID，官方要求 long。超过 JavaScript 安全整数范围时，请在服务端使用无损 JSON 序列化提交，不能先转为 JavaScript Number。

#### 请求示例

##### 结构示例，ID、图片和时间请替换为实际业务值

```json
{
  "platform": "meituan",
  "shopId": "100001",
  "biz": {
    "orderId": 100001
  }
}
```

#### 响应字段

- `data.platformResponse.data.receipts[].receiptStatus`（`integer`，选填）：1 未使用、2 已使用、4 未核销退款、6 已核销退款。混合、缺失、空数组与其他值不能推断整单终态。

#### 响应示例

##### 已确认字段的最小示例，其余原生字段透传

```json
{
  "success": true,
  "code": 10000,
  "message": "",
  "traceId": "trace_example",
  "data": {
    "outcome": "succeeded",
    "platformResponse": {
      "code": "OP_SUCCESS",
      "data": {
        "receipts": [
          {
            "receiptStatus": 2
          }
        ]
      }
    }
  }
}
```

## 技术支持

接入过程中可联系无限聚核技术支持。
