Force.com微信支付系列(六)客服接口

当用户积极发消息于微信公众账号的早晚(包括殡葬信息、点击自定义菜单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" } }

 

其中,每个参数的现实性说明如下:

 

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 );

 

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

ACCESS 1

 

望用户发送图片信息

往用户发送图文信息不时,发送的数额格式如下:

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

 

个中,每个参数的现实性说明如下:

其间图片的传媒ID需要通过腾讯的达成传多媒体文件接口及传图片后获取,本例的切实事例我们以在稍后的“上传下载多媒体文件”例子中现实说明。

 

于用户发送语音信息

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

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

 

中间,每个参数的实际说明如下:

ACCESS 2

里面图片的传媒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 }

 

其间,每个参数的切实说明如下:

内部视频的媒体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 }

 

里面,每个参数的有血有肉说明如下:

通往用户发送图文信息

贴平段子ACCESS发送图文信息的代码如下:

 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":"news","news":{"articles":[{"title":"HappyDay","description":"IsReallyAHappyDay","url":"http://www.36kr.com/p/212479.html","picurl":"http://a.36krcnd.com/photo/2014/4e3ae0dac4884bb91934a689b72f8f8b.png"}]}}';
 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 );

 

 

 

相关文章