SetComposeMessageData操作
たとえば、サービス・リクエストなどのオブジェクトを開くと、エージェントはスマート・アクションから作成メッセージを開くことができます。 メッセージの作成パネルが開き、エージェントがメッセージを送信できます。 このアクションは、メッセージの作成アクションパネルのデータをプログラムで設定します。 この操作により、ユーザーは「CC」、「BCC」、「宛先アドレス」フィールドが使用可能であれば設定でき、「メッセージ件名」および「本文」も設定できます。 また、ユーザーは、拡張性によってメッセージ・レイアウトに追加された場合に、カスタム・フィールドの値を設定できます。
このイベントのサブスクライブ中に渡す必要があるメッセージの作成スマート処理タイプを次に示します。
- 内部ノートの作成(メッセージ・タイプ: ORA_SVC_INTERNAL_NOTE)
- Eメールの作成(メッセージ・タイプ: ORA_SVC_EMAIL)
- Webメッセージの作成(メッセージ・タイプ: ORA_SVC_WEB)
- 顧客メッセージの取得(メッセージ・タイプ: ORA_SVC_CUSTOMER_ENTRY)
- メッセージの作成(前述のすべてのスーパー・セット)。 メッセージ・タイプ: ANY) ノート:
OnAfterMessageSendは、RecordContextからリスニング可能なイベントです。
操作のリクエスト構造を次に示します:
interface IComposeMessageDataRequest {
setToAddress(partyName: string, partyId: string, emailAddress: string, viaId?: string): void;
setCCAddress(partyName: string, partyId: string, emailAddress: string, viaId?: string): void;
setBCCAddress(partyName: string, partyId: string, emailAddress: string, viaId?: string): void;
setSubject(subject: string): void;
setMessageBody(messageContent: string): void;
setFieldValue(fieldName: string, fieldValue: string): void;
}
Eメールの作成スマート・アクションでSetComposeMessageData操作を実行するためのTypescriptの例を次に示します。
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const srequestObject: IComposeMessageActionRequest = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetComposeMessageDataOperation') as IComposeMessageActionRequest;
srequestObject.setMessageType('ORA_SVC_EMAIL');
const messageData = srequestObject.setMessageData();
messageData.setCCAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');
messageData.setBCCAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');
messageData.setSubject('UEF Test');
messageData.setMessageBody('Message Body UEF Test');
messageData.setToAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');
messageData.setFieldValue('CustomField', 'CustomValue');
const response: IOperationResponse = await recordContext.publish(srequestObject);
console.log('setMessageDataResponse', response)
Eメールの作成スマート・アクションでSetComposeMessageData操作を実行する場合のJavaScriptの例を次に示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const srequestObject = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetComposeMessageDataOperation'); srequestObject.setMessageType('ORA_SVC_EMAIL');
const messageData = srequestObject.setMessageData();
messageData.setCCAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');
messageData.setSubject('UEF Test');
messageData.setMessageBody('Message Body UEF Test');
messageData.setToAddress('Matt Liu', '300100032899579', 'sendmail-test-discard@oracle.com', '');
messageData.setFieldValue('CustomField', 'CustomValue');
const response = await recordContext.publish(srequestObject);
console.log('setMessageDataResponse', response)
ノート:宛先、CC、BCCのアドレス・フィールドでは、ユーザーは、
setCCAddress、setBCCAddressおよびsetToAddressメソッドをそれぞれ同じリクエスト・ペイロードで複数回コールすることで、複数のアドレスを設定できます。 また、ユーザーが「至」、「CC」または「BCC」フィールドをリセットする場合は、次の例に示すように空の値を渡してこれらのメソッドをコールする必要があります。 次に、「Eメールの作成」スマート処理の「宛先」、「CC」、「BCC」の各フィールドをリセットするTypescriptの例を示します。
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const srequestObject: IComposeMessageActionRequest = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetComposeMessageDataOperation') as IComposeMessageActionRequest;
srequestObject.setMessageType('ORA_SVC_EMAIL');
const messageData = srequestObject.setMessageData();
messageData.setCCAddress('', '', '');
messageData.setBCCAddress('', '', '');
messageData.setToAddress('', '', '');
const response: IOperationResponse = await recordContext.publish(srequestObject);
console.log('setMessageDataResponse', response)
次に、「Eメールの作成」スマート・アクションの「宛先」、「CC」および「BCC」フィールドをリセットするJavaScriptの例を示します。
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const srequestObject = frameworkProvider.requestHelper.createPublishRequest('cxEventBusSetComposeMessageDataOperation'); srequestObject.setMessageType('ORA_SVC_EMAIL');
const messageData = srequestObject.setMessageData();
messageData.setCCAddress('', '', '');
messageData.setBCCAddress('', '', '');
messageData.setToAddress('', '', '');
const response = await recordContext.publish(srequestObject);
console.log('setMessageDataResponse', response)