入門
Integration overview
一個後端,所有平台,接入一次,始終保持最新。
AskAIs 是「一個後端 + 多種接入方式」:你只需把工作區設定一次,就能把客服聊天嵌到任何地方,網站、行動 App、或任意後端服務。客戶也能透過 Telegram、WhatsApp 等入站管道找到你。所有端和管道連的都是同一個收件匣、同一個 AI 助理、同一套知識庫。
一個後端,所有平台
無論用哪個平台,接入都很短,而且對話、訪客、AI 回覆、各項設定全部共享。下面是每個平台怎麼裝,以及很關鍵的一點,它以後怎麼拿到更新:
平台一覽
| 平台 | 安裝方式 | 如何更新 |
|---|---|---|
| 網站 | <script src="…/widget.js"> | 自動,每次頁面載入都抓取最新版 |
| iOS(WebView) | WebView embed | 自動,WebView 會載入最新元件 |
| Android(WebView) | WebView embed | 自動,WebView 會載入最新元件 |
| Flutter(原生 SDK) | pub (local package) | 升級 SDK 版本號,重新打包發版 |
| React Native(WebView) | WebView / REST | 自動,WebView 會載入最新元件 |
| 任意後端 | REST API / OpenAPI | 你自己的服務,隨你部署 |
各端和管道能互通嗎?
能。它們只是同一個 AskAIs 工作區的不同入口,完全互通:
- 同後端、同 app-id:所有端都連到你工作區裡的同一個收件匣。
- 同一訪客跨端續聊:用同一個 externalId 識別,網頁上開始的對話能在 App 裡接著聊。
- 不只是嵌入,還有入站管道:除了網頁和 App 裡的元件,客戶還能透過 Telegram、WhatsApp 找你(兩者皆已端到端上線),每條訊息都匯聚到同一個收件匣,X 接入位也已就緒。
- 設定全端共享:AI 助理(平台託管或自帶金鑰)、知識庫、營業時間、關鍵字回覆、常見問題都只設定一次,處處生效。
網頁,官方嵌入(推薦)
在 </body> 前放這一行就裝好了,就這麼簡單。app-id 是公開的、可以放心寫進 HTML,在「設定 → 收件匣」裡複製。
<script src="https://singchat.org/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://singchat.org"
async></script>⚠️ 不要下載或自架 widget.js
網頁元件務必從 https://singchat.org/widget.js 載入。如果你把這個檔案下載下來自己託管、或編譯進自己的打包產物,就等於把它「凍」在某個舊版本,我們之後的樣式更新、Bug 修復、新功能都到不了你這裡。從 singchat.org 載入,元件會自動保持最新,你什麼都不用改。
在你的頁面裡控制它(選用)
指令稿載入後,會有一個全域物件 window.SingChat:
// Open / close the widget
window.SingChat.open();
window.SingChat.close();
// Identify a logged-in user (so chats follow them across devices)
window.SingChat.identify({ externalId: "user_123", name: "Ada", email: "ada@acme.com" });行動 App:Flutter SDK 或 WebView 嵌入
行動端有三種真實接入方式。第一,原生 Flutter 元件 SDK 提供一套完整、可主題化的聊天介面(懸浮氣泡加原生聊天頁,不是 WebView),加進 pubspec 即可發版。第二,iOS、Android(以及 React Native)可以用 WebView 全功能嵌入網頁元件,體驗與網頁一致,並且會自動保持最新。第三,直接對接 REST API 加簽名 webhook,自行渲染介面。並沒有單獨的原生 iOS、Android 或 React Native 聊天 SDK 要裝,這幾條就是受支援的接入方式。
# Flutter, native chat widget (floating bubble + native chat UI, not a WebView).
# In your app's pubspec.yaml (download and unzip the SDK package first):
dependencies:
singchat_widget:
path: ../singchat_widget
# iOS / Android / React Native without Flutter: load the hosted web widget in a
# WKWebView / WebView (same experience as the website), or drive the REST API
# with signed webhooks and render your own chat UI.任意後端 / 任意語言
不用 SDK 也行,直接呼叫 REST API 即可識別訪客、收發訊息,並用簽名 webhook 校驗入站事件。整套 API 遵循公開的 OpenAPI 規範,你可以據此為自己的語言產生用戶端,或直接呼叫這些介面。
# Any backend / language, talk to the REST API directly
curl -X POST https://singchat.org/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'