通过客服界面发送图文消息、音乐消息、视频消息的具体格式请参考微信公众平台的开发帮助文档。
客服接口可以与消息接口混合使用。
这里你可能不明白,既然可以通过被动响应消息接口直接向用户发送xml数据,为什么还需要这样一个客服接口呢? 可以理解,被动响应消息是一次性响应,同一消息只能回复一次。 如果你在音乐平台输入歌手的名字,通过被动回复方式发送的消息永远只会回复你同一首歌。 但通过客服界面,每次可以回复不同的歌曲,这就涉及到MySQL数据库。
更简单一点,微信公众平台查快递包括地址。 每次输入相同的订单号,后台都会像手动回复一样回复每次订单的位置(对于相同的文字,可以做出不同的回复),这就是客服界面。
3)、生成二维码界面
QR码有两种类型,即临时QR码eh和永久QR码。 前者的过期时间最长为1800s。
生成二维码需要调用3个接口:
第一个是
二是生成界面
第三个是通过第二个接口生成的,换取二维码图片。
$ = " ---";//假设获取到的TOKEN就是这段代码。 //临时二维码 $ = '{"": 1800, "": "", "": {"scene": {"": 10000}}}';//永久二维码 $ = '{" ": "", "": {"场景": {"": 1000}}}'; $url = "$";//创建接口 $ = ($url,$);$ = ($, true) ;$ = $[""]; ($url, $data = null){ $curl = (); ($curl,,$url); ($curl, ER, FALSE); ($curl, ST, FALSE); if (!empty($data)){ ($curl, , 1); ($curl,,$data); } ($curl, ER, 1); $ = ($curl); ($curl); $;}$ = "==";//获取的字符串 $url = "".($);//对面二维码的图片码。
$ = ($url);$ = ".jpg";$ = fopen($, 'w');if (false !== $){ if (false !== ($, $["body"]) ) { ($); }} ($url){ $ch = ($url); ($ch, , 0); ($ch, , 0); //只取主体头($ch, ER, FALSE); ($ch, ST, FALSE); ($ch, ER, 1); $ = ($ch); $ = ($ch); ($ch); (数组('body' => $), 数组('' => $)); }
如何调用微信高级接口
微信高级界面和微信普通界面的区别
后台服务器可以调用微信接口与微信用户进行通信。 这个行为就是调用微信接口。 这些接口都是基础接口生活网资讯,无需支付、无需身份验证即可调用。 但是,有一些高级接口。 您的微信公众号必须拥有一定的权限,例如微信认证,才能调用自定义菜单、微信支付等高级功能。
但微信公众号的测试账户系统可以应用这些高级接口(微信支付等涉及交易的接口除外)。
调用微信高级接口
调用微信高级接口,需要先调用一个接口。 只有先调用该接口,才能调用其他高级接口。
如下图:连接高级接口示意图
调用需要appID和(这两个的由来已在微信公众号平台开发(一)中介绍过)
调用代码如下
<?php $appid = "wxbad0b4x543aa0b5e"; $appsecret = "ed222a84da15cd24c4bdfa5d9adbabf2"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; //下面是一个cURL会话过程,通过这个会话可以返回一段字符串{"access_token":"NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjb"} 这就是我们要获得的Access Token了。在调用高级功能接口的时候就靠它。这个过程用的时候直接引用就好,不需要深究,这个cURL系统相关函数有点多而且复杂。 $ch = curl_init();//初始化 curl_setopt($ch, CURLOPT_URL, $url);//与url建立对话 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //进行配置 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //进行配置 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//进行配置 $output = curl_exec($ch);//执行对话,获取接口数据Access Token curl_close($ch);//关闭会话 $jsoninfo = json_decode($output, true);//解码接口数据,将json格式字符串转换成php变量或数组。默认是变量,加true后是数组。 $access_token = $jsoninfo["access_token"]; ?>
调用微信高级接口
1)。 调用自定义菜单功能
//创建自定义菜单的json字符串 $ = '{ "":[ { "name":"关于我们", "":[ {"type":"click","name":"公司简介" , "key":"公司简介" }, {"type":"click","name":"社会责任","key":"社会责任" }, {"type":"click","name " :"联系我们","key":"联系我们" }] }, { "name":"产品服务", "":[ {"type":"click","name":"微信平台" ,"key":"微信平台" }, {"type":"click","name":"微博应用","key":"微博应用" }, {"type":"click", "name ":"手机网站","key":"手机网站" }] }, { "name":"技术支持", "":[ {"type":"点击","name":"文档下载" ,"key":"文档下载" }, {"type":"click","name":"技术社区","key":"技术社区" }, {"type":"click", "name ":"服务热线","key":"服务热线" }] }] }'; $url = "".$;//接口地址 $ = ($url, $);//与接口建立($); ($url,$data = null){ $curl = (); ($curl,,$url); ($curl, ER, FALSE); ($curl, ST, FALSE); if ( !empty($data)){ ($curl, , 1); ($curl,,$data); } ($curl, ER, 1); $ = ($curl); ($卷曲); $;} //在上面调用Token接口的代码中添加这段代码,实现微信公众号界面添加菜单的功能。
当我们给微信公众号添加菜单时,点击菜单时如何设置相应的效果呢?
这就涉及到另一种xml类型的数据传输:
//上面是点击click菜单的数据传递类型,数据会发送给后台服务器,然后服务器做出响应。 1392297442
菜单的类型有很多种,xml类型也不同。 详情可在微信公众号平台查看相应文档。
*这里要说明的是,只要你有微信公众号的appID,就可以在任意服务器空间运行这段php代码进入微信服务器调用相应的功能,而且不一定非得是在已执行令牌验证的服务器下运行。 token验证是为了后台服务器判断数据源是否来自微信服务器,与调用微信服务器高层接口关系不大。
php文件必须在服务器上运行才能生效。
其他高级接口的调用与调用自定义菜单相同。
2)调用客服接口
当微信用户主动向微信公众号发送消息(包括发送消息、点击自定义菜单点击事件、订阅事件、扫描二维码、支付成功)时,微信会将消息数据推送到开发商。 开发者可以在一段时间内调用客服接口消息,通过发布JSON数据包的方式向用户发送消息。
$ =“-”;
$ = "-Q";//微信用户有一个
下图展示了如何获取。
$data = '{ "":"'.$.'", "":"text", "text": { "":"Hello World" }}';//通过基本消息接口发送的数据为XML格式,但是调用客服接口发送的数据是json数据格式,更容易传输。 $url = "".$;$ = ($url,$data);($); ($url,$data){ $curl = (); ($curl,,$url); ($curl, ER, FALSE); ($curl, ST, FALSE); ($curl, , 1); ($curl,,$data); ($curl, ER, 1); $ = ($curl); if (($curl)) { 'Errno'.($curl); } ($curl); $;}
本网站转载其他媒体之作品,意在为公众提供免费服务。如权利所有人拒绝在本网站发布其作品,可与本网站联系,本网站将视情况予以撤除。