--- articleId: a80fdb60-3c9a-4636-bb3c-ea16ad361cf2 slug: workflow-http-request-task title: HTTPリクエストタスク parentCategoryId: 6f2c2c28-57a2-4d93-a35f-b96f0a65affd languageCode: ja --- ## 概要 HTTPリクエストタスクとは、ワークフロー内に設定できるタスクのひとつです。 外部のAPIやWebhookに対してHTTPリクエストを送信し、ワークフローの一部として外部サービスと連携できます。 たとえば、データ転送完了後に外部サービスのAPIを呼び出してデータ処理をトリガーする、といったケースで利用できます。 ## 設定方法 1. OAuth 2.0認証を利用するかどうかを選択します。 **利用する**にチェックを入れた場合、あらかじめ登録したHTTP・HTTPS接続情報を使用して、OAuth 2.0認証を行います。 チェックを入れなかった場合、認証情報はHTTPヘッダーやHTTPパラメータに直接設定します。 :::(Info) (OAuth 2.0を利用する場合) OAuth 2.0を利用する場合は、事前に[HTTP・HTTPS接続情報](/docs/connection-configuration-http)を登録しておく必要があります。 ::: 2. カスタム変数を設定します。 定義した変数を$で囲んで (例 : $variable$) 「カスタム変数埋込可」の表記のある値に埋め込むと、ジョブ実行時に指定の値に置き換わります。 3. リクエスト先のURLを指定します。 :::(Warning) (URLの制限事項) セキュリティ上の理由から、TROCCOのドメイン(`trocco.io`)へのリクエストは送信できません。もし仮に、この機能を利用しTROCCO APIへのリクエストを行いジョブを起動したい場合は、ワークフロー機能のご利用をおすすめします。 ::: 4. リクエストに使用するHTTPメソッドを選択します。 以下のメソッドに対応しています。 - **GET** - **POST** 5. URLに付加するHTTPパラメータを設定します。 **パラメータを追加する**をクリックして、複数のパラメータを追加できます。 | 項目 | 説明 | |------|------| | 名前 | パラメータ名を指定します。 | | 値 | パラメータの値を指定します。 | | マスキング | 有効にすると、値が暗号化されて保存されます。APIキーなどの秘匿情報は原則マスキングを有効化することを推奨します。
一度マスキングして保存した場合、マスキングの設定は変更できません。 | 6. HTTPメソッドでPOSTを選択した場合、リクエストボディを指定します。 :::(Info) (Content-Typeについて) HTTPヘッダでContent-Typeを指定しない場合、デフォルトで`application/json`としてリクエストされます。 ::: 7. ステータスコードチェックの有効・無効を設定します。 通常、HTTPリクエストタスクはレスポンスのステータスコードが2xx以外の場合にエラーとなります。 **ステータスコードチェックを無効にする**にチェックを入れると、4xxや5xxなどのエラーレスポンスを受け取った場合でもタスクは成功となり、後続のタスクが実行されます。 8. リクエストに付与するHTTPヘッダを設定します。 **ヘッダを追加する**をクリックして、複数のヘッダを追加できます。 | 項目 | 説明 | |------|------| | キー | ヘッダー名を指定します。 | | 値 | ヘッダーの値を指定します。 | | マスキング | 有効にすると、値が暗号化されて保存されます。APIキーなどの秘匿情報は原則マスキングを有効化することを推奨します。
一度マスキングして保存した場合、マスキングの設定は変更できません。 | ## ユースケース HTTPリクエストタスクの代表的なユースケースについてご紹介します。 ### データ転送完了後にAWS Lambdaを実行する データ転送完了後に、POSTメソッドでAWS Lambdaのサーバーレス関数を実行して追加処理を実行できます。 AWS側の詳しい設定については、[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-apigateway.html)を参照ください。 #### 設定例 1. **URL**にAPI GatewayのエンドポイントURLを指定します。 ``` https://API_ID.execute-api.REGION.amazonaws.com/STAGE/PATH ``` 2. **HTTPメソッド**に**POST**を選択します。 3. **HTTPリクエストボディ**に、Lambdaに渡すパラメータをJSON形式で指定します。 ```json { "table_name": "$table_name$", "date": "$date$" } ``` 4. **HTTPヘッダ**に認証情報を設定します。 - キー: `x-api-key` - 値: `**********`(マスキングを有効) ### 外部APIからデータを取得する GETメソッドで外部APIを用いてデータの有無を確認し、データが存在すれば後続タスクを実行するように設定できます。 #### 設定例 1. **カスタム変数**にカスタム変数を設定します。ここでは、タスク実行当日を基準に、該当するデータの存在チェックを実行します。 - 変数名: `$date$` - データ型: 時刻・日付 (実行時) - 値: `0` - 単位: `日` - 前/後: `前` - 日付フォーマット: `%Y%m%d` - タイムゾーン: `Asia/Tokyo (+09:00) 2. **URL**に外部APIのエンドポイントURLを指定します。 ``` https://api.example.com/v1/data ``` 3. **HTTPメソッド**に**GET**を選択します。 4. **HTTPパラメータ**に、設定したカスタム変数を追加します。ここでは、dateパラメータで取得対象のデータを絞り込めるAPIを想定しています。 - 名前: `date` - 値: `$date$`(カスタム変数を使用) 5. **ステータスコードチェックを無効にする**にチェックを入れます。後続の条件分岐タスクでレスポンスのステータスによって処理を分岐します。 6. **HTTPヘッダ**に、認証情報などを追加します。 7. [条件分岐タスク](/docs/conditional-branch-task)を後続タスクに配置し、条件式を設定します。 - 対象: 前段のHTTPリクエストタスク - プロパティ: HTTPステータスコード - 演算子: 等しい - 値: 200