1. All Collections >
  2. 頻道 >
  3. 自定義頻道 >
  4. 自訂頻道快速入門

自訂頻道快速入門

Avatar
JQ Lee
7 分鐘

需採取行動:請於 2026 年 8 月 5 日前更新您的 webhook URL

您的 webhook URL 將從 app.respond.io 移至 webhook.respond.io。 請於 2026 年 8 月 5 日 前更新您的自訂頻道(含 SMS),否則傳入訊息將停止傳送。

如何更新
1. 在 respond.io 中,前往 頻道設定 > 設定 並複製您的新 webhook URL。
2. 將其貼到您 Meta 應用程式儀表板的 Callback URL 欄位。

需要幫助嗎? 聯絡支援.

透過這種集成,您的團隊可以透過自訂實現在任何訊息管道上與您的客戶聊天。

連接自訂頻道

步驟 1: 前往 設定 > 頻道

步驟 2: 點選 新增頻道 > 自訂頻道 > 連線

步驟 3:輸入將發送傳出訊息的目標 Webhook URL。

步驟 4: 選擇頻道的 ID 類型 > 點選 下一步

ID 類型用於使用者識別並用於與您的自訂整合伺服器進行通訊。

有兩種類型的 ID 可用:

  1. 電話號碼:如果訊息服務提供者根據電話號碼識別聯絡人,請使用此項目。

    1. 範例格式: +60177872890

  2. 自訂 ID:如果訊息服務提供者根據自訂產生的 ID 識別聯絡人,則使用此選項。

    1. 最大字元長度為 50。

    2. A-Za-z0-9_=+/@ 是允許的。

第 5 步:下列對話框會提供 頻道 IDAPI 令牌Webhook URL,例如。

  1. 頻道 ID:gfd8g7fd89dgfd

  2. API 令牌:aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd

  3. Webhook URL:https://webhook.respond.io/custom/channel/webhook/

    使用電話號碼 ID 類型可讓您發起對話並向聯絡人發送第一則訊息。

將訊息傳遞給 respond.io

Webhook URL 用於將 MessagesMessaging EchoesMessaging Receipts 發送到 respond.io 平台。

提供的程式碼將觸發 respond.io 上的 webhook,如有必要,建立聯絡人並將訊息保存在該聯絡人下。

訊息範例

curl -X POST \\  
  https://webhook.respond.io/custom/channel/webhook/ \\  
  -H 'authorization: Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'cache-control: no-cache' \\  
  -H 'content-type: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "type": "message",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "message": {  
        "type": "text",  
        "text": "Hello World"  
      }  
    }  
  \],  
  "contact": {  
    "firstName": "John",  
    "lastName": "Doe",  
    "profilePic": "<https://static.independent.co.uk/s3fs-public/thumbnails/image/2015/07/08/14/pic.jpg>",  
    "countryCode": "MY",  
    "email": "john@respond.io",  
    "phone": "+60177872890",  
    "language": "en"  
  }  
}'

訊息回顯示例

curl -X POST \\  
  https://webhook.respond.io/custom/channel/webhook/ \\  
  -H 'authorization: Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'cache-control: no-cache' \\  
  -H 'content-type: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "type": "message\_echo",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "message": {  
        "type": "text",  
        "text": "Hello World"  
      }  
    }  
  \],  
  "contact": {  
    "firstName": "John",  
    "lastName": "Doe",  
    "profilePic": "<https://static.independent.co.uk/s3fs-public/thumbnails/image/2015/07/08/14/pic.jpg>",  
    "countryCode": "MY",  
    "email": "john@respond.io",  
    "phone": "+60177872890",  
    "language": "en"  
  }  
}'

簡訊收據樣本

curl -X POST \\  
  https://webhook.respond.io/custom/channel/webhook/ \\  
  -H 'authorization: Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'cache-control: no-cache' \\  
  -H 'content-type: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "type": "message\_status",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "status": {  
        "value": "sent|delivered|read|failed",  
        "message": "Error: Sending failed due to invalid token"  
      }  
  \]  
}'

場地

描述

驗證

頻道編號

唯一頻道ID

必需的。 唯一字段。 由 respond.io 產生。

聯絡人ID

唯一聯絡人ID

必需的。 唯一的 respond.io 聯絡人 ID。 最多 50 個字元。

事件類型

事件類型

必需的。 可用類型:message、message_echo 和 message_status。

事件.mld

訊息 ID

必需的。 唯一訊息 ID。 最多 50 個字元。

事件.時間戳

UNIX 紀元時間(毫秒)

必需的。 觸發回調的事件的時間。

事件.訊息.類型

訊息類型

必需的。 可用的訊息類型:文字、附件、位置和快速回覆。 有關其他訊息類型範例,請參閱訊息類型部分。

事件.訊息.文本

訊息文字

必需的。 最大長度 7,000 個字元。

事件.狀態.值

文字

如果 event.type 是 message_status,則必要。 可用的狀態值:已傳送、已送達、已讀和失敗。

事件.狀態.訊息

文字

如果 events.status.value 失敗則必需。

聯絡人的名字

選修的。 最多 50 個字元。

聯絡人姓氏

選修的。 最多 50 個字元。

聯絡方式.profilePic

個人資料圖片網址

選修的。 頭像大小不應超過 100 kb。 建議 720x720。

聯絡人區域設置

區域設定代碼

選修的。 請參閱此處查看值清單。

聯絡人國家代碼

國家/地區代碼

選修的。 2 個字母的國家代碼 - ISO ALPHA-2 代碼。

聯絡人時區

時區

選修的。 (最小值:-24)(最大值:24)。

聯絡方式

電子郵件

選修的。 最多 50 個字元。

聯絡電話

電話號碼

選修的。 最多 18 個字元。

聯繫語言

語言

選修的。 ISO 639-1。

回應 - 成功(HTTP 狀態 → 200)

"好的"

處理 respond.io 的傳出消息

respond.io 將呼叫端點 <API Base URL>/message

確保在你的 Web 伺服器的 /message 路由上應用了 Outgoing Message 代碼。

以下是 respond.io 呼叫端點的 cURL 範例:

curl -X POST \\  
  /message \\  
  -H 'authorization: Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'cache-control: no-cache' \\  
  -H 'content-type: application/json' \\  
  -d '{  
	"channelId": "gfd8g7fd89dgfd",  
	"contactId": "+60177872890",  
	"message": {  
		"type": "text",  
		"text": "Hello World"  
	}  
}'

回應 - 成功(HTTP 狀態 → 200)

{  
	"mId": "1640141607842"  
}

在將訊息傳送到訊息服務提供者之前,需要在端點進行身份驗證。

這裡'是使用 express 中介軟體實現此目的的範例:

const {validationResult} = require('express-validator');

const validateToken = (req, res, next) => {
    const apiToken = <>
    const bearerToken = req.headers.authorization;

    if (!bearerToken)
        return res.send(401)

    const token = bearerToken.substring(7, bearerToken.length);

    if (apiToken !== token) {
        return res.send(401)
    }
    next();
};

module.exports = {
    validateToken
};

我們'已包含您可以在伺服器上測試的自訂頻道的範例。 查看我們的 GitHub 專案 這裡

訊息類型

文字範例

{  
  "type": "text",  
  "text": "Welcome to respond.io",  
}

場地

描述

驗證

類型

訊息類型

必需的。 文字

文字

訊息文字

必需的。 最大長度 7,000 個字元。

媒體檔案範例

{  
  "type": "attachment",  
  "attachment": {  
    "type": "image|video|audio|file",  
    "url": "https://abc/japan.png",  
    "mimeType": "image/png",  
    "fileName":"company logo.png",  
    "description": "latest company logo"  
  }  
}

場地

描述

驗證

類型

訊息類型

必需的。 附件。

附件類型

附件類型

必需的。 可用的附件類型:圖像、視訊、音訊和檔案。

附件.url

網址

必需的。 最多 2,000 個字元。 確保它是一個公共鏈接,以便用戶或聯絡人能夠看到內容。

附件.mimeType

附件的 MIME 類型

選修的

附件檔名

檔案名稱

選填。 檔案名稱應包含副檔名。 最多 256 個字元(包括檔案副檔名)。 發送沒有副檔名或副檔名錯誤的檔案可能會導致聯絡人或使用者無法開啟該檔案。

附件描述

文件描述

選修的。 最多 256 個字元。 僅適用於 attachment.type = image。

確保附件的 URL 不會被瀏覽器強制下載。 HTTP 回應's Content-Disposition 標頭應具有預設值,即 inline

位置樣本

{  
  "type": "location",  
  "latitude": 0.123456,  
  "longitude": -0.1234,  
  "address": "Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur"  
}

場地

描述

驗證

類型

訊息類型

必需的。 地點。

緯度

座標

必需的。 緯度(±90°)在有效範圍內。

經度

座標

必需的。 經度(±180°)在有效範圍內。

地址

位置位址

選修的。 最多 256 個字元。

快速回覆範例

{  
  "type": "quick_reply",  
  "title": "Select your preferred language",    
  "replies": \[  
    "Malay",  
    "English"  
  \]  
}

場地

描述

驗證

類型

訊息類型

必需的。 快速回覆。

標題

快速回覆標題

必需的。 最多 256 個字元。

回覆

回覆文字

必需的。 最多 10 條回复,每條回复最多 256 個字元。

錯誤代碼

錯誤(HTTP 狀態 → 4xx)

通道配置

步驟 1: 點選 設定 > 頻道

第 2 步: 找到自訂頻道 > 點選 管理

步驟 3:自訂頻道設定頁 您將會看到以下設定:

  • 頻道圖示 - 上傳一張圖片作為您的自訂頻道的圖示。

  • 頻道名稱 - 頻道名稱可以更改,並在內部用於識別頻道。

  • 發送訊息的 Webhook URL — 發送至此頻道的訊息的 Webhook URL。

  • 傳入訊息的 Webhook URL — 此頻道傳入訊息的 Webhook URL。

  • ID 類型 — 這些用於使用者識別並用於與您的自訂整合伺服器通訊。

  • 頻道 ID — 用於識別您的自訂頻道的唯一頻道 ID。

  • API 令牌 — 用於驗證使用者存取 API 的唯一識別碼。

步驟 4:點選 儲存變更 以更新自訂頻道配置。

常見問題與故障排除

我可以使用自定義渠道連接來自其他平台的聊天嗎?

可以,您可以。 以下是三個步驟:

  1. 在 respond.io 中,將來自其他平台的 目標 webhook URL 輸入到 傳入訊息的 Webhook URL 欄位中。

  2. 在其他平台中,設置指向 respond.io 的 webhook URL,允許聯絡人向您發送消息。

  3. 您將需要一個 自定義集成伺服器 來解讀 respond.io 和其他平台的 API,以實現它們之間的消息交換。

請確保向其他平台確認前兩個步驟是否可行。

自定義渠道 webhook 的常見問題

為什麼即使消息未成功發送到 respond.io,webhook 還會返回 200 狀態?

在連接自定義渠道時,通過 webhook 發送到 respond.io 的消息將始終立即返回 200 狀態碼,無論該消息是否成功傳遞到 respond.io。 這是由於 webhook 的特性,它們設計為立即返回響應,而不驗證消息傳送的成功與否。

分享這篇文章
Telegram
Facebook
Linkedin
Twitter

找不到您想要的東西? 🔎