> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchhive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom API

> 配置一个发送 HTTP 请求并存储响应供后续步骤使用的工作流步骤

# Custom API

当你希望工作流步骤从 Fetch Hive 调用外部 HTTP 端点并将响应传递给后续步骤时,请使用 **Custom API**。

## 配置

| 选项                                                                         | 是否必填 | 说明                                                          |
| -------------------------------------------------------------------------- | ---- | ----------------------------------------------------------- |
| Name                                                                       | 否    | 步骤在工作流画布中的标签。                                               |
| API Method                                                                 | 是    | **API Method** 中的 HTTP 方法。可用值为 `get` 和 `post`。              |
| API URL                                                                    | 是    | **API URL** 中的 URL。此字段通过 **Insert Variable** 支持工作流变量。       |
| Headers                                                                    | 否    | 在 **Headers** 中输入的 JSON 字符串。                                |
| Body                                                                       | 否    | 在 **Body** 中输入的 JSON 字符串。仅当 **API Method** 为 `POST` 时显示此字段。 |
| Retry Count                                                                | 否    | **Retry Count** 中的重试次数。                                     |
| When the step fails                                                        | 否    | 控制此步骤失败时工作流应 **Terminate Workflow** 还是 **Continue**。        |
| 从 **Search steps...** 的 **Utilities** 分组添加此步骤。在步骤选择器中,标签为 **Call an API**。 |      |                                                             |

设置面板为 **API URL**、**Headers** 和 **Body** 提供单独的字段。每个字段都可以使用 **Insert Variable** 包含来自 **Inputs** 或先前 **Workflow Steps** 的值。

## 输出

点击步骤标题中的 **Run** 来测试请求。运行完成后,Fetch Hive 会在 **Output** 中显示响应。

在后续步骤中使用变量选择器插入该次运行可用的确切响应路径。基础引用为:

```text theme={null}
{{STEP_IDENTIFIER.output}}
```

如果你只需要完整响应载荷,直接引用基础输出:

```text theme={null}
{{step_2.output}}
```

如果响应是结构化对象,变量选择器会显示你可以插入到后续步骤的嵌套字段。

## 示例

从 **Search steps...** 的 **Utilities** 分组中添加 **Call an API**。

将 **Name** 设置为类似 `Fetch customer profile` 的内容。

在 **API Method** 中选择 **GET** 或 **POST**。

在 **API URL** 中输入端点。如果端点需要来自早前步骤的数据,点击 **Insert Variable** 并添加诸如 `{{step_1.output.customer_id}}` 的值。

如果请求需要身份验证或内容头,在 **Headers** 中以 JSON 形式添加。如果使用 **POST**,在 **Body** 中添加请求载荷。

调整 **Retry Count** 并选择 **When the step fails** 时应执行的行为。

点击 **Run** 并在 **Output** 中查看 API 响应,然后再将该输出接入后续步骤。

{/* Add screenshot: Custom API settings sheet with URL, headers, and body */}

## 备注

* 步骤选择器中的标签是 **Call an API**,尽管本页面和文件使用 **Custom API**。
* 部署的只读视图显示 URL、方法、重试次数和失败行为。它不会在该处显示完整的请求头或请求体摘要。
* 如果下游 API 期望 JSON 载荷,请在 **Headers** 和 **Body** 中使用有效的 JSON。

另见:[创建和编辑](../../creating-and-editing)、[测试与迭代](../../testing-and-iteration) 和 [错误处理](../../error-handling)
