跳至主要内容

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、表單資料等
  • 說明:額外的 HTTP 請求標頭
  • 設定方式:點擊 + 按鈕新增標頭項目
  • 常見用途
    • Authorization:API 金鑰或 Token 認證
    • Content-Type:指定請求內容格式
    • User-Agent:識別用戶端應用程式

連接關係

Success

當 HTTP 請求成功時,工作流程會從此連接點繼續執行。會產生 httpResponse 變數包含以下欄位:

欄位類型說明
statusCodenumberHTTP 狀態碼
bodystring回應內容(原始字串)
jsonobject解析後的 JSON 物件(當 Parse JSON 開啟時)
headersobject回應標頭物件

Failure

當 HTTP 請求失敗時,工作流程會從此連接點繼續執行,並產生 prevError 變數儲存錯誤資訊。

使用範例

取得外部資料

HTTP Request 設定:

  • URLhttps://dummyjson.com/todos
  • MethodGET
  • Parse JSON:開啟

動態 URL 請求

URL 設定:

  • 設定類型:選擇 Expression
(() => {
return "https://dummyjson.com/todos/" + prevMessage;
})()

POST 請求提交資料

HTTP Request 設定:

  • URLhttps://api.example.com/users
  • MethodPOST
  • Body:選擇 Expression
JSON.stringify({
name: userName,
email: userEmail
})

Header 設定:

  • Content-Typeapplication/json
  • AuthorizationBearer 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

注意事項

  1. URL 格式:確保 URL 格式正確,包含完整的協定(http:// 或 https://)

  2. 認證設定:妥善設定 API 金鑰或認證資訊,避免洩露敏感資料

  3. 請求內容:POST/PUT 請求時注意 Content-Type 標頭與 Body 格式的一致性

  4. 錯誤處理:建議連接 Failure 分支,處理網路錯誤或 API 回應錯誤

  5. 效能考量:外部 API 呼叫可能較慢,考慮設定適當的超時時間

  6. 資料解析:開啟 Parse JSON 時,確保 API 回應確實為有效的 JSON 格式