強化された変更イベントを受信する
チャネルメンバーを追加し、取引先の通知を有効にして、強化された項目を追加しました。次は、変更イベントを受信して、そのイベントに強化された項目が含まれていることを確認します。
チャネルに登録するには、AppExchange のアプリケーションである Streaming Monitor アプリケーションを使用します。
AppExchange の Streaming Monitor をインストールする
Trailhead Playground 組織を使用している場合、Streaming Monitor アプリケーションの前提条件を満たしていることになるため、インストール手順を進めることができます。Trailhead Playground 組織を使用していない場合は、組織で Lightning Experience が有効になっていることを確認してください。
インストール手順
Trailhead Playground で、組織に [Install a Package (パッケージのインストール)] というタブが表示されている場合は、次の手順を実行します。
-
[Install a Package (パッケージのインストール)] タブをクリックします。
- 項目に
04t1t000003Lgqiを貼り付けます。
-
[Install (インストール)] をクリックします。
-
[Install for Admins Only (管理者のみのインストール)] を選択し、[Install (インストール)] をクリックします。
[Install a Package (パッケージのインストール)] タブが表示されない場合は、アプリケーションランチャー (
) を開いて [Playground Starter] を見つけ、次の手順に従ってください。
Playground Starter アプリケーションが表示されない場合は、こちらのパッケージのインストールリンクをコピーして、Salesforce ヘルプの「Trailhead の Challenge を完了するためのパッケージやアプリケーションのインストール」を参照してください。
パッケージのインストールが終了すると、確認ページが表示され、Playground に関連付けられているアドレスにメールが届きます。
チャネルに登録し、最初の変更イベントを受信する
Streaming Monitor を使用して最初の変更イベントを登録し、新しい取引先レコードを作成してからそのイベントを受信します。試しに最初の変更イベントを取得してみましょう。
カスタムチャネルに登録する
Streaming Monitor をインストールしたら起動して、カスタムチャネルに登録します。
- アプリケーションランチャーをクリックして、検索ボックスに
Streaming Monitorと入力します。[Streaming Monitor] を選択します。
- Streaming Monitor アプリケーションの [Actions (アクション)] で、[Subscribe to a channel (チャネルの登録)] をクリックします。
- [Event type (イベント種別)] で、[Custom Channel - Change event (カスタムチャネル - 変更イベント)] を選択します。
- チャネルには、
SalesEvents__chnを付加します。完全なチャネル名は/data/SalesEvents__chnとなります。
-
[Subscribe (登録)] をクリックします。
- 登録の成功を確認するポップアップが表示されたら、閉じます。

取引先レコードを作成する
- アプリケーションランチャーをクリックして、検索ボックスに
Accounts(取引先) と入力します。
-
[Accounts (取引先)] を右クリックして、新しいタブでリンクを開くことを選択します。
- 新しいタブのアプリケーションランチャーで、
Accounts(取引先) を検索します。
- 次の値を使用して取引先を作成します。
- Account Name (取引先名):
Astro - Industry (業種): Apparel (衣料品)
- External Account ID (外部アカウント ID):
123 - Phone (電話):
4155551212
- [Streaming Monitor] タブに切り替えます。タイムラインビューに新しいイベントがドットとして表示されます。

- イベントメッセージを表示するには、受信したイベントを表すドットをクリックします。イベントペイロードは次の例のようになります。
{
"LastModifiedDate": "2023-08-29T19:22:19Z",
"External_Account_ID__c": "123",
"Name": "Astro",
"Industry": "Apparel",
"Phone": "4155551212",
"OwnerId": "0058b00000HpWcRAAV",
"CreatedById": "0058b00000HpWcRAAV",
"CleanStatus": "Pending",
"ChangeEventHeader": {
"commitNumber": 11658980597990,
"commitUser": "0058b00000HpWcRAAV",
"sequenceNumber": 1,
"entityName": "Account",
"changeType": "CREATE",
"changedFields": [],
"changeOrigin": "com/salesforce/api/soap/58.0;client=SfdcInternalAPI/",
"transactionKey": "00006bed-29af-3dd6-128a-a534cde0836f",
"commitTimestamp": 1693336939000,
"recordIds": [
"0018b00002Vlq7xAAB"
]
},
"CreatedDate": "2023-08-29T19:22:19Z",
"LastModifiedById": "0058b00000HpWcRAAV"
}このイベントは作成操作を対象としているため、まだ追加項目で強化されていません。強化は更新と削除の操作で利用可能です。ただし、External_Account_ID__c と Industry 項目が含まれています。なぜでしょうか? この項目が存在するのは、強化された項目としてではなく、入力された新しい項目の一部として追加されたためです。
強化された変更イベントを受信する
強化された項目が変更イベントに本当に追加されていることを検証してみましょう。SalesEvents__chn チャネルに登録したまま、同じレコードを更新して変更イベントを待ちます。
- 先ほど作成した取引先のタブに切り替えます。
- [Type (種別)] 項目を編集して、[Customer - Direct (顧客 - 直接)] を選択します。
- レコードを保存します。
- Streaming Monitor に切り替えます。新しいイベントペイロードを表示するには、タイムラインで前のイベントの後に続くイベントを表すドットをクリックします。
{
"LastModifiedDate": "2023-08-29T19:26:11Z",
"External_Account_ID__c": "123",
"Industry": "Apparel",
"Type": "Customer - Direct",
"ChangeEventHeader": {
"commitNumber": 11658983493935,
"commitUser": "0058b00000HpWcRAAV",
"sequenceNumber": 1,
"entityName": "Account",
"changeType": "UPDATE",
"changedFields": [
"Type",
"LastModifiedDate"
],
"changeOrigin": "com/salesforce/api/soap/58.0;client=SfdcInternalAPI/",
"transactionKey": "000156e3-6f79-5781-b351-6085bc252aaf",
"commitTimestamp": 1693337171000,
"recordIds": [
"0018b00002Vlq7xAAB"
]
}
}Type (種別) 項目のみが更新された場合でも、このイベント例に示されているように、イベントペイロードには強化された項目である External_Account_ID__c と Industry も含まれています。changedFields 項目は変更された項目を示しています。この場合は、Type 項目が表示されています。また、この更新によって LastModifiedDate 項目が変更されたため、変更された項目としても表示されています。
リソース
- Tooling API Developer Guide (Tooling API 開発者ガイド): EnrichedField
- Tooling API Developer Guide (Tooling API 開発者ガイド): PlatformEventChannelMember
