---
url: "https://pay.weixin.qq.com/doc/brand/4018381114.md"
title: "创建投放计划"
doc_id: 4018381114
---

>更新时间：2026.03.16

创建投放计划




## 接口说明

支持商户：【品牌商户】

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

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

　　　　　【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点，指引[点击查看](https://pay.weixin.qq.com/doc/brand/4015596635.md)

接口限频：50/秒（品牌ID维度）

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/brand/4015407568.md) 生成认证信息 |
| Accept | string | true | 请设置为 `application/json` |
| Content-Type | string | true | 请设置为 `application/json` |
| Wechatpay-Serial | string | true | 【微信支付公钥ID】  请传入brand\_id对应的微信支付公钥ID，接口将会校验两者的关联关系，参考 [微信支付公钥产品简介及使用说明](https://pay.weixin.qq.com/doc/brand/4015597001.md) 获取微信支付公钥ID和相关的介绍。以下两种场景将使用到微信支付公钥：<br>1、接收到接口的返回内容，需要使用微信支付公钥进行验签；<br>2、调用含有敏感信息参数（如姓名、身份证号码）的接口时，需要使用微信支付公钥加密敏感信息后再传输参数，加密指引请参考 [微信支付公钥加密敏感信息指引](https://pay.weixin.qq.com/doc/brand/4015407587.md)。 |
### Body 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| out_request_no | string(40) | true | 【创建请求单号】 创建投放计划的请求流水号，品牌侧需保持唯一性，可使用 数字、大小写字母、下划线 `_`、短横线 `-` 组成，长度在6-40个字符之间 |
| product_coupon_id | string | true | 【商品券ID】 投放的商品券ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) |
| stock_id | string | false | 【批次ID】 投放的商品券批次ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) ，当且仅当 usage\_mode 为 SINGLE 时必传，其他模式不应填写。 |
| reuse_coupon_config | boolean | true | 【是否复用商品券和批次信息】 是：表示从商品券和批次获取信息自动填充plan\_name、total\_count、user\_limit、daily\_limit、delivery\_start\_time、delivery\_end\_time。当投放计划在投放中状态时，若商品券批次的库存发生变化，投放计划会自动更新最新库存。<br>注：<br>plan\_name默认取投放商品券的name字段；<br>total\_count默认取投放批次的max\_count字段；<br>user\_limit默认取投放批次的max\_count\_per\_user字段；<br>daily\_limit默认取投放批次的max\_count\_per\_day字段；<br>delivery\_start\_time默认取商品券的available\_begin\_time字段；<br>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。<br>否：表示自定义传入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) | false | 【投放计划名称】 投放计划名称，该名称会用于C端展示，场景说明详见产品介绍，建议与商品券名称保持一致，12个中文字符以内。 |
| total_count | integer | false | 【投放总库存数量】 用于约定投放计划的总投放库存额度，创建投放计划的券可用库存需在 10000 以上。当 reuse\_coupon\_config 为 false 时必填。 |
| user_limit | integer | false | 【单用户限领】 约定了投放计划单用户维度的限领数量； 非必填，如创建时未填写，表示投放计划层不限制，且后续修改不支持修改。 |
| daily_limit | integer | false | 【单日限领】 约定了投放计划单日维度的限领；非必填，如创建时未填写，则修改时不支持填写。 |
| delivery_start_time | string | false | 【投放开始时间】 投放生效的开始时间，遵循 [rfc3339](https://datatracker.ietf.org/doc/html/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 | false | 【投放结束时间】 投放生效的结束时间，遵循 [rfc3339](https://datatracker.ietf.org/doc/html/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秒。如未填写表示生效时间将以批次结束时间为准，且后续修改不支持设置结束时间。<br>注：商品券会随批次结束时间到期而直接失效，因此投放活动的结束时间需早于批次时间，保证用户不会在活动期间领取到一张立即过期的券。<br>情况1: 若商品券配置了wait\_days\_after\_receive（领券后需等待N天生效）和available\_days（券生效后N天内可用），则活动结束时间最长可配置为【available\_end\_time（批次结束时间）- wait\_days\_after\_receive（领券后需等待N天生效）- available\_days（券生效后N天内可用） -1 】。<br>情况2: 若商品券没有配置了wait\_days\_after\_receive（领券后需等待N天生效）和available\_days（券生效后N天内可用），则活动结束时间最长可配置为【available\_end\_time（批次结束时间） -1】。 |
| recommend_word | string(27) | false | 【营销标签】 用于在优惠左上角展示的运营推荐语信息。自定义文案，不超过9个中文字符或18个英文字符 |
| usage_mode | string | false | 【使用模式】 商品券使用模式。多次优惠使用模式时，该字段必填。若未填写，默认为SINGLE<br>可选取值<br><ul><li>`SINGLE`:  单券，即用户只能使用一次，使用后券失效</li><li>`PROGRESSIVE_BUNDLE`:  多次优惠，由一组批次组成，每阶梯次序对应一个批次。用户按顺序使用，每次核销后发放下一张券，直到用完为止</li></ul> |
| stock_bundle_id | string | false | 【投放批次组ID】 投放的批次组ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) ，当且仅当 usage\_mode 为 PROGRESSIVE\_BUNDLE 时必传，其他模式不应填写。 |
| save_as_draft | boolean | false | 【是否保存为草稿】 默认为否，直接提交审核；若为是，则创建投放计划成功后，不提交审核，审核状态是 待提审 |
## 应答参数

200 OK

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| plan | object | true | 【投放计划详情】 创建成功的投放计划详情 |
| plan.plan_id | string(32) | true | 【投放计划ID】 投放计划ID |
| plan.plan_name | string(36) | true | 【投放计划名称】 投放计划名称 |
| plan.plan_state | string | true | 【投放计划状态】 投放计划状态，已终止、已过期是终态。<br>可选取值<br><ul><li>`CREATED`:  创建成功</li><li>`TERMINATED`:  已终止</li><li>`EXPIRED`:  已过期</li><li>`DELIVERING`:  投放中</li><li>`PAUSED`:  已暂停</li></ul> |
| plan.delivery_start_time | string | true | 【投放开始时间】 投放开始时间，遵循 [rfc3339](https://datatracker.ietf.org/doc/html/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秒。 |
| plan.delivery_end_time | string | true | 【投放结束时间】 投放结束时间，遵循 [rfc3339](https://datatracker.ietf.org/doc/html/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秒。 |
| plan.product_coupon_id | string(40) | true | 【商品券ID】 商品券ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) |
| plan.usage_mode | string | true | 【使用模式】 商品券使用模式<br>可选取值<br><ul><li>`SINGLE`:  单券，即用户只能使用一次，使用后券失效</li><li>`PROGRESSIVE_BUNDLE`:  多次优惠，由一组批次组成，每阶梯次序对应一个批次。用户按顺序使用，每次核销后发放下一张券，直到用完为止</li></ul> |
| plan.stock_id | string(40) | false | 【投放批次ID】 投放的商品券批次ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) ，当且仅当 usage\_mode 为 SINGLE 时必传。 |
| plan.stock_bundle_id | string | false | 【投放批次组ID】 投放的批次组ID，通过请求创建商品券接口获得，具体可查看 [创建商品券](https://pay.weixin.qq.com/doc/brand/4015736297.md) ，当且仅当 usage\_mode 为 PROGRESSIVE\_BUNDLE 时必填。 |
| plan.recommend_word | string(27) | false | 【营销标签】 用于在优惠左上角展示的运营推荐语信息。自定义文案，不超过9个中文字符或18个英文字符。若创建时未设置则不返回。 |
| plan.total_count | integer | true | 【投放总库存数量】 约定了投放计划的总投放库存。 |
| plan.user_limit | integer | true | 【单用户限领】 约定了投放计划单用户维度的限领数量； 非必填，如创建时未填写，则修改时不支持填写。 |
| plan.daily_limit | integer | true | 【单日限领】 用于约定投放计划单日可领取的最大数量，如创建时未填写，则修改时不支持填写。 |
| plan.reuse_coupon_config | boolean | true | 【是否复用商品券和批次信息】 是：表示从商品券和批次获取信息自动填充plan\_name、total\_count、user\_limit、daily\_limit、delivery\_start\_time、delivery\_end\_time。当投放计划在投放中状态时，若商品券批次的库存发生变化，投放计划会自动更新最新库存。<br>注：<br>plan\_name默认取投放商品券的name字段；<br>total\_count默认取投放批次的max\_count字段；<br>user\_limit默认取投放批次的max\_count\_per\_user字段；<br>daily\_limit默认取投放批次的max\_count\_per\_day字段；<br>delivery\_start\_time默认取商品券的available\_begin\_time字段；<br>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。<br>否：表示自定义传入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.brand_id | string | true | 【品牌ID】 品牌ID |
## 错误码

以下是本接口返回的错误码列表。详细错误码规则，请参考[微信支付接口规则-错误码和错误提示](https://pay.weixin.qq.com/doc/brand/4015407525.md#%E9%94%99%E8%AF%AF%E7%A0%81%E5%92%8C%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA)

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/brand/4015407525.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/brand/4015597625.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

请求示例

- [curl 示例](https://pay.weixin.qq.com/doc/brand/4018381114-curl.md)
- [Java 示例](https://pay.weixin.qq.com/doc/brand/4018381114-java.md)
- [Go 示例](https://pay.weixin.qq.com/doc/brand/4018381114-go.md)


应答示例

> 200 OK

```
{
  "plan" : {
    "plan_id" : "12000",
    "plan_name" : "冬季优惠投放",
    "plan_state" : "CREATED",
    "delivery_start_time" : "2025-01-01T00:00:00+08:00",
    "delivery_end_time" : "2025-01-01T00:00:00+08:00",
    "product_coupon_id" : "1000000013",
    "usage_mode" : "SINGLE",
    "stock_id" : "123456789",
    "stock_bundle_id" : "123456789",
    "recommend_word" : "天天有惊喜",
    "total_count" : 11000,
    "user_limit" : 5,
    "daily_limit" : 100,
    "reuse_coupon_config" : false,
    "brand_id" : "40016"
  }
}

```
