この記事の内容
dropdown icon
概要
    Webex Contact Center for Salesforce Service Cloud Voice
    前提条件と制限事項
    ライセンス
    オムニチャネルを有効にする
    制限
dropdown icon
要件
    アイドル コード
dropdown icon
統合
    インストール
    Service Cloud Voice 用の Webex Contact Center のインストールと構成
    エージェントにプレゼンスステータスを割り当てる
dropdown icon
構成
    コンタクトセンター
    コンタクトセンターをインポートする
    コンタクトセンターの設定
dropdown icon
カスタマイズ
    Webex Contact Centerとの連携のための外部クライアントアプリ
    Webex Contact Centerの設定と音声通話記録を作成するためのスクリプト
ユーザー機能に必要なSalesforce権限
dropdown icon
Service Cloud Voice API ラッパー
    前提条件
    Service Cloud Voice APIラッパーを使用する
    Access_トークンを取得します
    リクエストを実行する
    音声通話の作成(セクション)
    音声通話の更新
    Omni-flowを実行する
    クリアルーティング
dropdown icon
電話番号の翻訳
    翻訳ルールの作成
dropdown icon
音声通話ページ設定
    ボイスコール記録ページの設定
    まとめ理由コンポーネントを表示する
    通話録音プレーヤーを表示する
dropdown icon
Webex管理者
    フロー構成
Webex Contact CenterとSalesforce Service Cloud Voiceを統合する
list-menuこの記事の内容
list-menuフィードバックがある場合

Webex Contact Center for salesforce Service Cloud Voiceは、Ciscoの 堅牢なCCaaS(Contact Center as a Service)をSalesforceのCRMと統合し、企業がSalesforceインターフェース内で オムニチャネルの顧客インタラクション(音声、デジタル)を管理できるようにします 。Webex AIを使用して仮想エージェント、文字起こし、インテリジェントルーティングを行い、エージェントを統合されたデータによる 「スーパーエージェント」に変え、顧客体験を向上させます。

Webexコンタクトセンターのメインフロー

概要

Webex Contact Center for Salesforce Service Cloud Voice

Service Cloud Voice 用 Webex Contact Center は、Webex Contact Center の機能を Salesforce Service Cloud Voice オムニチャネル エージェント コンソールに統合する、すぐに使えるソリューションです。

インストールを進める前に、次のセクションを参照してください。

Salesforce Service Cloud Voice の前提条件と制限事項について学び、Salesforce 組織が Webex Contact Center for Service Cloud Voice パッケージを有効にしてインストールする準備ができていることを確認します。

前提条件と制限事項

前提条件(サブトピック)

ユーザーインターフェース:Service Cloud Voiceは、Salesforce Lightning Experienceでのみ利用可能です。

Service Cloud Voiceは、以下のエディションでご利用いただけます。

  • エンタープライズ
  • 制限なし
  • 開発者

ライセンス

  • お客様は、Webex Contact Center の Flex 3 Standard または Premium ライセンスに加えて、ログインしているエージェントごとに新しい A-SF-VOICE アドオンライセンスを購入する必要があります。詳細については、Flex 3の発注ガイドを参照してください。

  • Salesforce Voice for Partner Telephony

音声機能を有効にする前に、組織内で前提となるサービスを設定する必要があります。

  • 会社情報へ移動 > パーミッションセットライセンス
    • Service Cloud Voice User (Partner Telephony)を確認してください。

      すべての開発者向けエディションには、テスト用のパートナー電話ライセンスが5つ付属するようになりました。

  • または、Salesforce 設定に移動し、左側のサイドバーで "voice" を検索して確認することもできます。

    • 「パートナー電話連絡センター 」が表示されている場合は、SCV ライセンスをお持ちです。
    • 「パートナー電話コンタクトセンター 」オプションが表示されない場合は、以下の手順に従って「 Service Cloud Voiceを有効にする 」を選択してください。
      • Salesforce 設定に移動し、「パートナー電話設定」を検索して選択し、「Service Cloud Voice を有効にする」ボタンを切り替えます。

      • オムニチャネルを有効にすると、エージェントが通話の発信と受信を行えるようになります。

オムニチャネルを有効にする

組織で既にオムニチャネルが有効になっている場合は、この手順をスキップしてください。

  1. 設定から、クイック検索ボックスに オムニチャネル設定 と入力し、 オムニチャネル設定を選択します。

  2. オムニチャネルを有効にするを選択します。
  3. [保存] をクリックします。

制限

  • 音声機能はLightning Experienceでのみ利用可能です。
  • 音声機能は、Service CloudおよびSales Cloudにおいて、アドオンライセンスとしてサポートされています。
  • Salesforce MobileおよびiPad Safariでは音声通話はサポートされていません。
  • 音声機能は、Google Chrome、Microsoft Edge(Chromium)、およびMozilla Firefoxのウェブブラウザでのみサポートされています。シングルサインオン(SSO)を有効にするには、Cookieを有効にする必要があります。
  • 標準ナビゲーションはサポートされていません。
  • 電話サービスは厳しく規制されているため、お住まいの地域で音声サービスが利用可能かどうかは、Salesforceの担当者にご確認ください。

要件

アイドル コード

アイドルコードを探す

アイドルコードを設定するには、以下の手順に従ってください。
1

管理ポータルにログインしてください。

2

コンタクトセンター へ移動 > デスクトップエクスペリエンス > Idle/Wrap-up コード

3

アイドルコードが表示されていることを確認してください。表示されていない場合は、フィルターのドロップダウンボタンをクリックして、ページ上部の アイドルコード を選択してください。

4

アイドルコードをクリックすると、詳細ビューが開きます。そこにアイドルコードIDが記載されています。

ID をコピーして、 プレゼンス状態マッピング 構成に使用できます。ID のいずれかを デフォルトの Cisco 準備完了不可理由として使用する必要があります。

統合

インストール

インストールを進める前に、 前提条件と制限事項 セクションを参照して、Salesforce Service Cloudの前提条件と制限事項について確認してください。

Service Cloud Voice 用の Webex Contact Center のインストールと構成

Service Cloud Voice for Partner Telephony ライセンスを取得すると、設定メニューに Partner Telephony 設定 ページが表示されます。

詳細については、Salesforce の公式リファレンス ( 直接リンク) を参照してください。

1

設定から、 クイック検索 ボックスに Partner Telephony Setup と入力し、 パートナー電話設定を選択します。

2

有効にする パートナー電話との音声通話をオンにする

パートナー電話コンタクトセンター ページは、 設定 メニューに表示されます。

パッケージをSalesforceサンドボックスにデプロイする場合は、インストールリンクの login.salesforce.com 部分を test.salesforce.comに置き換えてください。新しいサンドボックスのコピーを作成するたびに、このパッケージはサンドボックス組織から削除されることに注意してください。

パッケージをインストールします

パッケージをインストールするには:

1

インストールを開始するには、パッケージに記載されているリンクを開いてください。

2

パッケージをインストールするSalesforce組織にログインしてください。

3

インストールウィザードで、セキュリティオプション 「管理者のみにインストール 」を選択し(1)、 インストール をクリックします(2)。

Webex Contact Center for Service Cloud Voiceパッケージに含まれるオブジェクトおよびコンポーネントに対して、どのユーザーに特定のアクセス許可を与えるかを決定します。さらに、これらの権限を付与してください。Webex Contact Center for Service Cloud Voice パッケージに付属する権限セットは、このプロセスを支援します。

パッケージインストールウィザード - ようこそ画面が表示されます。

インストールパッケージはSalesforce AppExchangeから直接アクセスすることはできません。お客様は、AppExchange の掲載ページにある「今すぐ入手」ボタンを使用する必要があります。このボタンをクリックすると、 インストール リンクと Cisco のアクティベーションをリクエストするための問い合わせフォームが開きます。

4

コンタクトセンターを作成できるように、少なくとも1人のユーザーに以下の権限セットを付与してください。

Contact Center Admin (Partner Telephony).
5

設定 | ユーザー | ユーザーをクリックします。

6

ユーザーを検索して選択します。

7

「権限セットの割り当て」までスクロールしてください。

8

課題の編集をクリックしてください

9

コンタクトセンター管理者向け: コンタクトセンター管理者(パートナーテレフォニー) 権限セットを割り当てます。

10

コンタクトセンターエージェント向け: コンタクトセンターエージェント(パートナーテレフォニー) 権限セットとWebexコンタクトセンターSCVエージェント権限セットを割り当てます。

すべてのユーザー向けにインストール オプションを選択することはお勧めしません。このオプションを選択すると、カスタムユーザープロファイルを使用するすべてのユーザーに、パッケージコンポーネントとオブジェクトに対するすべての権限(読み取り、作成、編集、削除)が付与されるためです。

11

Connects for Service Cloud Voiceを使用するためのパッケージライセンスをユーザーに割り当てます。

  • セットアップ | アプリ | パッケージング | インストール済みパッケージ をクリックします。
  • 最近インストールした Webex Contact Center for Service Cloud Voice の横にある ライセンスの管理 をクリックします。
  • [ユーザーの追加] をクリックします。
  • ライセンスを割り当てるユーザーを選択し、 追加をクリックします。

12

または、 設定 | ユーザー | ユーザーをクリックしてください。

13

ユーザーを検索して選択します。

14

管理パッケージまでスクロールしてください。

15

ライセンスの割り当てをクリックします。

16

リストから Webex Contact Center for Service Cloud Voice パッケージを選択してください。

17

[追加] をクリックします。

18

プレゼンスステータス を作成して、どのサービスチャネルにどのステータスを割り当てるかを定義します。エージェントは、担当する業務の種類に応じて、異なるステータスでオムニチャネルにログインできます。

19

設定から、クイック検索ボックスに Presence Statuses と入力し、 プレゼンスステータスを選択します。

20

[新規] をクリックします。「オンライン」と「ビジー」それぞれ少なくとも1つのステータスを作成してください。

  • RONA専用の「ビジープレゼンスステータス」を作成します。プレゼンス設定を使用すると、CTI側またはSalesforce内でRONAが発生した際に、オムニチャネルのステータスを所定のステータスに自動的に設定できます。
  • プレゼンス設定内でRONAステータスを設定する場合は、デフォルト のプレゼンス設定 を使用しないようにしてください。現在、Webex Contact Center for Service Cloud Voiceは、デフォルト設定で構成されているRONAステータスを取得しません。

エージェントにプレゼンスステータスを割り当てる

1

設定画面から、クイック検索ボックスに「アクセス許可セット」と入力し、「アクセス許可セット」を選択します。

2

クリックして パートナー電話権限セットを開きます。

3

サービスプレゼンスステータスへのアクセスをクリックします。

4

[編集] をクリックします。

5

利用可能なサービスプレゼンス リストで、以前に作成したプレゼンス ステータスを選択し、 追加 をクリックして、それらを権限セットに関連付けます。この権限セットが割り当てられたエージェントは、利用可能なプレゼンスステータスのいずれかを使用してオムニチャネルにサインインできます。

6

[保存] をクリックします。

7

同じページにある 課題の管理 をクリックします。次に、右上隅の 割り当ての追加 をクリックし、目的のユーザーを選択し、 次へをクリックし、割り当てられたユーザーの 有効期限オプション を選択して (オプション)、 割り当てをクリックします。

Service Cloud Voiceは、VoiceCallレコードを操作するために外部ドメインを使用します。以下の URL をセットアップの「リモート サイト設定」に追加する必要があります ( ここをクリックして公式ドキュメントを開きます):

: インスタンスURLを見つける方法。

8

ログイン後、ブラウザのアドレスバーに表示されているURLを確認してください。インスタンス URL は「.my.salesforce.com」または「.salesforce.com」または「.lightning.force.com」より前の部分です。例えば、URLが https://orgfarm-54a38e30ad-dev-ed.develop.my.salesforce-setup.com/, の場合、「orgfarm-54a38e30ad-dev-ed.develop」がインスタンスURLになります。

:

元の組織URL: https://cisco.lightning.force.com

: 追加するURL:

  • https://cisco.my.salesforce-scrt.com

9

エージェントがService Cloud Voiceを使用するには、Lightning Service ConsoleアプリにOmni-Channelユーティリティアイテムが必要です。

  • 設定画面から、クイック検索ボックスに「アプリ」と入力し、「アプリマネージャー」を選択します。
  • サービスコンソールアプリ、または使用したいアプリの横にあるドロップダウンリストをクリックし、次に「編集」をクリックします。
  • アプリ設定で、「ユーティリティ項目(デスクトップ版のみ)」をクリックします。
  • 「ユーティリティアイテムを追加」をクリックします。
  • モーダルウィンドウで「オムニチャネル」を検索してください。
  • オムニチャネルをクリックしてください。
  • 「保存」をクリックしてアプリマネージャーを終了します。

Salesforce の公式リファレンスは、 Let's Do This ボタンをクリックすると、Salesforce ヘルプ ポータルの パートナー テレフォニーを使用した Service Cloud Voice のエージェント エクスペリエンスの設定 ページが開きます ( 直接リンク)。

10

設定から、クイック検索ボックスに パートナー電話設定 と入力し、 パートナー電話設定を選択します。

11

セクション 5 その他の音声設定までスクロールしてください。

12

Lightning Experience でソフトフォンを使用しているときに、ヘッダーが無効になっている Visualforce ページの クリックジャック保護を有効にするには 、 Salesforce インスタンス URL に加えて、ソフトフォンとカスタムツールバーが読み込まれるドメインを信頼済みドメインとして追加する必要があります。

これらの設定と信頼済みドメインのリストは、 設定 | セキュリティ | セッション設定にあります。

正しい Visualforce ドメインを取得するには、 設定 | カスタム コード | Visualforce ページ に移動し、 CiscoScvMainWxCCのプレビュー ボタンをクリックします。Salesforce組織の設定によっては、Salesforceが自動的に別のURLにリダイレクトする場合があります。URLをコピーして Trusted Domains for Inline Frames リストに追加し、IFrameタイプとして「Visualforceページ」を選択します。

: MyDomainName--cisco_wxcc_scv.vf.force.com

Salesforce インスタンスのドメインを取得するには、ブラウザの URL バーに表示される URL をコピーし、 信頼済みドメインのインライン フレーム リスト に追加し、 Visualforce ページ を IFrame タイプとして選択します。

: MyDomainName.lightning.force.com

組織にマイ ドメインがデプロイされていない場合、URL の形式が異なります。マイ ドメインがデプロイされていて、組織で拡張ドメインが有効になっていない場合、URL の形式が異なります。拡張ドメインが有効になっていない場合、Visualforce、Experience Builder、Site.com Studio、およびコンテンツファイルの「マイ ドメインで URL を安定させる」設定もこの形式に影響します。詳細については、Salesforce ヘルプの ドメイン URL フォーマット を参照してください。

Lightning Experience の Clickjack 保護と信頼済みドメインの設定

13

通話中に録音コントロールを表示するには、エージェントは Control Call Recording アプリの権限が必要です。

それを割り当てるには、 プレゼンスステータス ステップで作成した権限セットに追加します。

  • アクセス許可セットを開きます。
  • アプリの権限 リンクをクリックしてください。
  • [編集] ボタンをクリックします。
  • コールセンター 通話録音の制御 権限を追加して保存します。

構成

コンタクトセンター

コンタクトセンター定義ファイルは、特定のCTIシステムにおけるSalesforceのコンタクトセンターを定義するために使用される一連のフィールドと値を指定します。Salesforceは、複数のCTIシステムベンダーとの統合をサポートするために、コンタクトセンター定義ファイルを使用します。

詳細については、Salesforceの公式ドキュメント( 直接リンク)をご覧ください。

コンタクトセンターをインポートする

ベータ版からのアップグレード:このガイドでは、Salesforce Service Cloud Voice 向け Webex Contact Center 統合の一般提供 (GA) リリースをクリーンインストールする手順について説明します。

統合のベータ版からアップグレードする場合は、既存のパートナーコンタクトセンターのレコードを再利用しないでください。その代わり:

  1. 一般提供版に同梱されているパートナーコンタクトセンターのXMLファイルをインポートしてください。
  2. インポートしたXMLを使用して、新しいパートナーコンタクトセンターレコードを作成します。
  3. 新しく作成されたパートナーコンタクトセンターを使用するように設定を更新してください。

GAパートナーコンタクトセンターのXMLファイルには、正しいコネクタURLやその他のメタデータなど、更新された構成値が含まれています。ベータ版XMLから作成されたパートナーコンタクトセンターのレコードを再利用すると、古い設定値が保持され、統合が正しく機能しなくなる可能性があります。

1

設定から、 ] クイック検索 ボックスに ] パートナー電話連絡センター と入力し、 パートナー電話連絡センターを選択します。

既存のコンタクトセンター(存在する場合)の一覧が表示されます。
2

ページ右側の 「コンタクトセンターを作成 」をクリックしてください。

3

電話サービスプロバイダーとして Webex Contact Center を選択してください。[次へ] をクリックします。

ファイルブラウザが開きます。
4

コンタクトセンターの定義が含まれている .xml ファイルを選択してください。

5

[開く] をクリックします。

ファイルがインポートされました。
6

コンタクトセンター一覧に、ご自身のコンタクトセンターが表示されているかどうかを確認してください。

コンタクトセンターの設定

1

設定から、 ] クイック検索 ボックスに ] パートナー電話連絡センター と入力し、 パートナー電話連絡センターを選択します。

2

以前インポートしたコンタクトセンターをクリックしてください。

3

[編集] をクリックします。

表1. コンタクトセンターの詳細
フィールド説明
表示名 これは、利用可能なコンタクトセンターの一覧に表示されるコンタクトセンターの名前です。同じコンタクトセンター定義ファイル(.xml)を複数回インポートし、それぞれ異なる表示名を付けることができます。
公開鍵

音声機能を使用するには、公開鍵と秘密鍵を含む証明書が必要です。秘密鍵を取得するには、 自己署名証明書を生成する認証局によって署名された証明書を生成する 、または [] キーストアからインポート ボタンを使用して Java キーストア ファイル (JKS) または Bouncy Castle FIPS キーストア ファイル (BCFKS) を直接インポートすることができます。

証明書が生成されたら:

  • 証明書 ラベルをクリックしてください。
  • 証明書をダウンロードをクリックしてください。
  • ダウンロードした証明書をテキストエディタで開いてください。
  • その内容をコンタクトセンターの 公開鍵 フィールドにコピーしてください。

必須はい

証明書の一意の名前

Unique Name 公開鍵用に作成された自己署名証明書の[]。

必須はい

準備完了状態ID
  • 設定の プレゼンスステータス ページを開きます。
  • オンライン ステータスをクリックし、URLバーからSalesforce IDをコピーします。
  • この欄にIDを貼り付けてください。

必須はい

準備完了状態ID
  • 設定の プレゼンスステータス ページを開きます。
  • ビジー ステータスをクリックし、URLバーからSalesforce IDをコピーします。
  • この欄にIDを貼り付けてください。

必須はい

Cisco デフォルト準備未完了理由

特定のプレゼンス状態に対応するマッピングが指定されていない場合に、デフォルトのアイドルコードとして使用されるCiscoのアイドルコードID。

必須はい

設定されているアイドルコードIDを確認するには、 アイドルコード セクションを参照してください。

プレゼンス状態マッピング

Salesforce Omni PresenceのステータスをCiscoのReady状態およびNot Ready理由コードにマッピングするために使用されます。

アイドルコード ステータスを追加する必要があります。

  • 設定の プレゼンスステータス ページを開きます。
  • ビジー ステータスのいずれかをクリックし、URL バーからその Salesforce ID をコピーします。プレゼンスステータスIDは 0N5で始まります。例: 0N51X0000000AUT
  • このフィールドにIDを貼り付け、その後にカンマとCiscoアイドルコードIDを入力してください。
  • 1つ以上の Busy マッピングは、カンマ区切りで追加できます。

同期の問題を回避するには、 Default Not Ready ID もマッピングで設定する必要があります。

プレゼンス設定 内で 拒否 と[ プッシュタイムアウト]のステータスを設定した場合は、対応するCisco Not Ready状態とともにマッピングにも追加してください。

形式:

  • マッピング作業中:busyPresenceID1,ciscoAuxCodeID1
  • デフォルトの未準備マッピング:defaultNotReadyPresenceID,ciscoDefaultNotReadyAuxCodeID
  • オンラインマッピング:onlinePresenceId,0

各マッピングの完了部分をセミコロンで区切ってください。

必須はい

以下は、昼食、会議、休憩のためのアイドルコードの作成例です。

音声通話IDの呼び出し変数

現在の音声通話のIDを格納するために使用される通話変数。これは、通話状態を正しく更新するために使用されます。

形式: Webex Contact Center Flowで設定されている変数名。例えば SCV_VoiceCallRecordId

必須はい

デフォルト値: SCV_VoiceCallRecordId

音声通話レコードIDとベンダー通話キーを1つのフロー変数に結合している場合は、このフィールドでその名前を設定できます。音声通話レコードIDおよびベンダー通話キーのフロー変数も参照してください。

ベンダー呼び出しキーの呼び出し変数

現在の音声通話のベンダーコールキーを格納するために使用されるコール変数。これは、正しい音声通話記録を開くために使用されます。

形式: Webex Contact Center Flowで設定されている変数名。例えば SCV_VendorCallKey

必須はい

デフォルト値: SCV_VendorCallKey

音声通話レコードIDとベンダー通話キーを1つのフロー変数に結合している場合は、このフィールドを空のままにして、「音声通話IDの通話変数」フィールドに、音声通話レコードIDとベンダー通話キーを含むフロー変数の名前を設定できます。参照: 音声通話レコードIDおよびベンダー通話キーのフロー変数

電話番号の翻訳

電話番号をダイヤルする前に、その番号に適用される電話番号変換ルール。

電話番号の翻訳を参照してください

必須いいえ

Webexコンタクトセンター地域

テナントは、Webexコンタクトセンターのリージョンを決定するために使用されます。Webex Contact Centerポータル、開発者ポータル、またはデスクトップのURLに記載されています。例えば、 devportal.wxcc-eu2.cisco.com は領域 eu2を使用します。

形式: eu2

必須はい

Webex Contact Centerのリージョンと対応する文字列:

  • 米国: us1
  • カナダ: ca1
  • 英国: eu1
  • ドイツ: eu2
  • オーストラリア: anz1
  • シンガポール: sg1
  • 日本: jp1
WebexコンタクトセンターWebRTCドメイン

このドメインは、正しいWebRTC接続を確立するために使用されます。Webex Contact Centerテナントの場所を使用してください。

  • 米国: rtw.prod-us1.rtmsprod.net
  • 豪州、ニュージーランド(ANZ): rtw.prod-as1.rtmsprod.net
  • カナダ: rtw.prod-ca1.rtmsprod.net
  • 日本: rtw.prod-ja1.rtmsprod.net
  • EU1: rtw.prod-uk1.rtmsprod.net
  • EU2: rtw.prod-gm1.rtmsprod.net

必須はい、WebRTCの場合

WCCAIトランスクリプションを有効にする

WCCAIの文字起こし機能を有効または無効にするために使用します。

形式:True または False

必須いいえ

デフォルト値: False

録画リンクを保存

Webex通話の録音リンクを音声通話記録に保存するために使用します。

形式:True または False

必須いいえ

デフォルト値: True

4

コンタクトセンター ページの最下部にある コンタクトセンターユーザー セクションの[ 追加 ボタンをクリックします。

5

クリック + オープンコンタクトセンターにアクセスできるユーザーの隣。

このリストには、 Contact Center Agent (Partner Telephony) 権限が設定されており、かつ他のコンタクトセンターに既に割り当てられていないユーザーのみが表示されます。

カスタマイズ

Webex Contact Centerとの連携のための外部クライアントアプリ

Webex Contact Center Salesforceコネクタ用の外部クライアントアプリの設定

Service Cloud Voiceを最大限に活用するには、コンタクトセンターのコールフローを調整して、音声通話レコードを作成し、IVRでの通話中にSalesforce Omni-Channelフローを実行するようにすることができます。

証明書を作成する

組織のセキュリティポリシーに従って、デジタル証明書を既に作成済みであることを確認してください。

デジタル証明書を生成するには、Salesforce のドキュメント https://developer.salesforce.com/docs/atlas.en-us.voice_pt_developer_guide.meta/voice_pt_developer_guide/voice_pt_generate_certificate.htmを参照してください。

openssl genrsa -des3 -passout pass: -out server.pass.key 2048
openssl rsa -passin pass: -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr

    Country Name (2 letter code) [AU]:CH
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []: my-api-user@my-example-org.com
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt

server.crt => Salesforce外部クライアントアプリの証明書

サーバーキー => Webex Control Hub の Salesforce コネクタの秘密鍵

SCV統合ユーザーの権限設定

以下の権限セットは、Connects for SCVがコンタクトセンターIVRフローおよびWebex Contact Center for Salesforce for SCVとの統合に使用するApexクラスへのアクセスを許可します。

以下は設定例であり、コンタクトセンターに必要な最小限の権限について説明しています。 / IVR統合が機能する。

  • 設定から、 ユーザー | アクセス許可セットに移動します。
  • 新規 ボタンをクリックしてください。
    • ラベルを入力してください。例: SCV ApexクラスへのIVRアクセス
    • API名は自動的に入力されます
    • ライセンス:なし
    • [保存] ボタンをクリックします。
  • 新しい権限セットが開きます。
  • Apex クラス アクセスに移動します。
  • 編集 ボタンをクリックして、次のApexクラスを追加します。
    • cisco_wxcc_scv.サービスルーティング
  • システム権限に移動します。
  • 編集 ボタンをクリックして、以下の権限を有効にしてください。
    • Apex RESTサービス
    • API対応

最小限のアクセス権限 - APIのみの統合プロファイル

このプロファイルは、Webex Contact Center for Salesforce for SCVと連携して、音声通話レコードを作成し、IVRフローからOmni-Flowを実行するために使用されます。

以下は設定例であり、コンタクトセンターに必要な最小限の権限について説明しています。 / IVR統合が機能する。

これは「最小限のアクセス権限 - APIのみの統合」プロファイルのクローンです。

  • 設定から、 ユーザー | プロファイルに移動します。
  • プロファイル一覧で、プロファイル 最小アクセス - API のみの統合 を検索します。
  • プロファイル名をクリックすると、 最小アクセス - APIのみの統合 プロファイルが開きます。
  • 最小限のアクセス - API のみの統合 プロファイルで、 クローン ボタンをクリックします。
  • 新しいプロフィール名を入力してください。例: SCV統合。
  • 保存 ボタンをクリックしてください。
  • 新しいプロフィールが開きます。
  • 「最小限のアクセス権限 - API のみの統合」プロファイルから、すべての権限が削除されていることを確認してください。
  • システム権限に移動します。
  • 以下の権限が有効になっていることを確認してください。
    • API対応
    • API専用ユーザー

SCV統合ユーザー

以下は設定例であり、コンタクトセンターに必要な最小限の権限について説明しています。 / IVR統合が機能する。SCV統合ユーザーには、Salesforce Service Cloud VoiceライセンスまたはWebex Contact Center for Salesforce for SCVライセンスは必要ありません。

  • 設定から、 ユーザー | ユーザーに移動します。
  • 新規ユーザー ボタンをクリックしてください。
    • 名、姓、およびその他の必須項目をすべて入力してください。
    • ユーザーライセンス:Salesforceとの連携
    • プロファイル: 前の手順で作成したプロファイル(「SCV統合プロファイル」、最小アクセス権限 - APIのみの統合プロファイルのクローン)を選択します。
  • 保存 ボタンをクリックしてください。
  • 新しいユーザーレコードを開きます。
  • 以前に作成した権限 セット(「 IVRによるSCV Apexクラスへのアクセス」)を割り当てます。
  • 権限セットライセンス Salesforce API統合を割り当てます。
Salesforce外部クライアントアプリを作成する
新しい外部クライアントアプリを作成する

Salesforceのデータをサードパーティ製アプリケーションと連携させるには、2つの方法があります。コネクテッドアプリ外部クライアントアプリはどちらも、データを統合するためのフレームワークです。外部クライアントアプリは、コネクテッドアプリの次世代版です。

Cisco Webex Contact Centerで使用されるSalesforce外部クライアントアプリを設定するには:

  1. 設定から、アプリ | 外部クライアント アプリ | 外部クライアント アプリ マネージャーに移動します。
  2. 新しい外部クライアントアプリをクリックします。
  3. 外部クライアントアプリ - 基本情報
    • 外部クライアントアプリ名: WxCC - SCV
    • API名: WxCC_SCV
    • 連絡先メール アドレス: < your email >
    • 配布状況: 「ローカル」を選択

    基本情報

    外部クライアントアプリ - API(OAuth設定を有効にする)

    • 選択してください: OAuthを有効にする
    • アプリ設定
    • 折り返し電話 URL: http://localhost:1717/OauthRedirect as サンプルコールバックURL
    • OAuth スコープ
    • OAuthスコープを選択してください:
    • API(API)を介してユーザーデータを管理する
    • いつでもリクエストを実行できます(refresh_token、 offline_access)

    API(OAuth設定を有効にする)

    フローの有効化

    • 選択してください: JWTベアラーフローを有効にする
    • 「ファイルのアップロード」をクリックし、デジタル証明書を含むserver.crtファイルをアップロードしてください。

    Floeの有効化

    セキュリティ

    Webサーバーフローにシークレットを要求する オプションのチェックを外してください。

    セキュリティ

  4. 作成ボタンをクリックしてください。
  5. タブポリシー に変更し、編集ボタンをクリックします。
  6. ポリシー—OAuthポリシー
    • プラグインポリシー
      • 許可されたユーザー: 管理者承認済みユーザーを選択すると、事前承認されます
      • 変更内容を確認してください
    • アプリ認証
      • リフレッシュトークンポリシー:リフレッシュトークンをすぐに期限切れにするを選択してください
      • IPリラクゼーション:IP制限を適用するを選択する

    OAuthポリシー

  7. ポリシー—アプリポリシー
    • スタートページ—なし
    • 権限セットの選択—以前に作成した権限セット(「IVRによるSCV Apexクラスへのアクセス」)を割り当てます。

    アプリポリシー

  8. [保存] をクリックします。
  9. タブ設定に切り替えてください。
    • OAuth設定セクションで、コンシューマーキーシークレットボタンをクリックし、メールが届くまで待って本人確認を行ってください。新しいブラウザタブを開くと、消費者の詳細情報が表示される画面が開きます。

      OAuth設定

    • コピー をクリックして、消費者キーを保存します。コンシューマーキーは、後でWebex Contact Center Control Hub上にSalesforceコネクタを作成するために使用されます。 

      外部クライアントアプリ名

Webex Contact Centerの設定と音声通話記録を作成するためのスクリプト

Salesforce Service Cloud Voice の真価を最大限に引き出すには、Webex Contact Center の通話フローを変更し、通話が Contact Center に到着した時点で Service Cloud Voice に音声通話レコードを作成するようにする必要があります。

オプションのOmni-Flowを実行することで、Salesforceにおけるルーティングの決定や自動化を行うことができます。

使用されている API の詳細については、 Service Cloud Voice API Wrapperを参照してください。

前提条件

Service Cloud Voice API Wrapperを使用するには、IVR統合用のSalesforce 外部クライアントアプリ を構成する必要があります。

Webex Control HubでSalesforceコネクタを設定する

https://help.webex.com/en-us/article/7fuy63/Set-Up-Integration-Connectors-for-Webex-Contact-Center#id_133211の記事に記載されている手順に従って、Webex Contact Center用のSalesforce統合コネクタを設定します。

1

https://admin.webex.com で顧客組織にログインし、「サービス」に移動してください。 > コンタクトセンター > テナント設定 > Integrations>Connectors.

2

Salesforceカード上で、「コネクタの設定」または「コネクタの追加」をクリックします。

  • クライアントID: 外部クライアントアプリのコンシューマーキー
  • Salesforce メールアドレス: 「SCVインテグレーション」のSalesforceユーザー名(「SCVインテグレーションユーザー」を参照)
  • URL: 実運用用 https://login.salesforce.com または設定中の場合 dev/sandbox 使用 https://test.salesforce.com
  • 秘密鍵: ファイルの内容 server.key

重要: 定期的に秘密情報を入れ替えることでセキュリティを維持する

連携のセキュリティを維持するために、秘密鍵と証明書は定期的に更新するようにしてください。

Webex Hubの Contact Center Connector の秘密鍵と、Salesforceの External Client App の証明書を更新します。

トラブルシューティングのヒント

「完了」をクリックしてもコネクタが保存されない場合:

  • 空きスペースがあるかどうか確認してください before/after あなたの投稿。
  • 秘密鍵(server.key)が server.crtと一致していることを確認してください。複数の組織を設定していて、証明書を切り替えると、それらは機能しなくなります。
  • Server.key が で始まっていることを確認してください。 ----- Begin RSA Private Key -----

Webexコンタクトセンターのメインフロー

表 2. 流量変動
流量変数説明
音声通話記録IDのフロー変数 通話を識別するための固有ID。音声通話記録を作成するために必要です。

フォーマット: wxcc_<Interaction Id>

:wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8

  • 名前: SCV_VendorCallKey
  • タイプ: 文字列
  • エージェントを表示可能にする: 有効
呼び出し開始時刻のローカル変数

音声通話記録を作成する際、および音声通話を更新する際に使用されます。

  • 名前: SCV_コール開始時間
  • タイプ: 文字列
  • エージェントを表示可能にする: いいえ
キューのローカル変数 name/id

Execute Omni Flowによって返され、呼び出しルーティングに使用されます。

この変数は、Execute Omni Flowを使用する場合にのみ必要です。

  • 名前: SCV_OmniFlowQueue
  • タイプ: 文字列
  • エージェントを表示可能にする: いいえ
エージェントのローカル変数 name/id

Execute Omni Flowによって返され、呼び出しルーティングに使用されます。

この変数は、Execute Omni Flowを使用する場合にのみ必要です。

  • 名前: SCV_オムニフローエージェント
  • タイプ: 文字列
  • エージェントを表示可能にする: いいえ

主要フローの概要

  1. ベンダーコールキーを生成する
  2. 通話開始時刻を設定する
  3. HTTPリクエスト: 音声通話の記録を作成する
  4. 音声通話記録作成のためのHTTPレスポンスを評価する
  5. 音声通話記録作成時のエラー処理
  6. HTTPリクエスト: Omni Flowを実行する
  7. Omni Flow 実行のための HTTP レスポンスを評価する
  8. Omni Flow実行時のエラー処理
  9. 通話ルーティングを続行します
表 3。 主要フロー
フロー説明
ベンダーコールキーを生成する

Service Cloud Voiceで処理されるすべての通話は、Salesforceに音声通話レコードを作成し、ベンダーコールキーと呼ばれる一意のIDを必要とします。Webex Contact Centerで作成された音声通話レコードの場合、ベンダーコールキーはWxCCフローで定義され、フロー変数を使用して通話とともにエージェントに渡される必要があります。

vendorCallKeyの値は、以下の規則に従う必要があります。

  • 値は < = 255文字。
  • 値には、英数字に加えて、アンダースコア(_)、ハイフン(-)、ピリオド(.)を含めることができます。
  • 値は文字で始まり、スペースを含まず、アンダースコアで終わらず、連続する2つのアンダースコアを含んではなりません。

  • アクティビティラベル: Generate_ベンダーコールキー
  • 変数名: SCV_VendorCallKey
  • 変数タイプ: 文字列
  • 変数値 - 設定値:wxcc_{{NewPhoneContact.InteractionId}}

通話開始時刻を設定する

通話開始時刻のUTCタイムスタンプ。このタイムスタンプは、音声通話記録を作成するため、および発信者がエージェントに接続される前に通話を切断した場合に音声通話記録を更新するために使用されます。

  • アクティビティラベル: 通話開始時刻を設定する
  • 変数: SCV_コール開始時間
  • 変数値 - 設定値: {{now() | replace({'[UTC]': ''})}}
HTTPリクエスト: 音声通話の記録を作成する

この手順はすべての通話で必要です。音声通話記録が作成された後、音声通話記録IDは、ベンダー通話キーとともに変数に格納され、エージェントへの通話に渡される必要があります。Service Cloud Voiceのコンタクトセンター設定で、使用する変数を設定してください。

HTTPリクエスト設定
  • アクティビティラベル: 音声通話を作成する
  • 認証済みエンドポイントを使用する: 有効
  • コネクタ: 前の手順で作成したSalesforceコネクタ
  • リクエストパス: /services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
  • 方法: POST
  • リクエストコンテンツタイプ: Application/JSON

HTTPリクエスト: 音声通話の記録を作成する

この手順はすべての通話で必要です。音声通話記録が作成された後、音声通話記録IDは、ベンダー通話キーとともに変数に格納され、エージェントへの通話に渡される必要があります。Service Cloud Voiceのコンタクトセンター設定で、使用する変数を設定してください。

HTTPリクエスト設定

  • アクティビティラベル: 音声通話を作成する
  • 認証済みエンドポイントを使用する: 有効
  • コネクタ: 前の手順で作成したSalesforceコネクタ
  • リクエストパス: /services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
  • 方法: POST
  • リクエストコンテンツタイプ: Application/JSON

リクエストボディ

音声通話記録を作成する際に、通話データを使用して音声通話記録のカスタムフィールドを更新することもできます。以下に、リクエストボディの2つの例を示します。1つは必須フィールドのみを含むがカスタムフィールドを更新しない例、もう1つはカスタムフィールドを含む例です。

音声通話記録のカスタムフィールドを更新せずに:

{
  "callCenterDevName": "",
  "certDevName": "",
  "vendorCallKey": "{{SCV_VendorCallKey}}",
  "to": "{{NewPhoneContact.DNIS}}",
  "from": "{{NewPhoneContact.ANI}}",
  "initiationMethod": "Inbound",
  "startTime": "{{SCV_CallStartTime}}",
  "participants": [
    {
      "participantKey": "{{NewPhoneContact.ANI}}",
      "type" : "END_USER"
    }
  ]
}

音声通話記録のカスタムフィールドを更新する例:

{
  "callCenterDevName": "",
  "certDevName": "",
  "vendorCallKey": "{{SCV_VendorCallKey}}",
  "to": "{{NewPhoneContact.DNIS}}",
  "from": "{{NewPhoneContact.ANI}}",
  "initiationMethod": "Inbound",
  "startTime": "{{SCV_CallStartTime}}",
  "participants": [
    {
      "participantKey": "{{NewPhoneContact.ANI}}",
      "type" : "END_USER"
    }
  ],
  "callAttributes": "{\"custfield1__c\": \"\",\"custfield2__c\": \"\",\"custfield3__c\": \"\"}"
}

パラメータ
プロパティ名
コールセンター開発者名 コンタクトセンター開発者名
certDevName 証明書のAPI名(コンタクトセンターで設定されているもの)
vendorCallKey 固有の通話ID: {{SCV_VendorCallKey}}
- CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
送信元 CallingNumber/ANI: {{NewPhoneContact.ANI}}
開始時刻 UTCタイムスタンプ {{SCV_CallStartTime}} (スクリプト内で呼び出しが受け入れられた直後に設定されます)
呼び出し属性

音声通話記録内の追加の標準フィールドとカスタムフィールドを表します。各キーと値のペアは、標準フィールドまたはカスタムフィールドとその値に対応します。

例:

custfield1__c, custfield2__c, custfield3__c: 音声通話オブジェクトのカスタムフィールドのAPI名

value1, value2, value3: カスタムフィールドの値

解析設定
  • コンテンツタイプ: JSON
  • 出力変数: SCV_VoiceCallRecordId
  • パス式: $.data.voiceCallId

音声通話記録ID。エージェントに渡されます。

音声通話記録作成のためのHTTPレスポンスを評価する

音声通話作成HTTPリクエストのHTTPステータスを確認してください。

  • ラベル: ステータスコード音声呼び出しの作成
  • 変数: CreateVoiceCall.httpStatusCode

ステータスコード == 200 => 成功したその他 => リクエストが失敗しました。エラー処理

音声通話記録作成時のエラー処理

デモ用 / デバッグ専用。HTTPステータスコードに応じてメッセージを再生します。

音声通話の作成が成功した場合は、オムニフローの実行に進みます。それ以外の場合は、通話ルーティングを続行します。

HTTPリクエスト: Omni Flowを実行する(オプションの手順)

Execute Omni-Flow は、次のような場合に使用します。

  • 自動化されたタスクを実行する(例えば、レコードの検索や作成など)、そしてそれらのレコードを音声通話レコードにリンクする。
  • レコードを検索してスクリーンポップを実行する
  • SalesforceとCiscoのキューを同期する
  • Service Cloud Voiceにルーティングの決定を任せる

このリクエストは、常に通話をルーティングする必要のある「キュー」または「エージェント」を返します。

このリクエストを実行した後、発信者がエージェントに応答する前に電話を切った場合は、必ずクリアルーティングを送信してください。 Webex Contact Center イベント フローを参照してください。

HTTPリクエスト設定

  • アクティビティラベル: ExecuteOmniFlow
  • 認証済みエンドポイントを使用する: 有効
  • コネクタ: 前の手順で作成したSalesforceコネクタ
  • リクエストパス: /services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
  • 方法: POST
  • リクエストコンテンツタイプ: Application/JSON

リクエストボディ

必須項目以外にも、追加データを入力変数としてOmni-Flowに渡すことができます。以下に、リクエストボディの例を2つ示します。1つ目は追加のフローパラメータなし、必須フィールドのみ、2つ目は2つの入力変数あり。

Omni-Flowパラメータを使用した例:

{
  "callCenterDevName": "",
  "certDevName": "",
  "voiceCallId": "{{SCV_VoiceCallRecordId}}",
  "dialedNumber": "{{NewPhoneContact.DNIS}}",
  "flowDevName": "",
  "fallbackQueue": ""
}

音声通話記録のカスタムフィールドを更新する例:

{
  "callCenterDevName": "",
  "certDevName": "",
  "voiceCallId": "{{SCV_VoiceCallRecordId}}",
  "dialedNumber": "{{NewPhoneContact.DNIS}}",
  "flowDevName": "",
  "fallbackQueue": "",
  "flowInputParameters": 
  {
    "param1": "value1",
    "param2": "value2"
  }
}

パラメータ
プロパティ名
コールセンター開発者名 コンタクトセンター開発者名
certDevName 証明書のAPI名(コンタクトセンターで設定されているもの)
音声通話ID 前の手順で作成された音声通話記録のID: {{SCV_VoiceCallRecordId}}
ダイヤル番号 CalledNumber/DNIS: {{NewPhoneContact.DNIS}}
フロー開発者名 実行するOmni-Flowの開発者名
フォールバックキュー フォールバックSalesforceキューのキューIDまたはキューAPI名
flowInputParameters

オムニチャネルフローへの追加入力(キーと値のペア)。

例:

param1, param2: Omni-Flow入力パラメータの名前

value1, value2: パラメータの値

解析設定

キュー

  • コンテンツタイプ: JSON
  • 出力変数: SCV_OmniFlowQueue
  • パス式: $.data.queue

Execute Omni-Flowから返される「Queue」は、ルーティングに使用できます。

エージェント
  • コンテンツタイプ: JSON
  • 出力変数: SCV_オムニフローエージェント
  • パス式: $.data.agent

Execute Omni-Flowから返される「Agent」は、ルーティングに使用できます。

Omni Flow 実行のための HTTP レスポンスを評価する

Execute Omni Flow HTTPリクエストのHTTPステータスを確認してください。

  • ラベル: statusCodeExecuteOmniFlow
  • 変数: ExecuteOmniFlow.httpStatusCode

ステータスコード == 200 => 成功したその他 => リクエストが失敗しました。エラー処理中です。

Omni Flow実行時のエラー処理

デモ用 / デバッグ専用。HTTPステータスコードに応じてメッセージを再生します。

Omni Flow の実行が成功した場合、変数 SCV_OmniFlowQueue および SCV_OmniFlowAgent は設定されません。通話フローにおけるルーティング決定。

通話ルーティングを続行します

通話の流れを続行し、通話をエージェントに転送します。オプションとして、SCV_OmniFlowQueue および SCV_OmniFlowAgent を使用してキューとエージェントを選択します。

Webexコンタクトセンターイベントフロー

発信者がオペレーターが応答する前に通話を切断した場合、Service Cloud Voiceを更新して通話を終了する必要があります。

  • Execute Omni-Flowが使用された場合は、Clear Routingを送信して保留中のサービスルーティング(PSR)を削除します。
  • 音声通話記録の開始時刻と終了時刻を更新し、ステータスを「新規」から「完了」に変更するには、「音声通話更新」を送信してください。

  1. PhoneContactEnded - このイベントは、通話が切断され、すべての参加者が削除されたときに発生します。
  2. HTTPリクエスト: クリアルーティング
  3. HTTPリクエスト: 音声通話の更新
HTTPリクエスト: クリアルーティング

  • ラベル: クリアルーティング
  • 認証済みエンドポイントを使用する: 有効
  • コネクタ: 前の手順で作成したSalesforceコネクタ
  • リクエストパス: /services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
  • 方法: POST

リクエストコンテンツタイプ: Application/JSON

リクエストボディ

{
  "callCenterDevName": "",
  "certDevName": "",
  "voiceCallId": "{{SCV_VoiceCallRecordId}}"
}

パラメータ

プロパティ名
コールセンター開発者名 コンタクトセンター開発者名
certDevName 証明書のAPI名(コンタクトセンターで設定されているもの)
音声通話ID 前の手順で作成された音声通話記録のID:SCV_VoiceCallRecordId

解析設定

ありません。

HTTPリクエスト: 音声通話の更新

  • ラベル: 音声通話の更新
  • 認証済みエンドポイントを使用する: 有効
  • コネクタ: 前の手順で作成したSalesforceコネクタ
  • リクエストパス: /services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
  • 方法: POST
  • リクエストコンテンツタイプ: Application/JSON

リクエストボディ

{
  "callCenterDevName": "",
  "certDevName": "",
  "voiceCallId": "{{SCV_VoiceCallRecordId}}",
  "startTime": "{{SCV_CallStartTime}}",
  "endTime": "{{now() | replace({'[UTC]': ''})}}",
  "disconnectReason": { "value": "Abandoned in queue", "isError": true }
}

パラメータ

プロパティ名
コールセンター開発者名 コンタクトセンター開発者名
certDevName 証明書のAPI名(コンタクトセンターで設定されているもの)
音声通話ID 前の手順で作成された音声通話記録のID:SCV_VoiceCallRecordId
開始時刻 通話開始時のUTCタイムスタンプ {{SCV_CallStartTime}} (音声通話記録の作成に使用)
終了時刻 現在のUTCタイムスタンプ `{{now()
切断理由 通話を切断した理由。プロパティ isErrortrue に設定しないと正しく表示されません。

解析設定

ありません。

リファレンス

言語翻訳

(オプション)翻訳ワークベンチを有効にする

この設定は、翻訳言語設定を使用する場合にのみ適用されます。

1

設定 → 翻訳ワークベンチ → 翻訳言語設定 に移動してください。

2

翻訳言語を選択するには、 をクリックして を有効にしてください。

(オプション)プラットフォーム専用言語を有効にする

この設定は、英語(EN-US)以外の言語にのみ適用されます。

1

設定 → 会社設定 → 言語設定 に進んでください。

2

必要な言語を選択してください。

3

以下のチェックボックスを選択してください。

  • エンドユーザー言語を有効にする - ヘルプとセットアップはエンドユーザー言語に翻訳されていません
  • プラットフォーム専用言語を有効にする - プラットフォーム専用言語にはデフォルトの翻訳は提供されません
4

変更を保存します。

言語を有効にして、ユーザー(タスク)を選択してください。
1

設定 → 翻訳ワークベンチ → 翻訳言語設定 に移動してください。

2

言語を選択し、翻訳を行うユーザーを選択してください。

3

変更を保存します。

多言語設定
カスタムラベルを翻訳する
1

設定 → カスタムラベル に移動してください。

2

開くカスタムラベルの名前を選択してください。

3

関連翻訳リストで、 New をクリックして新しい翻訳を入力するか、(言語の横にある)編集をクリックして翻訳を編集します。

4

翻訳先の言語を選択してください。

5

翻訳された値を「翻訳テキスト」欄に入力してください。ユーザーのデフォルト言語が翻訳言語である場合、このテキストはラベルの「値」フィールドに指定された値を上書きします。

6

変更を保存します。

ユーザー機能に必要なSalesforce権限

Webex Contact Center SCVエージェント権限セットには、Webex Contact Centerガジェットおよびエージェント向けに開発された統合機能を使用するために必要なすべての権限が含まれています。

Apexクラスアクセス(セクション)

  • cisco_wxcc_scv.CiscoScvWxcc
  • cisco_wxcc_scv.ServiceResponseHandler
  • cisco_wxcc_scv.サービスルーティング
  • cisco_wxcc_scv.電話統合ハンドラー

カスタムメタデータ型へのアクセス(セクション)

  • cisco_wxcc_scv.WxCC接続

Visualforceページへのアクセス(セクション)

  • cisco_wxcc_scv.CiscoScvLoginWxCC
  • cisco_wxcc_scv.CiscoScvMainWxCC
  • cisco_wxcc_scv.CiscoScvOAuthRedirect
  • cisco_wxcc_scv.CiscoScvSwLoader

Service Cloud Voice API ラッパー

前提条件

Service Cloud Voice API Wrapperを使用するには、IVR統合用のSalesforce 外部クライアントアプリ を構成する必要があります。

Service Cloud Voice APIラッパーを使用する

Salesforce 用 Service Cloud Voice (SCV) は、テレフォニー統合 REST API を使用して、ボイスコールを作成および更新し、オムニチャネル フローを実行し、ボイスコールに関連付けられた PendingServiceRouting レコードを削除します。このサービスでは、JWT認証とPATCH HTTPメソッドの使用が必要ですが、これは現在Cisco IPインタラクティブ音声応答(IVR)ではサポートされていません。

SCV 用の電話統合 REST API を IVR システムだけでなく、他のシステムでも簡単に利用できるようにするために、既存の Salesforce API をラップし、Webex Contact Center for Service Cloud Voice パッケージがインストールされている Salesforce 組織から直接アクセスできる新しい API セットが利用可能になりました。

Service Cloud Voice API Wrapper は、JWT トークンの認証の必要性をなくし、Salesforce API が必要とするデータに対する追加のチェックを実装し、レスポンス オブジェクトを改善します。

Access_トークンを取得します

POST リクエストを実行します https://<your-domain-name>.my.salesforce.com/services/oauth2/token

本文に以下のパラメータを送信します。

{
 "grant_type": "client_credentials",
 "client_id": "",
 "client_secret": ""
 }
If the request is successful, the following JSON response will be returned:
{
 "access_token": "",
 "instance_url": "",
 "id": "https://login.salesforce.com/id//",
 "token_type": "Bearer",
 "issued_at": "",
 "signature": ""
 }

リクエストを実行する

インスタンスURLにはmy.salesforce.comが含まれている必要があります。

正しいインスタンスURLの例: https://abc-123.my.salesforce.com

インスタンス URL として他のドメイン (つまり https://abc-123.lightning.force.com ) を使用すると、INVALID_SESSION_ID errorCode が返され、401 Unauthorized ステータスになります。

音声通話の作成(セクション)

VoiceCallレコードの参加者(発信者と受信者)を含むVoiceCallレコードを作成します。VoiceCallレコードを作成すると、Salesforceに会話が作成されます。このAPIはリアルタイム環境でのみ使用してください。つまり、呼び出しが開始された場合にのみこのAPIを呼び出す必要があります。このAPIは、リクエストペイロードにparentVoiceCallIdパラメータを含めることで、転送通話や会議通話用のVoiceCallレコードを作成するためにも使用できます。

エンドポイントURI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall

HTTPメソッド

POST

ヘッダー

承認: 持参人 <access_token>

コンテンツタイプ: application/json

パラメータ

{
 "callCenterDevName": "contactCenterDevName123",
 "certDevName": "certDevName123",
 "vendorCallKey": "5324881f-1e84-4367-8930-f69a74b30ca6",
 "to": "8002345678",
 "from": "4081456688",
 "initiationMethod": "Inbound",
 "startTime": "2019-07-02T17:32:28Z",
 "participants": [
 {
 "participantKey": "4081456688",
 "type" : "END_USER"
 }
 ],
 "callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
 "parentVoiceCallId": "fsdfzuhsdfsa-43556fgef3-56g44gv4ew",
 "callOrigin": "Preview",
 "queue": "queue123"
 }

このリクエストで受け入れられるパラメータの詳細については、Salesforce の公式ドキュメント の「パラメータ」セクションを参照してください。

応答(成功)

{
 "data": {
 "voiceCallId": "00X000012345abc"
 },
 "errors": null,
 "success": true
 }

応答(エラーあり)

 
{
 "data": null,
 "errors": ["Error message 1", "Error message 2"],
 "success": false
 }

音声通話の更新

通話終了後にVoiceCallを更新します。このAPIを使用して、VoiceCall作成段階では利用できない通話関連パラメータを更新します。Update VoiceCall APIは非同期操作です。API呼び出しのステータスを照会することはできません。

このエンドポイントは、通話終了後でも音声通話を作成するために使用できます。この動作は、放棄された通話や不在着信の記録をSalesforceにログとして残したい場合、またはVoiceCallがまだ作成されていないその他のシナリオで役立ちます。

エンドポイントURI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall

HTTPメソッド

POST

ヘッダー

承認: 持参人 <access_token>

コンテンツタイプ: application/json

パラメータ

{
 "callCenterDevName": "contactCenterDevName123",
 "certDevName": "certDevName123",
 "voiceCallId": "00X000012345abc",
 "startTime": "2020-08-26T21:21:14Z",
 "endTime": "2019-08-26T21:21:34Z",
 "isActiveCall": true,
 "fromNumber": "1234",
 "callOrigin": "Preview",
 "enqueueTime": "2019-08-26T21:21:34Z",
 "acceptTime": "2019-08-26T21:21:24Z",
 "numberOfHolds": 20,
 "queue": "queue123",
 "agent": "agent123",
 "agentInteractionDuration": 12,
 "longestHoldDuration": 10,
 "totalHoldDuration": 21,
 "recordingLocation": "Bern",
 "totalRecordingDuration": 55,
 "callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
 "disconnectReason": {
 "value": "TELECOM_PROBLEM",
 "isError": true
 }
 }

このリクエストで受け入れられるパラメータの詳細については、 Salesforceの公式 ドキュメントの「パラメータ」セクションを参照してください。

応答(成功)

{
 "data": {
 "status": "pending"
 },
 "errors": null,
 "success": true
 }

Update VoiceCall APIは非同期操作です。API呼び出しのステータスを照会することはできません。

応答(エラーあり)

{
 "data": null,
 "errors": ["Error message 1", "Error message 2"],
 "success": false
 }

Omni-flowを実行する

オムニチャネルフローを実行して通話をルーティングします。フローに呼び出しID(Salesforce VoiceCallIdまたは電話ベンダーのContactId)をパラメータとして渡し、エージェントまたはキューのルーティング指示をコンタクトフローに返します。デフォルトでは、Service Cloud Voice は、ダイヤルされた番号に一致する電話チャネルに指定されたオムニチャネル フロー(またはフォールバック キュー)を使用します。ダイヤルされた番号が既存の電話チャネルと一致しない場合、オプションで新しいダイヤル番号、オムニチャネルフロー、およびフォールバックキューをこのAPI呼び出しの入力パラメータとして設定できます。

Service Cloud Voiceは、以下の優先順位を使用して通話をルーティングします。

  1. ダイヤルされた番号に一致する電話チャネルに対して、オムニチャネルフローとフォールバックキューの設定を使用します。流れが優先される。フローが失敗した場合は、フォールバックキューが使用されます。
  2. Execute Omniflow API呼び出しで指定されたflowDevNameおよびfallbackQueueパラメータを使用します。

エンドポイントURI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow

HTTPメソッド

POST

ヘッダー

承認: 持参人 <access_token>

コンテンツタイプ: application/json

パラメータ

{
  "callCenterDevName": "contactCenterDevName123",
  "certDevName": "certDevName123",
  "voiceCallId": "00X000012345abc",
  "dialedNumber": "+18445791189",
  "flowDevName": "Route_VoiceCall",
  "fallbackQueue": "00G111222333444",
  "flowInputParameters":
  {
    "Input1": "one",
    "Input2": "two"
  }
}

  • voiceCallId パラメータは、Salesforce の voiceCallId または電話ベンダーの連絡先 ID です。
  • このリクエストで受け入れられるパラメータの詳細については、 Salesforceの公式 ドキュメントの「パラメータ」セクションを参照してください。

応答(成功)

{
  "data": {
    "queue": "queue info",
    "agent": "agent info"
  },
  "errors": null,
  "success": true
}

AGENT_INFO と QUEUE_INFO は、CallCenterRoutingMap の ExternalId フィールドに対応します。

応答(エラーあり)

{
 "data": null,
 "errors": ["Error message 1", "Error message 2"],
 "success": false
 }

クリアルーティング

音声通話の保留サービスルーティング(PSR)レコードを削除します。ほとんどのシナリオでは、このAPIを呼び出す必要はありません。呼び出しがルーティングされなくなると、PSRレコードは自動的に削除されます。ただし、パートナーの電話システムを使用している場合の不在着信や放棄された通話など、いくつかのシナリオでは、PSRレコードをクリアするためにこのAPIを明示的に呼び出す必要があります。

エンドポイントURI

<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting

HTTPメソッド

POST

ヘッダー

承認: 持参人 <access_token>

コンテンツタイプ: application/json

パラメータ

{
 "callCenterDevName": "contactCenterDevName123",
 "certDevName": "certDevName123",
 "voiceCallId": "00X000012345abc"
 }

  • voiceCallId パラメータは、Salesforce の voiceCallId または電話ベンダーの連絡先 ID です。
  • このリクエストで受け入れられるパラメータの詳細については、 Salesforceの公式 ドキュメントの「パラメータ」セクションを参照してください。

応答(成功)

{
 "data": {
 "status": "Success"
 },
 "errors": null,
 "success": true
 }

応答(エラーあり)

{
 "data": null,
 "errors": ["Error message 1", "Error message 2"],
 "success": false
 }

電話番号の翻訳

Service Cloud VoiceとWebex Contact Center間の様々な連携は、電話番号の変換に依存しています。国際的な違いや顧客固有の用途に対応するため、電話番号をフォーマットAからフォーマットBに変換するには、カスタマイズ可能なツールが必要となる。

Webex Contact Center for Service Cloud Voiceソリューションは、数字とハッシュタグ以外のすべての文字を自動的に削除します。 (#), アスタリスク (*), コンマ(,)、および先頭のプラス記号 (+). また、(0)の最初の出現箇所も削除します。これは 電話番号の翻訳が適用される前に実行されます。

このガイドでは、電話番号の翻訳を設定する方法について説明します。

フィールド

電話番号の翻訳データは、名前と値のペアのフィールドに保存されます。これにより、機能ごとに無制限の数のルールを設定できます。

設定情報はJSON文字列として保存されます。

バックスラッシュはエスケープする必要があることに注意してください。例: \d+ になる \\d+.

{"Remove all characters but digits":"[1,17]->[^\\d]+","To internal number":"[7,17]->(\\d{7})(\\d{4})->$2"}

「名前」フィールドは技術的には使用されていません。これは、このルールの目的を迅速に識別できるように、人間が読みやすい文字列を追加するために存在します。良い名前の例としては、次のようなものがあります。先頭のゼロをすべて削除します, 先頭にプラス記号を追加します など。

翻訳ルールの作成

ルールは正規表現として提供されます。より正確に言うと:JavaScriptにおける正規表現の実装。

まずはMDNウェブドキュメントの正規表現に関するドキュメントを読むことから始めるのが良いでしょう。

しかしながら、複雑な正規表現を作成するのは往々にして面倒な作業である。そのため、設定をできるだけ簡単にするために、追加の構文を導入しました。

下図は、電話番号変換ルールの一般的な構文を示しています。

述語

述語は、一致させる数値の長さを定義する区間を指定するために使用されます。

上記の述語は、長さが 7 文字から 11 文字 (エッジを含む) のすべての数値を指定します。 + スペース) が一致します。

述語は常に元の数値の桁数と一致します。これにより、内部ルールの衝突リスクを軽減することで、設定が簡素化されます。 / 外部番号。

パターン

パターンは、一致させる数値の形式を指定します。

上記のパターンは、数値が数字のみで構成されている必要があることを示し、それらの数字を選択します。

セレクタ

セレクタは、数値の最終的な形式を定義します。文字 / 元々存在しなかった数字を追加する必要がある場合は、ここで追加してください。

セレクタは、数値を構築する最後のステップです。セレクタは、パターン出力に基づいて新しい数値を構築します。

例 1

以下の例は、コンタクトセンターから受け取った番号(形式:0319175200)をスイスのE164形式に変換する方法を示しています。 +41 31 917 52 00。

この例では 2 つの翻訳ルール (1. 2.)

この例の最初のルールは、実際には数値を変更しません。1文字から17文字までの数字の場合、数字以外の部分はすべて削除されます。数字以外の要素が存在しないため、何も変化しません。

2つ目のルールは、元の数字がちょうど10文字であるものに適用されます。0319175200はこれに一致するため、このルールが適用されます。このパターンでは、数字は1桁の数字のグループで始まる必要があると規定されています。 (\d{1}) に続いて 2 桁の数字のグループ (\d{2}) に続いて 3 桁の数字のグループ (\d{3})、 等々。

セレクタは次にパターングループにアクセスして、新しい数値文字列を定義します。これはつまり $2 最初のものを参照 (\d{2}) であり、したがって 31 を含みます。

例 2

次の例は、コンタクトセンターから受け取った番号を次の形式で転送する方法を示しています。 +14693150217 米国E164フォーマットへ +1 469 315 0217。

この例では 2 つの翻訳ルール (1. 2.)

  1. この数字はちょうど12文字なので、「米国数字にはスペースを追加する」というルールが適用されます。
  2. (\+1) 数字は +1. 数字が12文字の長さで、かつ +1, その規則は廃止され、何も変更されない。
  3. (\d{3}) は、 +1 3桁の数字が後に続く必要があります。
  4. (\d{3}) は、最後の 3 桁の後に別の 3 桁が続く必要があることを示しています。
  5. (\d{4}) は、最後の 3 桁の後に 4 桁の数字が続く必要があることを示しています。

これらのいずれかが一致しない場合、番号は変更されません。

つまり、すべてのルールは “+14693150217”. したがって、数値は次のように変更されます。 “$1 $2 $3 $4”:

  1. $1 グループを指します (\+1), Service Cloud Voiceに送信する番号は次のようになります。 +1.
  2. $2 2つのうち最初のものを指します (\d{3})、Service Cloud Voiceに送信する番号は次のようになります。 +1 469.
  3. $3 2つのうちの2番目を指します (\d{3})、Service Cloud Voiceに送信する番号は次のようになります。 +1 469 315。
  4. $4 最後のグループを指します (\d{4})、Service Cloud Voiceに送信する番号は次のようになります。 +1 469 315 0217。

ルールの置換部分のスペース “$1 $2 $3 $4” 直接使用されます。だから、もしあなたが “$1-$2-$3-$4” その数字は次のように翻訳されます。 +1-469-315-0217

また、グループを削除することもできます。[12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->$2 $3 $4 翻訳される内容:469 315 0217。 [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})-> $3 $4 翻訳される内容:315 0217.

国際電話番号を米国の番号から現地の番号に変換する方法もあります。例えば、以下のようにです。[12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->($2) $3-$4.

着信番号 “+14693150217” 翻訳される内容:(469) 315-0217.

例 3

次の例は、コンタクトセンターから受け取った番号を次の形式で転送する方法を示しています。 +491515555531 ドイツのE164フォーマットへ +49 151 5555 531。

この例では 2 つの翻訳ルール (1. 2.)

  1. この数字はちょうど13文字なので、「ドイツ語の数字にはスペースを追加する」というルールが適用されます。
  2. (\+49) 数字は +49. 数字が13文字の長さで、かつ +49, その規則は廃止され、何も変更されない。
  3. (\d{3}) は、 +49 3桁の数字が後に続く必要があります。
  4. (\d{4}) は、最後の 3 桁の後に 4 桁の数字が続く必要があることを示しています。
  5. (\d{3}) は、最後の 4 桁の後に 3 桁の数字が続く必要があると述べています。

これらのいずれかが一致しない場合、番号は変更されません。

つまり、すべてのルールが適用される “+491515555531”. したがって、数値は次のように変更されます。 “$1 $2 $3 $4”:

  1. $1 グループを指します (\+49), Service Cloud Voiceに送信する番号は次のようになります。 +49.
  2. $2 2つのうち最初のものを指します (\d{3})、Service Cloud Voiceに送信する番号は次のようになります。 +49 151.
  3. $3 2つのうちの2番目を指します (\d{4})、Service Cloud Voiceに送信する番号は次のようになります。 +49 151 5555。
  4. $4 最後のグループを指します (\d{3})、Service Cloud Voiceに送信する番号は次のようになります。 +49 151 5555 531。

ルール1についても同様です。交換部品を使用できます $1 $2 $3 $4 番号の中から使用するものを選択する。

その他の翻訳正規表現の例

説明 翻訳正規表現
数字以外の文字をすべて削除する [1,17]->[^\d]+
数字以外の文字をすべて削除する & + [1,17]->[^+\d]+
説明 翻訳正規表現
取り除く +1 [12,12]->(.{1})(\d{1})(\d{10})->$3
取り除く +1 [10,12]->(^\+1+)(\d+)->$2
取り除く +49 [10,15]->(^\+49+)(\d+)->$2
取り除く +49 [10,15]->(.{1})(\d{2})(\d{9})->$3
取り除く +41 [10,13]->(^\+41+)(\d+)->$2
取り除く +41 [10,13]->(.{1})(\d{2})(\d{9})->$3
取り除く +XX [10,14]->(^\++)(\d{2})(\d+)->$3
説明 翻訳正規表現
取り除く + そしてそれをゼロに置き換えます US E164 [10,12]->(.{1})(\d{1})(\d{10})-> 001 $3
取り除く +1 そしてそれをゼロに置き換えます US E164 [10,12]->(^\+1+)(\d+)-> 001$2
取り除く + そしてそれをゼロに置き換えます DE E164 [12,15]->(.{1})(\d{2})(\d{10})-> 0049 $3
取り除く +49 そしてそれをゼロに置き換えます DE E164 [10,12]->(^\+49+)(\d+)-> 0049$2
取り除く + そしてそれをゼロに置き換えます CH E164 [10,13]->(.{1})(\d{2})(\d{9})-> 0041 $3
取り除く +41 そしてそれをゼロに置き換えます CH E164 [10,12]->(^\+41+)(\d+)-> 0041$2
説明 翻訳正規表現
スペースを含む米国数字 [12,17]->(\d{1})(\d{3})(\d{3})(\d{4})->+1 $2 $3 $4
スペースを含む米国数字 [12,17]->(\+1)(\d{3})(\d{3})(\d{4})->$1 $2 $3 $4
スペースを含むDE番号 [12,17]->(\d{2})(\d{3})(\d{4})(\d{3})->+49 $2 $3 $4
スペースを含むDE番号 [12,17]->(\+49)(\d{3})(\d{4})(\d{3})->$1 $2 $3 $4
スペースを含むCH番号 [12,17]->(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})->+41 $2 $3 $4
スペースを含むCH番号 [12,17]->(\+41)(\d{2})(\d{3})(\d{2})(\d{2})->$1 $2 $3 $4

音声通話ページ設定

ボイスコール記録ページの設定

VoiceCallの録音ページは、デフォルトで3列レイアウトと以下のコンポーネントがあらかじめ設定されています。

  • 行動 & 推奨事項
  • 通話メモ
  • 通話の詳細
  • 録画

ビジネスニーズに応じて、ページ上のコンポーネントを自由に削除したり追加したりできます。異なるページレイアウトを使用することもできますが、通話録音プレーヤーや会話本文などの一部のコンポーネントは、テンプレートの中サイズまたは大サイズの領域にしか収まりません。

まとめ理由コンポーネントを表示する

ラップアップ理由コンポーネントは、通話中およびラップアップ中に表示されなければなりません。

ボイスコール記録ページにCiscoラップアップ理由コンポーネントを追加します。

  1. Lightning コンポーネント リストのカスタム領域から Cisco Wrap-Up Reason Lightning Web コンポーネントを VoiceCall Record ページにドラッグします。
  2. [保存] をクリックします。
  3. [アクティベート ] をクリックします。
  4. 組織のデフォルトとして割り当てをクリックします。
  5. [保存] をクリックします。
  6. 保存 をもう一度クリックし、 戻る矢印 をクリックしてページに戻ります。

Cisco Wrap-Up Reason コンポーネントは、通話中およびラップアップ中に自動的に表示されます。

ページに追加されると、Cisco Contact Centerでラップアップが設定されていない場合でも、すべての通話に対してCiscoラップアップ理由コンポーネントが表示されます。

通話録音プレーヤーを表示する

該当する音声通話の録音リンクが保存されている場合、通話録音プレーヤーが表示されます。

ボイスコール録音ページに通話録音プレーヤーコンポーネントを追加するには、以下の手順に従ってください。

  1. 通話録音プレーヤー Lightning Web コンポーネントを VoiceCall Record ページにドラッグします。
  2. 保存をクリックします。
  3. をクリックしてを有効にします。
  4. 組織のデフォルトとして割り当てをクリックします。
  5. 保存をクリックします。
  6. 保存をもう一度クリックし、次に戻る矢印をクリックしてページに戻ります。

Webex管理者

フロー構成

画面ポップアップ

Webex Contact Center Flow には、「スクリーンポップ」ノードが用意されています。これは、Service Cloud Voice内、または別のウィンドウで画面ポップアップをトリガーするために使用できます。

この機能に関する詳細情報は 、 Flow Designer のドキュメント を参照してください。

別ウィンドウで画面ポップアップ

スクリーンポップを別のウィンドウで開くには、「 スクリーンポップ」ノードに 絶対URLを指定する必要があります。queryParametersは、検索パラメータとしてURLに追加されます。

以下のモードがサポートされています。

  • 新しいブラウザタブ - 常に新しいブラウザタブを開きます。
  • 既存のブラウザタブ - 最初の既存のブラウザタブ画面がポップアップすると、新しいブラウザタブが開きます。そのタブは、以降の既存ブラウザタブ画面のポップアップ専用のタブとなり、URLはその特定のブラウザタブ内で更新されます。
  • デスクトップ内 - 新しいブラウザタブと同じように処理されます。

現在開いているページはリダイレクトを阻止することができます。その場合、既存のブラウザタブ画面が新しいブラウザタブでポップアップ表示されます。

この投稿記事は役に立ちましたか?
この投稿記事は役に立ちましたか?