+发表新主题
查看: 1390|回复: 0

[开发入门] 微信开发入门系列教程(二)-- 客服接口

[复制链接]

[开发入门] 微信开发入门系列教程(二)-- 客服接口

[复制链接]
风的传说自由 发表于 2015-7-13 18:21:24 浏览:  1390 回复:  0 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

注意:客服接口属于九大高级接口,目前订阅号没有使用客服接口的权限,并且只有用户主动发起交互行为时,公众号才能调用客服接口。

我们可以直接调用微信公众平台的客服接口,当用户产生交互行为时,发送客服消息给用户。
http请求方式: POST

  1. https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
复制代码
各类客服消息的JSON格式:
发送文本消息

  1. {

  2.     "touser":"OPENID",

  3.     "msgtype":"text",

  4.     "text":

  5.     {

  6.          "content":"Hello World"

  7.     }

  8. }
  9. 发送图片消息

  10. {

  11.     "touser":"OPENID",

  12.     "msgtype":"image",

  13.     "image":

  14.     {

  15.       "media_id":"MEDIA_ID"

  16.     }

  17. }
复制代码
发送语音消息

  1. {

  2.     "touser":"OPENID",

  3.     "msgtype":"voice",

  4.     "voice":

  5.     {

  6.       "media_id":"MEDIA_ID"

  7.     }

  8. }
复制代码
发送视频消息

  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. }
复制代码
发送音乐消息

  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. }
复制代码
发送图文消息(图文消息条数限制在10条以内,注意,如果图文数超过10,则将会无响应。)

  1. {

  2.     "touser":"OPENID",

  3.     "msgtype":"news",

  4.     "news":{

  5.         "articles": [

  6.          {

  7.              "title":"Happy Day",

  8.              "description":"Is Really A Happy Day",

  9.              "url":"URL",

  10.              "picurl":"PIC_URL"

  11.          },

  12.          {

  13.              "title":"Happy Day",

  14.              "description":"Is Really A Happy Day",

  15.              "url":"URL",

  16.              "picurl":"PIC_URL"

  17.          }

  18.          ]

  19.     }

  20. }
复制代码
发送卡券

  1. {

  2.   "touser":"OPENID",

  3.   "msgtype":"wxcard",

  4.   "wxcard":{              

  5.            "card_id":"123dsdajkasd231jhksad",

  6.            "card_ext": "{"code":"","openid":"","timestamp":"1402057159","signature":"017bb17407c8e0058a66d72dcc61632b70f511ad"}"            

  7.             },

  8. }
复制代码
查看card_ext字段详情及签名规则,特别注意客服消息接口投放卡券仅支持非自定义Code码的卡券。

请注意,如果需要以某个客服帐号来发消息(在微信6.0.2及以上版本中显示自定义头像),则需在JSON数据包的后半部分加入customservice参数,例如发送文本消息则改为:

  1. {

  2.     "touser":"OPENID",

  3.     "msgtype":"text",

  4.     "text":

  5.     {

  6.          "content":"Hello World"

  7.     },

  8.     "customservice":

  9.     {

  10.          "kf_account": "test1@kftest"

  11.     }

  12. }
复制代码
参数说明:
参数是否必须说明
access_token调用接口凭证
touser普通用户openid
msgtype消息类型,文本为text,图片为image,语音为voice,视频消息为video,音乐消息为music,图文消息为news,卡券为wxcard
content文本消息内容
media_id发送的图片/语音/视频的媒体ID
thumb_media_id缩略图的媒体ID
title图文消息/视频消息/音乐消息的标题
description图文消息/视频消息/音乐消息的描述
musicurl音乐链接
hqmusicurl高品质音乐链接,wifi环境优先使用该链接播放音乐
url图文消息被点击后跳转的链接
picurl图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80


下面是发送客服消息的简单示例(代码在附件中),

  1. $cus_ser_data='{

  2.                     "touser":"oEJfdd4U5o1f9FOriBuxi-OeX0-o",

  3.                     "msgtype":"text",

  4.                     "text":

  5.                     {

  6.                         "content":"Welcome!!"

  7.                     }

  8. }';

  9. $cus_ser="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$ACCESS_TOKEN;

  10. $curl=curl_init();

  11. curl_setopt($curl, CURLOPT_URL, $cus_ser);

  12. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

  13. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

  14. curl_setopt($curl, CURLOPT_POST, 1);

  15. curl_setopt($curl, CURLOPT_POSTFIELDS, $cus_ser_data);

  16. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

  17. $output = curl_exec($curl);

  18. curl_close($curl);
复制代码
参数"touser"即openID,有许多方式可以获取到用户的openID,比如我们在接收消息的时候,微信服务器POST的XML数据包等等。

143808bpycpbs68rempmpz.png


不过大家可能会有疑问,这和普通的消息消息收发有什么区别?和接收普通消息一样,虽然都是被动回复消息,但还是有明显差别的。首先,客服接口可以无数量限制的回复用户,而普通消息却只能回复一条,即一问一答的模式;其次,客服消息可以在48小时内,任意时间回复,而普通消息则必须在5秒内对用户交互做出回应(之前的消息异常处理有介绍过),因而客服接口回复的方式更加灵活。
游客,如果您要查看本帖隐藏内容请回复

回复

使用道具 举报


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

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网