Rboot 文档--企业微信消息转接器

简介

企业微信基于SDK wxwork 实现。
因为市面上真找不到代码比较清晰的SDK,所以就自己写了一个,精力有限,只实现了部分功能,以后可能会继续开发,已经实现的功能见上面的链接,文档见godoc

请确保你已经了解企业微信相关操作!企业微信帮助中心 https://work.weixin.qq.com/help
确保你的web服务可以被外网访问!

开启API接收消息

企业微信转接器提供了消息接收的api,URI为:wework

比如你的部署地址为 https://baidu.com:7856,对应消息接收地址为 https://baidu.com:7856/wework

配置好 TokenEncodingAESKey

此api提供了url验证功能,将下面的配置填写完整,运行机器人服务才可进行验证。

配置企业微信机器人

企业ID,自建应用的AgentIdSecret,消息服务器的TokenEncodingAESKey 填入对应配置中:

# 聊天转接器
ROBOT_ADAPTER=wework
# 企业微信 企业ID
WORKWX_CORP_ID=xxxxxxxxx
# 企业微信自建应用agentid
WORKWX_AGENT_ID=xxxxxxxxxxxx
# 企业微信自建应用secret
WORKWX_SECRET=xxxxxxxx
# 企业微信自建应用API接收消息token
WORKWX_RECV_TOKEN=xxxxxxxxxx
# 企业微信自建应用API接收消息EncodingAESKey
WORKWX_RECV_AES_KEY=xxxxxxxxxx

传入消息(Incoming)

当企业微信将消息或事件推送给转接器时,转接器会做以下操作:

  • 记录发送者
  • 记录应用ID AgentId
  • 记录原始数据 Data,原始数据为SDK的wxwork.RecvMessage类型,使用gob进行序列化,脚本可以反序列化后获取原始记录,并做相关处理。

其中发送者记录在消息体中,其他记录在消息体的Header中,最后转接器将消息存入 incoming 通道中,等待机器人获取消息。

传出消息(Outgoing)

消息通过脚本解析执行后会将处理结果发送给用户,脚本可以发送转接器支持的消息类型到客户端。

企业微信支持七种消息类型:

  • text 文本消息
  • markdown markdown消息
  • image 图片消息
  • voice 语音消息
  • video 视频消息
  • file 文件消息
  • textcard 文本卡片消息

消息类型请查看企业微信开发文档 发送应用消息
需要在 Header中设置消息类型 msgtype
在不指定时默认为 markdown 类型消息

同步联系人信息

该转接器同样也提供了同步联系人功能,需要 通讯录同步 权限。获取此权限需要设置 WORKWX_CONTACT_SECRET 的值为 通讯录同步Secret

你可能感兴趣的:(Rboot 文档--企业微信消息转接器)