HTTP Request
HTTP Request 是用於透過 HTTP 請求呼叫外部 API 的 processor。
基本用法
執行 HTTP Request 時,會依據設定的 URL、HTTP 方法、請求標頭和內容發送請求,並將回應結果儲存到 httpResponse 變數中供後續 processor 使用。適用於資料整合、第三方服務串接、Webhook 觸發、外部驗證等需要與外部系統互動的場景。
配置參數
節點的屬性面板:

Name
顯示在畫布上的名稱,用於在工作流程中識別此 processor。
Description
用於補充此 processor 的用途,提升工作流程的可讀性。
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 等設定。
標頭在底層不是一個獨立欄位。這個 processor 會把所有不是 url、method、body、parseJson 的 config key 當成 HTTP 標頭送出,標頭名稱就是 key 本身。直接撰寫 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
當 HTTP 請求的回應狀態碼為 200 時,工作流程會從此連接點繼續執行。會產生 httpResponse 變數包含以下欄位:
| 欄位 | 類型 | 說明 |
|---|---|---|
statusCode | number | HTTP 狀態碼 |
body | string | 回應內容(原始字串) |
json | object | 解析後的 JSON 物件(當 Parse JSON 開啟時) |
headers | object | 回應標頭物件 |
Failure
當 HTTP 請求失敗(非 200 狀態碼)或發生網路錯誤時,工作流程會從此連接點繼續執行,並產生 prevError 變數儲存錯誤資訊。
輸出:httpResponse
請求成功之後,回應放在固定名稱的 httpResponse 變數裡(這個名字不能改),內容永遠有三個欄位:
| 欄位 | 內容 |
|---|---|
httpResponse.statusCode | HTTP 狀態碼 |
httpResponse.body | 回應本文,字串原樣 |
httpResponse.headers | 回應標頭 |
開啟 Parse JSON 時會多一個 httpResponse.json,是 body 解析後的物件。
一個實際的例子
用使用者輸入的編號去查一筆待辦事項,再把標題回給他。
| 欄位 | 值 |
|---|---|
| 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,可以把流程裡的變數帶進請求。