事前チャット API を使用した外部 Web サイトのサービス担当者への顧客情報を渡す
やりとりを進めるのに役立つ顧客情報をサービス担当者に提供するには、事前チャット API を使用してエンドユーザーデータをサービスコンソールに送信します。
必要なエディション
| サポートされているエディションを表示する。 | |
この記事の適用対象:
|
拡張 Web チャットチャネル |
この記事の対象外:
|
拡張アプリケーション内チャット、拡張 WhatsApp、標準および拡張 Facebook Messenger、標準および拡張 SMS、拡張 Apple Messages for Business、拡張 LINE、Bring Your Own チャネル |
このレシピでは、事前チャット API を使用してサービス担当者に送信できるデータの例として一般的な使用事例を組み合わせています。まず、エンドユーザーのログイン ID をサービス担当者に渡して、検証が行われるようにします。その後、大規模な注文での損失を防ぐために、顧客のショッピングカートの値が営業担当に渡されます。この目標を達成するには、フローを介してデータを Salesforce カスタム項目に転送する非表示のカスタム事前チャット項目を作成します。次に、非表示の事前チャット項目に自動入力するようにコードスニペットを編集します。
このレシピを作成する前に、次の注意事項を考慮してください。
- [会話を開始]、[会話を終了]、[非アクティブな会話] の自動レスポンス数式テンプレートで、メッセージングセッションオブジェクトまたはメッセージングユーザーオブジェクトの項目を参照できます (メッセージングセッションにリンクされているため)。会話ではメッセージングセッションオブジェクトまたはメッセージングユーザーオブジェクトの項目を参照できません。
- Salesforce カスタムオブジェクト項目は、事前チャットカスタム項目とは異なります。このレシピは両方の種別の項目を参照します。この 2 つの種別の項目の関係と相違点はこちら。
- Salesforce オブジェクトのカスタム項目を作成します。この例では、メッセージングセッションまたはメッセージングユーザーオブジェクトで [顧客 ID] 項目と [Shopping Cart Value (ショッピングカートの値)] 項目を作成します。
- フィールドを格納したオブジェクトがサービスコンソールに表示されない場合は、サービス担当者が簡単にアクセスできるようにレイアウトを編集します。この例では、メッセージングセッションオブジェクトとメッセージングユーザーオブジェクトに簡単にアクセスできるようにサービスコンソールを編集します。
- ステップ 1 から Salesforce カスタム項目に送信されるデータを取得するには、非表示の事前チャット項目を作成します。この例では、チャネルの [メッセージング設定] で [顧客 ID] と [Shopping Cart Value (ショッピングカートの値)] というカスタムパラメーターを作成し、組み込みサービスの [事前チャットフォーム] 設定で非表示の事前チャット項目として選択します。
- カスタム事前チャット項目を Salesforce カスタム項目に対応付けし、フローを使用して Salesforce 項目に入力します。この例では、[Customer ID (顧客 ID)] という事前チャット項目を [Customer ID (顧客 ID)] という Salesforce 項目に対応付け、[ショッピングカートの値] という事前チャット項目を [ショッピングカートの値] という Salesforce 項目に対応付けます。フローの柔軟性により、必要に応じてデータを結合またはスライスしたり、ケースや取引先責任者などの他のオブジェクトに入力したりできます。
-
埋め込みメッセージングコードスニペットを更新して、ステップ 2 で作成した事前チャット項目に自動入力するように指示します。この例のコードは事前チャット API を使用して、[顧客 ID] と [Shopping Cart Value (ショッピングカートの値)] を事前チャット項目に自動的に送信します。コードスニペットに追加する前に、次の注意事項を考慮してください。
- コードの最初のセクションには、組み込みサービスリリースの標準コードスニペットの例が含まれています。リリース ID とリリース名は一意であるため、各自のコードは若干異なります。
-
レシピを完成させるには、コメント行
Passing Web Context to Prechat - BEGINで始まるコードを追加します。 - 最初のセクションでは、この変数に静的値を割り当てますが、この値の取得方法を反映するように変更できます。次のセクションでは、表示可能な事前チャット項目を入力します。最後のセクションでは、非表示の事前チャット項目を入力します。
- 値の割り当てには異なるコード設定が使用されます。たとえば、名と姓はロックされ、ユーザーによって編集できません。
<script type='text/javascript'> function initEmbeddedMessaging() { try { embeddedservice_bootstrap.settings.language = 'en_US'; // For example, enter 'en' or 'en-US' embeddedservice_bootstrap.init( '00DDn00000DuiyZ', 'Cookbook_MIAW_Deployment', 'https://csg-gr-cdo-summer23.my.site.com/ESWCookbookMIAWDeployme1710815189835', { scrt2URL: 'https://csg-gr-cdo-summer23.my.salesforce-scrt.com' } ); } catch (err) { console.error('Error loading Embedded Messaging: ', err); } }; //Passing Web Context to Prechat - BEGIN var sFirstName = "John"; var sLastName = "Doe"; var sSubject = "Test Subject"; var sCustomerID = "12345678"; var sShoppingCartValue = "1000"; window.addEventListener("onEmbeddedMessagingReady", e => { //log event console.log("onEmbeddedMessagingReady event triggered"); //set visible prechat field embeddedservice_bootstrap.prechatAPI.setVisiblePrechatFields({ // List the pre-chat field names with the value and whether // it's editable in the pre-chat form. "_firstName": { "value": sFirstName, "isEditableByEndUser": false }, "_lastName": { "value": sLastName, "isEditableByEndUser": false }, "_subject": { "value": "test subject", "isEditableByEndUser": true } }); //Set invisible prechat field embeddedservice_bootstrap.prechatAPI.setHiddenPrechatFields({ "Shopping_Cart_Value" : sShoppingCartValue, "Customer_ID" : sCustomerID }); }); //Passing Web Context to Prechat - END </script>
この記事で問題は解決されましたか?
ご意見をお待ちしております。



