Skip to content

机器人

目前机器人支持用户通过以下两种场景进行交互:

  • 单聊场景:用户直接通过发送消息/指令与机器人交互;
  • 群聊场景:用户在群里通过@机器人的方式。

用户/机器人/WorkPlus涉及三方整体交互流程如下图所示:

交互流程

其他说明

  1. 用户与机器人间所有交互请求,均由 WorkPlus 根据配置,将请求回调至机器人服务;
  2. 机器人处理回调请求时,可同步返回应答响应或异步调用 WorkPlus 开放接口应答请求;
  3. 机器人可配置事件订阅,处理入群/退群等逻辑;
  4. 回调过程中通过请求签名/内容加密等方式保证通信安全(请见回调签名与加密)。

回调配置

进入应用后台后,如下图,点击“回调设置”进行配置机器人的回调设置,只有开启了回调功能,WorkPlus 才能把用户的消息传给业务方,以下是必填信息:

bot-create-5

配置详细说明如下:

配置项必填说明
是否开启回调功能开启之后消息将抄送至回调地址
URL应用回调 URL, WorkPlus 在推送消息给企业时,会对消息内容做 AES 加密,以 Json 格式 POST 到应用的 URL 上
TOKEN消息签名 TOKEN,用于验证请求是否来自 WorkPlus(防止攻击者伪造)
EncodingAESKey用于消息体的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,是 AESKey 的 Base64 编码。解码后即32字节长的 AESKey;
AESKey:AES 算法的密钥,长度为32字节。
AES 采用 CBC 模式,数据采用 PKCS#7 填充至32字节的倍数;IV 初始向量大小为16字节,取 AESKey 前16字节,详见:http://tools.ietf.org/html/rfc2315
接收消息类型消息类型支持多选:
1.【用户消息】:选择后接收用户发送的消息
2.【事件订阅】:选择后接收事件订阅的通知;订阅事件后,平台会在事件发生时(例如:机器人入群)向请求网址推送消息,开发者可以根据事件回传消息;事件订阅支持:机器人进群、机器人被移出群聊。
3.【指令消息】:选择后接收用户发出的机器人指令消息,业务方收到后可以根据指令回复用户相关的内容
是否开启回调加密开启之后回调地址将收到密文消息

详细的回调说明,请查阅开放接口-机器人-被动回调

事件订阅

订阅事件后,平台会在事件发生时向回调地址推送消息,开发者可以根据事件回传消息。可以视业务情况决定要订阅哪些事件。

bot-create-6

详细说明如下:

事件名称说明
机器人进群机器人被用户添加至群聊时触发此事件
机器人被移出群聊机器人被移出群聊后触发此事件

机器人指令

机器人指令是在客户端提供给用户可选择发出的内容,在配置好机器人指令后,业务方还需要在业务后台把机器人指令的【KEY】与相关操作进行匹配,机器人指令才能真正生效。

bot-action

配置详细说明如下:

名称必填说明
KEY与业务方约定的唯一标识
指令名称需要填写简体中文、繁体中文、英文
作用让用户知道指令的作用
使用范围可多选,设置指令在与机器人单聊、群聊中@机器人

添加后,用户可以在输入过程中通过选择指令与机器人交互,如与机器人互动;

机器人消息

用户与机器人之间的交互是建立在 WorkPlus 与机器人之间的消息传递,为了赋予用户与机器人更丰富的交互方式,我们增加了全新的消息按钮消息更新能力。

机器人可以回复用户发送的机器人指令,或响应用户点击的消息按钮并更新消息内容或按钮状态等。详细的接口及说明,请查阅开放接口-机器人-响应消息

应用消息通知

机器人作为轻应用的一种新形态,原平台的应用消息推送能力同样可用,可以参考应用消息通知

消息按钮

bot-btns

如上图所示,机器人消息支持在消息体下方添加按钮,当前最多支持5x5的按钮(即一行5个按钮,共5行)。

按钮有两种行为模式:

  • 蓝色框的代表指定按钮:用户点击后,WorkPlus 会以对应的 action 值回调给机器人,以便机器人做出相应的回复响应;
  • 红色框的代表链接按钮:用户点击后,WorkPlus 会跳转到 url 对应的地址,如果按钮的 action 和 url 同时存在,会优先响应 url;

链接多平台性

“链接按钮”支持多平台链接地址设置,包括 iOS,安卓和 PC,其外也支持链接占位符替换。

此外,还可对按钮的可访问性进行控制,支持设置按钮的“可见”和“可点击”黑白名单。

更多“消息按钮”的信息请查阅开放接口-机器人-响应消息-消息按钮

消息更新

假如有一个可交互的消息示例如下:

bot-update-1

用户点击 [同意] 按钮后,客户端会把当前消息更新,如下图所示:

bot-update-2

在这个过程中,用户操作消息按钮后,WorkPlus 向业务方提交用户操作数据的交互。业务方可以根据收到用户提交的信息,请求更新消息内容,及时对用户的交互行为进行反馈。

更多“消息更新”的信息请查阅开放接口-机器人-响应消息-更新消息