---
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