集成第三方 API
通过 API,可以读取外部系统的数据或调用其业务能力。Zion 会根据配置生成可绑定的入参和响应结构,使同一个 API 可以在页面、行为流或 AI Agent 中复用。
开始前
准备第三方服务提供的接口文档,并确认以下信息:
- 请求方法和完整地址
- Path、Query、Headers 和 Body 参数
- 必填参数、数据类型和示例值
- 成功与失败响应示例
- 身份验证方式
如果请求需要不能暴露给客户端的 API Key、Token 或私钥,请从行为流调用该 API,并通过 Secret 绑定凭证。不要把敏感凭证绑定到页面或前端行为。
配置 API
添加配置
打开顶部的 行为,进入 API,点击 添加配置,并填写便于识别的 API 名称。
选择操作类型
操作类型决定 API 在编辑器中的主要用途:
| 操作类型 | 用途 |
|---|---|
| 查询 | 读取外部数据,可以配置为页面或列表的数据源 |
| 修改 | 执行创建、更新、删除或其他有副作用的请求,可以通过前端行为或行为流节点调用 |
查询型 API 还可以按接口能力配置分页方式、页码字段、每页数量字段和起始页码。
设置请求
进入编辑状态后,选择请求方法并填写 URL。根据接口文档,在对应位置添加参数:
- Path:URL 路径中的动态部分
- Query:URL 查询参数
- Headers:请求头
- 请求数据:请求 Body
为每个字段设置名称、类型、是否必填以及调试时使用的值。Body 只能有一个根节点,可以继续添加对象字段或列表字段。
发送调试请求
点击 调试,为请求参数填写测试值,然后点击 发送。确认请求内容、响应状态和响应数据符合第三方接口文档。
调试成功后进入 高级:
- 检查系统根据本次请求推断出的请求参数。
- 检查成功响应和失败响应的字段结构。
- 如果当前 API 已有配置,核对用户配置、推断配置和合并后的配置。
- 完成后点击 保存配置。
API 将 2xx 响应归入成功结果,将 4xx、5xx 响应归入失败结果。调用方会根据这里保存的结构提供对应的数据绑定字段。
处理特殊字段
当响应字段不是直接可用的数据类型时,可以设置编码方式:
| 编码方式 | 适用情况 |
|---|---|
| URL 媒体编码 | 字段是图片或其他媒体文件的 URL,需要转换为 Zion 媒体数据 |
| Base64 媒体编码 | 字段是 Base64 媒体内容,需要解析并转换为 Zion 媒体数据 |
| JSON 字符串编码 | 字段是经过转义的 JSON 字符串,需要解析为对象或列表 |
例如,接口可能返回:
{
"profile": "{\"name\":\"Ada\",\"level\":3}"
}将 profile 设置为 JSON 字符串编码 后,可以继续绑定其中的 name 和 level。
发布 API
API 修改会自动保存,但需要发布后才会在运行环境生效。更新预览 和 同步变更 都会发布最新的 API、行为流和 AI Agent 等后端配置;更新预览还会更新前端预览内容。
修改已经被页面、行为流或 AI Agent 使用的入参和响应结构时,应同步检查所有调用方。
使用 API
作为数据源
查询型 API 可以作为页面、列表等位置的数据源。选择目标 API,绑定其入参,并指定响应中作为数据源结果的字段。
如果接口支持分页,还需要根据 API 配置绑定页码、每页数量或加载更多相关参数。
作为前端行为
修改型 API 可以从页面或组件调用:
- 在触发器中添加 调用 API。
- 选择目标 API 并绑定入参。
- 在 成功时 中通过
上下文 → 行为结果 → 调用 API读取成功响应。 - 在 失败时 中显示错误提示或执行其他错误处理。
在行为流中使用
在行为流中添加 API 节点,选择目标 API 并绑定入参。后续节点可以读取该 API 节点的成功结果;失败分支可以记录错误、重试或执行补偿逻辑。
API 节点从发起请求到接收完整响应的时长上限为 60 秒。其他超时规则请参阅搭建行为流。
作为 AI Agent 工具
在 AI Agent 的工具中添加 API,并为工具填写清晰的名称、用途和参数说明。模型会根据对话内容判断是否调用该工具。
涉及创建订单、修改数据等必须执行的业务步骤时,不应依赖模型自主选择工具。请将固定步骤放入行为流,并将该行为流作为工具。详见搭建 AI Agent。
常见问题
- 调试成功,调用时失败:检查 API 是否已发布、调用方绑定的参数类型是否与当前配置一致,以及必填字段是否有值。
- 响应字段无法绑定:重新调试 API,在高级配置中确认成功或失败响应结构,并保存配置。
- 修改响应后旧调用方报错:检查页面、行为流和 AI Agent 是否仍在引用已删除或已改类型的字段。
- 媒体或 JSON 字段解析失败:确认字段实际内容与选择的编码方式一致。
- 请求超时:确认第三方接口能在限制时间内返回完整响应;耗时工作应改用第三方异步接口,并通过后续查询或 Webhook 获取结果。