1. 当用户触发时被动回复语音消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<Voice>
<MediaId><![CDATA[media_id]]></MediaId>
</Voice>
</xml>
参数 是否必须 说明
ToUserName 是 接收方帐号(收到的OpenID)
FromUserName 是 开发者微信号
CreateTime 是 消息创建时间戳 (整型)
MsgType 是 消息类型,语音为voice
MediaId 是 通过素材管理中的接口上传多媒体文件,得到的id
2. 客服接口-微信公众号向48小时内关注用户推送语音消息
接口post地址
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
图片类型所需的JSON数据包如下:
{
"touser":"OPENID",
"msgtype":"voice",
"voice":
{
"media_id":"MEDIA_ID"
}
}
参数 是否必须 说明
access_token 是 调用接口凭证
touser 是 普通用户openid
msgtype 是 消息类型,文本为text,图片为image,语音为voice,视频消息为video,音乐消息为music,图文消息(点击跳转到外链)为news,图文消息(点击跳转到图文消息页面)为mpnews,卡券为wxcard,小程序为miniprogrampage
media_id 是 发送的图片/语音/视频/图文消息(点击跳转到图文消息页)的媒体ID
以下是上传语音获得media_id的注意点:
上传语音的https接口是:https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=voice
1、临时素材media_id是可复用的。
2、媒体文件在微信后台保存时间为3天,即3天后media_id失效。
3、上传临时素材的格式、大小限制与公众平台官网一致。
语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
4、需使用https调用本接口。
接口调用请求说明
http请求方式:POST/FORM,使用https https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 调用示例
以下是上传参数说明
参数 是否必须 说明
access_token 是 调用接口凭证
type 是 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
media 是 form-data中媒体文件标识,有filename、filelength、content-type等信息
上传之后正确情况下的返回JSON数据包结果如下:
{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”:
1、开发者在5秒内未回复任何内容
2、开发者回复了异常数据,比如JSON数据等
另外,请注意,回复图片(不支持gif动图)等多媒体消息时需要预先通过素材管理接口上传临时素材到微信服务器,可以使用素材管理中的临时素材,也可以使用永久素材。
各消息类型需要的XML数据包结构如下: