Apex トリガーを使用したプラットフォームイベント通知の登録サンプル

環境
Salesforce

使用例
Cloud News イベントのトリガーを示します。
各イベントを反復処理し、Urgent__c 項目でニュースが
緊急かどうか確認します。ニュースが緊急の場合、
トリガーはケースを作成して、ニュースレポーターを派遣し、
イベントの場所をケースの件名に追加します。

サンプルコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//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;
    }
    
}

 

IT

Posted by arkgame