# 上传小程序备案媒体材料

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:uploadIcpMedia

备案小程序需要提交图片或视频媒体材料,使用该接口完成媒体材料上传。使用过程中如遇到问题,可在小程序备案专区发帖交流

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/wxa/icp/upload_icp_media?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:18、156

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 authorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
typestring媒体材料类型。目前支持两种:图片(`"image"`)和视频(`"video"`),示例值:`"image"`
certificate_typenumber证件类型(参考:获取证件类型),如果上传的是证件媒体材料,则必填,示例值:`2`
icp_order_fieldstring媒体材料所属的备案字段名(参考:申请小程序备案接口),如要用于多个备案字段,则填写其中一个字段名即可。例如:要上传身份证头像面照片作为备案主体负责人和小程序负责人的证件照正面,就填写 `"icp_subject.principal_info.certificate_photo_front"`
mediastring待上传的图片或视频的**二进制**内容

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
typestring媒体材料类型。目前支持两种:图片(`"image"`)和视频(`"video"`),示例值:`"image"`
media_idstring媒体id,示例值:`"4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7"`
created_atnumber创建时间,UNIX时间戳,示例值:`1692883651`

# 4. 注意事项

  1. Content-Type 需要指定为 multipart/form-data
  2. 一个媒体材料可重复用于一次申请备案的多个字段,例如:当备案主体负责人和小程序负责人是同一人时,证件照正面只需上传一次,返回的 media_id 可同时传入申请小程序备案接口入参的 icp_subject.principal_info.certificate_photo_fronticp_applets.principal_info.certificate_photo_front 字段,证件照反面也是如此。
  3. 图片仅支持 JPG、JPEG、PNG 格式,大小不超过 2 MB。
  4. 视频仅支持 MP4 格式。
  5. 当需要填写 certificate_type 字段时,如果和 icp_order_field 无法对应,则会上传失败,例如:当上传身份证人像面时,icp_order_field 填了 "icp_subject.principal_info.certificate_photo_front"certificate_type 必须填 2 (居民身份证),如果填其它值,则会在使用该 media_id 调用申请小程序备案接口时报错,或上传失败。
  6. 上传前置审批文件时,icp_order_field"icp_applets.base_info.nrlx_details" 即可。

# 5. 代码示例

请求示例

curl -F "type=image" -F "certificate_type=2" -F "icp_order_field=icp_applets.principal_info.certificate_photo_back" -F "media=@test.jpg" "https://api.weixin.qq.com/wxa/icp/upload_icp_media?access_token=ACCESS_TOKEN"

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "type": "image",
  "media_id": "4ahCGpd3CYkE6RpkNkUR5czt3LvG8xDnDdKAz6bBKttSfM8p4k5Rj6823HXugPwQBurgMezyib7",
  "create_at": 1690969148
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
-1system error系统繁忙,此时请开发者稍候再试
0okok
86200内部错误请重试
86201上传失败请重试

# 7. 适用范围

本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。