找回密码
 立即注册

QQ登录

只需一步,快速开始

微信公众号开发资源

关注:815

所属分类: 微信开发 微信公众号开发资源

本版块为微信公众号开发教程与公众号开发相关技术分享板块,技术提问请到其他对应的问答板块发帖:)

[公众号开发博客] 调用客服发送消息接口 - 傻瓜式微信开发教程26 - 耗子原创

  [复制链接]
查看: 22909|回复: 102
最佳答案
91 

57

主题

231

帖子

3007

积分

认证开发者

Rank: 3Rank: 3

积分
3007
QQ
 楼主| 发表于 2015-10-20 15:09:29 | 显示全部楼层 |阅读模式
当用户主动发消息给公众号的时候,
有可能我们需要给用户回复多条消息,
直接回复是不能实现的,
不过这时候我们可以使用`客服接口-发送消息`

微信的官方文档地址是: http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html#.E5.AE.A2.E6.9C.8D.E6.8E.A5.E5.8F.A3-.E5.8F.91.E6.B6.88.E6.81.AF

这里对接口的使用做了说明:

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

  2. 为了帮助公众号使用不同的客服身份服务不同的用户群体,客服接口进行了升级,开发者可以管理客服账号,并设置客服账号的头像和昵称。该能力针对所有拥有客服接口权限的公众号开放。

  3. 另外,请开发者注意,本接口中所有使用到media_id的地方,现在都可以使用素材管理中的永久素材media_id了。
复制代码


没有发送次数限制,这是个很不错的方法.

以`开发助手`公众号提供的表情生成功能为例.
用户在输入`list`字符串后,
公众号需要返回服务器中可以生成的表情列表,
也就是一个`图文消息`,
但是同时我们还希望返回一个文本消息,
用于告诉用户,回复什么格式的文字能生成用户想要的表情图片.

这样以来第一条图文消息就需调用客服接口回复,
第二条文本消息就可以直接回复文本消息了.

处理过程其实很简单,
继续使用我们修改过的wechat-php sdk
代码如下

  1. protected function onText() {
  2.     $input_txt = $this->getRequest('content');
  3.     switch ($input_txt) {
  4.         case 'list':
  5.             // 用户发送list的时候调用listImages函数
  6.             $this->listImages();
  7.             break;
  8.         case 'code':
  9.             $this->genCode();
  10.             break;
  11.         case 'custom':
  12.             $this->sendCustom("this is a custom msg");
  13.         default:
  14.             $this->makeImage();
  15.             break;
  16.     }
  17. }

  18. protected function listImages(){
  19.     $img_infos = httpGetForJson('http://php.jidangeng.com/public/list_pic.php', array());

  20.     // custom msg
  21.     $list_items = array();
  22.     for ($i=0; $i < count($img_infos); $i++) {
  23.         $value = $img_infos[$i];
  24.         $img_url = $value->url;
  25.         $link_url = 'http://php.jidangeng.com/public/show_pic.php?img_serial=' . $i;
  26.         array_push(
  27.             $list_items,
  28.             array(
  29.                 "title" => 'img serial: ' . $i,
  30.                 "description" => 'img serial id: ' . $i,
  31.                 "url" => $link_url,
  32.                 "picurl" => $img_url
  33.             )
  34.         );
  35.     }
  36.     // 调用函数回复 `图文消息`
  37.     $this->sendCustomList($list_items);
  38.     // 直接回复文本消息
  39.     $this->responseText('回复"1-原来是这样"引号中的内容试试?');
  40. }

  41. protected function sendCustomList($list_msg){
  42.     // 获取调用token
  43.     // 记得之前我们从缓存获取token的代码不
  44.     $token_info = getToken();
  45.     if ($token_info['error'] != 0) {
  46.         $this->responseText("get token error\n" . $token_info['msg']);
  47.     }
  48.     $token = $token_info['token'];

  49.     // 生成消息体
  50.     $msg = array(
  51.         "touser" => $this->getRequest("fromusername"),
  52.         "msgtype" => "news",
  53.         "news" => array(
  54.             "articles" => $list_msg
  55.         )
  56.     );
  57.     // 调用函数调用微信api
  58.     // 这个函数在weixin_api.php文件中
  59.     // 可以到附件中下载
  60.     messageCustomSend($token, $msg);
  61. }
复制代码


其实这个调用含简单,
主要是为大家提供一种发送多条消息的思路.

需要准备一下信息就可以调用:
1. token
2. 发送目标的openid

游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报

最佳答案
13 

4

主题

18

帖子

222

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
222
发表于 2015-10-20 15:12:38 | 显示全部楼层
哟,不错哦!
回复

使用道具 举报

最佳答案
7 

18

主题

131

帖子

102万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1027149
QQ
发表于 2015-10-20 15:19:39 | 显示全部楼层
超级赞~
今天开启了问答求助功能,看起来酷酷的,哇哈哈哈哈
回复

使用道具 举报

最佳答案
15 

19

主题

309

帖子

6125

积分

S2

积分
6125

积极分子

发表于 2015-10-20 17:18:58 | 显示全部楼层
谢谢分享!每天都看!
www.wx16.com微信运营人员必备工具导航,一流在手,天下我有!
回复 支持 反对

使用道具 举报

最佳答案
43 

3

主题

247

帖子

3834

积分

S1

积分
3834

积极分子领域专家我要抢答

发表于 2015-10-20 19:06:32 | 显示全部楼层
不错的教程
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

4

帖子

24

积分

新人求带

积分
24
发表于 2015-10-22 16:36:11 | 显示全部楼层
看一看。。
回复

使用道具 举报

最佳答案
0 

0

主题

10

帖子

32

积分

新人求带

积分
32
发表于 2015-10-26 10:02:26 | 显示全部楼层
不错不错 又学习了
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

11

帖子

33

积分

新人求带

积分
33
发表于 2015-11-2 16:10:29 | 显示全部楼层
回复一个图文消息
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


易域网-您身边的域名管家

henkuai.com是专业的第三方微信开发者平台,为生态而生。


本站为第三方微信开发者平台,非腾讯官方网站。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

欢迎来这里一起喝喝茶,
聊聊你的产品。

微信公众号gongzhongkaifa

工作日12小时内回复。

广告推广
zhongcong@henkuai.com

工作日12小时内回复。

市场合作
songchang@henkuai.com