初始化上传
更新时间:2025.09.29创建分块上传会话,获取唯一上传任务ID(用于后续上传分块)。
文件格式要求为CSV格式的纯文本文件,无表头,支持两种内容类型:
1、1行1个openid,openid对应的appid需要确保与品牌之间有绑定关系,无法识别的数据将被自动过滤。
2、请上传 csv 文件,1行1个手机号(需先计算MD5哈希),无法识别的数据将被自动过滤。
注:上传任务创建完成后,后续只能由同一品牌商家使用,否则将无法通过权限校验。
接口说明
支持商户:【品牌商户】
请求方式:【POST】/brand/marketing/user-package/uploads
请求域名:【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点
【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点 ,指引点击查看
接口限频:10/秒(品牌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 包体参数
user_package_file_info 必填 object
【完整人群包文件信息】 准备上传的完整人群号码包文件信息,用于标识上传文件的类型、数据类型、人群包描述等。
| 属性 | |
filename 必填 string(128) 【文件名】 完整人群包的文件名,仅限csv文件。可包含英文字母,数字,_,.,-等内容,需以.csv结尾,不允许出现其他不合法符号。 digest 必填 string(64) 【文件摘要】 当前上传的文件摘要,对人群号码包文件二进制内容进行sha256计算得到的值。 package_type 必填 string 【人群包类型】 人群包类型,用于标识当前操作的人群包运营类型(定向曝光人群包 或 风险用户人群包)。 可选取值
data_type 必填 string 【上传数据类型】 上传数据类型,用于标识当前上传数据的明细类型( MD5手机号 或 用户OpenID)。 可选取值
description 必填 string(128) 【人群包描述】 填写人群包的描述信息,对人群包的定义和计算逻辑进行描述说明,不少于 15 个字。 file_size 必填 integer 【文件大小】 人群号码包文件的大小,单位为字节。 |
请求示例
POST
应答参数
200 OK
upload_id 必填 string(128)
【上传ID】 微信支付生成的上传ID,可用于后续上传文件分块、合并分块文件,扩充人群包。
file_part_size 必填 integer
【文件分块大小】 文件分块大小,单位为字节。
file_part_count 必填 integer
【文件分块数量】 文件分块数量
应答示例
200 OK
错误码
以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示
状态码 | 错误码 | 描述 | 解决方案 |
|---|---|---|---|
400 | PARAM_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
400 | INVALID_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 接口规则 |
401 | SIGN_ERROR | 验证不通过 | 请参阅 签名常见问题 |
500 | SYSTEM_ERROR | 系统异常,请稍后重试 | 请稍后重试 |
400 | PARAM_ERROR | Http header中缺少必填参数Wechatpay-Serial | 缺少必要商品券图片,请补充上传后重试 |
400 | PARAM_ERROR | 参数过短 | 请参考文档中对每个字段的要求以及组合要求,确认请求参数是否满足 |
400 | PARAM_ERROR | 参数错误 | 请参考文档中对每个字段的要求以及组合要求,确认请求参数是否满足 |
401 | SIGN_ERROR | Http头Authorization值格式错误,请参考《微信支付商户REST API签名规则》 | Http头Authorization值格式错误,请参考《APIv3如何签名和验签》,检查传递的Authorization值是否符合规则 |
400 | INVALID_REQUEST | Http头Content-Type值必须为application/json | 需将Http头中的Content-Type值设置为application/json |
401 | SIGN_ERROR | Http头Authorization中的timestamp与发起请求的时间不得超过5分钟 | Authorization 头 timestamp 与请求时间间隔超 5 分钟,需重新生成timestamp并替换该字段后重试。 |
401 | SIGN_ERROR | Authorization不合法 | Http头未传递Authorization值或Authorization值格式错误,请参考《APIv3如何签名和验签》,检查传递的Authorization值是否符合规则 |
400 | INVALID_REQUEST | Http头缺少Accept或User-Agent | Http头缺少Accept或User-Agent,请根据API文档在请求头中补充该参数 |
401 | SIGN_ERROR | Http头Authorization认证类型不正确 | Http头Authorization认证类型不正确,请将认证类型修改为WECHATPAY-BRAND-SHA256-RSA2048 |
