カスタムチャネルを作成する
学習の目的
このプロジェクトでは、次のことを行います。
- Tooling API でカスタムチャネルを作成する。
- カスタムチャネルに登録して、強化された変更イベントを受信する。
- 既存の強化された項目を更新する。
始める前に
このモジュールを受講する前に、「Quick Start: Connect Postman to Salesforce (クイックスタート: Postman を Salesforce に接続する)」を修了し、Salesforce Platform API コレクションを設定してフォークしている必要があります。ここで行う作業は、上記のプロジェクトの概念と作業上に構築されます。REST API コールは任意の REST API ツールや HTTP クライアントアプリケーションを使用して行えますが、このプロジェクトでは Postman を使用して REST API コールを行う手順を紹介します。
また、プラットフォームイベントと REST API に慣れておくために、次の推奨コンテンツを修了することを検討してください。
- Trailhead の「変更データキャプチャの基礎」モジュール
-
「プラットフォーム API の基本」モジュールの「REST API を使用する」単元
変更データキャプチャチャネルとは?
カスタムチャネルは、複数の登録者が存在するときに、各登録者が異なるオブジェクトセットの変更イベントを受信する場合に便利です。デフォルトの ChangeEvents チャネルに登録する代わりに、関心のあるオブジェクトのイベントのみを受信するカスタムチャネルをアプリケーションで作成して、そのチャネルに登録することができます。1 つ以上のカスタムチャネルを作成し、アプリケーションが登録するチャネルの変更イベントをグループ化することも可能です。
たとえば、会社が注文履行に外部の ERP システムを使用しているとします。Salesforce と ERP システムの取引先レコードを常に同期した状態にするには、Salesforce から ERP システムへ取引先レコードを同期します。登録者アプリケーションでは、取引先、取引先責任者、注文などの営業オブジェクトで有効になっているカスタムチャネルの登録が行われます。このようなレコードの変更イベントはこのチャネルで送信され、他の変更イベントは送信されません。
変更イベントのグループ化に加え、特定のチャネルの変更イベントで強化された項目の送信を分離する場合も、カスタムチャネルを使用してイベント強化を設定できます。イベント強化については次のステップで学習します。
詳細は、『Change Data Capture Developer Guide (変更データキャプチャ開発者ガイド)』の「Subscription Channels (登録チャネル)」を参照してください。
カスタムチャネルを作成する方法は?
PlatformEventChannel を使用すると、Tooling API またはメタデータ API でカスタムチャネルを作成できます。チャネルの通知対象として選択された各オブジェクトは、PlatformEventChannelMember で表されます。複数のオブジェクトの通知でチャネルを有効にできるように、チャネルには複数のチャネルメンバーを設定できます。
このプロジェクトでは、Tooling API を使用してカスタムチャネルを作成します。
Trailhead Playground を起動する
このハンズオンプロジェクトの作業は、あなた個人の Trailhead Playground で行います。Trailhead にログインしていることを確認し、このページの下部にある [Launch (起動)] をクリックして Trailhead Playground を取得します。Playground は新しいブラウザータブまたはウィンドウで開きます。Playground でステップを完了した後、ページの下部にある [Verify Step (ステップを確認)] をクリックしてください。
Postman に Trailhead Playground 組織を接続する
- Trailhead Playground 組織にログインします。
-
「Quick Start: Connect Postman to Salesforce (クイックスタート: Postman を Salesforce に接続する)」プロジェクトを完了して Postman を設定したら、Postman アプリケーションを開いて [Workspace (ワークスペース)] を選択し、Salesforce API コレクションのフォークに移動します。
- [Authorization (認証)] タブで、一番下までスクロールして [Get New Access Token (新しいアクセストークンを取得)] をクリックします。
-
[Allow (許可)] をクリックします。
- [Manage Access Tokens (アクセストークンを管理)] ダイアログで、インスタンス URL をクリップボードにコピーします。
-
[Use Token (トークンを使用)] をクリックします。
- [Variables (変数)] タブで [_endpoint] 行の [CURRENT VALUE] 列に、コピーしたインスタンス URL を貼り付けて、[Save (保存)] をクリックします。ドキュメントペインを閉じないと、[Save (保存)] ボタンが表示されない場合があります。
- 接続が機能していることをテストします。
- [Collections (コレクション)] で、Salesforce Platform API コレクションのフォークを選択します。
-
[REST] を選択して、REST API を展開します。
-
[GET Limits] を選択して、[Send (送信)] をクリックします。
- 応答ウィンドウの [Status (状況)] 項目に [Status: 200 OK] と表示されます。表示されない場合は、ステップを繰り返して新しいトークンを取得します。
Tooling API コールを実行して、カスタムチャネルを作成する
- Salesforce Platform API コレクションのフォークで、[Event Platform (イベントプラットフォーム)] > [Custom Channels (カスタムチャネル)] > [Change Data Capture (変更データキャプチャチャネル)] の順に展開して、[Create channel (チャネルを作成)] をクリックします。
-
[Body (ボディ)] をクリックして、[Raw (未加工)] と [JSON] のオプションが選択されていることを確認します。
- ボディを次の JSON ボディに置き換えます。
{ "FullName": "SalesEvents__chn", "Metadata": { "channelType": "data", "label": "Custom Channel for Sales App" } }
-
[Send (送信)] をクリックします。
- 応答状況が [201 Created (201 作成済み)] であることを確認します。
応答で、次のような新しいカスタムチャネルの ID が返されます。
{ "id": "0YL8b000000sXvSGAU", "success": true, "errors": [], "warnings": [], "infos": [] }
次の画像は Postman での要求と返された応答を示しています。
お疲れさまでした。これで、カスタムチャネルを作成しました。次のステップでは、このチャネルを使用し、チャネルメンバーを追加してイベント強化を設定します。
リソース
- Change Data Capture Developer Guide (変更データキャプチャ開発者ガイド): Change Event Object Support (変更イベントオブジェクトのサポート)
- Change Data Capture Developer Guide (変更データキャプチャ開発者ガイド): ユーザーインターフェースでの変更通知のオブジェクトの選択
- Change Data Capture Developer Guide (変更データキャプチャ開発者ガイド): Example Diagrams for Channels and Channel Members (チャネルとチャネルメンバーのサンプル図)
- Tooling API Developer Guide (Tooling API 開発者ガイド): PlatformEventChannel
- Tooling API Developer Guide (Tooling API 開発者ガイド): PlatformEventChannelMember