Apex トリガーを使用したプラットフォームイベント通知の登録サンプル
環境
Salesforce
使用例
Cloud News イベントのトリガーを示します。
各イベントを反復処理し、Urgent__c 項目でニュースが
緊急かどうか確認します。ニュースが緊急の場合、
トリガーはケースを作成して、ニュースレポーターを派遣し、
イベントの場所をケースの件名に追加します。
サンプルコード
//Cloud_Newsイベントのトリガを設定します
trigger CloudNewsTrigger on Cloud_News__e (after insert) {
//caseオブジェクトの生成
List<Case>cases = new List<Case>();
//CaseオンナーのキューIDを取得
Group queue = [SELECT Id FROM Group WHERE Name= 'Regional Dispatch' AND Type ='Queue'];
// 各通知を反復処理する
for(Cloud_News__e event : Trigger.New) {
if(event.Urgent__c == true) {
//ケースの作成
Case cs = new Case();
cs.Priority = 'High';
cs.Subject = 'News team dispatch to ' + event.Location__c;
cs.OwnerId = queue.Id;
cases.add(cs);
}
//受信したイベントに対応するすべてのケースを挿入する
insert cases;
}
}
//Cloud_Newsイベントのトリガを設定します
trigger CloudNewsTrigger on Cloud_News__e (after insert) {
//caseオブジェクトの生成
List<Case>cases = new List<Case>();
//CaseオンナーのキューIDを取得
Group queue = [SELECT Id FROM Group WHERE Name= 'Regional Dispatch' AND Type ='Queue'];
// 各通知を反復処理する
for(Cloud_News__e event : Trigger.New) {
if(event.Urgent__c == true) {
//ケースの作成
Case cs = new Case();
cs.Priority = 'High';
cs.Subject = 'News team dispatch to ' + event.Location__c;
cs.OwnerId = queue.Id;
cases.add(cs);
}
//受信したイベントに対応するすべてのケースを挿入する
insert cases;
}
}
//Cloud_Newsイベントのトリガを設定します trigger CloudNewsTrigger on Cloud_News__e (after insert) { //caseオブジェクトの生成 List<Case>cases = new List<Case>(); //CaseオンナーのキューIDを取得 Group queue = [SELECT Id FROM Group WHERE Name= 'Regional Dispatch' AND Type ='Queue']; // 各通知を反復処理する for(Cloud_News__e event : Trigger.New) { if(event.Urgent__c == true) { //ケースの作成 Case cs = new Case(); cs.Priority = 'High'; cs.Subject = 'News team dispatch to ' + event.Location__c; cs.OwnerId = queue.Id; cases.add(cs); } //受信したイベントに対応するすべてのケースを挿入する insert cases; } }