5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Salesforce】プラットフォームイベントの公開

Posted at

前回はプラットフォームイベントの基礎情報と定義の仕方について紹介しました。
今回はプラットフォームイベントの登録の仕方についての記載となります。

プラットフォームイベントの公開

プラットフォームイベントそれぞれ以下の手順から登録が可能です。
ほぼほぼオブジェクトレコードと同じやり方になります。

プロセス

アクションでレコードを作成から公開が可能です。
従来のオブジェクトレコードの作成と同じやり方でOKです。
スクリーンショット 2021-01-30 18.29.54.png

フロー

こちらも従来のオブジェクトと同様の手順で、「レコードの作成」ノードから登録が可能です。
スクリーンショット 2021-01-24 17.02.50.png

Apex

Apexからプラットフォームイベントを登録する場合はちょっと異なります。
Insertではなく、EventBus.publishメソッドを使用してプラットフォームイベントを公開します。

TestEvent__e pe = new TestEvent__e(
    RecordId__c = recordId,
    HasError__c = true,
    Message__c = 'エラーが発生しました'
);
Database.SaveResult sr = EventBus.publish(pe);

REST API

プラットフォームイベントはREST API経由からでも登録できます。
外部システムからSalesforce側にイベントを通知するときはこのREST APIが主に使われるのではないかと思います。

こちらもオブジェクトレコードを登録する手順と同じです。
従来のオブジェクト名を入れるところで、プラットフォームイベントのAPI名(__eで終わるもの)を入れておけばOKです。

/services/data/v49.0/sobjects/TestEvent__e

POSTのリクエストボディにも項目と設定値をセットしてあげればOK。

{
   "RecordId__c" : "xxxxxxxxxxxxxxxxxx",
   "HasError__c" : false,
   "Message__c" : "Error",
   ・・・
}

次回はプラットフォームを受信する側の動作について定義していきたいと思います。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?