HTTP Request Processor
HTTP Request Processor 用於透過 HTTP 請求到外部 API。
基本用法
HTTP Request Processor 用於呼叫外部 API 服務,發送 HTTP 請求並接收回應資料。當工作流程執行到此 processor 時,會依據設定的 URL、HTTP 方法、請求標頭和內容發送請求,並將回應結果儲存到 httpResponse
變數中供後續 processor 使用。適用於資料整合、第三方服務串接、Webhook 觸發、外部驗證等需要與外部系統互動的場景。
配置參數
Name
- 顯示在畫布上的名稱,用於在工作流程中識別此 processor
Description
- 用於補充此 processor 的用途,提升工作流程的可讀性與可維護性
Properties
URL(必填)
- 說明:要發送請求的目標網址
- 設定類型:
- Literal:直接輸入固定 URL
- Expression:使用 JavaScript 表達式動態產生 URL
- Template:使用範本語法組合 URL
- Template (Advance):進階範本模式
Method(必填)
- 說明:HTTP 請求方法
- 支援選項:
- GET:取得資料
- POST:建立或提交資料
- PUT:更新資料
- DELETE:刪除資料
- PATCH:部分更新資料
Parse JSON(必填)
- 說明:是否自動解析 JSON 格式的回應內容
- 預設值:關閉
- 效果:開啟後,
httpResponse
物件會包含額外的json
欄位,包含解析後的 JSON 物件
Body
- 說明:請求內容,通常用於 POST、PUT 等需要傳送資料的請求
- 設定類型:支援 Literal、Expression、Template 等模式
- 格式:可以是 JSON、XML、表單資料等
Header
- 說明:額外的 HTTP 請求標頭
- 設定方式:點擊
+
按鈕新增標頭項目 - 常見用途:
- Authorization:API 金鑰或 Token 認證
- Content-Type:指定請求內容格式
- User-Agent:識別用戶端應用程式
連接關係
Success
當 HTTP 請求成功時,工作流程會從此連接點繼續執行。會產生 httpResponse
變數包含以下欄位:
欄位 | 類型 | 說明 |
---|---|---|
statusCode | number | HTTP 狀態碼 |
body | string | 回應內容(原始字串) |
json | object | 解析後的 JSON 物件(當 Parse JSON 開啟時) |
headers | object | 回應標頭物件 |
Failure
當 HTTP 請求失敗時,工作流程會從此連接點繼續執行,並產生 prevError
變數儲存錯誤資訊。
使用範例
取得外部資料
HTTP Request 設定:
- URL:
https://dummyjson.com/todos
- Method:
GET
- Parse JSON:開啟
動態 URL 請求
URL 設定:
- 設定類型:選擇
Expression
(() => {
return "https://dummyjson.com/todos/" + prevMessage;
})()
POST 請求提交資料
HTTP Request 設定:
- URL:
https://api.example.com/users
- Method:
POST
- Body:選擇
Expression
JSON.stringify({
name: userName,
email: userEmail
})
Header 設定:
- Content-Type:
application/json
- Authorization:
Bearer your-api-token
處理 API 回應
Push Message 設定:
- Message:選擇
Expression
(() => {
if (httpResponse.json && httpResponse.json.todos) {
return "取得 " + httpResponse.json.todos.length + " 筆待辦事項";
}
return "無法取得資料";
})()
條件式錯誤處理
Error Handler(Push Message)設定:
"API 呼叫失敗: " + prevError.message
注意事項
-
URL 格式:確保 URL 格式正確,包含完整的協定(http:// 或 https://)
-
認證設定:妥善設定 API 金鑰或認證資訊,避免洩露敏感資料
-
請求內容:POST/PUT 請求時注意 Content-Type 標頭與 Body 格式的一致性
-
錯誤處理:建議連接 Failure 分支,處理網路錯誤或 API 回應錯誤
-
效能考量:外部 API 呼叫可能較慢,考慮設定適當的超時時間
-
資料解析:開啟 Parse JSON 時,確保 API 回應確實為有效的 JSON 格式