公众号关注自动回复

方案

  • 同步方案:
    微信将消息发来后即可返回,返回的消息即是用户关注后自动回复的内容
  • 异步方案
    将消息放入队列进行处理,对微信回复空。消费队列将消息取出后,使用customMessage(客服消息)进行回复


    客服消息可以做的事

实现

在微信后台配置里,配置服务器信息:


image.png
  • url是,当微信收到消息后,通知我们的入口,并且必须是80端口。
  • token,用于识别开发者,自定义即可
    细节上可阅读开发文档

绑定接口坑点

  • 初次绑定时候,要将微信发过去的GET消息中的echostr字段输出,才能绑定成功
  • 绑定成功后,就可以正常开发了

我们个人开发时候,可以配置测试公众号进行开发


测试号配置
测试号二维码

配置完成后。用微信扫一扫,就可以关注测试公众号,并且,微信会将消息发到服务器端。
接受服务器端消息。可以看到关注事件,微信会发送get消息,和xml消息

get消息:  
array (
  'signature' => '53499b81d59b07ce375a4b62c66006ea55f6427d',
  'timestamp' => '1524020660',
  'nonce' => '172652991',
  'openid' => 'o16dF0vTISOXE6Cs8PZXzYA7PNMw',
) 
post消息 :array ()   为空
xml消息:字符串
 '<xml>
<ToUserName><![CDATA[gh_228575651778]]></ToUserName>
<FromUserName><![CDATA[o16dF0vTISOXE6Cs8PZXzYA7PNMw]]>
</FromUserName><CreateTime>1523821114</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[]]></EventKey>
</xml>'
可以看到MsgType是event,event的内容是subscribe,订阅消息

注意

在php中,_$POST内很可能没有xml消息,应该使用如下代码进行xml接收

$postStr = file_get_contents("php://input");
$array = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
转换xml即可

对微信消息进行回复,回复一段xml消息。这条xml消息,就是关注微信后的自动回复内容,回复方案可选择文章开头提到的同步和异步方案

测试订阅号自动回复内容

可以获取用户信息,自定义回复内容等等。
消息回复的xml格式,可参考微信被动回复消息-回复图文消息:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543

如果是异步方案,使用客服消息进行回复,可参考客服消息
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140547

微信文档
上图我的测试号自动回复内容json串
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容