iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0

步驟 1:建立 Webhook 節點

  1. 在 n8n 新建 workflow,新增 Webhook 節點

  2. 設定:

    • 名稱:Webhook
    • Pathcustomer-message
    • Method:POST
    • Response Mode:On Received
  3. 啟用 workflow

  4. 測試:

    • 用 Postman 或 PowerShell 發送:
    {
      "message": "今天天氣如何?"
    }
    
    • 確認 webhook 有收到資料(可以看到 Execution output)

步驟 2:建立 HTTP Request 節點

  1. 新增 HTTP Request 節點,連接到 Webhook

  2. 設定:

    • HTTP Method:POST

    • URL:你的 API endpoint(例如 http://你的API網址/endpoint

    • Body Content Type:JSON

    • Body

      {
        "query": "={{ $json['body']['message'] }}",
        "user_question": "={{ $json['body']['message'] }}",
        "response_mode": "blocking",
        "user": "api-user"
      }
      
  3. Headers:

    {
      "Content-Type": "application/json; charset=utf-8"
    }
    
  4. 測試:

    • 發送固定文字 JSON,確認 API 有回傳結果

步驟 3:建立 Set 節點

  1. 新增 Set 節點,連接到 HTTP Request

  2. 用來整理回傳資料:

    • Values → JSON

      {
        "reply": "={{ $json['response'] }}",
        "original_message": "={{ $json['body']['message'] }}"
      }
      
  3. 這樣回傳資料就統一成 reply + 原始訊息,方便前端使用

步驟 4:建立 IF 節點(檢查 API 是否成功)

  1. 新增 IF 節點,連接到 Set

  2. 條件:

    • Boolean → ={{ $json['statusCode'] === 200 }} → true
  3. 分支:

    • True → 正常回覆
    • False → 執行錯誤通知

步驟 5:建立 Email Notification 節點(錯誤處理)

  1. 新增 Email 節點,連接到 IF 的 False 分支

  2. 設定:

    • 寄件人:你的信箱

    • 收件人:要通知的人

    • 主旨:API 回覆失敗通知

    • 內容

      API 回傳失敗,請檢查系統。原始訊息: {{$json['body']['message']}}
      
  3. 測試:

    • 故意輸入錯誤 URL,確認 Email 收到通知

步驟 6:建立 Respond to Webhook 節點

  1. 新增 Webhook Response 節點,連接到 IF 的 True 分支

  2. 設定:

    • Response Mode:Last Node
    • Response Data={{ $json }}
  3. 測試:

    • 發送 JSON 訊息 → API 成功 → webhook 回傳整理好的 reply

步驟 7:完整測試

  1. 啟用 workflow
  2. 用 Postman 發送:
{
  "message": "查詢今日天氣"
}
  1. 確認:

    • 成功 → webhook 回覆 reply
    • 失敗 → 收到 Email 通知

上一篇
Day 16
下一篇
Day 18
系列文
從零開始 : 學習運用 n8n 與 Dify 的 AI 自動化實戰21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言