CometD によるプラットフォームイベント通知の登録
Salesforce はプラットフォームイベントを、受信した順序で CometD クライアントに順次送信します。イベント通知の順序はイベントの再実行 ID に基づきます。
CometD を使用してプラットフォームイベント通知を登録するプロセスは、PushTopic または汎用イベントの登録に似ています。唯一の違いはチャネル名です。プラットフォームイベントのチャネル名は大文字と小文字が区別され、次の形式になります。
1/event/Event_Name__eAPI バージョンを追加した次の CometD エンドポイントを使用します。
1/cometd/47.0例
「Low Ink (低インクレベル)」という名前のプラットフォームイベントがある場合、登録時に次のチャネル名を指定します。
1/event/Low_Ink__e配信されるプラットフォームイベントのメッセージは、次の[Low Ink (低インクレベル)] イベントの例に似ています。
1{
2 "data": {
3 "schema": "dffQ2QLzDNHqwB8_sHMxdA",
4 "payload": {
5 "CreatedDate": "2017-04-09T18:31:40.517Z",
6 "CreatedById": "005D0000001cSZs",
7 "Printer_Model__c": "XZO-5",
8 "Serial_Number__c": "12345",
9 "Ink_Percentage__c": 0.2
10 },
11 "event": {
12 "replayId": 2
13 }
14 },
15 "channel": "/event/Low_Ink__e"
16}イベントメッセージの schema 項目には、プラットフォームイベントスキーマの ID が含まれます。スキーマはバージョン管理されます。つまり、スキーマが変わると、そのスキーマ ID も変わります。
イベントのスキーマが変わったかどうかを確認するには、REST API を使用してスキーマを取得します。スキーマ ID を使用するには、REST API リソース /vXX.X/event/eventSchema/Schema_ID に対して GET 要求を実行します。または、イベント名をエンドポイント /vXX.X/sobjects/Event_Name/eventSchema に指定して、イベントスキーマを取得することもできます。詳細は、以下を参照してください。
EMP コネクタを使用して、配信されたイベントを受信できます。このコネクタはあらゆる種別のストリーミングイベントを登録し、イベントチャネル名を引数として受け入れます。「例: Java クライアントを使用した登録とイベントの再生」を参照してください。
カスタムロジックをクライアントに追加して、プラットフォームイベント通知の受信後に何らかの操作を実行します。たとえば、このプリンタモデルの新しいカートリッジを注文するための要求をクライアントで作成できます。