SFDX プロジェクトの作成
Service Cloud Voice がテレフォニープロバイダと通信できるようにします。作成するパッケージには、コネクタ、コンタクトセンター、設定メタデータなどが含まれます。
-
scv-partner-telephony-quickstart GitHub リポジトリをコピーし、Salesforce CLI をインストールします。
1git clone --recurse-submodules https://github.com/service-cloud-voice/scv-external-telephony-quickstart 2cd scv-external-telephony-quickstart 3npm install # This will install sfdx CLI- Salesforce CLI を個別にインストールすることもできます。詳細は、「Salesforce CLI」を参照してください。
- すでに Salesforce CLI がインストールされている場合、最新バージョンの sfdx update に更新します。新しいメタデータ型のサポートが追加されているため、このステップは重要です。
- SFDX プロジェクトでは、API バージョン 53.0 を使用してください。これは、sfdx-project.json で見つけることができます。ローカル API バージョンを上書きする場合、53.0 に設定されていることを確認してください。トラブルシューティングするには、「エラー: API バージョンの不一致」を参照してください。
- API バージョン 53.0 を使用しない場合や、これよりも古い Salesforce CLI バージョンを使用する場合、ConversationVendorInfo メタデータ型に関するエラーが表示される可能性があります。Salesforce CLI のエラーメッセージは次のようになります。
1Unexpected file found in package directory: 2/Users/.../scv-partner-telephony-quickstart/force-app/main/default/ConversationVendorInformation/sampleVendor.ConversationVendorInformation-meta.xml
- コネクタを開発します。デモ実装については、このオープンソース SCV デモコネクタ Github リポジトリを参照してください。
-
scv-partner-telephony-quickstart/force-app/main/default/ConversationVendorInformation/sampleVendor.ConversationVendorInformation-meta.xml の ConversationVendorInfo を更新します。
このファイルの項目を更新する場合、次のガイドラインを使用します。
項目 説明 bridgeComponent bridgeComponent を <パッケージ名前空間>:<IMS ブリッジ名> に設定します。これを使用しない場合は削除できます。demo-scv-connector でテストする場合、{名前空間}:lwcBridge or {名前空間}:AuraBridge を使用できます。詳細は、「Lightning Message Bridge の使用」を参照してください。 einsteinConversationInsightsSupported 顧客の Einstein 会話インサイトをサポートするには、この機能を true に設定します。分析用の Salesforce 通話録音 URL を指定するには、Apex インテグレーションクラスで service_cloud_voice.RecordingMediaProvider インターフェースを実装します。注意: この機能を使用するには、namedCredentialSupported を true に設定する必要もあります。 partnerContactCenterListSupported カスタマー取引先に複数のコンタクトセンターがあり、顧客が Salesforce に接続するコンタクトセンターを選択する必要がある場合、この機能を true に設定します。注意: この機能を使用するには、namedCredentialSupported を true に設定する必要もあります。 namedCredentialSupported 指定ログイン情報を介した規範設定をサポートする場合、この機能を true に設定します。顧客の指定ログイン情報を使用して新しいカスタマー取引先への接続をテストする Apex インテグレーションクラスの service_cloud_voice.PartnerConnector インターフェースを実装します。 partnerTransferDestinationsSupported Salesforce がエージェントキューを取得して Salesforce とエージェントキューを対応付けることができるように、この機能を true に設定します。Apex インテグレーションクラスの service_cloud_voice.TransferDestinationProvider インターフェースを実装します。注意: この機能を使用するには、namedCredentialSupported を true に設定する必要もあります。 agentSSOSupported Salesforce を ID プロバイダとして使用してエージェント SSO をサポートする場合、この機能を true に設定します。Apex インテグレーションクラスの service_cloud_voice.PartnerSSO インターフェースを実装します。注意: この機能を使用するには、namedCredentialSupported を true に設定する必要もあります。 clientAuthMode この項目は API バージョン 53.0 以降では廃止されました。可能な値は [SSO]、[カスタム]、[混在] です。 connectorUrl コネクタの URL。
- demo-scv-connector でテストする場合、「デモコネクタの使用」の絶対リンクを使用します。例: https://www.myTelephonyDemo.com:8080。
- 同じ Salesforce 管理パッケージから Visualforce ページとしてコネクタをホストすることもできます。「Visualforce ページとしてのコネクタのホスト」の相対 URL 形式を使用します。例: /apex/<名前空間>__<コネクタの Visualforce ページ名>。
customConfig コンタクトセンターのカスタム設定を保存するための項目を定義するカスタムオブジェクトの名前。 customLoginUrl テレフォニーシステムログインページの読み込みに使用される URL。これを使用しない場合は削除します。demo-scv-connector でテストする場合、「デモコネクタの使用」のリンクを使用します。例: https://www.myTelephonyDemo.com:8080/login.html。
developerName この値を一意の名前に設定します。ファイル名と一致している必要があります。 integrationClassName この項目は API バージョン 53.0 以降では廃止されました。 integrationClass この外部キーを、パートナーテレフォニーの設定時にベンダーと通信するメソッドを実装する Apex クラスの名前に設定します。注意: 上記の機能のいずれかを有効にした場合、Apex クラスを指定する必要があります。
masterLabel これをテレフォニープロバイダの目的の表示名に設定します。この表示ラベルは、コンタクトセンターレコードにテレフォニープロバイダとして表示されます。 namedCredential この外部キーを指定ログイン情報の名前に設定します。この指定ログイン情報を使用することも、これと同様の指定ログイン情報を作成することもできます。どちらの場合も、アカウントの秘密の指定ログイン情報で指定ログイン情報を更新 (JWT、AWS 署名 v4 の場合) するか、指定ログイン情報を承認 (OAuth ベースの指定ログイン情報の場合) する必要があります。 serverAuthMode この項目は API バージョン 53.0 以降では廃止されました。serverAuthMode に設定します。可能な値は、[OAuth] と [なし] です。 userSyncingSupported コンタクトセンターのユーザが追加または削除されたときの自動ユーザ同期をサポートする場合、この機能を true に設定します。ユーザの同期に必要な Apex インテグレーションクラスの service_cloud_voice.UserSyncing インターフェースを実装します。注意: この機能を使用するには、namedCredentialSupported を true に設定する必要もあります。 vendorType この値を ServiceCloudVoicePartner に設定します。 -
必要に応じて、次のリソースを更新します。詳細は、「Lightning Message Bridge の使用」を参照してください。Lightning Message Bridge を使用しない場合、/aura、/lwc、/messageChannels フォルダを削除します。
-
Aura ブリッジ: この例は、サンプル Aura ブリッジコンポーネントです。LMS チャネルを参照する場合、<名前空間>__<LMS チャネル名>__c のようにプレフィックスとして名前空間を使用します。
i. force-app/main/default/aura/AuraBridge/AuraBridge.cmp で、<lightning:messageChannel type="REPLACE_WITH_NAMESPACE_NAME__ServiceCloudVoiceMessageChannel__c" .. を <lightning:messageChannel type="<名前空間>__<LMS チャネル名>__c" .. に変更します。
-
Aura LMS サンプル: このサンプル Aura コンポーネントは、Lightning メッセージチャネルを登録します。LMS チャネルを参照する場合、<名前空間>__<LMS チャネル名>__c のようにプレフィックスとして名前空間を使用します。
i. force-app/main/default/aura/AuraLmsSample/AuraLmsSample.cmp で、<lightning:messageChannel type="REPLACE_WITH_NAMESPACE_NAME__ServiceCloudVoiceMessageChannel__c" .. を <lightning:messageChannel type="<名前空間>__<LMS チャネル>__c" に変更します。
- LWC ブリッジ: この例は、サンプル LWC ブリッジコンポーネントです。LMS チャネルを参照する場合、プレフィックスとして名前空間を使用しないでください。
- LWC LMS サンプル: これは、Lightning メッセージチャネルを登録するサンプル LWC コンポーネントです。LMS チャネルを参照する場合、プレフィックスとして名前空間を使用しないでください。
-
Aura ブリッジ: この例は、サンプル Aura ブリッジコンポーネントです。LMS チャネルを参照する場合、<名前空間>__<LMS チャネル名>__c のようにプレフィックスとして名前空間を使用します。
-
必要に応じて、サンプルリソースに関するその他の情報を変更できます。
- カスタムオブジェクト設定では、コンタクトセンターのカスタム設定を保存するための項目を定義します。サンプルカスタム設定は、force-app/main/default/sampleCustomConfig__c にあります。このカスタム設定は、関連するレイアウトと共にコンタクトセンターの設定時にカスタムコンタクトセンターの詳細を入力するために使用されます。
- レイアウトをカスタムオブジェクトに割り当てて、カスタムオブジェクトの表示表方法を指定できます。サンプルレイアウトは、force-app/main/default/layouts にあります。このレイアウトは、sampleCustomConfig__c オブジェクトによって参照されます。
- 指定ログイン情報をパッケージに追加して Apex コールアウトで使用できます。指定ログイン情報では、1 つの定義にコールアウトエンドポイントの URL と必要な認証パラメータを指定します。Apex コールアウトで指定ログイン情報をコールアウトエンドポイントとして指定するすべての認証が Salesforce によって管理されます。サンプル指定ログイン情報は、force-app/main/default/namedCredentials にあります。
- Lightning ページを使用して、さまざまな Lightning コンポーネントでカスタマイズされたページを作成できます。サンプル Lightning ページは、force-app/main/default/flexipage にあります。
- ユーティリティバーは、よく使用される生産性ツールにすばやくアクセスできる特殊な Lightning ページです。Service Cloud Voice のサンプルユーティリティバーは、force-app/main/default/flexipage にあります。
- Salesforce アプリケーションを使用して、特定の機能で使用されるタブやオブジェクトをグループ化できます。Service Cloud Voice のサンプルアプリケーションは、force-app/main/default/applications にあります。
- サーバとベンダー間の通信が必要な設定操作 (SSO やユーザの同期など) を自動化するには、Apex クラスを指定する必要があります。クラスは、ConversationVendorInfo で定義されたサポート対象機能に対応するインターフェースを実装します。サンプル Apex インテグレーションクラスは、force-app/main/default/classes にあります。App Exchange でパッケージを公開できるように、Apex クラスのテストも追加する必要があります。
-
次のコマンドを実行して、プレースホルダメッセージを SFDX プロジェクトの目的の名前空間に置き換えることができます。
1export LANG=C 2export LC_CTYPE=C 3find ./ -type f -exec sed -i '' 's/REPLACE_WITH_NAMESPACE_NAME'/'"<YOUR NAMESPACE NAME>"'/g' {} \;