[TOC] #### 什么是消息响应? 1. 粉丝用用微信给公众号发送信息 2. 公众平台将粉丝用户的 **请求消息**((当前包括: 文本, 图片, 位置, 链接, 事件. 请参阅消息类型)) 传递给微擎系统(数据为XML格式) 3. 微擎系统按照 **消息类型** 和对应的公众号所设定的 **规则列表** 匹配到合适的 **规则**(请参阅消息路由),规则定义包括处理此消息所使用的模块和此模块处理消息时所需要的其他附加数据(请参阅模块定义) 4. 模块将按照请求的 **消息数据** 和 **模块附加数据** 进行相关业务处理并返回处理结果(请参阅响应类型), 5. 微擎系统将处理结果返回给公众平台 6. 公众平台将结果再次返回给粉丝用户 如下图所示: ![](https://box.kancloud.cn/2016-04-05_5703966e7d845.jpg) (微擎的主处理流程实现定义于: **api.php** 中的 class **WeEngine**, 如有需要请参阅源码.) #### 消息的路由 **消息路由** 是指粉丝用户经公众平台发送消息内容至微擎时, 微擎系统查找对应的规则记录, 并将消息分配至合适的模块处理的过程. 微擎系统按照不同的消息类型, 进行不同的处理. 处理方式如下: ##### 上下文消息路由 微擎支持上下文操作. 通过上下文支持微擎可将用户对话锁定至特定的模块, 如果当前消息是上下文对话的消息, 那么将会自动路由至上下文锁定的模块. (请参阅 [上下文处理](http://www.kancloud.cn/donknap/we7/134689)) ##### 文本消息规则匹配(重要) 针对文本消息, 微擎使用文本匹配来选择合适的规则和模块, 规则是针对特定消息的处理方式. 微擎选择规则的方式包括: * **关键字包含** 指粉丝用户发送的消息内容 **含有** 指定的关键字就指派到特定规则. * **内容等价** 指粉丝用户发送的消息内容 **完全等于** 指定的内容才指派到特定规则. * **正则表达式** 指粉丝用户发送的消息类型 **符合指定正则** 表达式定义的模式时指派到特定规则.(高级模式, 需要有编程经验) ##### 系统回复 **系统回复**为系统内置的两种回复类型包括 **欢迎信息回复**、**默认回复**。欢迎信息为用户关注时触发的消息回复,默认回复为未匹配到关键字时的消息回复。 ##### 特殊消息路由 **特殊消息路由** 是指除 **文本消息** 之外的消息类型,包括 **图片消息**、**语音消息** 、**视频消息**、 **小视频消息**、 **位置消息**、 ***上报地理位置**、 **链接消息**、**进入聊天窗口**、**微小店消息** 设置特殊消息接管后,用户发来此类消息优先会路由至该消息的处理模块中。评情请见【基础设置】- 【特殊回复】-【特殊消息类型处理】