无限聚核开放平台团购核销 V1 API
面向无人自助业态提供美团、抖音团购券查询与核销能力。本页展示 6 个已有生产样本确认的公开接口,并补充代码确认的授权接口。
快速接入
按以下顺序完成 V1 核销链路接入。
获取 V1 Token
调用 /open/login,使用注册邮箱与密码获取 V1 Token。后续请求在 Authorization 请求头中直接传 Token,不加 Bearer。
获取系统门店 ID
调用 /open/user/meituan/store/list,从安全业务字段 data[].child_stores[].store_id 中取得后续查询与核销使用的系统门店 ID。
先查券详情,再确认核销
先调用 /open/user/meituan/coupon/detail 并检查 data.status_code;确认券可用后,再由用户明确触发 /open/user/meituan/coupon/verify。超时或结果未知时不要自动重试。
美团合作授权
无限聚核已获得美团技术服务合作授权,为商户提供相关 API 产品服务。

授权接口
该接口已通过代码确认,用于获取后续接口所需的 V1 Token;示例账号、密码及返回值均已脱敏。
/open/login获取 Token代码确认 · 授权接口使用注册邮箱与密码获取 V1 Token。后续接口在 Authorization 请求头中直接传 Token,不加 Bearer。
鉴权方式
无需鉴权无需 Authorization 请求头。
Content-Type
application/json请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| string | 是 | 注册邮箱。 | |
| password | string | 是 | 登录密码。 |
请求示例 · 已脱敏
{
"email": "user@example.com",
"password": "<登录密码>"
}响应字段6 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;成功时为 10000。 |
| msg | string | 外层业务消息。 |
| data | object | 登录用户与 Token 数据。 |
| data.token | string | 后续 V1 接口使用的 Token;请求头直接传值,不加 Bearer。 |
| count | number | 响应记录数。 |
| date_time | string | 服务端响应时间。 |
代码确认 · 成功响应(敏感字段已脱敏)
{
"code": 10000,
"msg": "success",
"data": {
"username": "示例用户",
"id": 10000,
"phone": "138****0000",
"token": "<V1_TOKEN>",
"openid": "",
"sessionKey": ""
},
"count": 1,
"date_time": "2099-01-01 12:00:00"
}生产已确认接口
以下 6 条路径已获得生产真实样本确认,但可信范围仅限各接口 badge 和 notes 明确列出的场景。
/open/user/meituan/coupon/list美团套餐列表生产已确认 · 第 1 页非空成功获取指定系统门店在美团上的套餐列表。已确认金额字段为 string,两个 SKU ID 字段为 number。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| store_id | number | numeric string | 是 | 系统门店 ID,当前 Token 所属账号必须拥有该门店。 |
| page | number | numeric string | 否 | 页码;生产已确认 page=1 的非空成功场景。 |
HTTP
GET /open/user/meituan/coupon/list?store_id=<系统门店 ID>&page=1
Authorization: <V1_TOKEN>响应字段13 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;本次非空成功样本为 10000。 |
| msg | string | 外层消息;本次非空成功样本为 success。 |
| data | array | 美团套餐数组。空页形态尚未实测确认。 |
| data[].actual_amount | string | 套餐实际价格,字符串类型。 |
| data[].origin_amount | string | 套餐原价,字符串类型。 |
| data[].product_name | string | 套餐名称。 |
| data[].sku_id | number | 美团团单 ID。 |
| data[].dp_sku_id | number | 点评团单 ID。 |
| data[].sku_name | string | 套餐名称兼容字段。 |
| data[].status | number | V1 套餐状态;本次样本为 3。 |
| data[].status_text | string | 套餐状态文本,例如售卖中或已下线。 |
| count | number | 本次生产样本中等于当前返回数组条数;其他分页场景仍待确认。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
生产确认字段 · 全部业务值均为虚构或掩码
{
"code": 10000,
"msg": "success",
"data": [
{
"actual_amount": "79.90",
"origin_amount": "99.00",
"product_name": "示例套餐",
"sku_id": 90001,
"dp_sku_id": 90002,
"sku_name": "示例套餐",
"status": 3,
"status_text": "售卖中"
}
],
"count": 1,
"date_time": "2099-01-01 12:00:00"
}/open/user/douyin/coupon/list抖音套餐列表生产已确认 · 非空成功获取指定系统门店在抖音上的套餐列表。已确认金额为 number,sku_id 为 string。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| store_id | number | numeric string | 是 | 系统门店 ID,当前 Token 所属账号必须拥有该门店。 |
| count | number | numeric string | 否 | 期望每页条数;小于 1 时恢复为默认值。wxdg 路由当前不会将该参数传给 Node 下游。 |
| page | number | numeric string | 否 | 页码;小于 1 时恢复为默认值。wxdg 路由当前不会将该参数传给 Node 下游。 |
HTTP
GET /open/user/douyin/coupon/list?store_id=<系统门店 ID>&count=10&page=1
Authorization: <V1_TOKEN>响应字段10 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;本次非空成功样本为 10000。 |
| msg | string | 外层消息;本次非空成功样本为 success。 |
| data | array | 抖音套餐数组。空结果形态尚未实测确认。 |
| data[].actual_amount | number | 套餐实际价格,number 类型。 |
| data[].origin_amount | number | 套餐原价,number 类型。 |
| data[].product_name | string | 套餐名称。 |
| data[].sku_id | string | 抖音 SKU ID,字符串类型。 |
| data[].sku_name | string | 套餐名称兼容字段。 |
| count | number | 本次生产样本中等于当前返回数组条数。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
生产确认字段 · 全部业务值均为虚构或掩码
{
"code": 10000,
"msg": "success",
"data": [
{
"actual_amount": 59.9,
"origin_amount": 79.9,
"product_name": "示例套餐",
"sku_id": "DY_SKU_***",
"sku_name": "示例套餐"
}
],
"count": 1,
"date_time": "2099-01-01 12:00:00"
}/open/user/meituan/coupon/detail历史混合团购券详情生产已确认 · 未使用与已使用查询团购券详情。该历史路径可能先尝试抖音再回退美团,因此路径中的 meituan 不代表最终 coupon_channel。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
查询参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| store_id | number | numeric string | 是 | 系统门店 ID,当前 Token 所属账号必须拥有该门店。 |
| coupon_code | string | 是 | 团购券码;美团路径会去除空格,抖音分享链接可能被解析。 |
HTTP
GET /open/user/meituan/coupon/detail?store_id=<系统门店 ID>&coupon_code=<已掩码券码>
Authorization: <V1_TOKEN>响应字段15 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;已使用场景也可能为 10000,不能单独判断券是否可用。 |
| msg | string | 外层消息;可能是 success、Success 或上游业务提示。 |
| data | object | 券详情对象。 |
| data.sku_id | string | 套餐 SKU ID;已使用失败样本中为兼容占位值。 |
| data.price | number | 套餐价格;已使用失败样本中为 0。 |
| data.order_id | string | 订单号;已使用失败样本中为空字符串。 |
| data.sku_name | string | 套餐名称;已使用失败样本中可能为空字符串。 |
| data.status | string | 券状态文本;已确认未使用和已使用。 |
| data.status_code | number | 券状态码;已确认 0 表示未使用、1 表示已使用。调用方必须判断此字段。 |
| data.coupon_channel | meituan | douyin | 实际识别出的券渠道,不能根据 URL 路径推断。 |
| data.coupon_code | string | 业务侧原始券码,属于敏感数据;展示和日志必须脱敏。 |
| data.certificate_id | string | 抖音券且存在证书标识时返回。 |
| data.rawData | unknown | 仅部分美团未使用场景存在的上游原始数据;敏感且结构不稳定,不应展示、复制或依赖。 |
| count | number | 已确认详情响应为 1。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
生产已确认 · 未使用(敏感字段已掩码,rawData 不展示)
{
"code": 10000,
"msg": "Success",
"data": {
"sku_id": "MT_SKU_***",
"price": 79.9,
"order_id": "ORDER_***",
"sku_name": "示例套餐",
"status": "未使用",
"status_code": 0,
"coupon_channel": "meituan",
"coupon_code": "****1234"
},
"count": 1,
"date_time": "2099-01-01 12:00:00"
}生产已确认 · 已使用(业务消息已脱敏)
{
"code": 10000,
"msg": "<已使用业务提示已脱敏>",
"data": {
"sku_id": "0",
"price": 0,
"order_id": "",
"sku_name": "",
"status": "已使用",
"status_code": 1,
"coupon_channel": "meituan",
"coupon_code": "****1234"
},
"count": 1,
"date_time": "2099-01-01 12:00:00"
}/open/user/meituan/coupon/verify历史混合核销生产已确认 · 重复拦截场景核销美团或抖音团购券。当前生产实测仅确认重复/已使用券由 Go 历史记录拦截;首次成功核销结构仍是代码推导。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| store_id | number | numeric string | 是 | 系统门店 ID,当前 Token 所属账号必须拥有该门店。 |
| coupon_code | string | 是 | 团购券码;服务端会去除空格。 |
JSON · 全部业务值均为掩码占位符
{
"store_id": 10001,
"coupon_code": "****1234"
}响应字段16 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;代码推导的首次成功为 10000,生产确认的重复拦截为 10500。 |
| msg | string | 外层消息。重复拦截时包含已核销业务提示,展示前必须脱敏。 |
| data | object | 订单已创建时的核销结果或最小订单定位对象;建单前失败不包含 data。 |
| data.wxdgOrderNo | string | 无限聚核系统账单订单号。首次成功、成功重放、明确拒绝、结果未知及已建单处理异常时返回。 |
| data.verify_message | string | 核销结果消息;首次成功结构为代码推导。 |
| data.verify_success | boolean | 核销是否成功;存在 data 时必须判断此字段,不能只判断外层 code。 |
| data.consume_details | array | 消费金额等核销明细;首次成功完整结构尚未生产实测。 |
| data.consume_details[].amount | string | 金额展示文本。 |
| data.consume_details[].amountName | string | 金额项目名称。 |
| data.consume_details[].amountSubName | string | 金额项目补充名称。 |
| data.consume_details[].hasPayment | boolean | 是否包含支付信息。 |
| data.coupon_channel | meituan | douyin | 实际核销渠道。 |
| data.coupon_code | string | 业务券码,属于敏感数据;展示和日志必须脱敏。 |
| data.certificate_id | string | 抖音券且存在证书标识时返回。 |
| count | number | 首次成功时可能存在;重复拦截实测响应不包含 count。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
代码推导 · 首次成功结构(尚未生产实测)
{
"code": 10000,
"msg": "success",
"data": {
"verify_message": "验证成功",
"verify_success": true,
"consume_details": [
{
"amount": "¥79.90",
"amountName": "消费金额",
"amountSubName": "",
"hasPayment": false
}
],
"coupon_channel": "meituan",
"coupon_code": "****1234",
"wxdgOrderNo": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
},
"count": 1,
"date_time": "2099-01-01 12:00:00"
}生产已确认 · 重复/已使用拦截
{
"code": 10500,
"msg": "<已核销时间与门店信息已脱敏>",
"data": {
"wxdgOrderNo": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
},
"date_time": "2099-01-01 12:00:00"
}/open/user/meituan/store/list商户/门店列表生产已确认 · 非空成功获取当前 Token 所属账号的商户和门店。公开文档只列安全业务白名单字段;响应中可能存在的内部配置字段不属于公开契约。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
HTTP
GET /open/user/meituan/store/list
Authorization: <V1_TOKEN>响应字段21 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;本次非空成功样本为 10000。 |
| msg | string | 外层消息;本次非空成功样本为 success。 |
| data | array | 商户数组。空结果形态尚未实测确认。 |
| data[].store_id | number | 商户的系统内部 ID。 |
| data[].store_name | string | 商户名称。 |
| data[].request_count | number | 商户剩余核销次数。 |
| data[].expire_time | string | 授权或服务过期时间。 |
| data[].status | number | 商户状态。具体枚举仍需补充确认。 |
| data[].child_stores | array | 商户下的门店列表。 |
| data[].child_stores[].store_id | number | 系统门店 ID;后续套餐、详情和核销接口使用此值。 |
| data[].child_stores[].store_name | string | 门店名称。 |
| data[].child_stores[].meituan_store_id | string | 美团平台门店 ID;未绑定时可能为空。 |
| data[].child_stores[].douyin_store_id | string | 抖音平台门店 ID;未绑定时可能为空。 |
| data[].child_stores[].meituan_auth | number | 美团授权状态。具体枚举仍需补充确认。 |
| data[].child_stores[].douyin_auth | number | 抖音授权状态。具体枚举仍需补充确认。 |
| data[].child_stores[].enable_new_api | number | 是否启用新接口链路的业务标记。 |
| data[].child_stores[].only_douyin | number | boolean | 是否为抖音专属门店的兼容标记。 |
| data[].child_stores[].address | string | 门店地址。 |
| data[].child_stores[].city_name | string | 门店所在城市。 |
| count | number | 当前生产样本中 count 与 data.length 不一致,不能作为数组长度或可靠总数。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
生产确认字段 · 全部示例值均为掩码占位符
{
"code": 10000,
"msg": "success",
"data": [
{
"store_id": 10000,
"store_name": "示例商户 A",
"request_count": 1200,
"expire_time": "2099-12-31 23:59:59",
"status": 1,
"child_stores": [
{
"store_id": 10001,
"store_name": "示例门店",
"meituan_store_id": "MT_STORE_***",
"douyin_store_id": "",
"meituan_auth": 1,
"douyin_auth": 0,
"enable_new_api": 1,
"only_douyin": 0,
"address": "<门店地址已脱敏>",
"city_name": "<城市已脱敏>"
}
]
},
{
"store_id": 20000,
"store_name": "示例商户 B",
"request_count": 0,
"expire_time": "2099-12-31 23:59:59",
"status": 1,
"child_stores": []
}
],
"count": 1,
"date_time": "2099-01-01 12:00:00"
}/open/user/request/logs核销请求记录生产已确认 · 默认分页非空成功分页查询当前账号名下门店的核销请求记录。该接口当前可能返回未递归脱敏的原始 params,公开页面必须限制展示、复制和测试。
鉴权方式
需要鉴权Authorization 请求头直接传 V1 Token,不加 Bearer。
Content-Type
application/json请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | V1 Token,直接传 Token 值,不加 Bearer。 |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | number | numeric string | 否 | 页码;缺省或小于等于 0 时使用默认值。 |
| rows | number | numeric string | 否 | 每页条数;缺省或小于等于 0 时使用默认值。 |
| store_id | number | numeric string | 否 | 按系统门店 ID 过滤;只允许查询当前账号名下门店,无权限 ID 返回空列表。 |
| begin_time | string | 否 | 开始时间过滤值,当前实现原样传入查询;格式边界仍待实测。 |
| end_time | string | 否 | 结束时间过滤值,当前实现原样传入查询;格式边界仍待实测。 |
JSON · 默认分页
{
"page": 1,
"rows": 10
}响应字段15 个字段
| 参数 | 类型 | 说明 |
|---|---|---|
| code | number | 外层业务码;本次默认分页非空成功样本为 10000。 |
| msg | string | 外层消息;本次样本为 success。 |
| data | array | 当前页核销记录数组。空结果形态尚未实测确认。 |
| data[].store_id | number | 系统门店 ID。 |
| data[].store_name | string | 门店名称。 |
| data[].update_mode | string | 核销扣减模式,例如次数或 token。 |
| data[].update_type | string | 扣减主体,例如 store 或 admin。 |
| data[].used_tokens | number | token 模式下由分换算为元;非 token 模式为 0。属于敏感业务数据,展示时应按权限处理。 |
| data[].api_name | string | 核销请求的接口名称。 |
| data[].coupon_channel | string | 券渠道,例如 meituan 或 douyin。 |
| data[].coupon_code | string | 券码,属于敏感数据;公开展示、复制和日志必须脱敏。 |
| data[].params | string | 历史请求参数 JSON 字符串;可能包含 ticketInfo、券码和平台账号参数。服务端递归脱敏完成前不得展示、复制或用于在线测试。 |
| data[].created_at | string | 记录创建时间,格式 YYYY-MM-DD HH:mm:ss。 |
| count | number | 数据库查询总数,不是当前页 data.length。 |
| date_time | string | 服务端响应时间,格式 YYYY-MM-DD HH:mm:ss。 |
生产确认字段 · params 已刻意省略,其他业务值均为掩码
{
"code": 10000,
"msg": "success",
"data": [
{
"store_id": 10001,
"store_name": "<门店名称已脱敏>",
"update_mode": "count",
"update_type": "store",
"used_tokens": 0,
"api_name": "核销验券",
"coupon_channel": "meituan",
"coupon_code": "****1234",
"created_at": "2099-01-01 12:00:00"
}
],
"count": 1,
"date_time": "2099-01-01 12:00:00"
}接口调用流程
V1 公开核销链路建议按以下顺序调用。
团购券查询与核销
- 从开发者后台获取 V1 Token,并在 Authorization 请求头中直接传递。
- 调用商户/门店列表,取得当前账号名下的系统门店 store_id。
- 按平台调用美团或抖音套餐列表,用于展示可售套餐。
- 调用历史混合团购券详情,检查 data.status_code;code=10000 不能单独代表券可用。
- 由用户明确确认后调用核销接口,并判断 data.verify_success;业务异常通常仍为 HTTP 200。
- 核销超时或结果未知时不要自动重试;先通过安全的业务记录或人工流程确认最终状态。
