從 Web SDK 第 2 版升級至第 3 版

本頁說明如何從網頁 SDK 版本 2 升級至網頁 SDK 版本 3。如果是首次安裝網頁 SDK,請參閱 網頁 SDK 第 3 版指南

升級至網頁 SDK 第 3 版

首先,請在原始碼中找出以下指令碼:

<script type="module" src="https://websdk.ujet.co/v2/loader.js"></script>

然後換成下列內容:

<script type="module" src="https://{your_ccaas_host}/web-sdk/v3/widget.js"></script>

重要差異

本節將說明網頁版 SDK 第 2 版和第 3 版的主要差異。

初始化

v2

const ccas = new UJET({
  "companyId": "{companyId}",
  "host": "https://{your_ccaas_host}",
  "authenticate": getAuthToken
})

v3

var ccas = new UJET({
  "companyId": "{companyId}",
  "host": "https://{your_ccaas_host}",
  "authenticate": getAuthToken
})

// v3 has a mount point
// ccaas.mount(HTMLElement | string)
ccaas.mount('#ccaas-widget')

選項

啟動網頁 SDK 時,請指定選項。本節說明網頁 SDK 第 2 版和第 3 版的差異。

v2

不適用於 v2。

v3

在第 3 版中,初始化選項與無標題 SDK 相同。

interface ClientOption {
  companyId: string;
  authenticate: () => Promise<TokenResponse>;
  tenant?: string;
  host?: string;
  lang?: string;
  bridge?: string;
  cobrowse?: {
    enabled: boolean;
    template?: string;
    messages?: CobrowseMessages;
    api?: string;
    license?: string;
    trustedOrigins?: string[];
    capabilities?: string[];
    registration?: boolean;
    redactedViews?: string[];
    unredactedViews?: string[];
  };
}

您可以使用 ccaas.config() 方法設定其他選項:

ccaas.config({
  disableAttachment: true
})

可用的設定選項:

interface ConfigOptions {
  accent?: AccentColor;
  logo?: string;
  menuKey?: string;
  ticketId?: string;
  preferredChannel?: string;
  disableAttachment?: boolean;
  customData?: string | Record<string, any>;
  messages?: Record<string, unknown>;
  reCaptchaSiteKey?: string;
}

方法

在第 2 版中,載入器提供幾種額外方法,例如:

ccaas.createCobrowseCode()
ccaas.fetchWaitTimes({id: 123})

在第 3 版中,小工具 UI 使用無標題用戶端,您可以呼叫 Headless SDK 支援的所有方法。

const client = ccaas.client
client.getCompany()
client.loadOngoingChat()

詳情請參閱無標題網頁 SDK 指南

活動

在第 2 版中,您可以透過下列方式監聽事件:

ccaas.on('chat:update', (chat) => {
  console.log(chat)
})

在第 3 版中,您可以使用無頭用戶端監聽事件:

const client = ccaas.client

client.on('chat.updated', (chat) => {
  console.log(chat)
})

如要瞭解更多事件,請參閱無標題網頁 SDK 指南

自訂主題

Web SDK v3 採用更新的主題自訂方式。詳情請參閱「主題自訂」。