respond-io
New
🚀 TikTok商务消息现已上线! 将对话转化为转化率,无缝对接。 了解更多。
arrow-icon

首页 >

频道 >
自定义频道 >
自定义频道快速入门

自定义频道快速入门

Avatar
JQ Lee
· 05 Nov 2024
7 分钟

通过这种集成,您的团队可以通过自定义实现通过任何消息渠道与您的客户聊天。

连接自定义频道

步骤 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://app.respond.io/custom/channel/webhook/

    使用电话号码 ID 类型允许您发起对话并向联系人发送第一条消息。

将消息传递给 respond.io

Webhook URL用于将消息消息回显消息回执发布到 respond.io 平台。

提供的代码将触发 respond.io 上的 webhook,如有必要,创建联系人并在该联系人下保存消息。

消息示例

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H '授权:Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H '缓存控制:无缓存' \\  
  -H '内容类型:application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "事件": \[  
    {  
      “类型”:“消息”,  
      “mId”:“xcvzzxcxczxczxc”,  
      “时间戳”:2132131321000,  
      “消息”:{  
        “类型”:“文本”,  
        “文本”:“Hello World”  
      }  
    }  
  \],  
  “联系人”:{  
    “firstName”:“John”,  
    “lastName”:“Doe”,  
    “profilePic”:“”,  
    “countryCode”:“MY”,  
    “电子邮件”:“[email protected]”,  
    “电话”:“+60177872890”,  
    “语言”:“en”  
  }  
}'

消息回显示例

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H '授权:Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H '缓存控制:无缓存' \\  
  -H '内容类型:application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "事件": \[  
    {  
      “类型”:“message\_echo”,  
      “mId”:“xcvzzxcxczxczxc”,  
      “时间戳”:2132131321000,  
      “消息”:{  
        “类型”:“文本”,  
        “文本”:“Hello World”  
      }  
    }  
  \],  
  “联系人”:{  
    “firstName”:“John”,  
    “lastName”:“Doe”,  
    “profilePic”:“”,  
    “countryCode”:“MY”,  
    “电子邮件”:“[email protected]”,  
    “电话”:“+60177872890”,  
    “语言”:“en”  
  }  
}'

短信收据样本

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H '授权:Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H '缓存控制:无缓存' \\  
  -H '内容类型:application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "事件": \[  
    {  
      “类型”:“message\_status”,  
      “mId”:“xcvzzxcxczxczxc”,  
      “时间戳”:2132131321000,  
      “状态”:{  
        “值”:“已发送|已递送|已读取|失败”,  
        “消息”:“错误:由于令牌无效,发送失败”  
      }  
  \]  
}'

场地

描述

验证

通道编号

唯一频道ID

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

联系人编号

唯一联系人 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路由上应用了传出消息代码。

以下是 respond.io 调用端点的 cURL 示例:

curl -X POST \\  
  /message \\  
  -H '授权:Bearer aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H '缓存控制:无缓存' \\  
  -H '内容类型:application/json' \\  
  -d '{  
	"channelId": "gfd8g7fd89dgfd",  
	"contactId": "+60177872890",  
	"message": {  
		"type": "text",  
		“文本”:“Hello World”  
	}  
}'

响应 - 成功(HTTP 状态 → 200)

{  
	“mId”:“1640141607842”  
}

在将消息发送到消息服务提供商之前,需要在端点进行身份验证。

这里'是使用 express 中间件实现此目的的一个例子:

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

const validToken = (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();
};

模块.exports = {
    validateToken
};

我们'已包含您可以在服务器上测试的自定义频道的示例。 在这里查看我们的 GitHub 项目

消息类型

文本示例

{  
  "type": "text",  
  "text": "欢迎来到 respond.io",  
}

场地

描述

验证

类型

消息类型

必需的。 文本

文本

消息文本

必需的。 最大长度 7,000 个字符。

媒体文件示例

{  
  "type": "附件",  
  "附件": {  
    "type": "图像|视频|音频|文件",  
    "url": "https://abc/japan.png",  
    "mimeType": "图像/png",  
    "fileName":"公司徽标.png",  
    "description": "最新公司徽标"  
  }  
}

场地

描述

验证

类型

消息类型

必需的。 依恋。

附件类型

附件类型

必需的。 可用的附件类型:图像、视频、音频和文件。

附件.url

网址

必需的。 最多 2,000 个字符。 确保它是一个公共链接,以便用户或联系人能够看到内容。

附件.mimeType

附件的 MIME 类型

可选的

附件文件名

文件名称

选修的。 文件名应该包含扩展名。 最多 256 个字符(包括文件扩展名)。 发送没有扩展名或扩展名错误的文件可能会导致联系人或用户无法打开该文件。

附件.描述

文件描述

选修的。 最多 256 个字符。 仅适用于 attachment.type = image。

确保附件 URL 不被浏览器强制下载。 HTTP 响应's Content-Disposition 标头应该具有默认值,即 内联

位置样本

{  
  "type": "位置",  
  "纬度": 0.123456,  
  "经度": -0.1234,  
  "地址": "Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur"  
}

场地

描述

验证

类型

消息类型

必需的。 地点。

纬度

坐标

必需的。 纬度(±90°)在有效范围内。

经度

坐标

必需的。 经度(±180°)在有效范围内。

地址

位置地址

选修的。 最多 256 个字符。

快速回复示例

{  
  "type": "quick\_reply",  
  "title": "选择您的首选语言",    
  "replies": \[  
    "马来语",  
    "英语"  
  \]  
}

场地

描述

验证

类型

消息类型

必需的。 快速回复。

标题

快速回复标题

必需的。 最多 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

相关文章 :woman_technologist:

自定义频道概述
获取自定义频道及其功能的概述。

找不到您正在寻找的东西? 🔎