外部 API を呼び出す
専用のノードがないサービスは、HTTP ノードでその API を呼び出します。このガイドでは、リクエストの送信、認証、レスポンスの利用、エラーへの対処を説明します。
1. リクエストを追加する
- ステップを追加 をクリックし、組み込み を開いて HTTP を選びます。
- API が求めるメソッドを選びます: GET、POST、PUT、PATCH、DELETE、OPTIONS。カスタムリクエスト を選ぶと、設定項目でメソッドを指定できます。
- リクエストの内容を入力します。
| 設定項目 | 入力する内容 |
|---|---|
| URL | エンドポイント。例: https://api.example.com/v1/orders。値を挿入できます: https://api.example.com/v1/orders/ の後に注文 ID への参照を続けるなど。 |
| クエリパラメータ | URL の ? の後に付くキーと値のペア。 |
| ヘッダー | キーと値のペア。例: Content-Type: application/json。 |
| ボディ | POST・PUT・PATCH で送る内容。通常は JSON です。 |
| タイムアウト(ms) | レスポンスを待つ時間(ミリ秒)。既定値は 10000(10 秒)です。 |
JSON のボディは、JSON を書いて値の部分に参照を入れます。
json
{
"customer_email": "$trigger.output.email",
"items": "$.01JA9F3K7Q2M8XVBC4RTE5NHWD.output.data.items"
}各参照は値に置き換わり、リストやオブジェクトは JSON のまま入ります。ステップ ID は入力せず、$ の一覧から参照を選んでください。
2. API に認証する
多くの API にはキーやトークンが必要です。ヘッダーに直接貼り付けるのではなく、一度 認証情報 として保存し、ステップの 認証情報 で選んでください。HTTP ノードは次の形式に対応しています。
| 認証情報 | API が求めるもの |
|---|---|
| HTTP APIキー | ヘッダーやクエリパラメータに入れるキー。 |
| HTTP Bearerトークン | Authorization: Bearer <トークン>。 |
| HTTP Basic認証 | ユーザー名とパスワード。 |
| OAuth2 | OAuth アプリでのサインイン。 |
| Digest認証、NTLM認証、WSSE認証、AWS Signature V4 | それぞれの認証方式。 |
認証情報を使うと、秘密の値がステップの設定に表示されず、ワークスペース内のすべてのフローで再利用できます。
3. レスポンスを使う
ステップの出力にはレスポンスが入ります。
| フィールド | 内容 |
|---|---|
statusCode | HTTP ステータス。例: 200。 |
body | レスポンスの本文。JSON は解析されるため、中のフィールドを参照できます。 |
headers | レスポンスヘッダー。 |
rawBody | プレーンテキストの本文。 |
たとえば API が {"order": {"status": "shipped"}} を返す場合、後続のステップでは次のようにステータスを読みます。
$.<HTTP ステップID>.output.body.order.status一度ステップを実行し、実行履歴 で出力を見ると、レスポンスの正確な形がわかります。
PDF や画像などのファイルが返る場合は、回答 › レスポンス形式 を ファイル にすると、本文を出力に入れる代わりにファイルとして保存します。ファイルの扱いは ストレージ を参照してください。
4. エラーに対処する
ステータスが 400 以上のレスポンスは ステップの失敗 になり、既定ではフローが止まります。実行履歴 のエラーには、ステータスと API のメッセージ(例: Not Found (404))が表示されます。
まだ存在しないレコードなど、想定内のエラーに対処するには:
- HTTP ステップの ノード設定 で エラーハンドリング を フローを続行 にします。
- その後に パス を追加し、
statusCodeの条件(例: 数値: 等しい404)を設定して、その分岐に対応するステップを追加します。