码迷,mamicode.com
首页 > 微信 > 详细

Force.com微信开发系列(六)客服接口

时间:2014-08-18 01:27:03      阅读:433      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   io   strong   

当用户主动发消息给微信公众账号的时候(包括发送信息、点击自定义菜单click事件、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。此接口主要用于客服等有人工消息处理环节的功能,方便开发者提供更加优质的服务。

 

客服接口调用请求说明

客服接口调用的接口说明如下(http请求方式为POST),如果获取Access Token的方式参见前文说明:

https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=[ACCESS_TOKEN]

客服接口提供了巨大的想象空间,我们可以据此开发例如企业客服解决方案,当用户发送支持请求到微信公众账号后,客服人员可以通过网页 、手机应用、微信等等来收到这些信息并做进一步的处理,客服人员还可以孩子能排队,或者设置用户的VIP等级以提供不同级别的服务响应速度等等,构建相当智能的客服支持系统。

 

向用户发送文本消息

向用户发送文本消息时,发送的数据格式如下:

1 { "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" } }

 

其中,每个参数的具体说明如下:

bubuko.com,布布扣

 

Force.com里向用户发送文本消息的代码实现如下:

 1 Http h = new Http(); 
 2 HttpRequest req = new HttpRequest(); 
 3 req.setMethod(POST); 
 4 req.setHeader(Accept-Encoding,gzip,deflate); 
 5 req.setHeader(Content-Type,text/xml;charset=UTF-8); 
 6 req.setHeader(User-Agent,Jakarta Commons-HttpClient/3.1);
 7 
 8 String sendMsg = { "touser":"ou-37t936RNZEcW0mI75RN2pdxkc", "msgtype":"text", "text": { "content":"测试客服消息" } };
 9 
10 req.setBody(sendMsg); 
11 req.setEndpoint(https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=bW3aubvd1GVgDZbrO6zv1WGVYIU0QlEhI1J5x_NpbiouxyBc8eufzQQHHyy8cMoZmuQknz-_iEgSB76CggVTgQ’);
12 
13 String bodyRes = ‘‘; 
14         
15         try{ 
16             HttpResponse res = h.send(req); 
17             bodyRes = res.getBody(); 
18         } 
19         catch(System.CalloutException e) { 
20             System.debug(Callout error: + e); 
21             ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage())); 
22         }
23 
24 );

 

执行上述代码后,效果如图所示:

bubuko.com,布布扣

 

向用户发送图片消息

向用户发送图文消息时,发送的数据格式如下:

1 {
2     "touser":"OPENID",
3     "msgtype":"image",
4     "image":
5     {
6       "media_id":"MEDIA_ID"
7     }
8 }

 

其中,每个参数的具体说明如下:

bubuko.com,布布扣

其中图片的媒体ID需要通过腾讯的上传多媒体文件接口上传图片后获得,本例的具体例子我们将在稍后的“上传下载多媒体文件”例子中具体说明。

 

向用户发送语音消息

向用户发送音乐时,数据格式如下:

1 {
2     "touser":"OPENID",
3     "msgtype":"voice",
4     "voice":
5     {
6       "media_id":"MEDIA_ID"
7     }
8 }

 

其中,每个参数的具体说明如下:

bubuko.com,布布扣

其中图片的媒体ID需要通过腾讯的上传多媒体文件接口上传图片后获得,其他代码与发送文本消息并不区别,这里就不赘述了。

 

向用户发送语音消息

向用户发送视频的消息格式如下:

 1 {
 2     "touser":"OPENID",
 3     "msgtype":"video",
 4     "video":
 5     {
 6       "media_id":"MEDIA_ID",
 7       "thumb_media_id":"MEDIA_ID",
 8       "title":"TITLE",
 9       "description":"DESCRIPTION"
10     }
11 }

 

其中,每个参数的具体说明如下:

bubuko.com,布布扣

其中视频的媒体ID需要通过腾讯的上传多媒体文件接口上传图片后获得,其他代码与发送文本消息并不区别,这里就不赘述。

 

向用户发送音乐消息

向用户发送音乐的消息格式如下:

 1 {
 2     "touser":"OPENID",
 3     "msgtype":"music",
 4     "music":
 5     {
 6       "title":"MUSIC_TITLE",
 7       "description":"MUSIC_DESCRIPTION",
 8       "musicurl":"MUSIC_URL",
 9       "hqmusicurl":"HQ_MUSIC_URL",
10       "thumb_media_id":"THUMB_MEDIA_ID" 
11     }
12 }

 

其中,每个参数的具体说明如下:

bubuko.com,布布扣

 

Force.com微信开发系列(六)客服接口,布布扣,bubuko.com

Force.com微信开发系列(六)客服接口

标签:des   style   blog   http   color   os   io   strong   

原文地址:http://www.cnblogs.com/johnsonwong/p/3918573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!