スタート ガイド

ウェブ SDK を使用して、コンタクト センター AI プラットフォーム(CCAI プラットフォーム)の機能をウェブ アプリケーションに統合します。ウェブ SDK はヘッドレス ウェブ SDK をベースに構築されており、すべてのヘッドレス クライアント メソッドをウェブ SDK ウィジェットで使用できます。このページでは、ウェブ SDK をマウント、初期化、認証する方法について説明します。また、新しい会話を開始したり、文字起こしをダウンロードしたりするためのボタンやコマンドを非表示にする方法についても説明します。

ウェブ SDK のインストールについては、GitHub の実装例をご覧ください。

基本的な例

基本的な例では、次の 3 つのオプションのみが必要です。

  1. companyId
  2. host
  3. Authenticate

ウィジェットのドキュメントに沿って、会社 ID とホストを取得します。

完全な HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Basic demo</title>
</head>
<body>
  <!-- An empty element to mount the CCAI Platform web SDK widget. -->
  <div id="ccaas-widget"></div>

  <!-- Include the CCAI Platform web SDK widget -->
  <script src="https://{your_ccaas_host}web-sdk/v3/widget.js"></script>
  <script>
    var ccaas = new UJET({
      companyId: "$COMPANY_ID",
      host: "$HOST",
      authenticate: getAuthToken
    });
    ccaas.mount("#ccaas-widget");

    function getAuthToken() {
      // YOU SHOULD HAVE THIS KIND OF API ON YOUR SERVER
      return fetch('/auth/token').then(function(resp) {
        // { token: 'a JWT contains user identifier, name, and email' }
        return resp.json();
      });
    }
  </script>
</body>
</html>

カスタムデータの例

カスタムデータの例は、基本的な例と似ています。.config({ customData }) を使用してカスタムデータを構成する必要があります。

完全な HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Custom Data demo</title>
</head>
<body>
  <!-- An empty element to mount the CCAI Platform web SDK widget. -->
  <div id="ccaas-widget"></div>

  <!-- Include the CCAI Platform web SDK widget -->
  <script src="https://{your_ccaas_host}web-sdk/v3/widget.js"></script>
  <script>
    var ccaas = new UJET({
      companyId: "$COMPANY_ID",
      host: "$HOST",
      authenticate: getAuthToken
    });

    // use `.config` to configure custom data.
    ccaas.config({
      customData: {
        version: {
          label: 'Version',
          value: '1.0.0'
        }
      }
    });
    ccaas.mount("#ccaas-widget");

    function getAuthToken() {
      // YOU SHOULD HAVE THIS KIND OF API ON YOUR SERVER
      return fetch('/auth/token').then(function(resp) {
        // { token: 'a JWT contains user identifier, name, and email' }
        return resp.json();
      });
    }
  </script>
</body>
</html>

準備

Contact Center AI Platform Web SDK を起動して実行するには、次の操作を行います。

  1. ウェブ SDK ウィジェット スクリプトを含めます。

  2. マウント要素を準備します。

  3. COMPANY_KEY を使用してウェブ SDK を初期化する

  4. バックエンド コードを使用して COMPANY_SECRET で認証を初期化する

    <!-- an empty element to mount the web SDK -->
    <div id="ccaas-widget"></div>
    
    <script src="https://{your_ccaas_host}web-sdk/v3/widget.js"></script>
    <script>
      // const ccaas = new UJET({ ... })
    </script>
    

会社キーを取得する

  1. 管理者権限のあるアカウントを使用して、コンタクト センター AI プラットフォーム ポータルにログインします。

  2. [設定] > [デベロッパー向けの設定] に移動します。

  3. 会社キーを COMPANY_KEY としてコピーします。

ここで企業秘密を取得することもできます。シークレットは、バックエンド サーバーで認証トークン エンドポイントを作成するために使用されます。詳細については、認証セクションをご覧ください。

初期化中

新しい UJET(options) メソッドを使用して CCAI Platform ウェブ SDK を初期化できます。ポータルが https://{your_ccaas_host} の場合、ホストは

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

オプションは、ヘッドレス ウェブ SDK ガイドと同じです。

認証

getAuthToken は、バックエンドから JWT 署名メカニズムを呼び出す関数です。

async function getAuthToken() {
  // YOU SHOULD HAVE THIS KIND OF API ON YOUR SERVER
  const resp = await fetch('/auth/token')
  const data = await resp.json()
  return { token: data.token }
}

詳細については、認証をご覧ください。

SDK を構成する

ccaas.config({...}) を使用してウェブ SDK を構成します。

次のコードは、ウェブ SDK を構成するためのプロパティを一覧表示します。

export interface ConfigOptions {
  name?: string
  accent?: 'default' | 'blue' | 'green' | 'purple' | 'orange' | 'yellow' | 'gold' | 'red'
  logo?: string
  menuKey?: string
  ticketId?: string
  preferredChannel?: string
  disableAttachment?: boolean
  customData?: Record<string, any>
  signedCustomData?: string
  messages?: Record<string, unknown>
  disableLauncher?: boolean
  launcherOpenIcon?: string
  launcherCloseIcon?: string
  launcherLoadingIcon?: string
  optionsMenuIcon?: string
  confirmationIcon?: string
  enableMuteChat?: boolean
  tooltipIcon?: string
  hideNewConversation?: boolean
  hideDownloadTranscriptOptions?: boolean
  hideDownloadTranscriptPostChat?: boolean
}

詳しくは、サポートされている機能テーマのカスタマイズをご覧ください。

セッションの終了時に新しい会話を開始するボタンを非表示にする

セッションの終了時にエンドユーザーのチャット ウィンドウで [新しい会話を開始] ボタンを非表示にするように、ウェブ SDK を構成できます。これを行うには、ccaas.config メソッドに hideNewConversation プロパティを含めます。詳細については、SDK を構成するをご覧ください。

セッション中に文字起こしをダウンロードするコマンドを非表示にする

セッション中にエンドユーザーのチャット ウィンドウのチャット オプション メニューから [文字起こしをダウンロード] コマンドを非表示にするように、ウェブ SDK を構成できます。これを行うには、ccaas.config メソッドで hideDownloadTranscriptOptions プロパティを含めます。詳細については、SDK を構成するをご覧ください。

セッションの終了時に文字起こしをダウンロードするボタンを非表示にする

セッションの終了時にエンドユーザーのチャット ウィンドウで [文字起こしをダウンロード] ボタンを非表示にするように、ウェブ SDK を構成できます。これを行うには、ccaas.config メソッドに hideDownloadTranscriptPostChat プロパティを含めます。詳細については、SDK を構成するをご覧ください。

ウィジェットをマウントする

最初に空の要素を準備する必要があります。

<div id="ccaas-widget"></div>

次に、この要素にウィジェットをマウントできます。

ccaas.mount('#ccaas-widget')

ヘッドレス ウェブ SDK ガイドを使用して、独自のチャット ウィジェットと通話ウィジェットを作成します。

インストール

npm を使用してパッケージをインストールできます。

npm install @ujet/websdk-headless --save

または、CCAI プラットフォーム インスタンスでホストされているスクリプトを使用することもできます。

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

<script>
  // const client = new HeadlessClient(...)
</script>

SDK を統合する

  1. 管理者権限のあるアカウントを使用して、コンタクト センター AI プラットフォーム ポータルにログインします。

  2. [設定] > [デベロッパー向けの設定] に移動します。

  3. 会社キーを COMPANY_KEY としてコピーします。

ポータルが https://{your_ccaas_host} の場合、会社情報を取得する例は次のとおりです。

import { Client } from "@ujet/websdk-headless"

async function authenticate() {
  const resp = await fetch("/your-auth-endpoint")
  const data = await resp.json()
  return { token: data.token }
}

const client = new Client({
  companyId: "COMPANY_KEY",
  host: "https://{your_ccaas_host}",
  authenticate: authenticate,
})

const company = await client.getCompany()