目录
detail.errcode
)为了满足临时素材的大文件诉求(最高支持200M),支持指定文件的CDN链接(必须支持Range
分块下载),由企微微信后台异步下载和处理,处理完成后回调通知任务完成,再通过接口主动查询任务结果。
跟普通临时素材一样,media_id仅三天内有效,media_id在同一企业内应用之间可以共享。
跟上传临时素材拿到的media_id使用场景是不通用的,目前适配的接口如下:
接口 | 适用场景值(scene) | 说明 |
---|---|---|
获取临时素材 | 所有 | 若文件大小超过20M ,必须使用Range 分块下载且分块大小不超过20M ,否则返回错误830002 |
入群欢迎语素材管理 | 1 | 添加素材、编辑素材兼容video 和file 两种素材类型使用;获取素材返回的media_id类型则跟添加/编辑时的media_id类型对应 |
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/upload_by_url?access_token=ACCESS_TOKEN
请求包体
{
"scene": 1,
"type": "video",
"filename": "video.mp4",
"url": "https://xxxx",
"md5": "MD5"
}
参数说明:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | string | 是 | 调用接口凭证 |
scene | uint32 | 是 | 场景值。1-客户联系入群欢迎语素材(目前仅支持1)。 注意:每个场景值有对应的使用范围,详见上面的「使用场景说明」 |
type | string | 是 | 媒体文件类型。目前仅支持video -视频,file -普通文件不超过32字节。 |
filename | string | 是 | 文件名,标识文件展示的名称。比如,使用该media_id发消息时,展示的文件名由该字段控制。 不超过128字节。 |
url | string | 是 | 文件cdn url。url要求支持Range分块下载 不超过1024字节。 如果为腾讯云cos链接,则需要设置为「公有读」权限。 |
md5 | string | 是 | 文件md5。对比从url下载下来的文件md5是否一致。 不超过32字节。 |
权限说明:
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"jobid": "jobid"
}
参数说明:
参数 | 说明 |
---|---|
jobid | 任务id。可通过此jobid查询结果 |
所有文件size必须大于5个字节
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/get_upload_by_url_result?access_token=ACCESS_TOKEN
请求包体
{
"jobid": "JOBID"
}
参数说明:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
access_token | string | 是 | 调用接口凭证 |
jobid | string | 是 | 任务id。最长为128字节,60分钟内有效 |
权限说明:
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"status": 2,
"detail": {
"errcode": 0,
"errmsg": "ok",
"media_id": "3*1*G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
"created_at": "1380000000"
}
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
errcode | int32 | 返回码 |
errmsg | string | 错误码描述 |
status | string | 任务状态。1-处理中,2-完成,3-异常失败 |
detail | obj | 结果明细 |
detail.errcode | int32 | 任务失败返回码。当status为3 时返回非0,其他返回0 |
detail.errmsg | string | 任务失败错误码描述 |
detail.media_id | string | 媒体文件上传后获取的唯一标识,3天内有效。当status为2 时返回。 |
detail.created_at | string | 媒体文件创建的时间戳。当status为2 时返回。 |
detail.errcode
)错误码 | 错误说明 | 排查方法 |
---|---|---|
830001 | url非法 | 确认url是否支持Range 分块下载 |
830003 | url下载数据失败 | 确认url本身是否能正常访问 |
45001 | 文件大小超过限制 | 确认文件在5字节~200M范围内 |
301019 | 文件MD5不匹配 | 确认url对应的文件内容md5,跟所填的md5参数是否一致 |
当异步上传任务完成时,将任务完成的通知(不包含具体的结果)回调到提交任务的应用配置的回调地址。
事件示例:
<xml>
<ToUserName><![CDATA[wx28dbb14e3720FAKE]]></ToUserName>
<FromUserName><![CDATA[sys]]></FromUserName>
<CreateTime>1425284517</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[upload_media_job_finish]]></Event>
<JobId><![CDATA[jobid_S0MrnndvRG5fadSlLwiBqiDDbM143UqTmKP3152FZk4]]></JobId>
</xml>
参数说明:
参数 | 说明 |
---|---|
ToUserName | 企业微信CorpID |
FromUserName | 此时固定为sys |
CreateTime | 消息创建时间,unix时间戳 |
MsgType | 消息类型,此时固定为event |
Event | 事件类型,此时固定为upload_media_job_finish |
JobId | 异步任务id |