使用 Webhook 接收通知
机器人支持通过 Webhook 的方式将接收到的用户消息或事件回调至应用服务器(App Server)。
该机制便于业务方基于回调内容进行处理,如自动回复、数据分析、消息转发等。
本文档将介绍回调的数据结构、触发条件、签名校验机制以及接入示例,帮助你快速完成机器人 webhook 的接入与处理。
回调方法
请求方法: POST
数据格式: application/json
即时通讯服务端会在 POST 请求 URL 中添加签名参数,您可通过签名验证调用者身份和数据有效性,详细参见 服务端回调签名。
回调事件类型说明
回调事件类型及其触发条件请参考文档 回调事件类型列表。
⚠️ 不同事件类型对应的
data
字段结构可能不同,请根据具体类型进行解析和处理。
回调参数说明
通用字段(适用于所有事件)
参数路径 | 类型 | 说明 |
---|---|---|
type | String | 回调事件类型。 |
timestamp | Number | 触发时间(Unix 毫秒)。 |
bot | Object | 机器人信息对象,包含机器人 ID、昵称、头像、类型及元数据等字段。 |
bot.userId | String | 机器人的唯一 ID。 |
bot.name | String | 机器人的昵称。 |
bot.profileUrl | String | 机器人头像的 URL。 |
bot.type | String | 机器人的类型。 |
bot.metadata | Map<String, String> | 自定义元信息,例如创建者、版本等。 |
message:private 类型
参数路径 | 类型 | 说明 |
---|---|---|
data | Object | 消息数据对象,包含发送人、消息内容、时间戳等字段。 |
data.fromUserId | String | 发送消息的用户 ID。 |
data.toUserId | String | 接收方 ID,通常为机器人自身 ID。 |
data.objectName | String |