创建投放计划

更新时间:2026.03.16

创建投放计划

接口说明

支持商户:【品牌商户】

请求方式:【POST】/brand/marketing/delivery-plan/delivery-plans

请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

     【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看

接口限频:50/秒(品牌ID维度)

请求参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


 Content-Type  必填 string

请设置为application/json


 Wechatpay-Serial  必填 string

【微信支付公钥ID】  请传入brand_id对应的微信支付公钥ID,接口将会校验两者的关联关系,参考微信支付公钥产品简介及使用说明获取微信支付公钥ID和相关的介绍。以下两种场景将使用到微信支付公钥: 1、接收到接口的返回内容,需要使用微信支付公钥进行验签; 2、调用含有敏感信息参数(如姓名、身份证号码)的接口时,需要使用微信支付公钥加密敏感信息后再传输参数,加密指引请参考微信支付公钥加密敏感信息指引


body  包体参数

 out_request_no  必填   string(40)

【创建请求单号】 创建投放计划的请求流水号,品牌侧需保持唯一性,可使用 数字、大小写字母、下划线_、短横线- 组成,长度在6-40个字符之间


 product_coupon_id  必填   string

【商品券ID】 投放的商品券ID,通过请求创建商品券接口获得,具体可查看创建商品券


 stock_id  选填   string

【批次ID】 投放的商品券批次ID,通过请求创建商品券接口获得,具体可查看创建商品券 ,当且仅当 usage_mode 为 SINGLE 时必传,其他模式不应填写。


 reuse_coupon_config  必填   boolean

【是否复用商品券和批次信息】 是:表示从商品券和批次获取信息自动填充plan_name、total_count、user_limit、daily_limit、delivery_start_time、delivery_end_time。当投放计划在投放中状态时,若商品券批次的库存发生变化,投放计划会自动更新最新库存。
注:
plan_name默认取投放商品券的name字段;
total_count默认取投放批次的max_count字段;
user_limit默认取投放批次的max_count_per_user字段;
daily_limit默认取投放批次的max_count_per_day字段;
delivery_start_time默认取商品券的available_begin_time字段;
delivery_end_time默认取批次的 available_end_time 字段并-1,若批次配置有 wait_days_after_receive和available_days信息,则delivery_end_time默认取值为 available_end_time - wait_days_after_receive - available_days -1。
否:表示自定义传入plan_name、total_count、user_limit、daily_limit、delivery_start_time、delivery_end_time,其中plan_name、total_count、delivery_start_time、delivery_end_time、user_limit、daily_limit必填


 plan_name  选填   string(36)

【投放计划名称】 投放计划名称,该名称会用于C端展示,场景说明详见产品介绍,建议与商品券名称保持一致,12个中文字符以内。


 total_count  选填   integer

【投放总库存数量】 用于约定投放计划的总投放库存额度,创建投放计划的券可用库存需在 10000 以上。当 reuse_coupon_config 为 false 时必填。


 user_limit  选填   integer

【单用户限领】 约定了投放计划单用户维度的限领数量; 非必填,如创建时未填写,表示投放计划层不限制,且后续修改不支持修改。


 daily_limit  选填   integer

【单日限领】 约定了投放计划单日维度的限领;非必填,如创建时未填写,则修改时不支持填写。


 delivery_start_time  选填   string

【投放开始时间】 投放生效的开始时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。如未填写表示生效时间将以批次生效时间为准,且后续修改不支持设置开始时间。注:活动开始时间需晚于当前时间,且需晚于券批次的开始时间。


 delivery_end_time  选填   string

【投放结束时间】 投放生效的结束时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。如未填写表示生效时间将以批次结束时间为准,且后续修改不支持设置结束时间。
注:商品券会随批次结束时间到期而直接失效,因此投放活动的结束时间需早于批次时间,保证用户不会在活动期间领取到一张立即过期的券。
情况1: 若商品券配置了wait_days_after_receive(领券后需等待N天生效)和available_days(券生效后N天内可用),则活动结束时间最长可配置为【available_end_time(批次结束时间)- wait_days_after_receive(领券后需等待N天生效)- available_days(券生效后N天内可用) -1 】。
情况2: 若商品券没有配置了wait_days_after_receive(领券后需等待N天生效)和available_days(券生效后N天内可用),则活动结束时间最长可配置为【available_end_time(批次结束时间) -1】。


 recommend_word  选填   string(27)

【营销标签】 用于在优惠左上角展示的运营推荐语信息。自定义文案,不超过9个中文字符或18个英文字符


 usage_mode  选填   string

【使用模式】 商品券使用模式。多次优惠使用模式时,该字段必填。若未填写,默认为SINGLE

可选取值

  • SINGLE:  单券,即用户只能使用一次,使用后券失效

  • PROGRESSIVE_BUNDLE:  多次优惠,由一组批次组成,每阶梯次序对应一个批次。用户按顺序使用,每次核销后发放下一张券,直到用完为止


 stock_bundle_id  选填   string

【投放批次组ID】 投放的批次组ID,通过请求创建商品券接口获得,具体可查看创建商品券 ,当且仅当 usage_mode 为 PROGRESSIVE_BUNDLE 时必传,其他模式不应填写。


 save_as_draft  选填   boolean

【是否保存为草稿】 默认为否,直接提交审核;若为是,则创建投放计划成功后,不提交审核,审核状态是 待提审

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/brand/marketing/delivery-plan/delivery-plans \
3  -H "Authorization: WECHATPAY-BRAND-SHA256-RSA2048 brand_id=\"XXXX\",..." \
4  -H "Accept: application/json" \
5  -H "Wechatpay-Serial: PUB_KEY_ID_XXXX"  \
6  -H "Content-Type: application/json" \
7  -d '{
8    "out_request_no" : "asdf-1234-40016",
9    "product_coupon_id" : "701146876221757924829193824428",
10    "stock_id" : "701246876221757924829194755312",
11    "reuse_coupon_config" : false,
12    "plan_name" : "冬季饮料投放",
13    "total_count" : 11000,
14    "user_limit" : 1,
15    "daily_limit" : 1,
16    "delivery_start_time" : "2025-01-01T00:00:00+08:00",
17    "delivery_end_time" : "2025-01-01T00:00:00+08:00",
18    "recommend_word" : "天天有惊喜",
19    "usage_mode" : "SINGLE",
20    "stock_bundle_id" : "123456789",
21    "save_as_draft" : false
22  }'
23

应答参数

200 OK

 plan  必填   object

【投放计划详情】 创建成功的投放计划详情

属性

应答示例

200 OK

1{
2  "plan" : {
3    "plan_id" : "12000",
4    "plan_name" : "冬季优惠投放",
5    "plan_state" : "CREATED",
6    "delivery_start_time" : "2025-01-01T00:00:00+08:00",
7    "delivery_end_time" : "2025-01-01T00:00:00+08:00",
8    "product_coupon_id" : "1000000013",
9    "usage_mode" : "SINGLE",
10    "stock_id" : "123456789",
11    "stock_bundle_id" : "123456789",
12    "recommend_word" : "天天有惊喜",
13    "total_count" : 11000,
14    "user_limit" : 5,
15    "daily_limit" : 100,
16    "reuse_coupon_config" : false,
17    "brand_id" : "40016"
18  }
19}
20

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

元宝AI
反馈
目录
置顶