UiPath Documentation
maestro
latest
false
Maestro ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

HTTP 要求

HTTP 要求ノードの構成、認証、応答の分岐パターン。

機能

HTTP 要求を URL に送信し、下流のノードで応答を利用できるようにします。

2 つの HTTP ノード

Flow には 2 つの HTTP ノードが用意されています。認証の処理方法に基づいて選択してください。

  • HTTP 要求 (core.action.http) - メソッド、URL、ヘッダー、本文、認証をインラインで設定します。API キー ヘッダーやベアラー トークンなどの資格情報を自分で管理する外部 REST エンドポイントに使用します。これは、このページで説明されているノードです。
  • マネージド HTTP 要求 (core.action.http.v2) - Integration Service で管理されるコネクションを介して要求を送信するため、認証はインラインで設定するのではなく、そのコネクションによって処理されます。Integration Service 経由で接続したサービスに対して資格情報を一元管理する必要がある場合に使用します。

構成のリファレンス

フィールドRequired既定 (Default)説明
モードはい手動要求の設定方法[ 手動 ] を選択して要求を自分で定義するか、[ API 定義 ] を選択して OpenAPI または Swagger 仕様から構成をインポートします。
cURL からインポートいいえなしcURL コマンドを解析し、メソッド、URL、ヘッダー、本文を自動的に入力します。設定フィールドの上にあるツールバーの [ cURL ] ボタンを選択します。
HTTP メソッドはいGET要求の HTTP メソッド。サポートされている値は、 GETPOSTPUTPATCHDELETEです。
URLはいなし要求の送信先の完全な URL ( https:// スキームを含む)。変数式がサポートされています (例: https://api.example.com/users/$vars.userId)。
ヘッダーいいえなしHTTP 要求ヘッダーとして送信されるキーと値のペア。ヘッダー名と値では、変数式がサポートされています。
Query Parametersいいえなしキーと値のペアをクエリ文字列として URL に追加します。名前と値では、変数式がサポートされています。
コンテンツの種類いいえapplication/json要求本文の Multipurpose Internet Mail Extensions (MIME) の種類です。サポートされている値は、 application/jsonapplication/xmltext/plainapplication/x-www-form-urlencodedです。
本文いいえPOSTPUTPATCH の要求の要求本文です。コード エディターで値を直接入力するか、変数の式を使用します。
ブランチいいえ既定の出力のみ応答のプロパティに基づいてプロセスをルーティングする応答分岐各ブランチには、名前と条件の式があります。
TimeoutいいえPT15M応答を待機する最大時間です (国際標準化機構 (ISO) 8601 形式。
リトライ回数いいえ0要求が失敗した場合に要求をリトライする回数です。リトライは、タイムアウト値をバックオフ間隔として使用します。

エディターは、 AuthorizationContent-TypeAcceptX-Api-Keyなどの一般的なヘッダー名を提案します。クエリ パラメーターの場合、名前 page と 値 2 のパラメーターを追加すると、要求が https://api.example.com/items?page=2に送信されます。

ノードは分岐の条件を順番に評価し、最初の一致に従います。一致する分岐がない場合、プロセスは 既定 の出力に従います。

分岐条件式は、判断ノードおよびスイッチ ノードと同じ JavaScript 構文を使用します。

$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode >= 400
$vars.httpRequest1.output.statusCode >= 400

各分岐は、キャンバス上のノードの右側に既定 のハンドルとともに 、個別の出力ハンドルとして表示されます。

一般的なタイムアウト値は次のとおりです。

  • PT30S - 30 秒
  • PT5M - 5 分
  • PT15M - 15 分
  • PT1H - 1 時間

資格情報

要求を認証するには、次の 2 つの方法があります。

手動認証

資格情報を要求ヘッダーで直接渡します。API キー認証の場合は、名前 X-Api-Key 、値をキーに設定したヘッダーを追加します。ベアラー トークン認証の場合は、Bearer <your-token>のような値の Authorization ヘッダーを追加します。

トークンや API キーなどの機密性の高い値をハードコーディングするのではなく、シークレット変数に格納します。

Integration Service のコネクタ

[プロパティ] パネルで、事前設定済みの Integration Service のコネクションを選択します。このコネクションでは資格情報が要求に自動的に挿入されるため、ヘッダーを自分で管理する必要はありません。

Integration Service コネクタは、資格情報の一元管理、トークンの自動更新が必要な場合、または複数のプロセスが同じ API 資格情報を共有している場合に使用します。

注:

Integration Service のコネクタは、UiPath Automation Cloud ポータルで設定します。設定手順については、Integration Service のドキュメントをご覧ください。

例 1 -- 基本的な GET 要求

パブリック API から 1 つのリソースを取得します。

ノードは、 HTTP メソッドGET に設定し、 URLhttps://jsonplaceholder.typicode.com/posts/1に設定して構成します。その他のすべてのフィールドは既定値のままです。

応答は下流のスクリプト ノードで利用できます。

const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

return {
  title: body.title,
  userId: body.userId,
  status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;

return {
  title: body.title,
  userId: body.userId,
  status: status
};

応答オブジェクトは $vars.httpRequest1.output で利用可能で、次の 3 つのフィールドが含まれます。

  • $vars.httpRequest1.output.body - 解析された応答本文です。
  • $vars.httpRequest1.output.statusCode - HTTP ステータス コード (例: 200
  • $vars.httpRequest1.output.headers - 応答ヘッダーを含む オブジェクトです

例 2 -- JSON 本文の POST 要求

JSON ペイロードを送信して新しいリソースを作成します。

ノードは、[HTTP メソッド] を [POST] に設定し、[URL を https://api.example.com/orders] に設定し、[Authorization ヘッダー] の値を Bearer $vars.apiTokenに設定し、[コンテンツの種類] を [application/json] のままにして構成します。本体:

{
  "product": "Widget",
  "quantity": 5,
  "customer_id": "cust_12345"
}
{
  "product": "Widget",
  "quantity": 5,
  "customer_id": "cust_12345"
}

作成されたリソースの ID は、下流のノードで確認できます。

const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };

要求が失敗し、エラー ハンドルを接続した場合、エラーの詳細は $vars.httpRequest1.errorで確認できます。

// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;

return {
  failed: true,
  reason: errorMessage,
  httpStatus: errorStatus
};
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;

return {
  failed: true,
  reason: errorMessage,
  httpStatus: errorStatus
};

エラー オブジェクトには以下が含まれます。

  • code
  • message
  • detail
  • category
  • status

例 3 -- 分岐を使用して応答をルーティングする

応答分岐により、プロセスは API の応答に基づいて異なるパスをたどることができます。別個の判断ノードを設ける必要がありません。

ノードは、[HTTP メソッド] を [GET] に設定し、[URLhttps://api.example.com/users/$vars.userId] に設定し、[分岐] セクションに 2 つの分岐 (条件 $vars.httpRequest1.output.statusCode === 200Success と条件 $vars.httpRequest1.output.statusCode === 404Not Found ) で構成されます。

これで、ノードのキャンバス上に次の 3 つの出力ハンドルが追加されました。

  • 成功 - ユーザー データを処理するノードに接続します。
  • つかりません - 見つからないユーザー ケースを処理するノードに接続します
  • 既定 - 他のステータス コードのフォールバック パスに接続します

下流の各パスは完全な応答を受け取ります。たとえば、Success 分岐では次のようになります。

const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };

これを使用すべき状況と統合ノード

HTTP 要求ノードは、API を呼び出すための汎用ツールとして使用します。呼び出しているサービスに専用の統合ノードが存在する場合は、専用の統合ノードを使用します。

HTTP 要求は次の場合に使用します。統合ノードは、次の場合に使用します。
API のノード パレットには専用のコネクタがありませんサービスに対して Slack、Salesforce、HubSpot などのコネクタが存在する
ヘッダー、クエリ パラメーター、本文の形式を完全に制御する必要がある手動で設定しない、事前に型指定された入力と出力が必要な場合
新しい API または内部サービスに対してプロトタイピングを行う場合Integration Service 経由で自動認証とトークン更新が必要な場合
この API では、非標準の認証スキームが使用されますAPI がコントラクトを変更しても中断しない、保守可能なプロセスが必要である

経験則: 最初にノード パレットでコネクタを検索します。HTTP 要求にフォールバックするのは、対象のサービスに何も存在しない場合にのみ行います。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得