Workflow Description
This workflow demonstrates how to use the LINE Messaging API to handle two scenarios:
- Replying to a user's message using a reply token.
- Sending a push message to a specific LINE user using their user ID.
Key Features
- Webhook Integration : Receives and processes incoming messages from LINE using a webhook.
- Conditional Logic : Checks if the received event type is a message and handles it accordingly.
- Reply Message : Automatically responds to the user's message using the LINE reply token.
- Push Message : Sends a test message to a specific LINE user using their unique user ID.
Pre-Configuration
To simplify the setup process, create a Header Auth credential in n8n:
- Name :
Authorization
- Value :
Bearer {line token}
This will authenticate all API requests to the LINE Messaging API.
Node Configurations
1.1. Webhook from LINE Message
- Purpose : Captures incoming events from the LINE Messaging API.
- Configuration :
- HTTP Method :
POST
- Path :
{n8n-webhook-page}
1.2. If Condition
- Purpose : Checks if the received event type is
message.
- Configuration :
- Condition :
{{ $json.body.events[0].type }} equals "message"
1.3. Line: Reply with Token
- Purpose : Replies to the user's message using the LINE reply token.
- Configuration :
-
Method : POST
-
URL : https://api.line.me/v2/bot/message/reply
-
JSON Body :
{
"replyToken": "{{ $('Webhook from Line Message').item.json.body.events[0].replyToken }}",
"messages": [
{
"type": "text",
"text": "收到您的訊息 : {{ $('Webhook from Line Message').item.json.body.events[0].message.text }}"
}
]
}
2.1. Manual Trigger: Test Workflow
- Purpose : Triggers the workflow for testing the push message functionality.
- Configuration : No additional setup required.
2.2. Edit Fields
- Purpose : Prepares the unique LINE user ID for the push message.
- Configuration :
2.3. Line: Push Message
- Purpose : Sends a test message to a specific LINE user.
- Configuration :
-
Method : POST
-
URL : https://api.line.me/v2/bot/message/push
-
JSON Body :
{
"to": "{{ $json.line_uid }}",
"messages": [
{
"type": "text",
"text": "推播測試"
}
]
}
工作流程描述
此工作流程展示如何使用 LINE Messaging API 處理兩種情境:
- 使用 reply token 回應使用者的訊息。
- 使用使用者的 user ID 發送 推播訊息 。
主要功能
- Webhook 整合 :透過 Webhook 接收並處理來自 LINE 的訊息。
- 條件邏輯 :檢查接收到的事件類型是否為訊息並進行處理。
- 回應訊息 :使用 LINE 的 reply token 自動回覆使用者的訊息。
- 推播訊息 :使用 LINE User ID 向指定用戶發送測試訊息。
預先設定
為簡化設定流程,請在 n8n 中建立 Header Auth 憑證:
- 名稱 :
Authorization
- 值 :
Bearer {line token}
此設定將用於認證所有 LINE Messaging API 的請求。
節點設定
1.1. Webhook from LINE Message
- 用途 :接收來自 LINE Messaging API 的事件。
- 設定 :
- HTTP 方法 :
POST
- 路徑 :
{n8n-webhook-page}
1.2. If 條件判斷
- 用途 :檢查接收到的事件類型是否為
message。
- 設定 :
- 條件 :
{{ $json.body.events[0].type }} 等於 "message"
1.3. Line: Reply with Token
- 用途 :使用 LINE reply token 回應使用者訊息。
- 設定 :
-
方法 :POST
-
URL :https://api.line.me/v2/bot/message/reply
-
JSON 主體 :
{
"replyToken": "{{ $('Webhook from Line Message').item.json.body.events[0].replyToken }}",
"messages": [
{
"type": "text",
"text": "收到您的訊息 : {{ $('Webhook from Line Message').item.json.body.events[0].message.text }}"
}
]
}
2.1. 手動觸發:測試工作流程
- 用途 :測試推播訊息功能。
- 設定 :無需額外設定。
2.2. Edit Fields
- 用途 :準備推播訊息所需的 LINE 使用者 ID。
- 設定 :
2.3. Line: 推播訊息
- 用途 :向特定 LINE 使用者發送測試訊息。
- 設定 :
-
方法 :POST
-
URL :https://api.line.me/v2/bot/message/push
-
JSON 主體 :
{
"to": "{{ $json.line_uid }}",
"messages": [
{
"type": "text",
"text": "推播測試"
}
]
}