使用 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 | 消息类型,例如文本消息 RC:TxtMsg、图片消息 RC:ImgMsg。 |
data.content | String | 发送的消息内容。消息内容结构参考用户内容类消息格式或其他内置消息类型的消息内容格式。 |
data.channelType | String | 会话类型。PERSON(二人会话)、PERSONS(讨论组会话)、GROUP(群组会话)、TEMPGROUP(聊天室会话)、CUSTOMERSERVICE(客服会话)、NOTIFY(系统通知)、MC(应用公众服务)、MP(公众服务)、 ULTRAGROUP(超级群服务)。 |
data.extraContent | String | 附加内容字段。 |
data.msgUID | String | 消息唯一标识。 |
data.msgTimestamp | Number | 消息发送时间,Unix 毫秒时间戳。 |
message:group_mentioned 类型
参数路径 | 类型 | 说明 |
---|---|---|
data | Object | 消息数据对象,包含发送人、消息内容、时间戳等字段。 |
data.fromUserId | String |