# 取消预约用户的团购优惠

接口应在服务器端调用,不可在前端(小程序、网页、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_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_tokenauthorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
cancel_reserve_nostring取消预约单号
reserve_nostring预约单号
cancel_reserve_vouchersobjarray取消预约券列表

# Body.cancel_reserve_vouchers(Array) Object Payload

取消预约券列表

参数名类型必填说明
encrypted_codestring加密code
codestringcode
sku_idnumberSKU ID(uint64,pb2json stringify)

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
voucher_listobjarray券信息列表(VoucherInfo)
fail_voucher_listobjarray操作失败的券列表(OperateFailVoucher)

# Res.voucher_list(Array) Object Payload

券信息列表(VoucherInfo)

参数名类型说明枚举
codestring券code-
statusnumber券状态,详细见VoucherStatus枚举值
send_timenumber发放时间-
update_timenumber更新时间-
start_timenumber生效开始时间-
end_timenumber生效结束时间-
consume_timenumber核销时间-
refund_timenumber退款时间-
product_idstring商品ID-
consume_store_namestring核销门店名称(已核销状态才会返回)-
voucher_typenumber券类型,详细见VoucherType-
voucher_buy_amountnumber券售价-
voucher_actual_amountnumber券实付价-
telphone_nostring手机号-
openidstring用户openid-
code_typenumbercode类型,参考VoucherCodeType-
order_idstring订单ID-
sku_idstringSKU ID-
voucher_settle_statusnumber核销状态,见VoucherSettleStatus-
union_idstringunionid-
consume_store_idstring核销门店ID-
out_store_idstring外部门店ID-
last_consume_nostring最后一次成功发起核销的单号-
last_withdraw_consume_nostring最后一次成功发起撤销核销的单号-
package_product_idstring所属券包的spuid-
package_sku_idstring所属券包的skuid-
time_cardobject次卡信息(VoucherTimeCard)-
reserve_timenumber最后一次预约时间-
last_reserve_nostring最后一次成功发起预约的单号-
last_cancel_reserve_nostring最后一次成功发起取消预约的单号-

# Res.fail_voucher_list(Array) Object Payload

操作失败的券列表(OperateFailVoucher)

参数名类型说明
codestring券code
sku_idstringSKU ID
encrypted_codestring加密code
ret_codenumber返回码
ret_msgstring返回信息

# Res.voucher_list(Array).time_card Object Payload

次卡信息(VoucherTimeCard)

参数名类型说明
serialsobjarray次序号列表(VoucherSerial)
total_countnumber次卡剩余可用次数
available_countnumber可使用次数
consumed_countnumber已核销次数
refunded_countnumber退券成功次数
reserved_countnumber已预约次数

# Res.voucher_list(Array).time_card.serialsObject Payload

次序号列表(VoucherSerial)

参数名类型说明
indexnumber次序号ID
buy_amountnumber单次售价
actual_amountnumber单次原价
statusnumber次序号状态
consume_timenumber最后一次核销时间
refund_timenumber最后一次退券时间
voucher_settle_statusnumber核销状态,见VoucherSettleStatus
consume_store_namestring核销门店名称(已核销状态才会返回)
out_store_idstring外部门店ID
last_consume_nostring最后一次成功发起核销的单号
last_withdraw_consume_nostring最后一次成功发起撤销核销的单号
reserve_timenumber最后一次预约时间
last_reserve_nostring最后一次成功发起预约的单号
last_cancel_reserve_nostring最后一次成功发起取消预约的单号

# 4. 枚举信息

# Res.voucher_list(Array).status Enum

券状态,详细见VoucherStatus

枚举值描述
1待使用
2已使用
3已退券
4已过期
5已预约

# 5. 注意事项

  1. 请在收到系统失败时,不要换单重试,避免系统原单超时成功后,换单无法成功,导致商家侧与平台侧券状态不同。建议预约失败后,以幂等方式重试 或 先反查券(调用接口14、查询用户的团购优惠详情)确认当前券状态和最新的预约单号,明确预约是否成功后再决策。
  2. 仅预约中的券支持取消预约。如果预约中的券已被核销/已被退券,都无法发起取消预约

# 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. 适用范围

本接口支持「微信小店」账号类型调用。其他账号类型如无特殊说明,均不可调用。