パートナーテレフォニー用の Service Cloud Voice の Apex リファレンス
Salesforce のコンタクトセンターですべてのユーザ操作を自動化するには、パートナーはサポートされる Apex インターフェースを実装する Apex インテグレーションクラスを提供する必要があります。
Apex インターフェースメソッドを実装するときに、操作に成功した場合は、応答コンストラクタを使用して success を true として応答オブジェクトを作成し、応答項目を設定します。操作に失敗した場合は、success を false として適切な errorMessage と null 応答項目が含まれる応答オブジェクトを作成します。
次のインターフェースはパートナーが実装できます。
service_cloud_voice.GroupSetup
このインターフェースについては、「パートナーテレフォニーのユーザおよびグループとキューとの関連付け」を参照してください。
service_cloud_voice.KeyProvider
このインターフェースを実装すると、キーのプロビジョニングと更新を自動化できます。(コンタクトセンター作成フローの間、または後でコンタクトセンターの詳細ページで [アカウントの接続] ボタンを使用して) Salesforce コンタクトセンターをパートナーシステムに接続する場合、Salesforce は必ずインテグレーションクラスの getPublicKey メソッドをコールします。(コンタクトセンターの詳細ページで [キーを更新] ボタンを使用して) 公開鍵を更新するときも同じメソッドがコールされます。
このインターフェースについて、keyProvisioningSupported 機能を有効にします。
1KeyResponse getPublicKey(ContactCenterInfo contactCenterInfo);KeyResponse には、成功フラグ、エラーメッセージ、公開鍵、公開鍵の有効期限という 4 つの項目が含まれています。
service_cloud_voice.PartnerConnector
このインターフェースについて、namedCredentialSupported 機能を有効にします。このインターフェースには 1 つのメソッドが含まれます。
1ConnectPartnerResponse connect(service_cloud_voice.ContactCenterInfo contactCenterInfo);ConnectPartnerResponse 応答には 3 つの項目があります。
- Success: 操作が成功したか失敗したかを示す Boolean 値。
- contactCenters: パートナーコンタクトセンター ID とパートナーコンタクトセンター名の対応付け。
- errorMessage: 操作に失敗した場合の失敗メッセージ。
次のコンストラクタを使用して、応答インスタンスを作成します。
1ConnectPartnerResponse(boolean success, Map<String, String> contactCenters, String errorMessage);ContactCenterInfo 入力値には、内部名、表示名、組織 ID、パートナーコンタクトセンター ID、ユーザが選択した指定ログイン情報の完全修飾名など、コンタクトセンターに関する情報が含まれます。
service_cloud_voice.PartnerSSO
このインターフェースを実装すると Salesforce を ID プロバイダとしてエージェントの SSO を設定できます。詳細は、「シングルサインオンの設定」を参照してください。
このインターフェースについて、agentSSOSupported 機能を有効にします。ここには 2 つのメソッドが含まれます。
1PartnerResponse setupSamlIdentityProvider(SetupSamlIdpRequest setupSamlIdpRequest);このメソッドは、パートナーアカウントで SAML ID プロバイダを作成するために使用されます。SetupSamlIdpRequest には SAML XML と指定ログイン情報の 2 つの項目があります。SAML XML は Salesforce ID プロバイダから生成されます。これはアカウントごとに 1 回必要であるため、ID プロバイダは再利用できます。
1ConnectedAppSetupParams getConnectedAppSetupParams(ContactCenterInfo contactCenterInfo);このメソッドは、Salesforce で接続アプリケーションを作成するための項目が含まれる ConnectedAppSetupParams を取得するために Salesforce からコールされます。ConnectedAppSetupParams には acsUrl、entityUrl、customAttributes、および sloUrl が含まれます。
service_cloud_voice.PhoneNumberProvider
このインターフェースを実装すると、コンタクトセンターチャネルの作成時に電話番号のリストがサポートされます。
1PhoneNumberResponse listPhoneNumbers(service_cloud_voice.PhoneNumberRequest phoneNumberRequest);PhoneNumberResponse には PhoneNumberInfos のリストが含まれます。PhoneNumberInfo には phoneNumber、countryCode、識別子が含まれます。
PhoneNumberRequest には ContactCenterInfo が含まれます。
service_cloud_voice.QueueManager
このインターフェースについては、「パートナーテレフォニーのユーザおよびグループとキューとの関連付け」を参照してください。
service_cloud_voice.QueueSetup
このインターフェースについては、「パートナーテレフォニーのユーザおよびグループとキューとの関連付け」を参照してください。
service_cloud_voice.RecordingMediaProvider
このインターフェースについて、einsteinConversationInsightsSupported 機能を有効にします。ここには、ダウンロードして分析できる録音の URL を提供する 1 つのメソッドが含まれます。
1RecordingMediaResponse getSignedUrls(service_cloud_voice.RecordingMediaRequest request);RecordingMediaResponse 応答は RecordingMediaItem オブジェクトのリストです。各項目には recordingUrl、partnerVoiceCallId、および録音の URL が存在しない場合のエラーメッセージが含まれます。次のコンストラクタを使用して、RecordingMediaItem のインスタンスを作成します。
1RecordingMediaItem(String vendorCallKey, String signedRecordingUrl, String expiryTime, String errorCode);expiryTime パラメータには、署名された録音の URL (signedRecordingUrl) が期限切れになるまでの時間の長さ (分単位) を設定します。signedRecordingUrl に有効期限がない場合は、expiryTime を NULL に設定します。errorCode パラメータには、録音の URL (recordingUrl) が存在しない場合に返される HTTP コードを設定します。Salesforce は、エラーコードが 404 の場合を除き、すべてのエラーコードで音声通話を再試行します。エラーコードを想定していない場合は、この値を NULL に設定します。
RecordingMediaRequest 入力値には、コールアウトに使用される指定ログイン情報、および録音の URL のパートナー音声通話 ID のリストが含まれます。
service_cloud_voice.TransferDestinationProvider
このインターフェースについて、partnerTransferDestinationsSupported 機能を有効にします。ここには、エージェントキューを取得する 1 つのメソッドが含まれます。
1TransferDestinationResponse getQueues(service_cloud_voice.ContactCenterInfo contactCenterInfo);TransferDestinationResponse 応答には、success フラグ、キュー ID とキュー名の対応付け、失敗した操作のエラーメッセージの 3 つの項目が含まれます。次のコンストラクタを使用して、応答インスタンスを作成します。
1TransferDestinationResponse (boolean success, Map<String, String> queues, String errorMessage);service_cloud_voice.UserSyncing
このインターフェースを実装するとユーザ同期を自動化できます。Salesforce コンタクトセンターでユーザを追加したり削除したりするたびに、Salesforce によってこれらのメソッドがインテグレーションクラスでコールされます。このインターフェースについて、agentSSOSupported 機能を有効にします。
1UserSyncingResponse addUsersToContactCenter(UserSyncingRequest userSyncingRequest);UserSyncingResponse 応答には、success フラグ、エラーメッセージ、Salesforce ユーザ ID とパートナーシステムユーザ ID の対応付けの 3 つの項目が含まれます。
UserSyncingRequest には、Salesforce コンタクトセンター ID、指定ログイン情報、UserInfo オブジェクトのリストが含まれます。それぞれにエージェントの Salesforce ユーザ ID、名、姓、Salesforce ユーザ名があります。
service_cloud_voice.UpdateOrgDomainProvider
拡張ドメインは、最新のセキュリティ標準を満たす [私のドメイン] の現在のバージョンです。Service Cloud Voice 機能で使用される URL の中には、ドメイン値を含むものがあります。たとえば、コネクタ URL、テレフォニー API (SCRT2 URL)、Connect API URL などです。拡張ドメインを有効にすると、ドメイン値が変更されるため、Service Cloud Voice 機能で使用される URL に影響が及びます。拡張ドメインを有効にしてドメインが変更された場合でも、設定ページから手動で名前を変更してドメインが変更された場合でも、この Apex クラスでは、更新されたドメイン情報がユーザに通知されます。拡張ドメイン機能のロールアウトについての詳細は、Salesforce ヘルプの「拡張ドメインのスケジュール」を参照してください。
組織の [私のドメイン] の変更に関する通知を受け取るには、このインターフェースを実装します。
1PartnerResponse updateOrgDomainValues(service_cloud_voice.ContactCenterInfo contactCenterInfo);このメソッドのパラメータ、ContactCenterInfo には、次の 2 つの新しいプロパティがあります。
- orgDomainVal。[私のドメイン] の URL の最新の値が含まれます。
- scr2Url。SCRT2 サーバの URL が含まれます。
ContactCenterInfo には、contactCenterId、partnerContactCenterId、internalName、displayName、namedCredentials、orgId といったプロパティもあります。