telybot 少一点平凡,
多很多智慧。
ChinaEnglish 登录 联系我们 免费开始
Telybot 文档参考资料

SDK 参考

每一个 Telybot SDK(Android、iOS、React Native、Flutter、Ionic)都实现相同的精简协议。如果你用过其中一个,你就都会用了。

API

电话功能介绍
init / initialize存储您的客户端 ID。对其进行验证,若格式错误则明确报错。
show在您的应用上方显示聊天。可选择传入一个问题放入消息框(0.2.0)。
dismiss将其关闭。
isShowing当前是否正在展示。
嵌入式聊天嵌在您自己的某个界面中的聊天,例如帮助标签页(0.2.0)。
onShow / onDismiss在聊天打开和关闭时得到通知,适用于 Android 和 iOS(0.2.0)。
setVisitor已登录客户的姓名、电话和邮箱,在聊天的表单中提供(0.2.0)。
hasUnreadReply / onReply客户尚未看到的团队回复(0.2.0)。

带着问题打开。 把问题传给 show,它就会出现在聊天的消息框中;客户读完后点击发送。问题通过链接的 #fragment 传递,因此绝不会进入服务器日志。最多 500 个字符,单行。

嵌在您自己界面中的聊天。 Android 的 KeydaBotView、iOS 的 KeydaBot.makeChatViewController 或 SwiftUI 的 KeydaBotView、React Native 的 <KeydaBotChat />、Flutter 的 KeydaBotChat,以及 Ionic 包的 embedWidget()。它没有关闭按钮——您界面的导航就是出口。在 Android 上,返回键会先关闭打开的商品或购物车:当聊天是最前面的界面时,React Native 和 Flutter 会替您处理;使用原生 KeydaBotView 时,由您的返回处理调用它的 goBack()。

已登录的客户。 把客户的姓名、电话号码或邮箱交给 SDK,聊天就会填入您的应用已经知道的信息。这些信息只是提供,绝不会自动发送:它们出现在“联系人工”表单、订单、预约以及询问姓名、电话或邮箱的欢迎问题中,由客户自己提交。它们通过链接的 #fragment 传递,代表的是您应用的说法,而不是经过验证的身份。聊天会拒绝的值将被忽略:超过 80 个字符的姓名、不是 8 到 15 位数字的电话号码、没有有效域名的邮箱地址。Ionic 的全屏聊天在系统浏览器中打开,而浏览器会把地址保留在历史记录中,因此不接收这些信息;其嵌入式小组件则接收。

聊天关闭时的回复。 当客户要求转人工并关闭聊天后,您在后台的回复会在对话中等待。Android、iOS、React Native 和 Flutter 的 SDK 会在您的应用回到前台时检查,并通知您的应用,这样您可以在聊天按钮上显示一个圆点,直到客户打开聊天。它们只查询客户在最近 14 天内要求过转人工的聊天。应用在视线之外保持加载的聊天(例如后台的帮助标签页)不算已读:圆点会一直保留,直到客户看到。这不是推送通知:回复在应用打开时才会被发现。

刻意不再提供其他功能。没有发送消息的 API,也没有用户身份调用——因为两者都还没有端到端可用,而一个不可用的方法比没有这个方法更糟。

每个 SDK 打开的 URL

{baseUrl}/chat/{clientId}

baseUrl 默认为 https://telybot.com,且可在每个平台上进行覆盖,用于测试环境或自托管安装。

为什么使用网页视图,以及它会给您带来什么成本

只有一个由平台提供的聊天界面,所有界面都会加载它。

您将获得:店主在控制面板中所做的更改(强调色、欢迎语、机器人名称、上线状态)会立即同步到所有应用,无需发布。修复会同时在各处生效。跨平台的聊天体验完全一致。

费用说明:聊天需要保持连接。目前没有离线模式,也没有推送通知。

我们宁愿您在上线前就知道这一点,而不是事后才发现。

每个 SDK 作出的保证

  1. 导航跳转。 指向任何其他来源的链接都会在系统浏览器中打开,而不会替换聊天界面。如果没有这个功能,点击一下页脚链接就会结束客户的对话且无法返回。
  2. 对话保持。已启用 DOM 存储,因此客户关闭应用后再次打开,仍可查看 24 小时内的历史对话。
  3. 键盘绝不会遮挡输入框。
  4. 安全区域受到尊重 — 聊天窗口不会绘制在刘海屏或主屏幕指示条下方。
  5. 任何崩溃都不会波及你的应用。 加载失败时会显示重试按钮。
  6. 无分析、无设备标识符、无第三方依赖。添加Telybot SDK不会为您的应用添加任何追踪器。
  7. 返回键先关闭客户正在查看的内容。 在 Android 上,在打开的商品、购物车或预约上按返回键会先关闭它,然后才关闭聊天(SDK 0.2.0 及更高版本)。

在聊天中

这些都来自托管页面,因此无需更新 SDK 就能到达每个应用:

  • 带建议按钮的欢迎消息,使用机器人设置的语言。
  • 对话在设备上保留 24 小时,聊天不会生成访客 ID。在网站上,一次对话只持续一个浏览器标签页。(Ionic SDK 的全屏聊天需要 0.2.0 才能做到这一点。)
  • 订单和预约(在商家开通时):购物车、预约日期和时间、当订单或预约等待过久时拨打商家电话的链接,以及已确认预约的“添加到日历”。
  • 附件:照片(JPEG、PNG、WebP、GIF)以及 PDF、DOCX、TXT、CSV 和 MD 文件。附件按钮需要 Android 和 Flutter SDK 0.1.4 或更高版本,文档需要 Flutter 0.2.0。
  • “添加到日历”是指向 .ics 文件的链接。 iOS 会在日历中将其作为可订阅的日历打开。Android 在手机的日历应用能导入 .ics 文件时会提供该应用(当前的 Google 日历可以),否则由浏览器下载该文件。

Client id 格式

kb_live_ followed by 8-48 hexadecimal characters

其他任何内容都会在初始化时被拒绝,而不是在客户面前打开一个 404 页面。客户端 ID(client id)按设计是公开的——它在任何嵌入该小组件的网站中都可见——并且不具备读取或更改您账户权限的能力。请参阅限制与安全性。

来源

公开且采用 MIT 许可证:github.com/telybotai/telybot-Sdks。所有软件包都必须遵守的共享契约位于该仓库顶部的 CONTRACT.md 中。

Next: Limits and security →