Line Message API : Push Message & Reply
Go to WorkflowDescription
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**:
Field:
line_uid: Uxxxxxxxxxxxx
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。
設定**:
欄位:
line_uid:Uxxxxxxxxxxxx
2.3. Line: 推播訊息
用途**:向特定 LINE 使用者發送測試訊息。
設定**:
方法:POST
URL:https://api.line.me/v2/bot/message/push
JSON 主體:
{
"to": "{{ $json.line_uid }}",
"messages": [
{
"type": "text",
"text": "推播測試"
}
]
}