消息网关

消息网关是一个消息中转服务器. 它可将微信发给公众号消息服务器的内容, 通过规则定制, 转发给一个或者多个不同的消息服务器.

消息网关有两部分组成: 转发规则后端服务器.

当消息网关接收到微信发过来的消息时, 会与转发规则顺序做匹配, 如果匹配成功, 则将消息转发至规则中指定的后端服务器.

从微信之门到后端服务器的转发, 数据格式完全与微信原生的格式相同. 后端服务器的加密解密过程无需任何改动即可对接到微信之门的消息网关.

第一个添加的后端服务器, 将成为默认服务器. 可以在服务器列表中点击"默认"属性中的图标改变默认服务器.

操作步骤


  1. 添加公众账号基本信息 添加公众账号
  2. 复制已有的公众账号信息到微信之门 添加公众账号2
  3. 将生成的接口地址, 以及添加的 Token, AES Key信息添加至微信后台开发者中心.
    TODO: 微信之门公众号显示页面截图, 以及公众号开发者中心, 详细说明
  4. 添加后端消息服务器 添加公众账号3 添加公众账号4
  5. 添加消息网关的转发规则 添加公众账号4 添加公众账号4

转发规则


通过转发规则可以指定哪种类型的消息, 将会被转发至哪个消息服务器.

转发规则又分为 主/次 规则.

匹配到主规则时, 将后端服务器的返回结果 发送回微信服务器. 因此主规则只能成功匹配一次, 即会停止下一个主规则的匹配.
匹配到次规则时, 不会将后端服务器的返回结果 发送回微信服务器, 并且会继续匹配下一个次规则, 直到所有次规则匹配完毕.

一个规则可以选择一种消息类型, 以及该类型下特定的值作为判定条件.
例如, 将消息 "优惠券XXX" 的消息转发至后端服务器A, 则可以创建规则: 类型=文本消息, 指定内容为正则表达式 "优惠券.*".

默认情况下, 一个公众号可最多添加10个转发规则.

后端服务器


后端服务器即接收微信消息的服务器. 微信之门向后端服务器发送的消息内容, 与微信发送的方式和加密方式一样, 因此已经存在的服务器无需作任何的更改, 即可直接对接至微信之门的消息网关.

添加后端服务器时, 可将微信之门消息网关看作为微信服务器, 同样需要设置服务器URL,TOKEN, AES KEY, 加密类型.
新增的后端服务器可设置状态为 可用/不可用.

第一个新增的后端服务器将设置为默认消息服务器.
当一条消息找不到任何匹配的主规则时, 将转发给默认服务器.

默认情况下, 一个公众号最多可添加3个后端服务器.

示例


  1. 做一个微信活动, 在年会上用户发消息"抽奖", 并由第三方运营公司开发后端并回复消息.
    可将现有消息服务作为默认后端服务器, 第三方运营公司的后端服务器作为第2个消息服务器.
    创建新的转发"主"规则, 消息类型为"文本消息",并指定内容为 "抽奖", 转发至第三方的消息服务器.

  2. 第三方开发公司新做的系统, 需要给用户发送模板消息, 并需要得到用户的点击事件.
    先将现有消息服务器作为默认后端, 并添加新系统消息服务器为后端服务器.
    创建转发"次"规则, 消息类型为"事件消息", 转发至新系统的后端服务器.