# OpenAPI

Source: https://openflow.run/ja/docs/nodes/openapi/
Language: ja
Product version: 0.1.0-beta.77

API 文書で選択した操作から、リクエストと応答のポートを生成します。

呼び出したい操作を記述した API 文書がある場合は OpenAPI を使います。製品が文書からポートと認証の選択肢を解決します。

## 操作を選ぶ

```json
{
  "op": "node.add", "as": "status", "type": "openapi", "name": "Read service status",
  "config": {
    "sourceUrl": "https://api.example.com/openapi.json",
    "path": "/status",
    "method": "get"
  }
}
```

サンプル URL を実際の API 文書に置き換えます。パスとメソッドを選び、生成されたフィールドと認証方式を確認して、対応する認証情報を入力にバインドします。

選択した GET /status 操作から、OpenAPI がリクエストと結果ポートを生成します。

**入力**
付属の OpenAPI 文書は、状態を返す応答を定義しています。

**想定される結果**
選択した操作が、生成されたポートで定義済みの応答を返します。

**実行前の準備**
実際の API 文書とエンドポイントを使い、操作と必要な認証を選択してください。

[ワークフローをダウンロード](https://openflow.run/docs/examples/openapi-status.openflow.json)

## 生成されるポート

選択した操作がパラメーター、ボディ構造、結果ポートを定義します。他の操作と同じと仮定せず、ノード詳細で正確な名前を確認してください。

ノードは定義スナップショットを保持します。通常のローカル編集では変わりません。変更された文書を採用するには明示的に更新または再選択します。文書更新で無関係なノード設定を無断で変えてはいけません。

## 認証

解決された選択肢から認証方式を選び、方式全体として置換します。その方式に対応する認証情報をバインドしてください。API 文書は認証方法を説明しますが、使用権限を付与しません。

## 他のノードを選ぶ場合

OpenAPI 文書のないエンドポイントには [HTTP Request](https://openflow.run/ja/docs/nodes/http-request/index.md) を使います。アカウント認可が管理されたカタログの Action には [Connector](https://openflow.run/ja/docs/nodes/connector/index.md) を使います。

通常の[再試行とエラー処理](https://openflow.run/ja/docs/concepts/errors-and-retries/index.md)に対応します。リクエストの再送で、外部操作が重複する場合があります。

## 参照元

*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#openapi-documents-and-tasks)
*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
*   [packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts)
