1. 当用户触发时被动回复音乐消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[TITLE]]></Title>
<Description><![CDATA[DESCRIPTION]]></Description>
<MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
<HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
<ThumbMediaId><![CDATA[media_id]]></ThumbMediaId>
</Music>
</xml>
参数 是否必须 说明
ToUserName 是 接收方帐号(收到的OpenID)
FromUserName 是 开发者微信号
CreateTime 是 消息创建时间 (整型)
MsgType 是 消息类型,音乐为music
Title 否 音乐标题
Description 否 音乐描述
MusicURL 否 音乐链接
HQMusicUrl 否 高质量音乐链接,WIFI环境优先使用该链接播放音乐
ThumbMediaId 是 缩略图的媒体id,通过素材管理中的接口上传多媒体文件,得到的id
2. 客服接口-微信公众号向24小时内有互动的用户推送音乐消息
接口post地址
http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
音乐类型所需的JSON数据包如下:
{
"touser":"OPENID",
"msgtype":"music",
"music":
{
"title":"MUSIC_TITLE",
"description":"MUSIC_DESCRIPTION",
"musicurl":"MUSIC_URL",
"hqmusicurl":"HQ_MUSIC_URL",
"thumb_media_id":"THUMB_MEDIA_ID"
}
}
参数 是否必须 说明
access_token 是 调用接口凭证
touser 是 普通用户openid
msgtype 是 消息类型,文本为text,图片为image,语音为voice,视频消息为video,音乐消息为music,图文消息(点击跳转到外链)为news,图文消息(点击跳转到图文消息页面)为mpnews,卡券为wxcard,小程序为miniprogrampage
thumb_media_id 是 缩略图/小程序卡片图片的媒体ID,小程序卡片图片建议大小为520*416
title 否 图文消息/视频消息/音乐消息/小程序卡片的标题
description 否 图文消息/视频消息/音乐消息的描述
musicurl 是 音乐链接
hqmusicurl 是 高品质音乐链接,wifi环境优先使用该链接播放音乐
thumb_media_id 这个我用了临时素材可以正常向用户推送,如果用永久素材就提示公众号错误。
就算是用临时素材能正常返回数据,但是这个临时缩略图片就是不显示出来,网上查了很多资料也没有人能显示出来。
以下是上传音乐缩略图片获得media_id的注意点:
上传图片的https接口是:https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=thumb
1、临时素材media_id是可复用的。
2、媒体文件在微信后台保存时间为3天,即3天后media_id失效。
3、上传临时素材的格式、大小限制与公众平台官网一致。
缩略图(thumb):64KB,支持JPG格式
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动图)等多媒体消息时需要预先通过素材管理接口上传临时素材到微信服务器,可以使用素材管理中的临时素材,也可以使用永久素材。