# 营销管理
# 开发前准备
- 权限与凭证:商家自研可直接调用,使用小店 access_token;第三方服务商需获得商家对
权限集 ID:132的授权,使用 authorizer_access_token - 消息推送配置:需配置消息推送回调 URL,本模块涉及 9 个事件通知,覆盖优惠券全生命周期。详见 消息通知(回调)说明
# 优惠券类型
微信小店优惠券分为商品级和店铺级两大类,共 8 种类型:
# 商品级优惠券
适用于指定商品,创建时需传 discount_condition.product_ids(最多 2000 个商品)。
| 类型值 | 名称 | 必填参数 | 适用场景 |
|---|---|---|---|
| 1 | 商品条件折券 | product_ids + product_cnt + discount_num | 买 N 件指定商品享折扣 |
| 2 | 商品满减券 | product_ids + product_price + discount_fee | 指定商品满额立减 |
| 3 | 商品统一折扣券 | product_ids + discount_num | 指定商品统一打折 |
| 4 | 商品直减券 | product_ids + discount_fee | 指定商品直接减免固定金额 |
# 店铺级优惠券
适用于店铺内所有商品,无需传 product_ids。
| 类型值 | 名称 | 必填参数 | 适用场景 |
|---|---|---|---|
| 101 | 店铺条件折扣券 | product_cnt + discount_num | 全店买 N 件享折扣 |
| 102 | 店铺满减券 | product_price + discount_fee | 全店满额立减 |
| 103 | 店铺统一折扣券 | discount_num | 全店统一打折 |
| 104 | 店铺直减券 | discount_fee | 全店直接减免固定金额 |
discount_num表示折扣数,5000 = 5 折,范围 1000~10000,必须是 100 的整数倍,不可低于 2 折。discount_fee表示减免金额,单位为分,不可超过 200 元。product_cnt(件数门槛)和product_price(价格门槛)不可同时设置。
# 优惠券推广类型
| 推广类型值 | 名称 | 说明 |
|---|---|---|
| 1 | 小店内推广 | 普通优惠券,在小店内展示和领取 |
| 9 | 会员券 | 面向会员用户的专属优惠券 |
| 10 | 会员开卡礼券 | 用户开通会员时赠送的优惠券 |
# 接入流程
# 优惠券创建与生效
# 用户领券与核销
# 优惠券状态流转
# 前端对接说明
微信小店提供了小程序内嵌优惠券组件 store-coupon(基础库 3.8.3+),可在小程序页面中直接展示和领取优惠券,无需通过 API 手动发放。详见 store-coupon。
# 接口全览
# API 接口
# 优惠券管理
| 中文名 / 英文名 | 请求方式 | 功能说明 |
|---|---|---|
| 创建优惠券 / createcoupon | POST /channels/ec/coupon/create | 创建一张新的优惠券 |
| 获取优惠券详情 / getcoupon | POST /channels/ec/coupon/get | 查询优惠券完整信息和库存 |
| 获取优惠券ID列表 / getcouponlist | POST /channels/ec/coupon/get_list | 按状态分页获取优惠券列表 |
| 更新优惠券内容 / updatecoupon | POST /channels/ec/coupon/update | 修改优惠券名称、优惠规则等 |
| 更新优惠券状态 / updatecouponstatus | POST /channels/ec/coupon/update_status | 使优惠券生效、作废或删除 |
# 用户优惠券查询
| 中文名 / 英文名 | 请求方式 | 功能说明 |
|---|---|---|
| 获取用户优惠券详情 / getusercoupon | POST /channels/ec/coupon/get_user_coupon | 查询指定用户的单张优惠券详情 |
| 获取用户优惠券ID列表 / getusercouponlist | POST /channels/ec/coupon/get_user_coupon_list | 分页获取用户持有的优惠券列表 |
# 事件通知
# 优惠券生命周期
| 中文名 / 英文名 | 事件标识 | 功能说明 |
|---|---|---|
| 创建优惠券通知 / channels_ec_coupon_create | Event: channels_ec_coupon_create | 优惠券创建成功时通知 |
| 优惠券信息更新通知 / channels_ec_coupon_info_change | Event: channels_ec_coupon_info_change | 优惠券内容或状态变更时通知 |
| 优惠券过期通知 / channels_ec_coupon_expire | Event: channels_ec_coupon_expire | 优惠券到达过期时间时通知 |
| 作废优惠券通知 / channels_ec_coupon_invalid | Event: channels_ec_coupon_invalid | 优惠券被作废时通知 |
| 删除优惠券通知 / channels_ec_coupon_delete | Event: channels_ec_coupon_delete | 优惠券被删除时通知 |
# 用户优惠券
| 中文名 / 英文名 | 事件标识 | 功能说明 |
|---|---|---|
| 领取优惠券通知 / channels_ec_coupon_receive | Event: channels_ec_coupon_receive | 用户领取优惠券时通知 |
| 优惠券核销通知 / channels_ec_user_coupon_use | Event: channels_ec_user_coupon_use | 用户使用优惠券下单时通知 |
| 优惠券返还通知 / channels_ec_user_coupon_unuse | Event: channels_ec_user_coupon_unuse | 订单退款后优惠券返还时通知 |
| 用户优惠券过期通知 / channels_ec_user_coupon_expire | Event: channels_ec_user_coupon_expire | 用户持有的优惠券过期时通知 |
# 相关运营文档
- 详见成长中心:营销工具「商家优惠券」使用指南
# 常见问题 FAQ
Q:商品券和店铺券有什么区别?
A:商品券(type 1~4)仅适用于创建时指定的商品(通过 product_ids 指定,最多 2000 个),店铺券(type 101~104)适用于店铺内所有商品,无需指定商品列表。
Q:优惠券创建后为什么不能立即被用户领取?
A:优惠券创建后初始状态为 status=1(编辑中),需要通过 [API] 更新优惠券状态 / updatecouponstatus 将状态改为 status=2(生效)后,用户才能领取。
Q:discount_num 字段的折扣数如何填写?
A:discount_num 使用万分比表示,5000 表示 5 折、9900 表示 9.9 折。范围为 1000~10000,必须是 100 的整数倍,不可低于 2 折(即最小值为 2000)。
Q:如何获取优惠券的实时库存?
A:通过 [API] 获取优惠券详情 / getcoupon 接口,返回的 stock_info 对象包含 issued_num(剩余量)、receive_num(领用量)、used_num(已用量)三个字段。