- はじめに
- 開発
- デプロイして実行する
- 例
- 参照
外部 API を呼び出す
Build a workflow step by step that calls an API with HTTP Request, then reshapes the response with Transform and Script.
構築するもの
認証された Representational State Transfer (REST) API を呼び出し、応答を処理し、抽出されたデータをノードで使用できるようにするワークフロー。REST API は、他のソフトウェアが HTTP 経由で呼び出すことができる Web サービスです。このパターンは、HTTP API を公開するすべてのシステムに適用されます。
開始する前に
- ターゲット API のベース URL、エンドポイント パス、および認証の詳細 (API キー、ベアラー トークン、または基本認証資格情報)。
使用されるノード
- 手動トリガー: ワークフローをオンデマンドで開始します。
- HTTP 要求: REST API を呼び出します。
- 変換: 必要なフィールドを応答から抽出します。
- スクリプト: HTTP 要求のエラー パスに失敗を記録します。
手順
コーディング エージェントが設定されていれば、手動の手順を省略できます。質問してください:
Build a Maestro Automate workflow that starts manually with a userId, calls GET https://dummyjson.com/users/{userId} with an HTTP Request node, returns the user's name and email, and logs the error on the node's error path if the call fails.
Build a Maestro Automate workflow that starts manually with a userId, calls GET https://dummyjson.com/users/{userId} with an HTTP Request node, returns the user's name and email, and logs the error on the node's error path if the call fails.
次に、キャンバス上でワークフローを開き、以下の手順と照合してテストします。コーディング エージェントを設定する 設定について説明しています。
1. 新しいワークフローを作成してトリガーを追加する
最初のワークフローで説明しているように、プロジェクトを作成します。キャンバスが開き、 すでに [手動トリガー ] が表示されます。
2. HTTP 要求ノードを追加して構成します
- 手動トリガーの出力ハンドルで [+ ] を選択し、「 HTTP 要求」を検索して選択します。
- [プロパティ] パネルで、次の手順を実行します。
- [ メソッド] を適切な動詞 (
GET、POST、PUT、PATCH、またはDELETEに設定します。 - エンドポイントの完全な URL を入力します。
- [ ヘッダー] に、authentication ヘッダーと content-type ヘッダーを追加します。
- [ メソッド] を適切な動詞 (
ベアラー トークン認証の場合:
ヘッダーを追加して、キー Authorization 、値 を Bearer {{ secret.apiKey }}に設定します。secret. プレフィックスは、セキュリティで保護された変数ストアから値を読み取ります。キーがフィールドに直接貼り付けられることはありません。
基本認証の場合:
ヘッダーを追加して、キー Authorization 、値 Basic {{ secret.encodedCredentials }}を指定します。 encodedCredentials は Base64 でエンコードされた username:password 文字列です。
3. 必要なデータを抽出する
- HTTP 要求ノードの出力ハンドルで + を選択し、「 データ変換」を検索して選択します。
- [プロパティ] パネルで、必要な応答フィールドを
$vars.httpRequest1.output.bodyから指定した出力変数にマッピングします。
たとえば、 などの応答からユーザーの名前とメール アドレスを抽出するには、 { "user": { "name": "Alex", "email": "alex@example.com" } }をマッピングします。
$vars.httpRequest1.output.body.user.name→userName$vars.httpRequest1.output.body.user.email→userEmail
4. エラー処理を追加する
- [HTTP 要求] ノードを選択し、[ エラー処理 ] タブを開き、[ エラー処理を有効化] をオンにします。メイン出力ハンドルの下に エラー ハンドルが表示されます 。
- エラー ハンドルの + を選択し、「スクリプト」を検索して選択します。
- スクリプト ノードで、 からのエラーをログに記録します
$vars.httpRequest1.error
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;
const error = $vars.httpRequest1.error;
console.log('API call failed:', error.message, '| Status:', error.status);
return null;
5. テストとデバッグ
Select Run Debug (▶) in the bottom toolbar of the canvas. In the execution trace:
- HTTP 要求ノードの
code出力を確認します。200は成功を意味します。401は、認証に誤りがあることを意味します。404は URL が間違っていることを意味します。 - データ変換ノードの出力を調べて、フィールドが正しく抽出されたことを確認します。
- エラー パスをテストするには、URL を一時的に無効な値に設定し、エラー パスが実行されることを確認します。
結果
ワークフローは REST API を呼び出し、応答からフィールドを抽出して、エラー パスに失敗を記録します。実行トレースに、両方のパスについて HTTP ステータス コードと抽出された値が表示されます。
このワークフローを拡張する
- ページネーションを処理する: API が複数のページにわたって結果を返す場合は、追加のページを取得するフォローアップ HTTP 要求ノードを追加し、応答に次のページのカーソルが含まれるかどうかの 判断 で分岐します。
- 結果を別のシステムに書き込みます。データ変換ノードの後に、別の HTTP 要求ノードまたは統合ノードを追加して、データを下流にプッシュします。
- スケジュールを設定する: [手動トリガー] を [ スケジュール設定されたトリガー ] に置き換えて、ワークフローを定期的に実行します。
次のステップ
- ワークフローをデプロイする: ユーザーがいなくてもワークフローを実行します。
- ガイド: 構築するワークフローが増えます。
- コミュニティ: 構築したものを共有したり、他のビルダーに助けを求めたりします。