メインコンテンツまでスキップ

REFERENCE

開発者リファレンス

認証、API、SDK、Flow Agent のプロセッサ、パラメータ解決のリファレンスです。

HTTP Request

外部 API へ HTTP リクエストを送り、応答をフローに取り込みます。

HTTP Request は HTTP で外部 API を呼び出すプロセッサーです。

  1. 基本的な使い方​

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

  2. 設定項目​

    ノードのプロパティパネルです。

    HTTP Request のプロパティパネル。URL、Method、Parse JSON、Body、Header

    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 の概要 — 値の取得を参照してください。

    追加の 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 に対応しており、キーをワークフローの変数に置いてここで組み立てられます。設定に直書きする必要はありません。

  3. 接続関係​

    Success​

    応答のステータスコードが 200 のとき、この接続点から次へ進みます。次の項目を持つ httpResponse 変数が生成されます。

    項目型説明
    statusCodenumberHTTP のステータスコード
    bodystring応答の本文(生の文字列)
    jsonobject解析済みの JSON オブジェクト(Parse JSON が有効なとき)
    headersobject応答ヘッダー

    Failure​

    リクエストが失敗した場合(200 以外のステータス)やネットワークエラーが起きた場合、この接続点から続き、prevError 変数にエラー情報が入ります。

  4. 出力:httpResponse​

    成功すると応答は httpResponse という固定名の変数に入ります(名前は変更できません)。常に 3 つのフィールドがあります。

    フィールド内容
    httpResponse.statusCodeHTTP ステータスコード
    httpResponse.body応答本文(文字列そのまま)
    httpResponse.headers応答ヘッダー

    Parse JSON がオンのときは httpResponse.json が加わり、body を解析したオブジェクトが入ります。

  5. 実際の例​

    ユーザーが入力した番号で ToDo を 1 件引き、タイトルを返します。

    項目値
    URLExpression:'https://dummyjson.com/todos/' + prevMessage
    MethodGET
    Parse JSONオン

    後ろに置く Push Message では、Message に Expression で httpResponse.json.todo を指定します。

    POST の場合は Method を POST にし、Body を Expression で組み立て(例:JSON.stringify({ name: userName }))、Header に Content-Type: application/json を追加します。

  6. 注意事項​

    • URL にはプロトコル(http:// または https://)が必要です。
    • 応答のステータスコードが 400 以上のときは Failure に進み、ステータスと内容がエラーに入ります。
    • Parse JSON がオンでも、body の解析に失敗したことは失敗ではありません。ノードは Success に進み、httpResponse.json が存在しないだけです。使う前に存在を確認してください。
    • Body と Header はどちらも Expression に対応し、フロー内の変数をリクエストに載せられます。

始める準備はできましたか?

Asgard をチームでどう活用できるか、お気軽にご相談ください。

お問い合わせ