Memos About Salesforce

Salesforceにハマってたこと!

【SFDC カスタム通知 プラットフォームイベント】プラットフォームイベントの購読をカスタム通知で

f:id:jude2016:20210225140611p:plain
Salesforceプラットフォームイベント

出典:https://www.slideshare.net/DeveloperForceJapan/platform-events-82492862

こんにちは、管理人の@Salesforce.Zです。

プラットフォームイベントって便利な機能だ。Salesforceプラットフォームイベントとは何かはこちら

ある程度分かった前提での記事になる。

今回、プラットフォームイベントを公開したが、Salesforce内部で、購読したい。そして、購読はSalesforceの外部にあるDataSpiderによって購読することになる。

読んだら得ること

★ プラットフォームイベントの公開と購読をDataSpider(Salesforce外部)によってのやり方

目次

プラットフォームイベント

メッセージの公開と購読の方法はそれぞれ、下記の画像通り

f:id:jude2016:20210225140611p:plain
PubSubの方法

出典:https://www.slideshare.net/DeveloperForceJapan/platform-events-82492862

今回、テラス会社の製品であるDataSpiderを使い、メッセージの公開と購読をやる。

プラットフォームイベント公開(Publisher)➜Pub

プラットフォームイベントはsObjectとほぼ同じで、事前に定義する必要がある。 定義済み前提で、進む。

DataSpiderで、定義済のプラットフォームイベントオブジェクトのレコードをinsertするだけで Pubに該当することが完了。

ただし、メッセージを公開だけじゃ、購読する行為がまだ行っていないため、公開行為が成功したかどうかだけ分かる。

Youtubeみたいに、動画を成功にアップロードしただけ。見るには、別の行為が必要。

プラットフォームイベント購読(Subscription)➜Sub

メッセージを公開した後に、どこかで購読したい理由があるはず。

DataSpiderでは、プラットフォームイベントレコードを登録したら、その購読をSalesforceの通知ベルであるカスタム通知をしたい場合

この記事の大事なポイントである。

SFDC内で、カスタム通知を事前に作成したことが前提で、次に進む。

プラットフォームイベントの内容をそのまま、カスタム通知に必要なパラメータを設定すれば、通知ベルに来る。

DataSpiderからSalesforceのカスタム通知はREST

ポイント1:RESTグローバルリソースは、カスタムドメインを使う場合、カスタムドメインに置き換えてください ポイント2スクリプト内で、POSTコンポーネントでは、ヘッダー認証はセッションIDで行う(セッションIDはユーザ情報取得コンポーネント変数セッションIDの15桁以降+組織IDで結合) f:id:jude2016:20210225143457p:plain

ポイント3スクリプト内で、POSTコンポーネントへのマッピング設定に、typeにarrayやobjectや、Stringを指定する必要がある。 f:id:jude2016:20210225143253p:plain

最後に

スクリプト内のPOSTコンポーネントで、ハマっていたので、ご注意してください。認証問題で、auth2認証に行きがち。

typeに、データ型を指定するポイントも大事。

異常