公众平台消息接口为开发者提供了与用户进行消息交互的能力。对于成功接入消息接口的公众账号,当用户发消息给公众账号时,微信公众平台服务器会使 用 HTTP 请求对接入的网址进行消息推送,第三方服务器可通过响应包返回个性的回复,从而达到回复消息的目的。简单地说,就是公众账号可以使用自己的程序来和用户对话。
1)用户在微信的手机客户端里向公众账号发送一条消息,这条消息会通过网络到达微信的后台;
2)后台收到这条消息之后,把消息转发给公众账号的后台,也就是公众账号的服务器;
3)公众账号服务器收到请求后,解析消息格式,根据用户内容和自己的服务器逻辑,计算出需要返回给用户的消息,然后封装消息,返回给微信后台;
4)微信后台把公众账号服务发来的消息转发给用户的微信手机客户端,这样用户在手机客户端上就可以看到公众账号发来的微信消息了。
通过这个过程可以看到公众账号服务器要做的事情有三件:
❑ 获取微信后台发过来的消息;
❑ 实现自己的业务逻辑;
❑ 发送返回消息给微信后台。
因为微信服务器请求公众账号服务使用的是 HTTP 协议,所以在公众账号服务器上必须要运行一个 HTTP 服务,并打开一个端口。本书的案例为了开发时的 方便,使用 Windows 上的 AppServ 作为开发和调试环境,使用 zendstudio 作为 PHP 语言的 IDE,使用 Windows 版本的 MySQL 作为数据存储;在部署应用时使 用 Nginx、PHP-FPM 和 Linux 版本的 MySQL 作为生产环境。