HTTP connector - HTTP経由でリクエストを送信アクション
HTTP経由でリクエストを送信アクションを使用すると、APIエンドポイントにHTTPリクエストを送信できます。 ガイド付きセットアップを開始をクリックしてHTTPウィザードを使用してアクションを設定するか、手動で設定をクリックして手動で設定するかを選択できます。
このアクションを設定する前に、HTTPコネクションを作成する必要があります。
暗黙的な再試行
このアクションは、GET、HEAD、PUT、およびDELETEリクエスト中にリクエストがタイムアウトした場合、暗黙的な再試行を試みます。 これにより、リクエストを自動的に再試行して一時的なネットワークの問題に対処します。 再試行を無効化フィールドを使用して、暗黙的な再試行を無効にできます。
入力
機密データ
トークン、ユーザー名またはパスワード、クライアントID/シークレットなどの機密情報を、このアクションの入力フィールドにハードコードしないでください。 代わりに、それらをコネクションに保存するか、シークレットマネージャーを使用します。
Workatoは次のシークレットマネージャーをサポートしています:
- AWS Secrets Manager
- Azure Key Vault
- CyberArk Conjur Secrets Manager
- Google Secret Manager
- HashiCorp Vault
詳細については、セキュリティのベストプラクティスドキュメントを参照してください。
| 入力フィールド | 説明 |
|---|---|
| リクエスト名 | このAPIリクエストの動作について、人が読める説明を入力します。 |
| リクエスト | メソッド、リクエストURL、リクエストペイロード、およびヘッダーなど、リクエストに関連する情報を含みます。 このフィールドを自動的に設定するにはWorkato HTTPウィザードでアクションを作成するセクションを、マルチパートペイロード用にこのフィールドを設定するにはマルチパートペイロードを操作するセクションを参照してください。 |
| 応答 | レスポンスタイプ、エンコーディング、およびヘッダーなど、レスポンスに関連する情報を含みます。 このフィールドを自動的に設定するにはWorkato HTTPウィザードでアクションを作成するセクションを、マルチパートペイロード用にこのフィールドを設定するにはマルチパートレスポンスを受信するセクションを参照してください。 |
| 2xx以外のレスポンスコードを成功としてマーク(レスポンス) | 2xx以外のレスポンスを成功としてマークするかどうかを選択します。 HTTP connectorは、デフォルトで2xx以外のレスポンスコードをエラーとして扱います。 これにより、エラー処理ステップがない限り、ジョブは停止します。 |
| レスポンスを待機 | このHTTPアクションを長時間アクションとして指定するかどうかを選択します。 このフィールドはパブリックベータ版です。 詳細については、HTTPアクションを長時間アクションとして設定するセクションを参照してください。 |
| レスポンスタイムアウト(秒) | Workatoがレスポンスを待機する最大時間を秒単位で設定します。 この時間枠内にレスポンスが到着しない場合、ジョブは失敗します。 11~3600秒の整数である必要があります。 デフォルトは3600秒(1時間)です。 このフィールドはパブリックベータ版であり、レスポンスを待機がはいに設定されている場合にのみ使用できます。 |
| 再試行を無効化 | 失敗したリクエストの自動再試行を無効にするかどうかを選択します。 再試行すべきでない操作で重複リクエストを防ぐには、このオプションを使用します。 |
| ストリーミングを有効化 | HTTPレスポンスをレシピ内の次のアクションにストリーミングするかどうかを選択します。 Workatoは最大2 GBのレスポンスをストリーミングします。 ストリーミングされたレスポンスは、ファイルストリーミングをサポートしないアクションを含む、後続の任意のアクションに渡すことができます。 このフィールドは、レスポンスを待機がはいに設定されている場合にのみ使用できます。 |
スキーマ型とRaw JSONリクエストボディ
リクエストコンテンツタイプ入力フィールドでJSONリクエストボディオプションを選択すると、Workatoは提供されたサンプルJSONに基づいて入力スキーマを生成します。 これにより、各フィールドを個別に設定できます。 また、Formulaモードを利用してフィールドの値を操作することもできます。 たとえば、三項演算子やskipを使用して、条件付きでフィールドを含める、または省略できます。
Formulaモードを使用した入力フィールド値の操作
ただし、メッセージの形式を完全にカスタマイズしたい場合があります。 この場合、代わりにRaw JSONリクエストボディを選択できます。これにより、JSONペイロード構造を直接入力して操作できます。
Raw JSONリクエストボディ
HTTPアクションを長時間アクションとして設定する
頻繁なタイムアウトが予想される場合、またはリクエストが120秒を超えると予想される場合は、レスポンスを待機フィールドをはいに設定して、このHTTPアクションを長時間アクションとして指定できます。 Response timeout (seconds)(レスポンスタイムアウト(秒))フィールドを使用して、Workatoがレスポンスを待機する時間を設定します。
パブリックベータ
HTTP経由でリクエストを送信アクションのレスポンスを待機フィールドは、WorkatoのHTTP connectorのすべてのユーザーが利用できるベータ機能です。
レスポンスを待機
次の表は、レスポンスを待機フィールドが有効な場合の主な違いを説明しています:
| "レスポンスを待機"なし | "レスポンスを待機"あり | |
|---|---|---|
| リクエストタイムアウト | 最大120秒 | Response timeout (seconds)(レスポンスタイムアウト(秒))フィールドを使用して設定できます。 11~3600秒の整数である必要があります。 デフォルトは3600秒(1時間)です。 |
| レスポンスサイズ | 最大200 MBのソフトレスポンスサイズ制限 | 2 GBの厳格なレスポンスサイズ制限 |
| コネクションタイプ | すべてのHTTPコネクションタイプが可能 | OPAを使用するコネクションを除き、すべてのコネクションタイプがサポートされています |
| ジョブ処理 | キュー内のジョブは順番に処理されます | ジョブは順番に処理されない場合があります |
Workatoでは、まずレスポンスを待機を無効にした状態で開始し、タイムアウトが発生した場合にアクションを編集して設定を有効にすることをお勧めします。
HTTPレスポンスをストリーミングする
HTTPレスポンスをレシピ内の次のアクションにストリーミングするには、レスポンスを待機とストリーミングを有効化をはいに設定します。
最大2 GBのレスポンスがサポートされています。 ストリーミングされたレスポンスは、ファイルストリーミングをサポートしないアクションを含む、レシピ内の後続の任意のアクションに渡すことができます。
出力
| 出力フィールド | 説明 |
|---|---|
| ステータスコード | APIレスポンスのステータスコード。 |
| 本文 | レスポンスのボディコンテンツ。 |
| エラー | リクエストで発生したエラー。 |
| ヘッダー | レスポンスセクションの設定に基づいて、レスポンスから抽出されたヘッダーに関する情報を含みます。 |
| 応答 | レスポンスセクションの設定に基づいて、レスポンスに関する情報を含みます。 |
Workato HTTPウィザードでアクションを作成する
Workato HTTPウィザードは、各設定手順を案内することで、HTTPアクションの設定プロセスを効率化します。
多くの場合、ウィザードはエンドポイントに合わせた推奨HTTP設定を自動的に提供し、手動設定の必要性をなくします。 また、ウィザード内でコネクションを直接テストできるため、アクションを確定する前にエンドポイントが期待どおりに応答することを確認できます。
この例では、Workato HTTPウィザードを使用して、ServiceNowのインシデントを取得という名前のアクションを作成します。
HTTPメソッドとリクエストURLを指定する
このHTTPアクションでAPIのHTTPメソッドとリクエストURLを指定するには、次の手順を完了します:
ガイド付きセットアップを開始をクリックしてHTTPウィザードを開きます。
セットアップウィザードの終了
このプロセス中はいつでも、ガイド付きセットアップをスキップをクリックしてアクションを手動で設定することで、セットアップウィザードを終了できます。 同様に、アクションを手動で設定することにした場合でも、ガイド付きセットアップを再開をクリックしてHTTPウィザードを使用できます。
呼び出す予定のAPIエンドポイントのHTTPメソッドを選択するには、メソッドドロップダウンメニューを使用します。 この例ではGETを使用します。
HTTPメソッドとリクエストURLを指定
リクエストURLフィールドにAPIエンドポイントの絶対URLを入力します。
または、コネクション設定でベースURLを設定している場合は、このフィールドに相対URLを入力します。 たとえば、ベースURLがhttps://api.example.com/で絶対URLがhttps://api.example.com/users/123の場合、相対URLはusers/123です。
この例では、ServiceNowの既存のインシデントレコードを表示する予定です。 ServiceNowドキュメントによると、これは次のエンドポイントを使用するGET呼び出しです:
https://<instance>.service-now.com/api/now/v1/table/incidentURL内の<instance>を、使用しているServiceNowインスタンスの特定の名前に置き換えます。
HTTPメソッドとリクエストURLの設定
次へをクリックします。
サンプルリクエストを設定して送信する
特定のエンドポイントでは、Workatoはそのまま使用、カスタマイズ、または削除して手動で独自に作成できるサンプルリクエストを提供します。
次のいずれかのオプションを使用してサンプルリクエストを設定します:
- Workatoの推奨リクエスト設定を変更せずに使用します。
- 要件に合わせてWorkatoの推奨リクエスト設定をカスタマイズします。
- Workatoの推奨リクエスト設定を削除し、リクエストを手動で作成します。
AWS HTTP
Access keyやIAM role authなどのAWS認証方法を使用する場合、追加の認証パラメーターを付加する必要はありません。 AWSドキュメントでは、これらは多くの場合AUTHPARAMSと表記されます。
HTTP設定を確認する
リクエストが成功すると、次のことが確認されます:
- コネクションが正常に設定されています。
- APIエンドポイントが正しいです。
- すべての必須リクエストボディフィールドが含まれており、有効な値が含まれています。
リクエストとレスポンスの設定をWorkato HTTPアクションに適用するには、設定を適用をクリックします。
HTTPアクションに適用された設定
HTTP設定を確定する
設定が機能することを確認した後、対応するパラメーターの横にある値列にデータピルをマッピングするか、これらのフィールドに固定値を手動で入力できます。
マルチパートペイロードを操作する
HTTP経由でリクエストを送信アクションは、単一のHTTPリクエストまたはレスポンスで、異なるコンテンツタイプの複数のデータ片を送受信するマルチパートペイロードをサポートしています。
次のマルチパートタイプを使用できます:
| タイプ | ペイロードコンテンツ | ユースケースの例 |
|---|---|---|
| マルチパートフォーム | フォームフィールド(テキスト)とファイルアップロードの組み合わせ | customer name、date、およびamountフィールドを含む請求書PDFをアップロードします。 |
| マルチパート代替 | 異なる形式の同じコンテンツの複数バージョン | プレーンテキストとHTMLの両方のバージョンを含むメールを送信します。 |
| マルチパートダイジェスト | 複数の完全なメールメッセージ(RFC822形式) | 複数のメッセージを含むメーリングリストダイジェストを処理します。 |
| マルチパート混合 | 関連性のない複数の独立したファイルまたはデータ | 複数の契約PDFと条件のJSON概要を1つのリクエストで送信します。 |
| マルチパート関連 | Content-IDでリンクされた主要コンテンツとサポートリソース | 添付PDFファイルを含むSOAP XMLエンベロープ、または埋め込み画像を含むHTMLメールを送信します。 |
| マルチパートバイト範囲 (レスポンスのみ) | 同じファイルの複数のバイト範囲(フラグメント) | 再開可能なダウンロードまたはビデオストリーミングを処理します。 |
マルチパートペイロードを設定するには、次のセクションを参照してください:
制限事項
Workatoは、HTTP経由でリクエストを送信アクションでネストされたマルチパートペイロードをサポートしていません。
マルチパートフォームリクエストを送信する
マルチパートフォームリクエストを送信するために、HTTP経由でリクエストを送信アクションのリクエストセクションを設定するには、次の手順を完了します:
INFO
他のタイプのマルチパートリクエストを送信するには、マルチパート代替、ダイジェスト、混合、および関連リクエストを送信するセクションを参照してください。
手動で設定をクリックします。
リクエストセクションに移動し、メソッドドロップダウンメニューを使用して、マルチパートフォームリクエストをサポートする次のいずれかのメソッドを選択します:
POSTPUTPATCHDELETE
リクエストURLフィールドにAPIエンドポイントの絶対URLを入力します。 または、コネクション設定でベースURLを設定している場合は、相対URLを入力します。 たとえば、ベースURLがhttps://api.example.com/で絶対URLがhttps://api.example.com/users/123の場合、相対URLはusers/123です。
リクエストコンテンツタイプドロップダウンメニューを使用して、Multipart formを選択します。
リクエストボディスキーマフィールドに移動し、フィールドを手動で追加をクリックして新しいフィールドを追加ダイアログを開きます。
名前フィールドにフィールドの名前を入力します。 たとえば、File1です。
ファイル添付ドロップダウンメニューを使用して、はいを選択します。
リクエストボディフィールドを追加
フィールドを追加をクリックします。 これにより、使用できる要素専用の"ヘッダー"が追加されます。
マルチパートリクエストで複数のヘッダーが必要な場合は、ファイルを添付せずにこの要素を使用できます。
リクエストボディスキーマとリクエストスキーマフィールド
+ フィールドを追加をクリックし、前の手順を繰り返して、マルチパートリクエストで送信する追加ファイル用のフィールドを作成します。
マルチパート代替、ダイジェスト、混合、および関連リクエストを送信する
マルチパートフォーム以外のマルチパートリクエストを送信するために、HTTP経由でリクエストを送信アクションのリクエストセクションを設定するには、次の手順を完了します:
手動で設定をクリックします。
リクエストセクションに移動し、メソッドドロップダウンメニューを使用して、マルチパートフォームリクエストをサポートする次のいずれかのメソッドを選択します:
POSTPUTPATCHDELETE
リクエストURLフィールドにAPIエンドポイントの絶対URLを入力します。 または、コネクション設定でベースURLを設定している場合は、相対URLを入力します。 たとえば、ベースURLがhttps://api.example.com/で絶対URLがhttps://api.example.com/users/123の場合、相対URLはusers/123です。
リクエストコンテンツタイプドロップダウンメニューを使用して、次のいずれかを選択します:
Multipart alternativeMultipart digestMultipart mixedMultipart related
各マルチパートタイプの詳細については、マルチパートペイロードの操作セクションを参照してください。
リクエストパーツセクションに移動します。 このセクションでは、リクエストの複数のパーツを定義します。各パーツには独自のヘッダーとボディコンテンツがあります。
リクエストパーツセクション
...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。
パーツの総数とそのコンテンツが分かっている場合は、固定リストを選択します。 パーツの数またはそのコンテンツがリストに依存する場合は、動的リストを選択します。
ヘッダーセクションに移動します。 このセクションでは、各リクエストパーツのヘッダーを定義します。
ヘッダーセクション
...(省略記号)をクリックして、Fixed listまたはDynamic listを選択します。
ヘッダーの総数とそのコンテンツが分かっている場合は、固定リストを選択します。 ヘッダーの数またはそのコンテンツがリストに依存する場合は、動的リストを選択します。
Raw bodyフィールドにパーツのコンテンツを入力します。
任意です。 リクエストがDELETE操作の場合は、リクエストURLパラメーターセクションに移動してURLパラメーターを定義します。
リクエストURLパラメーター
リクエストに含める各URLパラメーターについて、次の手順を繰り返します:
URLパラメーターを追加をクリックします。
パラメーター名と値を入力します。
リクエストヘッダーセクションに移動します。 このセクションでは、個々のパーツではなくリクエスト全体に適用されるヘッダーを定義します。
リクエストヘッダーセクション
ヘッダーを追加をクリックし、リクエストに含める各ヘッダーのヘッダー名と値を入力します。
任意です。 マルチパートタイプがrelatedの場合は、次の追加フィールドを設定します:
マルチパート関連フィールド
ルートパーツのヘッダーで定義されていない場合は、ルートタイプフィールドにルートパーツのコンテンツタイプを入力します。
ルートパーツが最初のパーツでない場合は、ルートContent-IDフィールドにルートパーツのContent-IDを入力します。
Start-Infoフィールドに、複合オブジェクトを処理するための追加情報を入力します。
たとえば、次の値を入力した場合:
Workatoは次のContent-Typeヘッダーを生成します:
Content-Type: multipart/related; boundary=f32f23tv-dydb-46c2-aa18-5e0792f9a0b0; type="Application/X-FixedRecord"; start="<[email protected]>"; start-info="-o ps"ヘッダーboundaryに関する情報については、次の手順を参照してください。
任意です。 Boundaryフィールドにペイロードのカスタム境界を入力します。 このフィールドを空白のままにすると、Workatoは境界を自動的に生成します。
このフィールドの最大長は70文字で、次をサポートしています:
- 英数字(
A~Z、a~z、0~9) - アポストロフィ(
') - 括弧(
()) - プラス(
+) - アンダースコア(
_) - カンマ(
,) - ハイフン(
-) - ピリオド(
.) - スラッシュ(
/) - コロン(
:) - 等号(
=) - 疑問符(
?)
マルチパートレスポンスを受信する
マルチパートレスポンスを受信するために、HTTP経由でリクエストを送信アクションのレスポンスセクションを設定するには、次の手順を完了します:
レスポンスコンテンツタイプドロップダウンメニューを使用して、マルチパートを選択します。
WorkatoはレスポンスのContent-Typeヘッダーから境界を自動的に検出します。
たとえば、APIが次を返す場合、Workatoは----Boundary123を抽出し、それを使用してレスポンスパーツを解析します:
Content-Type: multipart/mixed; boundary=----Boundary123境界がない場合、Workatoはエラーをスローします。
エンコーディング方法を選択するには、エンコーディングドロップダウンメニューを使用します。
HTTPレスポンスヘッダーセクションとマルチパートパーツヘッダーセクションの両方で、次の手順を完了します。 HTTPレスポンスヘッダーセクションではレスポンスレベルで抽出するヘッダーを定義し、マルチパートパーツヘッダーセクションでは個々のパーツから抽出するヘッダーを定義します。
2xx以外のレスポンスを成功としてマークするかどうかを選択するには、2xx以外のレスポンスコードを成功としてマークしますか?ドロップダウンメニューを使用します。 WorkatoのHTTP connectorは、デフォルトで2xx以外のレスポンスコードをエラーとして扱います。 これにより、エラー処理ステップがない限り、ジョブは停止します。
出力データツリーは、定義したヘッダーで更新されます。 例:
HTTP経由でリクエストを送信出力ツリー
最終更新日:
HTTP設定に関するRecipeIQの推奨事項
リクエストパラメーターの追加
リクエスト成功
サンプルリクエストを設定
設定済みサンプルリクエスト