外部連携で押さえておくポイント

今回のテーマは外部連携。
Sales Cloud試験対策としては、一旦認証などのセキュリティ周りは置いておいて、どの場面でどの手法を使用するかが重要視されます。

スポンサーリンク

キーには外部IDを使う

まず、前提となるのが、Salesforceと外部Webサービスで同じ情報を参照するために、それぞれのレコードの間で共通となるキー情報が必要となります。

Salesforce側はSalesforceIdという一意のキーがありますが、外部連携においては推奨されません。
ランダムに割り当てられることと、一度Insertしないと生成されないため、外部連携には不向きです。
一回Insertして、SalesforceIdを外部Webサービスに手動で割り当てるのは手間ですからね。

そのため、ユニークとなる外部IDを使用して、連携のキーとすることが推奨されます
外部IDについては、データインポートの所でも少し触れましたが、以下のデータ型で使用可能となります。

  • テキスト
  • 数値
  • 電子メール

Salesforceから外部Webシステムへの連携

Salesforceから外部のWebサービスへ連携する場合は、以下の方法が使用されます。
それぞれ、用途によって使い分けするため、どれが業務要件に沿っているかの判断が必要になります。

  • カスタムボタン(リンク)
  • バッチ連携
  • Apex(コールアウト)
方法 リアルタイム 大量データ 特殊なロジック
カスタムボタン(リンク) × ×
バッチ連携 × ×
Apex(コールアウト)

このように、一長一短があるので、複数の方法がある訳ですが、重要なのは何を重視するか
リアルタイムの連携が必要であればカスタムボタン(リンク)、大量データを処理したい場合はバッチ連携、数式などで処理できない特殊なロジックを要する場合は独自にApexを組んでその中でコールアウトする必要があります。

外部WebシステムからSalesforceへの連携

今度は逆に外部WebシステムからSalesforceへ連携するケース。
こちらは、SOAPやRESTが使用できるので、外部Webシステムから叩いてあげることで、データの取得や更新が可能になります。

標準のSOAPやRESTで提供しきれない計算があった場合は、Apex RESTなどを使用してカスタムのWebサービスを公開することも可能です。
Apex RESTを使ったWebサービスの組み方はデベロッパー領域なので、興味がある方はこちらを参照。

一応、知識として入れておいて損はないんですが、試験の特性上受け側のケースは出しにくいという印象はありますね。
SOAPを使おうが、RESTを使おうが、外部システムさんが決めればいいでしょという話になるので。
どちらかと言うと、外部システムの資格試験で扱うべき内容に近いかな。

まとめ

最後にまとめに入ります。
といっても、繰り返しになりますが、結局は何を重視したいかがポイントになります。

  • リアルタイムの連携が必要であればカスタムボタン(リンク)
  • 大量データを処理したい場合はバッチ連携
  • 数式などで処理できない特殊なロジックを要する場合はApexからコールアウト

コメント