# 取消预约用户的团购优惠
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南。
接口英文名:cancelreservevoucher
本接口用于取消预约用户的团购优惠
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/channels/ec/voucher/cancel_reserve?access_token=ACCESS_TOKEN
# 云调用
- 本接口不支持云调用。
# 第三方调用
本接口支持第三方平台代商家调用。
该接口所属的权限集 id 为:164
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String Parameters
| 参数名 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
| access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token、authorizer_access_token |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| cancel_reserve_no | string | 是 | 取消预约单号 |
| reserve_no | string | 是 | 预约单号 |
| cancel_reserve_vouchers | objarray | 是 | 取消预约券列表 |
# Body.cancel_reserve_vouchers(Array) Object Payload
取消预约券列表
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| encrypted_code | string | 否 | 加密code |
| code | string | 否 | code |
| sku_id | number | 否 | SKU ID(uint64,pb2json stringify) |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| voucher_list | objarray | 券信息列表(VoucherInfo) |
| fail_voucher_list | objarray | 操作失败的券列表(OperateFailVoucher) |
# Res.voucher_list(Array) Object Payload
券信息列表(VoucherInfo)
| 参数名 | 类型 | 说明 | 枚举 |
|---|---|---|---|
| code | string | 券code | - |
| status | number | 券状态,详细见VoucherStatus | 枚举值 |
| send_time | number | 发放时间 | - |
| update_time | number | 更新时间 | - |
| start_time | number | 生效开始时间 | - |
| end_time | number | 生效结束时间 | - |
| consume_time | number | 核销时间 | - |
| refund_time | number | 退款时间 | - |
| product_id | string | 商品ID | - |
| consume_store_name | string | 核销门店名称(已核销状态才会返回) | - |
| voucher_type | number | 券类型,详细见VoucherType | - |
| voucher_buy_amount | number | 券售价 | - |
| voucher_actual_amount | number | 券实付价 | - |
| telphone_no | string | 手机号 | - |
| openid | string | 用户openid | - |
| code_type | number | code类型,参考VoucherCodeType | - |
| order_id | string | 订单ID | - |
| sku_id | string | SKU ID | - |
| voucher_settle_status | number | 核销状态,见VoucherSettleStatus | - |
| union_id | string | unionid | - |
| consume_store_id | string | 核销门店ID | - |
| out_store_id | string | 外部门店ID | - |
| last_consume_no | string | 最后一次成功发起核销的单号 | - |
| last_withdraw_consume_no | string | 最后一次成功发起撤销核销的单号 | - |
| package_product_id | string | 所属券包的spuid | - |
| package_sku_id | string | 所属券包的skuid | - |
| time_card | object | 次卡信息(VoucherTimeCard) | - |
| reserve_time | number | 最后一次预约时间 | - |
| last_reserve_no | string | 最后一次成功发起预约的单号 | - |
| last_cancel_reserve_no | string | 最后一次成功发起取消预约的单号 | - |
# Res.fail_voucher_list(Array) Object Payload
操作失败的券列表(OperateFailVoucher)
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | string | 券code |
| sku_id | string | SKU ID |
| encrypted_code | string | 加密code |
| ret_code | number | 返回码 |
| ret_msg | string | 返回信息 |
# Res.voucher_list(Array).time_card Object Payload
次卡信息(VoucherTimeCard)
| 参数名 | 类型 | 说明 |
|---|---|---|
| serials | objarray | 次序号列表(VoucherSerial) |
| total_count | number | 次卡剩余可用次数 |
| available_count | number | 可使用次数 |
| consumed_count | number | 已核销次数 |
| refunded_count | number | 退券成功次数 |
| reserved_count | number | 已预约次数 |
# Res.voucher_list(Array).time_card.serialsObject Payload
Object Payload次序号列表(VoucherSerial)
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | number | 次序号ID |
| buy_amount | number | 单次售价 |
| actual_amount | number | 单次原价 |
| status | number | 次序号状态 |
| consume_time | number | 最后一次核销时间 |
| refund_time | number | 最后一次退券时间 |
| voucher_settle_status | number | 核销状态,见VoucherSettleStatus |
| consume_store_name | string | 核销门店名称(已核销状态才会返回) |
| out_store_id | string | 外部门店ID |
| last_consume_no | string | 最后一次成功发起核销的单号 |
| last_withdraw_consume_no | string | 最后一次成功发起撤销核销的单号 |
| reserve_time | number | 最后一次预约时间 |
| last_reserve_no | string | 最后一次成功发起预约的单号 |
| last_cancel_reserve_no | string | 最后一次成功发起取消预约的单号 |
# 4. 枚举信息
# Res.voucher_list(Array).status Enum
券状态,详细见VoucherStatus
| 枚举值 | 描述 |
|---|---|
| 1 | 待使用 |
| 2 | 已使用 |
| 3 | 已退券 |
| 4 | 已过期 |
| 5 | 已预约 |
# 5. 注意事项
- 请在收到系统失败时,不要换单重试,避免系统原单超时成功后,换单无法成功,导致商家侧与平台侧券状态不同。建议预约失败后,以幂等方式重试 或 先反查券(调用接口14、查询用户的团购优惠详情)确认当前券状态和最新的预约单号,明确预约是否成功后再决策。
- 仅预约中的券支持取消预约。如果预约中的券已被核销/已被退券,都无法发起取消预约
# 6. 代码示例
请求示例
{
"reserve_no": "asdfasdfasdfasdf",
"cancel_reserve_no": "qwerqrqwerqwer",
"cancel_reserve_vouchers": [
{
"code": "sdfasdfasdfasdfasdfasdf",
"sku_id": "12345678"
}
]
}
返回示例
{
"errcode": 0,
"errmsg": "ok",
"voucher_list": [
{
"code": "sdfasdfasdfasdfasdfasdf",
"status": 1,
"send_time": 1781080941,
"update_time": 1781085689,
"start_time": 1781080939,
"end_time": 1798732799,
"product_id": "12345678910",
"voucher_type": 2,
"voucher_buy_amount": 10,
"voucher_actual_amount": 100,
"telphone_no": "",
"openid": "xxxxxxxxxxxxxxxxx",
"code_type": 1,
"order_id": "1234567891011121314",
"sku_id": "12345678",
"union_id": "",
"last_consume_no": "xxxxxxxxxxxxxxxxx",
"last_withdraw_consume_no": "xxxxxxxxxxxxxxxxx",
"package_product_id": "",
"package_sku_id": "",
"last_reserve_no": "asdfasdfasdfasdf",
"last_cancel_reserve_no": "qwerqrqwerqwer"
}
],
"fail_voucher_list": []
}
# 7. 错误码
此接口没有特殊错误码,可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
# 8. 适用范围
本接口支持「微信小店」账号类型调用。其他账号类型如无特殊说明,均不可调用。