目的 |
BIZTELサーバと外部CRMとのサーバ連携を行う機能となります。 外部CRMの1つであるSalesforceとの連携について、コールアクションやAPI連携IVRの機能を用いて設定した場合の動作事例を紹介します。 |
---|---|
対象プラン |
|
用語 |
【外部CRM】 【WebAPI】 インターネットを経由した標準的なWeb技術を利用した各サービス(BIZTELでは外部CRM)と連携するためのCRM側のインターフェースとなります。 各CRMごとにWebAPIで用いるパラメーターは異なっており、それぞれのCRMサービスで仕様を公開しています。 |
ポイント |
・本事例の設定例を行うには「コールアクション連携」または「API連携IVR」オプションの契約が必須です。 ・OAuth認証を用いてWebAPIへ連携する場合は、「オプション」 > 「OAuthアカウント」の事前登録が必要となります。 ・コールアクション、IVR-APIをSalesforceで利用するにはOAuth認証が必須となります。 ※オプション > Salesforceアカウント設定はSalesforce履歴連携メニュー用となり、コールアクションには対応しておりません。 ・本事例の設定を行うためには、コールアクション、IVR-API、リアルタイム音声合成のオプション契約が必要です。 ・Salesforce側の設定は一例となりますので、詳細はSalesforce.com社へお問い合わせください。 |
・本マニュアルはHTML/PHP(PCRE正規表現等)/WebAPIの基礎的な技術知識がある、WEB系開発者様やCRMベンダー様を対象にしております。
目次
※項目名をクリックいただく事で項目が展開され、参照したい手順へ移動できます。
1. 事前準備
Salesforceとの連携前にOAuthアカウントの設定を行う必要があります。
1.1 Salesforce OAuth設定
手順1.Salesforceへログイン後、「設定」をクリックします。
手順2.「ビルド > 作成 > アプリケーション」をクリックします。
手順3.接続アプリケーションの「新規」をクリックします。
手順4.以下の表を参考に必要情報を入力し、「保存」をクリックします。
項目 | 説明 |
---|---|
接続アプリケーション名 | お客様の任意の値を入力します。 |
API参照名 | 接続アプリケーション名が自動で反映されます。 |
取引先責任者メール | お客様の任意の値を入力します。 |
OAuth設定の有効化 | チェックを付けます。 |
コールバックURL |
BIZTEL管理画面のURL/oauth_client/callback 例) |
選択したOAuth範囲 |
以下の値を「選択したOAuth範囲」へ追加します。 |
サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求 |
チェックを外します。 |
Webサーバフローの秘密が必要 | チェックを付けます。 |
手順5.「次へ」をクリックします。
手順6.作成したアプリケーションの「Manage」をクリックします。
手順7.「ポリシーを編集」をクリックします。
手順8.「OAuthポリシー > シングルアウトの有効化」にて、「管理者が承認したユーザは事前承認済み」を選択し、「保存」をクリックします。
手順9.プロファイル項目より「プロファイルを管理する」をクリックします。
手順10.利用するユーザのプロファイルを選択し、「保存」をクリックします。
※下記の図では「システム管理者」「標準ユーザ」を選択していますが、お客様の用途に沿ったプロファイルを選択ください。
手順11.作成した接続アプリケーションの画面に戻り、以下の情報をテキスト等に控えます。
※BIZTEL側のOAuthアカウント登録時に使用します。
以上で、SalesforceのOAuth設定は完了です。
1.2 BIZTEL OAuth設定
BIZTELでのOauth設定についてはマニュアル「OAuthアカウントの設定」を参照ください。
2. コールアクション設定例
本項では、コールアクション設定の事例をいくつか紹介します。
着信時に応答履歴を記録する
・イメージ図
例1)顧客発信電話番号を条件とし、Salesforceの取引先責任者を検索し、取引先責任者 ID を取得する。
項目 | 入力値 |
---|---|
イベント種別 | コールセンターキュー |
実行順 | 1 |
判定用コード | なし |
判定用パターン | なし |
API連携種別 | OAuth |
OAuthアカウント | OAuthアカウント登録画面にて登録した情報 |
URL | {OAUTH_INSTANCE_URL}/services/data/v45.0/query?q= SELECT+Id,Name FROM Contact WHERE Phone ='{TEL}' |
メソッド | GET |
リクエストヘッダ | なし |
リクエストボディ | なし |
タイムアウト判定(秒) | 10 ※任意 |
変数抽出パターン |
/"Id":"(?P<CONTACT_ID>.*)",/ ※取引先責任者IDを変数CONTACT_IDに格納 |
メモ | ご自由に入力ください。 |
例2)取得した取引先責任者 ID を指定して、新規ケースを作成する。
項目 | 入力値 |
---|---|
イベント種別 | コールセンターキュー |
実行順 | 2 |
判定用コード | なし |
判定用パターン | なし |
API連携種別 | OAuth |
OAuthアカウント | OAuthアカウント登録画面にて登録した情報 |
URL | {OAUTH_INSTANCE_URL}/services/data/v45.0/sobject s/case/ |
メソッド | POST |
リクエストヘッダ | Content-Type: application/json |
リクエストボディ | {"Origin": "Phone","ContactId":"{RESPONSE_CONTACT_ID}"} |
タイムアウト判定(秒) | 10 ※任意 |
変数抽出パターン |
/"id":"(?P<CASE_ID>.*)",/ |
メモ |
ご自由に入力ください。 |
上記のコールアクションを設定すると、Salesforce上に取引先責任者の情報が紐づいたケースが作成されます。
例3)切断時に応対履歴に通話IDを付与する
※例2で作成したSalesforceのケースを更新するコールアクション設定を行います。
項目 | 入力値 |
---|---|
イベント種別 | コールセンター切断 |
実行順 | 1 |
判定用コード | なし |
判定用パターン | なし |
API連携種別 | OAuth |
OAuthアカウント | OAuthアカウント登録画面にて登録した情報 |
URL | {OAUTH_INSTANCE_URL}/services/data/v45.0/sobjects/cas e/{RESPONSE_CASE_ID} |
メソッド | PATCH |
リクエストヘッダ | Content-Type: application/json |
リクエストボディ | {"Origin": "Phone","Subject":"コールセンターへの着信です ","ContactId":"{RESPONSE_CONTACT_ID}","Description": "https://sXXXXXXXXXXXX.u.biztel.jp:8000/monitor_link/{ID}"} |
タイムアウト判定(秒) | 10 ※任意 |
変数抽出パターン |
なし |
メモ |
ご自由に入力ください。 |
上記コールアクションが実行されると、Salesforceの応対履歴に録音再生URLが付与され、クリックすると録音ファイルを再生可能です。
3. API連携IVR 設定例
本項では、IVR着信時にお客様の名前を含む音声を流した後にコールセンターへ転送する設定例を紹介します。
※IVR-APIの機能を用いておりますが、BIZTEL標準のIVRのようにプッシュ操作の音声は流しません。
※本手順は「コールセンター > IVR」での設定となります。
・イメージ図
3.1 IVRの設定
手順1.「コールセンター > IVR」をクリックします。
手順2.「新規」をクリックします。
手順3.必要事項を入力し、「登録」をクリックします。
※この際、「API連携を利用する」のチェックは必須となります。登録後の変更は出来ませんのでご注意ください。
手順4.「登録しますか?」と表示される為、「OK」をクリックします。
手順5.「API連携設定」をクリックし、「編集」をクリックします。
手順6.以下表の内容に従い値を入力後、「登録」をクリックします。
項目 | 入力値 |
---|---|
API連携種別 | OAuthを選択 |
OAuthアカウント |
OAuth アカウント登録画面で登録した情報 |
URL | {OAUTH_INSTANCE_URL}/services/data/v45.0/search ?q=FIND {{TEL}} IN PHONE FIELDS RETURNING Account(Id, Name, Phone) |
メソッド | GET |
リクエストヘッダ | なし |
リクエストボディ | なし |
API連携前ガイダンス | 選択なし |
リクエストエラー時の動作 | IVR終了時の着信ルールに従う |
受付ダイヤル最大桁数 | 受付ダイヤルなし(この部分が重要です) |
入力値チェックパターン | なし |
手順7.「登録しますか?」と表示される為、「OK」をクリックします。
3.2 レスポンスの設定
「3.1 IVRの設定」に続けてレスポンスの設定を行います。
※APIレスポンスコードが「200」だった場合の設定とします。「200」は成功を意味します。
■優先順位1:該当する取引先データが存在しない場合。
手順1.連携対象のIVRメニューから「APIレスポンス設定」タブ内の「新規」をクリックします。
手順2.以下表の内容に従い値を入力後、「登録」をクリックします。
※以下の設定は、レスポンスボディがレスポンスパターンに一致した場合に転送先に設定した
コールセンターへ転送する内容となります。
項目 | 入力値 |
---|---|
優先順位 | 1 |
レスポンスコード | 200 |
レスポンスパターン | /"searchRecords":¥[¥]/ |
変数抽出パターン | なし |
ガイダンス形式 | リアルタイム音声合成 |
音声合成テキスト | 例) お電話ありがとうございます。 只今、オペレータへお繋ぎしておりますので、しばらくお待ちください。 |
転送先 | 特定のコールセンターなどを選択。 |
手順3.「登録しますか?」と表示される為、「OK」をクリックします。
■優先順位2:該当する取引先データが存在する場合
手順1.「優先順位1」と同様の手順で、以下表の内容に従い値を入力後、「登録」をクリックします。
項目 | 入力値 |
---|---|
優先順位 | 2 |
レスポンスコード | 200 |
レスポンスパターン | なし |
変数抽出パターン | /"Name":"(?P<NAME>.*)",/ ※会社名を変数に格納します。 |
ガイダンス形式 | リアルタイム音声合成 |
音声合成テキスト | 例) {CODE1}様、お電話ありがとうございます。 只今、オペレータへお繋ぎしておりますので、しばらくお待ちください。 |
転送先 | 特定のコールセンターなどを選択。 |
上記の設定を行うと、レスポンスボディから抽出した変数を音声合成テキストに展開して、
音声「〇〇様、お電話ありがとうございます。・・・」が流れます。
その後、オペレータへ転送される設定となっております。
4. 応答レスポンス例
■顧客の発信電話番号を条件とし、Salesforceの取引先責任者を検索した際のレスポンス例
{ }, |
■取得した取引先責任者 ID を指定して、新規 Salesforce ケースを作成した際のレスポンス例
{ "id": "5002v00002mPxwUAAS", "success": true, "errors": [] } |
■顧客の発信電話番号を条件として Salesforce の取引先を検索した際のレスポンス例
{ "searchRecords": [ { "attributes": { "type": "Account", "url": "/services/data/v45.0/sobjects/Account/0012v00002uhRmWAAU" }, "Id": "0012v00002uhRmWAAU", "Name": "CDF 株式会社", "Phone": "07075373713" } ] } |