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

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

向用户发送图片消息

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

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 }

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

其中图片的媒体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 }

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

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

时间: 2024-10-08 20:27:11

Force.com微信开发系列(六)客服接口的相关文章

Force.com微信开发系列(二)用户消息处理

Force.com是国际知名的云平台公司,成功配置好Force.com作为微信公开号的服务端后,接下来需要的任务是处理用户发送的消息.当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL,通常有的消息类型有文本信息.图片信息.语音信息.视频信息.地理位置信息以及链接信息.关于每种消息的XML数据包的详细结构,请参见http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE

Force.com微信开发系列(五)自定义菜单进阶及语音识别

在上文里我们介绍了如何通过Force.com平台里为微信账号添加自定义菜单,本文里我们将进一步介绍如何查询菜单以及删除菜单的相关知识,最后会介绍微信平台如何进行语音识别的相关技术. 查询菜单 与创建菜单类似,查询菜单有自己的接口,其中ACESS_TOKEN需要通过前文介绍到的接口获取,通常2小时后会失效: https://api.weixin.qq.com/cgi-bin/menu/get?access_token=[ACCESS_TOKEN] 为此首先通过前文介绍到的获取Access_Toke

Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单

在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介绍如何获取Access Token,再介绍如何通过Access Token来在微信内添加自定义菜单(注意,开发者需要申请测试账号来测试自定义菜单,如何申请请参照前文). 申请Access Token 获取Access Token接口的网址如下: https://api.weixin.qq.com/c

Force.com微信开发系列(七)OAuth2.0网页授权

OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站上存储的私密资源(如用户个人信息.照片.视频.联系人列表),而无须将用户名和密码提供给第三方应用.本文将详细介绍OAuth协议以及在微信里的具体实现. OAuth2.0协议介绍 OAuth2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0. OAuth 2.0关注客户端开发者的简易性,同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程. OAuth2.0允许用户提供一个令牌,而不是用户

Force.com微信开发系列(八)生成带二维码的参数

为了满足用户渠道推广分析的需要,公众平台提供了生成带二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送.目前有两种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1到100000).两种二维码分别适用于账号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下两种事件: 1. 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件

Senparc.Weixin.MP SDK 微信公众平台开发教程(十):多客服接口说明

微信官方的多客服接口原理是通过用户发送的信息,开发者服务器返回一条指定类型的响应信息,使用户的对话状态切换到官方的多客服状态(持续一段时间),这段时间内用户发送的所有信息都不会到达开发者的服务器,而是转到多客服的软件上. 需要实现多客服,必须是通过验证的服务号,进入后台的[服务]>[服务中心]>[多客服]进行申请及设置,详细信息可以见官方公告:https://mp.weixin.qq.com/cgi-bin/readtemplate?t=news/vote_wkd_tmpl&lang=

微信公众平台开发(92) 多客服接入

关键字:微信公众平台开发 多客服作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/weixin-transfer-customer-service.html 在这篇微信公众平台开发教程中,我们将介绍如何使用开发模式实现多客服系统. 本文分为以下三个部分: 回复多客服消息 触发多客服会话 其他说明 一.回复多客服消息 在新的微信协议中,开发模式也可以接入客服系统. 开发者如果需要让用户使用客服系统,需要在接收到用户发送的消息时,返回一个MsgType为tran

微信公众平台开发(73) 客服接口发送客服消息

原文:微信公众平台开发(73) 客服接口发送客服消息 微信公众平台开发 客服接口 发送客服消息作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/weixin73-custom-send.html 当用户主动发消息给公众号的时候(包括发送信息.点击自定义菜单clike事件.订阅事件.扫描二维码事件.支付成功事件.用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前为24小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通

微信开发系列教程:(1)订阅号和服务号深入分析

微信开发系列教程,将以一个实际的微信平台项目为案例,深入浅出的讲解微信开发.应用各环节的实现方案和技术细节. 原创内容,欢迎转载,转载请注明出处. 首先在第1章节中,我们先理清什么是订阅号,什么又是服务号,以及两者的关键性区别. 订阅号和服务号统称为微信公众号. 订阅号强调媒体资讯属性,为会员提供信息订阅,适用于新闻传媒类企业.订阅号从某种意义上来讲,是拿来做内容的,如果你没有原创作品,对用户没有任何意义. 服务号强调服务和应用属性,旨在为会员提供服务并与之互动.支持所有微信高级接口,几乎所有的