Agent Hooks 回调
Agent Hooks 功能支持通过 Webhook 的方式将拦截事件回调至应用服务器(App Server)。当 Hook 条件触发时,系统会向配置的 Webhook URL 发送回调请求,便于业务方进行自定义处理,如付费检测、用户限制、数据统计等。
本文档将介绍 Hooks 回调的数据结构、触发条件、签名校验机制以及接入示例,帮助您快速完成 Agent Hooks Webhook 的接入与处理。
回调方法
请求方法:POST
数据格式:application/json
超时时间:5 秒
即时通讯服务端会在 POST 请求 URL 中添加签名参数,您可通过签名验证调用者身份和数据有效性,详细参见 服务端回调签名。
触发条件
Hooks Webhook 回调在以下情况下触发:
- 对话前拦截(beforeChat):用户发送消息时,Hook 条件匹配成功
- 动作执行:Hook 配置中包含
webhook类型的动作
回调参数说明
| 参数路径 | 类型 | 说明 |
|---|---|---|
| 基础字段 | ||
phase | String | Hook 执行阶段,当前支持:beforeChat(对话前) |
name | String | Hook 名称,用于标识具体的 Hook 配置 |
timestamp | Number | 触发时间(Unix 毫秒时间戳) |
condition | Object | 触发条件配置对象,详细结构请参见 Hooks 配置指南 |
| 条件匹配结果 | ||
conditionOutcome | Object | 条件匹配结果对象 |
conditionOutcome.match | Boolean | 条件是否匹配成功 |
conditionOutcome.details | Object | 匹配详情对象,具体结构见下方说明 |
| 对话请求信息 | ||
request | Object | 对话请求信息对象 |
request.agentId | String | Agent 唯一标识 |
request.query | String | 用户输入内容 |
request.variables | Object | 系统变量对象 |