エラーメッセージのカスタマイズ
カスタムエラーメッセージは、テレフォニーアクションが失敗した場合の応答として表示できます。たとえば、acceptCall アクションが失敗した場合の応答としてカスタムエラーメッセージを表示できます。次の例は、acceptCall テレフォニーアクションが失敗したときにカスタムエラーメッセージのフローがどのように機能するかを示しています。
- エージェントが通話を受け入れようとします。
- この情報は、Salesforce から Connector API (vendorConnector) に渡され、次に Connector API からテレフォニープロバイダに渡されます。
- Connector API が応答します。
- エラーの種類が CustomError の場合、Salesforce はカスタムエラーメッセージを表示します。それ以外の場合は、MESSAGE_TYPE.ACCEPT_CALL のデフォルトのエラー文字列が表示されます。
GitHub の baseConnector.js ファイルから抜粋した例を次に示します。
1} catch (e) {
2 isSupervisorConnected = false;
3 if (e instanceof CustomError) {
4 dispatchCustomError(e, constants.MESSAGE_TYPE.ACCEPT_CALL);
5 } else {
6 dispatchInfo(constants.INFO_TYPE.CAN_NOT_ACCEPT_THE_CALL, {messagetype: constants.MESSAGE_TYPE.ACCEPT_CALL, additionalInfo: e});
7 }
8}カスタムエラーメッセージは、publishError イベント種別 (eventType) に基づいて任意のタイミングで表示することもできます。次の例は、イベント種別が publishError MUTE_TOGGLE のときにカスタムエラーメッセージのフローがどのように機能するかを示しています。
- エージェントが通話をミュートします。
- この情報は、Salesforce から Connector API (vendorConnector) に渡され、次に Connector API からテレフォニープロバイダに渡されます。
- Connector API が応答します。
- エラーの種類が CustomError の場合、Salesforce はカスタムエラーメッセージを表示します。それ以外の場合は、ERROR_TYPE.CAN_NOT_MUTE_ALL のデフォルトのエラー文字列が表示されます。
GitHub の baseConnector.js ファイルから抜粋した例を次に示します。
1} catch (e) {
2 if (e instanceof CustomError) {
3 dispatchCustomError(e, constants.MESSAGE_TYPE.MUTE);
4 } else {
5 dispatchError(constants.ERROR_TYPE.CAN_NOT_MUTE_CALL, e, constants.MESSAGE_TYPE.MUTE);
6 }
7}カスタムエラーメッセージを作成すると、API を呼び出すごとに Promise オブジェクトが返されます。Promise が failure に解決された場合、Salesforce は Promise 応答の CustomError オブジェクトを探します。応答に CustomError オブジェクトが存在する場合、Salesforce はカスタムエラーを表示します。それ以外の場合は、デフォルトのエラーメッセージが表示されます。
カスタムエラーメッセージを作成するときは、必ずテストを実行し、該当するテレフォニーアクションやイベントが失敗したときにそのメッセージが表示されることを確認します。テストは、Service Cloud Voice の音声通話シミュレータの [エラー] セクションを通じて行います。[エラー] セクションについての詳細は、GitHub のデモコネクタの remote.html ファイルで確認できます。
1<div class="slds-checkbox">
2 <input type="checkbox" name="options" id="throwErrorCheckbox"></input>
3 <label class="slds-checkbox__label" for="throwErrorCheckbox">
4 <span class="slds-checkbox_faux"></span>
5 <span class="slds-form-element__label">Display an error</span>
6 </label>
7</div>カスタムエラーメッセージの作成
- 「カスタム表示ラベル」ページの手順に従い、UI でエラーメッセージのカスタム表示ラベルを作成します。
- エラーメッセージのカスタム表示ラベルを自分で作成し、管理パッケージ形式で AppExchange に配布して、最終的に組織にリリースします。詳細は、CustomError Connector API オブジェクトを参照してください。
カスタムエラーメッセージを作成したらテストを実行し、該当するテレフォニーアクションやイベントが失敗したときにそのメッセージが表示されることを確認します。
カスタムエラーメッセージのテスト
カスタムエラーメッセージは、一度に 1 つのみテストできます。テストするカスタムエラーメッセージごとに以下の手順を繰り返します。
設定したカスタムエラーメッセージをテストする手順は、次のとおりです。
- Service Cloud Voice デモコネクタの音声通話シミュレータの [エラー] セクションで [Display on error (エラー時に表示)] を選択し、シミュレーション中にメッセージが表示されるようにします。
- テキストボックスに、テストするカスタム表示ラベルを入力します。カスタム表示ラベルは、<namespace>.<labelName> の形式にする必要があります。ここで、namespace は Salesforce 組織の名前空間プレフィックスの名前、labelName は組織のカスタム表示ラベルの名前です。名前空間がない場合は、この値を c に設定します。たとえば、c.cannotMuteLabel のようにします。
- オムニチャネルユーティリティでテレフォニーアクションまたはイベントをシミュレートし、エラーメッセージを表示して、カスタマイズしたバージョンが表示されることを確認します。
- カスタムエラーメッセージのテストが完了したら、[Display on error (エラー時に表示)] の選択を解除します。