HTTP Request
HTTP Request は HTTP で外部 API を呼び出すプロセッサーです。
基本的な使い方
HTTP Request は設定された URL、メソッド、ヘッダー、本文からリクエストを組み立てて送信し、応答を httpResponse 変数に保存します。後続のプロセッサーがそれを利用できます。データ連携、外部サービスとの接続、webhook、外部認証など、他システムとやり取りする場面で使います。
設定項目
ノードのプロパティパネルです。

Name
キャンバス上に表示される名前です。ワークフロー内でこのプロセッサーを識別するために使います。
Description
このプロセッサーの用途を補足し、ワークフローの読みやすさを高めます。
Properties
URL(必須)
リクエストの送信先アドレスです。Literal、Expression、Template の値の種類に対応しています。詳しくはExpression の概要 — 値の取得を参照してください。
Method(必須)
HTTP メソッドです。GET、POST、PUT、DELETE、PATCH などに対応しています。
Parse JSON(必須)
JSON 形式の応答を自動で解析するかどうかです。既定は無効です。有効にすると httpResponse オブジェクトに json 項目が追加されます。
Body
リクエストの本文です。主に POST や PUT で使います。Literal、Expression、Template の値の種類に対応しています。詳しくはExpression の概要 — 値の取得を参照してください。
Header
追加の HTTP リクエストヘッダーです。必要な数だけ追加でき、Authorization や Content-Type がよく使われます。
内部的には、ヘッダーは独立した項目ではありません。このプロセッサーは url、method、body、parseJson 以外のすべての config キーを HTTP ヘッダーとして送信し、ヘッダー名はキーそのものになります。Workflow CRD では次のように書きます。
- name: url
value: "https://api.sendgrid.com/v3/mail/send"
- name: method
value: POST
- name: parseJson
value: "false"
- name: Content-Type
value: application/json
- name: Authorization
expression: '"Bearer " + vars.sendgridApiKey'
つまりヘッダーの値も他の config と同様に Expression に対応しており、キーをワークフローの変数に置いてここで組み立てられます。設定に直書きする必要はありません。
接続関係
Success
応答のステータスコードが 200 のとき、この接続点から次へ進みます。次の項目を持つ httpResponse 変数が生成されます。
| 項目 | 型 | 説明 |
|---|---|---|
statusCode | number | HTTP のステータスコード |
body | string | 応答の本文(生の文字列) |
json | object | 解析済みの JSON オブジェクト(Parse JSON が有効なとき) |
headers | object | 応答ヘッダー |
Failure
リクエストが失敗した場合(200 以外のステータス)やネットワークエラーが起きた場合、この接続点から続き、prevError 変数にエラー情報が入ります。
出力:httpResponse
成功すると応答は httpResponse という固定名の変数に入ります(名前は変更できません)。常に 3 つのフィールドがあります。
| フィールド | 内容 |
|---|---|
httpResponse.statusCode | HTTP ステータスコード |
httpResponse.body | 応答本文(文字列そのまま) |
httpResponse.headers | 応答ヘッダー |
Parse JSON がオンのときは httpResponse.json が加わり、body を解析したオブジェクトが入ります。
実際の例
ユーザーが入力した番号で ToDo を 1 件引き、タイトルを返します。
| 項目 | 値 |
|---|---|
| URL | Expression:'https://dummyjson.com/todos/' + prevMessage |
| Method | GET |
| Parse JSON | オン |
後ろに置く Push Message では、Message に Expression で httpResponse.json.todo を指定します。
POST の場合は Method を POST にし、Body を Expression で組み立て(例:JSON.stringify({ name: userName }))、Header に Content-Type: application/json を追加します。
注意事項
- URL にはプロトコル(
http://またはhttps://)が必要です。 - 応答のステータスコードが 400 以上のときは Failure に進み、ステータスと内容がエラーに入ります。
- Parse JSON がオンでも、body の解析に失敗したことは失敗ではありません。ノードは Success に進み、
httpResponse.jsonが存在しないだけです。使う前に存在を確認してください。 - Body と Header はどちらも Expression に対応し、フロー内の変数をリクエストに載せられます。