---
schema_version: "1"
id: b7f051b8af166285c74621b68488eff563460d178e75aae2fd079750b918aa39
title: Salesforce とのデータインテグレーション
collection: architect
version: next
locale: ja-jp
portal_url: https://docs.salesforce.com/architect/next/ja-jp/decision-guides/guides/data-integration.md
canonical_url: https://staging.architect.salesforce.com/docs/architect/ja-jp/decision-guides/guide/data-integration.html
source_site: staging.architect.salesforce.com
content_type: documentation
content_hash: cc9ef958591c84f2b0f3e132c0bdf80dbd7e7835879e5057cdf802d72179f6b4
products:
  - 決定ガイド
  - Architect Site Content Repo
updated_at: 2025-10-01T00:00:00Z
---
## ガイドの概要

Salesforce と外部システム間でデータへのアクセス、同期、共有を行うには、さまざまな方法があります。ただし、すべてのツールが特定のプロジェクトに適しているわけではありません。このガイドでは、Salesforce から入手できるデータインテグレーションツールの概要について説明します。また、特定の使用事例に最も適したツール (またはツールの組み合わせ) の推奨事項や、特定のシナリオで避けるべきツールのガイダンスも提供されます。

この決定ガイドでは、Salesforce に関連するデータレベルのインテグレーションに焦点を当てています。具体的には、次のデータインテグレーションの使用事例について説明します。

- Salesforce から外部システム
- Salesforce への外部システム
- Salesforce 組織から Salesforce 組織

これらは Salesforce アーキテクトが直面するインテグレーションの課題の一部にすぎません。そのため、イベント駆動型インテグレーションに焦点を絞った意思決定ガイドの追加や、プロセスインテグレーションを使用した効果的な顧客または従業員向けワークフローの構築などを予定しています。最後に、ここで説明するツールやアプローチの多くは、より広範な企業全体のインテグレーションの課題を解決するために使用できますが、そのような使用方法はこのガイドの範囲外です。

### ポイント

- **不要なデータ複製を回避します。**データが Salesforce に絶対的に存在する必要がない限り、代わりに Salesforce Connect を使用したデータの仮想化を検討してください。組織のデータが増加すると、最終的にデータ量が増加し、[パフォーマンス](/docs/architect/ja-jp/well-architected/guide/reliable#performance)に悪影響を及ぼし、技術的な負債が増加する可能性があります。データがすでに Salesforce に存在し、外部システムにある必要がある場合は、絶対に必要でない限り、外部システムにコピーしないでください。代わりに、Salesforce API を使用して外部システムがデータにアクセスできるようにします。
- **MuleSoft またはその他のエンタープライズサービスバス (ESB) または抽出-変換-読み込み (ETL) ソリューション (使用可能な場合) を使用し、既存のランドスケープの一部にします。**これらのツールは、データの移行と変換をサポートするために構築されているため、多くの場合、強力な機能を備えており、企業全体でインテグレーションを再利用し、ガバナンスを強化し、インテグレーションの管理を一元化できます。このガイドでは、MuleSoft Anypoint が推奨されるすべての場所で、既存の ESB/ETL ソリューションで十分かどうかを検討します。
- **Data 360 と Data Cloud One を使用して、さまざまなソースのデータをハーモナイズします。**Customer 360 データ モデル、ID 解決、データ統合、その他の機能によって、Data 360 は Salesforce やその他の外部システムのデータを顧客の統合ビューに統合します。また、[Data Cloud One を](/docs/architect/ja-jp/fundamentals/guide/data360_integration_patterns_and_practices.html#unified-multi-org-data-platform-with-data-cloud-one)使用すると、他の Salesforce 組織のユーザーは、データスペースを介して Data 360 から仮想的に共有されたデータに安全にアクセスできます。
- **Data 360 アクション**と有効化を使用して、組織間でデータを移動します異なる組織から Data 360 にデータが取り込まれたら、データ [アクションとアクティブ](/docs/architect/ja-jp/fundamentals/guide/data360_integration_patterns_and_practices.html#data-activation-patterns--data-outbound)化でデータを別の組織に同期できます。この方法は、Marketing Cloud 組織とのインテグレーションに非常に役立ちます。
- **MuleSoft Anypoint を**使用してデータを抽出および移動します MuleSoft Anypoint を使用して、Connect API とデータグラフ API を使用して Data 360 からデータを抽出し、別の Salesforce 組織に移動できます。Data 360 を使用しない場合、データを Data 360 で複製せずに組織間で移動する必要がある場合にも MuleSoft Anypoint を使用できます。
- **アウトバウンドメッセージングを使用して構築する場合は注意が必要です。**Salesforce は、現在の業務量の範囲内でアウトバウンドメッセージングを引き続きサポートしますが、この技術にさらに投資する予定はありません。
- **「API 限定」プロファイルを使用するインテグレーションユーザーライセンスは、すべてのインテグレーションで常に推奨されます。**また、Salesforce では、すべてのインテグレーションで適切に許可された AuthN および AuthZ パターンとして外部クライアントアプリケーションを使用することをお勧めします (接続アプリケーションまたは SOAP ログインを使用)。

## データインテグレーションツールの選択に関する一般的な考慮事項

使用可能なデータインテグレーションツールについて説明する前に、ツールを選択するときにいくつかの一般的な考慮事項に留意してください。アーキテクチャによくあることですが、すべてのビジネス課題に明確な答えがあるわけではありません。インテグレーションの選択時に「状況によって異なります」という言葉を口にしている場合は、正しい場所にいます。

<table>
    <thead>
        <tr>
            <th>考慮すべき領域</th>
            <th>よくある質問</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>既存のツールとランドスケープ</td>
            <td>既存の ESB または ETL ソリューションはありますか?関連するデータに規制要件またはコンプライアンス要件がありますか?統合しようとしているシステムはどこにありますか (クラウドまたは社内)?</td>
        </tr>
        <tr>
            <td>データフロー (タイミング、予想されるユーザーエクスペリエンス、方向性)</td>
            <td>データを同期または非同期で移動する必要がありますか? または一括処理/スケジュールできますか?データレプリケーションは必要か?どのようなシステムを情報源とすべきか?データソースは?対象目的地は?ユーザー操作は必要か?ユーザーはインテグレーションの結果を確認する必要がありますか?例外処理 (再試行、通知、失敗) に関するニーズは?システムはどの程度緊密に結合する必要がありますか?</td>
        </tr>
        <tr>
            <td>実装</td>
            <td>Salesforce 以外のシステムの作業レベルは?インテグレーションの提供を担当するチームは?顧客が好んで使用するツールは?</td>
        </tr>
        <tr>
            <td><a href="/docs/architect/ja-jp/well-architected/guide/intentional#メンテナンス性">メンテナンス性</a></td>
            <td>インテグレーションを維持する必要があるチームは?現在どのようなスキルを持っているか?将来どのようなスキルが必要か?経時的な総所有コストは?ローコードツールまたはプロコードツールを使用してテスト、デバッグ、トラブルシューティングを行う能力はどの程度重要ですか?</td>
        </tr>
        <tr>
            <td><a href="/docs/architect/ja-jp/well-architected/guide/reliable#データ量">データ量</a></td>
            <td>インテグレーションに含まれるデータ量は?<a href="https://trailhead.salesforce.com/content/learn/modules/large-data-volumes">大規模データボリューム</a>(LDV)を使用する予定がありますか?一括変更の頻度は?シングルトン更新はどのような影響がありますか?発生する頻度は?</td>
        </tr>
        <tr>
            <td>制限</td>
            <td>データは複雑な変換を行う必要がありますか?複数のソースシステムのデータを結合する必要がありますか?インテグレーションはユーザーごとにどの程度の頻度で行われますか?合計ユーザー数は?一括データ読み込み (新規インスタンスの初期データ読み込みなど) を事前に計画していますか?</td>
        </tr>
    </tbody>
</table>

## 商品比較

データインテグレーションに使用できるツールの概要と、各オプションの評価を開始する際の考慮事項を次に示します。次のセクションでは、これらのツールの詳細な使用事例と機能の詳細について説明します。

<table>
    <thead>
        <tr>
            <th></th>
            <th>Salesforce から外部システムへ</th>
            <th>外部システムから Salesforce へ</th>
            <th>実行</th>
            <th>必要な追加ライセンス</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Apex アクション</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ</td>
        </tr>
        <tr>
            <td><strong>変更データキャプチャ</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-no">利用不可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ*</td>
        </tr>
        <tr>
            <td><strong>カスタム Apex (REST および SOAP Web サービス)</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ</td>
        </tr>
        <tr>
            <td><strong>外部サービス</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-no">利用不可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ</td>
        </tr>
        <tr>
            <td><strong>Heroku Connect</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>はい</td>
        </tr>
        <tr>
            <td><strong>Data 360</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>はい</td>
        </tr>
        <tr>
            <td><strong>MuleSoft Anypoint</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>はい</td>
        </tr>
        <tr>
            <td><strong>ネイティブSalesforce API</strong></td>
            <td class="guide-table-no">使用不可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ</td>
        </tr>
        <tr>
            <td><strong>OmniScript</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-no">Client-Side***</td>
            <td>はい</td>
        </tr>
        <tr>
            <td><strong>OmniStudio インテグレーション手順</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>はい</td>
        </tr>
        <tr>
            <td><strong>アウトバウンドメッセージング</strong></td>
            <td>理想的ではない</td>
            <td class="guide-table-no">使用不可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ</td>
        </tr>
        <tr>
            <td><strong>プラットフォームイベント</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>いいえ**</td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect/外部オブジェクト</strong></td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">利用可</td>
            <td class="guide-table-ok">サーバー側</td>
            <td>はい</td>
        </tr>
    </tbody>
</table>

[\*大規模変更データキャプチャイベントの使用事例にはアドオンが必要](https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_allocations.htm)

[\*\*大規模プラットフォームイベントの使用事例に必要なアドオン](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm)

\*\*\*ビジネスロジックを Web ブラウザー内で実行しても問題のない状況に適しています。

列の凡例:

- **使用可能**: ほとんどの使用事例で適切に機能
- **理想的でない**: 可能であるが、代替ツールを検討する
- **利用不可**: 今後 12 か月以内にサポートする予定はありません

### Salesforce へのデータの出し入れに関与する可能性があるその他のツール:

データレイヤーインテグレーションの一部の側面をサポートしているが、インテグレーションの問題を解決する主要な手段であると考えてはならないツールは他にもあります。では、これらのツールを簡単に見てみましょう。

**Lightning Web コンポーネント**は通常、プロセスの統合に使用されますが、JavaScript 機能を使用してコールアウトを行うことができるため、これらのトランザクションにデータが関与する可能性があります。

**Salesforce フロー**を使用して、外部サービスまたは Apex アクションで外部コールアウトを調整できます。Salesforce フロー自体は、スタンドアロンのデータインテグレーションツールとはみなされません。

**データインポートウィザードとデータローダー**を使用して、データを同期、インポート、移行できます。データローダーコマンドは、データのインポートとエクスポートを自動化するためにスクリプトを作成することもできますが、[コマンドラインインターフェース](https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/command_line_intro.htm)は Windows 専用であり、どちらのツールもデータ統合戦略のベースとして推奨されません。代わりに、データスチュワードシップとメンテナンス戦略を補完するために使用します。

[**Salesforce CLI**](https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_force_data.htm) データ コマンドを使用して、組織のレコードを操作できます。Bulk API と SObject Tree Save API を使用してデータをインポートおよびエクスポートし、REST API を使用して個々のレコードに対して簡単な CRUD 操作を実行するのに役立つコマンドを使用できます。Salesforce CLI 自体は、スタンドアロンのデータ統合ツールとはみなされません。

**OmniStudio データマッパー**は、Salesforce オブジェクトと JSON データ構造間でデータを移動するための宣言型 ETL ツールとして使用できます。REST インターフェースはデータマッパーインターフェースごとに自動的に作成され、外部システムから Salesforce オブジェクトにデータを宣言的に移動できますが、データマッパースタンドアロンはデータインテグレーション戦略のベースとして推奨されません。データマッパーアクションは、OmniStudio Integration Procedure で使用できます。

[**Dataloader.io**](http://dataloader.io/) は、MuleSoft の Anypoint Platform を搭載した Salesforce 用のもう 1 つのデータローダーツールであり、企業のデータを無制限にすばやく安全にインポート、エクスポート、削除できます。Dataloader.io は、データインテグレーション戦略のベースとしてはお勧めしません。

## Salesforce から外部システム (送信インテグレーション)

Salesforce からの送信インテグレーションでは、さまざまな種類のツール (ローコード、プロコード、ハイブリッド) を検討できます。次のセクションでは、これらの各ツール種別のガイダンスとサンプルソリューションについて説明します。

- [送信インテグレーション用のローコードツール](#salesforce-からの送信インテグレーション用のローコードツール)
- [アウトバウンドインテグレーション用のハイブリッドツール](#salesforce-からの送信インテグレーション用のハイブリッドツール)
- [アウトバウンドインテグレーション用の Pro-Code ツール](#salesforce-からの送信インテグレーション用の-pro-code-ツール)

### Salesforce からの送信インテグレーション用のローコードツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th><strong>使用するケース</strong></th>
            <th><strong>追加ライセンス</strong></th>
            <th><strong>同期 (要求/応答) または非同期 (起動/忘れ)</strong></th>
            <th><strong>複数オブジェクトのサポート</strong></th>
            <th><strong>LDV/Bulk</strong></th>
            <th><strong>テストと導入**</strong></th>
            <th><strong>デバッグ</strong></th>
            <th><strong>組み込みエラー処理/再試行動作</strong></th>
            <th><strong>保存データを暗号化して使用</strong></th>
            <th><strong>認証プロトコル</strong></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>変更データキャプチャ</strong></td>
            <td>Salesforce で行われたレコードレベルの変更を外部システムに公開する必要があり、カスタムペイロードが不要な場合。</td>
            <td>必須</td>
            <td>非同期</td>
            <td>なし</td>
            <td>なし</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">あり</td>
            <td>OAuth</td>
        </tr>
        <tr>
            <td><strong>外部サービス</strong></td>
            <td>フロー、Apex、Einsteinボット、OmniStudioを使用してプロセスを調整する場合、外部システムAPIはOpenAPI仕様を使用して記述されます。</td>
            <td>不要</td>
            <td>同期</td>
            <td class="guide-table-ok">あり</td>
            <td>いいえ</td>
            <td class="guide-table-ok">あり</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>指定ログイン情報</td>
        </tr>
        <tr>
            <td><strong>Heroku Connect</strong></td>
            <td>双方向同期を使用してデータを拡張して Heroku のモバイルアプリケーションや他のアプリケーションを有効にし、データを Salesforce にも複製する場合。</td>
            <td>必須</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>不可</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい、Shield Connect を使用</td>
            <td>OAuth</td>
        </tr>
        <tr>
            <td><strong>OmniStudio インテグレーション手順</strong></td>
            <td>ユーザー操作なしでデータを変換し、ブラウザーではなくサーバーで処理することでパフォーマンスを向上させる必要がある場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>宣言型サポート</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>指定ログイン情報</td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect/外部オブジェクト</strong></td>
            <td>Salesforce UI にデータを表示し、データを外部システムに保存する場合。データは Salesforce に複製されません。</td>
            <td>必須</td>
            <td>同期</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい*</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールと宣言型トレーサーを使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>指定ログイン情報</td>
        </tr>
        <tr>
            <td colspan="11">*バージョン4.01より古いOdataアダプタには、コールアウト制限が適用されます。詳細については、「<a href="https://help.salesforce.com/s/articleView?id=platform.odata_general_limits.htm&type=5">Odata Callout Rate Limit Considerations</a>(Odataコールアウト レート制限に関する考慮事項)」を参照してください。**テストおよびリリースとは、より低い環境で構築し、<a href="https://developer.salesforce.com/docs/metadata-coverage/">メタデータAPI</a>、パッケージ、または変更セットを使用して本番にリリースする機能のことです。</td>
        </tr>
    </tbody>
</table>

### 使用事例:ローコードツールを使用した送信インテグレーション

> 商談が成立したら、関連付けられた商品の注文を会社の ERP システムまたは注文管理システムで作成する必要があります。

**変更データキャプチャ** 商談レコードが更新されると、変更データキャプチャはオブジェクトへの更新を含む変更イベントを公開します。変更イベントは CometD 接続 (または MuleSoft コネクタ) を介して顧客側で消費され、顧客の ERP または注文管理システムの更新に使用されます。外部レコード ID や、インテグレーションに必要なオブジェクト (地域など) の他のデータを常に含めるように変更イベントを強化できます。複数のオブジェクトの変更イベントストリームを*チャネル*に結合することで、登録とストリーム処理を簡略化できます (多数のストリームではなく 1 つのストリームを登録および処理できます)。

**外部サービス** OpenAPI 2.0 または 3.0 仕様をサポートする Web サービスがある場合、Salesforce 内で操作とサービスを外部サービスとして公開できます。API 操作 (注文の作成など) は、商談のフェーズが「成立」に変更されたときに、Flow Builder で作成されたフローの呼び出し可能なアクションとしてコールできます。

**Heroku Connect** Heroku Connect は通常、Heroku Postgres データベースと Salesforce の同期を維持するために使用されます。顧客が Heroku Postgres をソースのトランザクションストアとして使用している場合、Heroku Connect を使用してレコードと変更を Salesforce から Heroku Postgres に同期できます。そこから Heroku ストリーミングコネクタを使用して、これらの変更を Apache Kafka に公開し、ERP や注文管理システムなどのダウンストリームアプリケーションにイベントとして送信できます。

**OmniStudio Integration Procedure** (OmniStudio インテグレーション手順) 注文が送信されると、プロセスを調整する OmniScript で注文の詳細を ERP または MuleSoft コネクタに投稿できます。投稿は、OmniScript (クライアント側) で直接実行することも、Integration Procedure (サーバー側) で間接的に実行することもできます。ERP システムで検証エラーがスローされた場合、OmniScript UI でユーザーに通知し、必要に応じてエラーを翻訳してコンテキスト化する必要があります。

**Salesforce Connect/外部オブジェクト** 商談のフェーズが「成立」に変更されたときに、関連する外部オブジェクトにレコードを挿入するレコードトリガーフローを Salesforce で作成できます。これは[混在トランザクション](https://help.salesforce.com/articleView?id=000328873&type=1&mode=1)であるため、エラーを回避するために、商談の更新と関連外部オブジェクトの挿入の間にゼロ秒の一時停止要素を追加して、新しいトランザクションコンテキストを開始する前に 1 つのトランザクションコンテキストを閉じます。

### Salesforce からの送信インテグレーション用のハイブリッドツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th><strong>使用するケース</strong></th>
            <th><strong>追加ライセンス</strong></th>
            <th><strong>同期 (要求/応答) または非同期 (起動/忘れ)</strong></th>
            <th><strong>複数オブジェクトのサポート</strong></th>
            <th><strong>LDV/Bulk</strong></th>
            <th><strong>テストと導入**</strong></th>
            <th><strong>デバッグ</strong></th>
            <th><strong>組み込みエラー処理/再試行動作</strong></th>
            <th><strong>保存データを暗号化して使用</strong></th>
            <th><strong>認証プロトコル</strong></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Apex アクション</strong></td>
            <td>Salesforce フローを使用して別のシステムへのコールアウトを自動化する場合。開発者は、フローで呼び出すことができる Apex クラスを作成したり、AppExchange から事前作成済みソリューションをダウンロードしたりできます。</td>
            <td>不要</td>
            <td>両方</td>
            <td class="guide-table-ok">あり</td>
            <td>いいえ</td>
            <td class="guide-table-ok">あり</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">あり</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>イベントリレー</strong></td>
            <td>プラットフォームイベントと変更データキャプチャチャイベントを Salesforce から Amazon EventBridge に送信する必要がある場合。イベントリレーは AWS Eventbridge にのみ接続</td>
            <td>いいえ</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>HTTP/1.1 with TLS</td>
        </tr>
        <tr>
            <td><strong>アウトバウンドメッセージング</strong></td>
            <td>ワークフロールールによってトリガーされた受信が保証された、指定されたエンドポイントに HTTP(S) 経由で SOAP メッセージを送信する必要がある場合。</td>
            <td>不要</td>
            <td>非同期</td>
            <td>なし</td>
            <td>なし</td>
            <td class="guide-table-ok">はい</td>
            <td>宣言型サポート</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">あり</td>
            <td>双方向 TLS</td>
        </tr>
        <tr>
            <td><strong>プラットフォームイベント</strong></td>
            <td>Salesforce または外部システムでほぼリアルタイムの変更を行うために、カスタム定義の構造化されたペイロードが必要な場合。</td>
            <td>必須ではありません*</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>OAuth</td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect/外部オブジェクト(カスタムApexアダプタを使用)</strong></td>
            <td>Salesforce UI にデータを表示するが、Odata や GraphQL などの標準プロトコルを使用できない外部システムにデータを保存する場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>複数</td>
        </tr>
         <tr>
            <td><strong>Data 360</strong></td>
            <td>1 つのデータストアで異なるソースのデータをハーモナイズする場合、または他の Salesforce 組織や他の外部システムにデータを複製する場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>複数</td>
        </tr>
    </tbody>
</table>

[\*アドオンは](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm)、大規模な使用事例で必要です。

\*\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

### 使用事例:ハイブリッドツールを使用した送信インテグレーション

> 商談が成立したら、関連付けられた商品の注文を会社の ERP または注文管理システムで作成する必要があります。

**Apex アクション** 商談の状態に基づくレコードトリガーフローは、商談が成立したときに自動的にトリガーできます。フローは、外部コールアウトを使用して注文を注文管理システムまたは ERP ソリューションに送信する呼び出し可能なアクションを実行します。大量送信とマルチサイト注文は、Apex バッチおよびキュー・メカニズムによって処理されます。

**送信メッセージング** [送信メッセージングを設定](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_setting_up.htm)したら、リスナーをホストする指定されたエンドポイント URL に HTTP(S) で SOAP メッセージを送信するように、商談の更新によってトリガーされるワークフロールールを定義できます。メッセージには、アウトバウンドメッセージの作成時に指定した項目が含まれます。通知がキューに入れられた後、送信される前にオブジェクトの情報が変更された場合、更新された情報のみが配信され、メッセージは正常に送信されるまで、または 24 時間が経過するまでキューに残ります。24 時間を過ぎると、メッセージがキューから削除されます。ERP システムで追加データが必要な場合は、外部システムでコールバック要求を実行できるように、送信メッセージで sessionId を渡すことができます。

**プラットフォームイベント** 外部システムでレコードを作成するために必要なデータを含むカスタムペイロードを含むプラットフォームイベントを定義できます。プラットフォーム イベントはレコードの変更時に自動公開されないため、商談のフェーズが「成立」に変更された場合は、Apex、Salesforce Flow、または Process Builder を使用してイベントを公開する必要があります。外部サービスは CometD (または MuleSoft コネクタ) を使用してプラットフォームイベントチャネルをリスンし、外部システムに適切なレコードを作成します。

**Salesforce Connect/外部オブジェクト(カスタム Apex アダプタを使用)** Salesforce Connect/外部オブジェクトに基づくソリューションは、純粋にデータ同期を必要とする使用事例に完全には適していません。ただし、このソリューションは、Salesforce 内のユーザーが外部システムのデータを表示して操作する必要があり、Salesforce でデータを複製できない場合に適用できます。ERP または注文管理システムで Odata または GraphQL プロトコルがサポートされていない場合、開発チームは[Apex コネクタ・](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_connector_start.htm)フレームワークを使用して、サポートされているプロトコルを介した外部システムとの通信を処理する Apex クラスを記述できます。

**Data 360** Data 360 に基づくソリューションは、1 つのデータストアでさまざまなソースのハーモナイズデータを必要とする使用事例に最適です。また、Data 360 をデータハブとして使用して、1 つの Salesforce 組織から複数の Salesforce 組織または他の外部システムにデータを複製する必要がある場合にも使用できます。ソース組織で商談が成立して更新されると、商談データは Data 360 に同期され、アクション、有効化、API などの異なるメカニズムを使用して、Salesforce 組織を含む他のシステムに複製できます。同様に、Data Cloud One を使用して他の Salesforce 組織でデータを複製することなく商談を参照できます。ただし、Data Cloud One では Salesforce 以外のプラットフォームはサポートされていません。

### Salesforce からの送信インテグレーション用の Pro-Code ツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th><strong>使用するケース</strong></th>
            <th><strong>追加ライセンス</strong></th>
            <th><strong>同期 (要求/応答) または非同期 (起動/忘れ)</strong></th>
            <th><strong>複数オブジェクトのサポート</strong></th>
            <th><strong>LDV/Bulk</strong></th>
            <th><strong>テストと導入**</strong></th>
            <th><strong>デバッグ</strong></th>
            <th><strong>組み込みエラー処理/再試行動作</strong></th>
            <th><strong>保存データを暗号化して使用</strong></th>
            <th><strong>認証プロトコル</strong></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>カスタムApex</strong></td>
            <td>ローコードツールで使用できない機能が必要な場合。</td>
            <td>不要</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">あり</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい*</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>外部サービス</strong></td>
            <td>コードから外部システム API へのインテグレーションは、OpenAPI 仕様を使用して記述されます。</td>
            <td>不要</td>
            <td>同期</td>
            <td class="guide-table-ok">あり</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>MuleSoft Anypoint</strong></td>
            <td>インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい*</td>
            <td>複数</td>
        </tr>
    </tbody>
</table>

\*Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「[General Shield Platform Encryption Considerations](https://help.salesforce.com/articleView?id=sf.security_pe_considerations_general.htm&type=5)」を参照してください。

\*\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

### 使用事例:プロコードツールを使用した送信インテグレーション

> 商談が成立したら、関連付けられた商品の注文を会社の ERP または注文管理システムで作成する必要があります。

**カスタム Apex**商談のフェーズが「成立」に変更されたときに ERP または注文管理システムへのコールアウトを実行する商談の Apex トリガーとトリガー ハンドラを作成できます。トリガーから、または DML 操作の実行後にコールアウトを行う場合は、future または queueable というアノテーションが付けられたメソッドを使用する必要があります。トリガーのコールアウトでは、コールアウトの有効期間の間、データベース接続がオープンのままになります。すべての Apex コードは、[Apex ガバナおよび API 制限](https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_overview.htm)に従っており、継続的に改訂されます。

**外部サービス** OpenAPI 仕様を使用して会社の外部 ERP または注文管理システムが定義されている場合、Future メソッドまたはキュー可能ジョブで実行されるこれらのサービスへのコールアウトが簡略化される可能性があります。登録済みの外部サービスは、ボイラープレートコードを記述することなく Apex から直接コールできます。この例では、注文を作成するためのコールアウトを外部サービスで処理できます。

**MuleSoft Anypoint** MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint では、Salesforce や他の多くのエンタープライズシステムのデータへの参照 (および/または更新) アクセスを可能にする API を作成できます。実装を簡略化するために[多数の事前](https://www.mulesoft.com/platform/cloud-connectors)作成済みコネクタが用意されています。また、会社は独自のコネクタを作成して公開することもできます。これらの API は、柔軟なセキュリティポリシーを使用して Anypoint にリリースでき、一元管理とガバナンスをサポートします。API がピーク利用率 (vCore で測定) に合わせて適切にサイジングされている限り、トランザクション量に制限はありません。

## Salesforce への外部システムデータ (受信インテグレーション)

Salesforce への受信インテグレーションでは、さまざまな種類のツール (ローコード、プロコード、ハイブリッド) を検討できます。次のセクションでは、これらの各ツール種別のガイダンスとサンプルソリューションについて説明します。

- [受信インテグレーション用のローコードツール](#salesforce-への受信インテグレーション用のローコードツール)
- [受信インテグレーション用のハイブリッドツール](#salesforce-への受信インテグレーション用のハイブリッドツール)
- [受信インテグレーション用の Pro-Code ツール](#salesforce-への受信インテグレーションのプロコードツール)

### Salesforce への受信インテグレーション用のローコードツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th>使用するケース</th>
            <th>追加ライセンス</th>
            <th>同期 (要求/返信) または非同期 (起動/忘れ)</th>
            <th>複数オブジェクトのサポート</th>
            <th>LDV/Bulk</th>
            <th>テストと導入*</th>
            <th>デバッグ</th>
            <th>組み込みエラー処理/再試行動作</th>
            <th>保存データを暗号化して使用可能</th>
            <th>認証プロトコル</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Heroku Connect</strong></td>
            <td>双方向同期を使用してデータを拡張して Heroku のモバイルアプリケーションや他のアプリケーションを有効にし、データを Salesforce にも複製する場合。</td>
            <td>必須</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>不可</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい、Shield Connect を使用</td>
            <td>OAuth</td>
        </tr>
        <tr>
            <td><strong>OmniStudio インテグレーション手順</strong></td>
            <td>ユーザー操作なしでサードパーティソースからデータをインポートおよび変換する必要がある場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">あり</td>
            <td class="guide-table-ok">あり</td>
            <td class="guide-table-ok">あり</td>
            <td>宣言型サポート</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td>指定ログイン情報</td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect/外部オブジェクト</strong></td>
            <td>Salesforce UI にデータを表示するが、データを Odata や GraphQL などの標準プロトコルを使用できる外部システムに保存する場合。</td>
            <td>必須</td>
            <td>同期</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>複数</td>
        </tr>
    </tbody>
</table>

\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

### 使用事例:ローコードツールを使用した受信インテグレーション

> 組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

**Heroku Connect** Heroku Connect は通常、Heroku Postgres データベースと Salesforce の同期を維持するために使用されます。ERP システムでトランザクションストアとして Heroku Postgres を使用していない限り、この使用事例は使用できません。Heroku Postgres を使用している場合、Postgres テーブルで行われた変更を Heroku Connect を使用して Salesforce のオブジェクトに同期できます。

**OmniStudio Integration Procedure** (OmniStudio インテグレーション手順) ERP システムで取引先責任者レコードが更新されたら、データマッパーで生成された REST API を使用して、データマッパーの読み込みアクションと応答アクションを含む OmniStudio Integration Procedure をコールできます。まず、データマッパーの読み込みアクションで JSON または XML ペイロードが送信されます。このペイロードは、外部 ID 項目に基づいて、または[更新/挿入キー](https://trailhead.salesforce.com/content/learn/modules/omnistudio-data-tools-and-internal-data/build-an-integration-procedure-with-conditional-dataraptor-loads?trail_id=build-guided-experiences-with-omnistudio)を介して取引先責任者レコードを更新/挿入するために使用されます。JSON での単純な応答のみが予想される場合、応答アクションは以前のアクションから関連情報を返し、成功または失敗を示すことができます。ERP システムで特定の応答が予期される場合、データマッパーの変換または抽出アクションを使用して、取引先責任者レコードの更新によってトリガーで生成されたデータを宣言的に含む追加機能を含む JSON または XML 応答を生成できます。このシナリオの主な課題は、同時実行です。API が Salesforce に直接存在するため、同じ取引先責任者レコードを同時に更新するために複数回コールすると、問題が発生します。

**Salesforce Connect/外部オブジェクト** Salesforce Connect および外部オブジェクトは、この使用事例ではお勧めしません。これは、このシナリオでは特に Salesforce でのデータ レプリケーションが必要になるためです。ERP に既存の Salesforce Connect インテグレーションが組み込まれている場合、ERP で変更データデータキャプチャをサポートできれば、外部変更データキャプチャをサポートするように Odata 4.0 コネクタを設定できます。さらに、Salesforce で Pub/Sub API を使用して ERP から変更ストリームを登録するように設定する必要があります。

### Salesforce への受信インテグレーション用のハイブリッドツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th>使用するケース</th>
            <th>追加ライセンス</th>
            <th>同期 (要求/返信) または非同期 (起動/忘れ)</th>
            <th>複数オブジェクトのサポート</th>
            <th>LDV/Bulk</th>
            <th>テストと導入**</th>
            <th>デバッグ</th>
            <th>組み込みエラー処理/再試行動作</th>
            <th>保存データを暗号化して使用可能</th>
            <th>認証プロトコル</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>プラットフォームイベント</strong></td>
            <td>Salesforce または外部システムでほぼリアルタイムの変更を行うために、カスタム定義の構造化されたペイロードが必要な場合。</td>
            <td>必須ではありません*</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>OAuth</td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect/外部オブジェクト(カスタムApexアダプタを使用)</strong></td>
            <td>Salesforce UI にデータを表示する必要があるが、Odata 2.0/4.0 プロトコルを使用できない外部システムにデータを保存する場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td>なし</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>Data 360</strong></td>
            <td>1 つのデータストアで異なるソースのデータをハーモナイズする場合、または他の Salesforce 組織や他の外部システムにデータを複製する場合。Data 360 では、一部のプラットフォームで仮想化もサポートされています。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>複数</td>
        </tr>
    </tbody>
</table>

\*大規模な使用事例には[アドオンが](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm)必要です。

\*\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

### 使用事例:ハイブリッドツールを使用した受信インテグレーション

> 組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

**プラットフォームイベント** 外部システムのカスタムコードは、ERP で取引先責任者レコードが更新されたときにプラットフォームイベントを公開します。Salesforce のトリガー、プロセス、またはフローは、プラットフォームイベントに登録し、イベントが処理されたときに対応する Salesforce オブジェクトを更新できます。プラットフォームイベントは、データが含まれていない顧客の ERP システムに変更が発生したことを示す単なるシグナルとして機能する場合もあれば、Salesforce オブジェクトの更新に必要な実際のデータが含まれる場合もあります。

**Salesforce Connect/外部オブジェクト(カスタム Apex アダプタを使用)** このソリューションは、データ レプリケーションが必要な使用事例には適用されません。このソリューションは、Salesforce で複製できない、または複製できない外部システムの情報を Salesforce のユーザーが表示する必要があり、外部システムで Odata や GraphQL などの標準プロトコルをサポートできない場合に適用されます。「[使用事例:「ハイブリッド ツール](#使用事例ハイブリッドツールを使用した送信インテグレーション)を使用した送信インテグレーション」の Apex カスタム アダプタの使用事例を参照してください。

**Data 360** ERP などの外部システムで取引先責任者を更新する場合、すぐに使用できるコネクタを使用するか、MuleSoft などの API とプロコードツールを使用して、取引先責任者の更新を Data 360 に同期できます。取引先責任者は、ゼロコピーメカニズム (一部のプラットフォームで使用可能) を使用して Data 360 で参照することもできます。Data 360 でデータが使用できるようになると、データを他の Salesforce 組織に同期するためにさまざまな標準インテグレーションメカニズムを使用できます。データは、Data Cloud One を使用して参照でアクセスできます。有効化や他の API を使用して標準のコネクタを使用するか、MuleSoft Anypoint プラットフォームなどのプロコードツールを使用してデータを複製することもできます。

### Salesforce への受信インテグレーションのプロコードツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>ライセンス</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
        </tr>
        <tr>
            <th></th>
            <th>使用するケース</th>
            <th>追加ライセンス</th>
            <th>同期 (要求/返信) または非同期 (起動/忘れ)</th>
            <th>複数オブジェクトのサポート</th>
            <th>LDV/Bulk</th>
            <th>テストと導入****</th>
            <th>デバッグ</th>
            <th>組み込みエラー処理/再試行動作</th>
            <th>保存データを暗号化して使用可能</th>
            <th>認証プロトコル</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>カスタム Apex REST および SOAP Web サービス</strong></td>
            <td>クロスオブジェクト処理やその他の複雑なロジックなど、ネイティブ API エンドポイントで提供される以上の機能が必要な場合。</td>
            <td>不要</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい***</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>MuleSoft Anypoint</strong></td>
            <td>インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい***</td>
            <td>複数</td>
        </tr>
        <tr>
            <td><strong>ネイティブSalesforce API</strong></td>
            <td>REST API、SOAP API、Bulk API、GraphQL API、または gRPC を使用してインテグレーションを構築するために、より詳細な制御が必要な場合や、プロコードスキルセットがある場合。</td>
            <td>必須ではありません*</td>
            <td>両方</td>
            <td class="guide-table-ok">はい*****</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい**</td>
            <td class="guide-table-ok">はい***</td>
            <td>複数</td>
        </tr>
    </tbody>
</table>

\*[API 要求制限](https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_api.htm)および割り当てが適用されます。

\*\*Bulk API には再試行動作の側面があり、多くの API で allOrNone 設定による*ロールバック*保護が提供されています (たとえば、「複合要求およびコレクション要求の [allOrNone パラメーター](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_allornone.htm)」を参照)。

\*\*\*Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「[General Shield Platform Encryption Considerations](https://help.salesforce.com/articleView?id=sf.security_pe_considerations_general.htm&type=5)」を参照してください。

\*\*\*\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

\*\*\*\*\*複合 API では、複数オブジェクトがサポートされます。

### 使用事例:プロコードツールを使用した受信インテグレーション

> 組織の ERP システムで取引先責任者が更新されている。この連絡先情報は Salesforce で更新する必要があります。

**カスタム Apex REST および** SOAP Web サービス取引先責任者オブジェクトに対して CRUD (作成、参照、更新、削除) 操作を実行する Web サービスを Apex コードを使用して作成できます。このサービスは、外部システム (ERP) から SOAP または REST を介して呼び出されます。

**MuleSoft Anypoint** MuleSoft Anypoint の目的は、エンタープライズクラスの API 管理を提供することです。MuleSoft Anypoint には、SAP、Oracle EBS、Oracle ERP、NetSuite などの多くの ERP システムと統合するために使用できる[事前作成済みコネクタ](https://www.mulesoft.com/platform/cloud-connectors)が多数用意されています。これらの ERP システムでイベントをリスンするフローを作成できます (この場合は、新しい取引先責任者が作成されたとき)。フローが開始されると、Salesforce コネクタを使用して新しい取引先責任者レコードが作成されます (取引先責任者がすでに存在する場合は更新します)。また、レプリケーショントランザクションで取引先責任者を他のシステムにシンジケートする必要がある場合は、他のシステムと統合できます。必要に応じて、対応付けおよび変換言語 (DataWeave) を使用して、複数の異なるシステムの情報フローとして複雑なロジックと計算を実行できます。これらのシステムに対する認証は、基本認証や OAuth など、さまざまな認証メカニズムで実行できます。ピーク時の使用率 (vCores で測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

**ネイティブ Salesforce API** ERP システムでの更新トランザクションの完了時 (または完了直後) に、SOAP API を使用して取引先責任者オブジェクトに対して更新/挿入操作を実行したり、Salesforce 組織の取引先責任者 sObjects REST API に対して [PATCH](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_update_fields.htm) を実行したりできます。

## Salesforce to Salesforce インテグレーション

Salesforce to Salesforce 製品のサポート終了。Salesforce to Salesforce により、パートナーが協力して共通の顧客に販売およびサポートすることが簡単になりましたが、Salesforce では他のツールにさらなる革新をもたらすために投資していきます。今後、Salesforce 組織間でデータを共有するには、次の方法をお勧めします。

### Salesforce 組織全体のデータインテグレーション用ツール

<table>
    <thead>
        <tr>
            <th></th>
            <th>ガイダンス</th>
            <th>Cost (コスト)</th>
            <th>タイミング</th>
            <th>ボリューム &amp; スケール</th>
            <th></th>
            <th></th>
            <th>配送およびメンテナンス</th>
            <th></th>
            <th>プライバシーとセキュリティ</th>
            <th></th>
            <th>実装するツール</th>
        </tr>
        <tr>
            <th></th>
            <th><strong>使用するケース</strong></th>
            <th><strong>追加ライセンス</strong></th>
            <th><strong>同期 (要求/応答) または非同期 (起動/忘れ)</strong></th>
            <th><strong>複数オブジェクトのサポート</strong></th>
            <th><strong>LDV/Bulk</strong></th>
            <th><strong>テストと導入*</strong></th>
            <th><strong>デバッグ</strong></th>
            <th><strong>組み込みエラー処理/再試行動作</strong></th>
            <th><strong>保存データを暗号化して使用</strong></th>
            <th><strong>認証プロトコル</strong></th>
            <th><strong>ローコード → プロコード</strong></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><strong>Heroku Connect</strong></td>
            <td>Salesforce 組織間で双方向同期を使用してデータを拡張し、Heroku で実行されているモバイルアプリケーションやその他のアプリケーションからのデータへのアクセスも有効にする場合</td>
            <td>必須</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>いいえ</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい、Shield Connect を使用</td>
            <td>OAuth</td>
            <td>ローコード</td>
        </tr>
        <tr>
            <td><strong>MuleSoft Anypoint</strong></td>
            <td>インテグレーションを構築、オーケストレーション、管理するために単一のエンタープライズクラスの統合ソリューションが必要な場合、従来のポイントツーポイントアーキテクチャを置き換える必要がある場合、API 管理サポートが必要な場合</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>いいえ</td>
            <td class="guide-table-ok">はい**</td>
            <td>複数</td>
            <td>プロコード</td>
        </tr>
        <tr>
            <td><strong>ネイティブSalesforce API</strong></td>
            <td>Salesforce または Heroku Connect が使用できない場合や、より複雑な処理が必要な場合</td>
            <td>不要</td>
            <td>両方</td>
            <td>いいえ</td>
            <td class="guide-table-ok">あり</td>
            <td class="guide-table-ok">あり</td>
            <td>プロコードツールの使用</td>
            <td>なし</td>
            <td class="guide-table-ok">はい**</td>
            <td>複数</td>
            <td>プロコード</td>
        </tr>
        <tr>
            <td><strong>変更データキャプチャ</strong></td>
            <td>Salesforce で行われたレコードレベルの変更を外部システムに公開する必要があり、カスタムペイロードが不要な場合。</td>
            <td>必須</td>
            <td>非同期</td>
            <td>なし</td>
            <td>なし</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>OAuth</td>
            <td></td>
        </tr>
        <tr>
            <td><strong>Salesforce Connect with Cross-Org Adapter (組織間アダプタを使用した Salesforce Connect)</strong></td>
            <td>ある組織のユーザーがデータ複製を使用せずに別の組織のレコードを表示または編集できるようにする場合</td>
            <td>必須</td>
            <td>非同期</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td>なし</td>
            <td>なし</td>
            <td>複数</td>
            <td>ローコード</td>
        </tr>
        <tr>
            <td><strong>Data 360</strong></td>
            <td>ある組織のユーザーが、Data 360 で複製されたデータを使用して別の組織のレコードを表示または編集できるようにする場合。</td>
            <td>必須</td>
            <td>両方</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>プロコードツールの使用</td>
            <td class="guide-table-ok">はい</td>
            <td class="guide-table-ok">はい</td>
            <td>複数</td>
            <td>ハイブリッド</td>
        </tr>
    </tbody>
</table>

\*テストおよびリリースとは、より低い環境で構築し、[メタデータ API](https://developer.salesforce.com/docs/metadata-coverage/)、パッケージ、または変更セットを使用して本番環境にリリースする機能を指します。

\*\*Shield Platform Encryption を有効にすると、特定の動作が変更されます。詳細については、「[General Shield Platform Encryption Considerations](https://help.salesforce.com/articleView?id=sf.security_pe_considerations_general.htm&type=5)」を参照してください。

_プラットフォームイベントは、ある Salesforce 組織から別の組織へのデータの統合には最適ではありません。同じイベントを組織間で「リスン」できないためです。カスタム Apex も、このタイプのインテグレーションにはお勧めしません。_

### 使用事例:複数の Salesforce 組織の接続

> 大企業は複数のビジネスユニット (BU) にまたがって事業を展開しています。各 BU には独自の Salesforce 組織があります。1 人の顧客が企業の複数のビジネスユニットを処理するため、取引先データと商談データが複数の組織に存在するとします。企業は、1 つの組織のすべての BU のすべての取引先および商談データの集計ビューにアクセスする必要があります。

_注:以下のすべてのソリューションは、[ポイント No.1](#ポイント)に従って、データ レプリケーションの量を最小限に抑えるように設計されています。_

さまざまな Salesforce 組織の**Data 360**取引先および商談データは、標準の Salesforce コネクタを使用して Data 360 に取り込むことができます。必要に応じて集計およびハーモナイズすることもできます。Data 360 でデータが集計されると、データレプリケーションなしで Data Cloud One を使用して他の Salesforce 組織からアクセスできます。

**Heroku Connect** 各 BU の個々の組織で、Heroku Connect を使用して Salesforce からの変更を 1 つの Heroku Postgres データベースに同期できます。このシナリオでは、双方向同期は有効になっておらず、Salesforce から Postgres への同期のみが有効になっています。次に、Heroku Connect で Odata プロバイダーを有効にし、集計ビューが必要な Salesforce 組織の外部オブジェクトとして公開するテーブルを選択できます。Salesforce 内から、Heroku の Odata プロバイダーを参照する外部データソースを定義します。

**MuleSoft Anypoint** MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint API は、組織への複数の接続がある Salesforce コネクタを使用して複数の関連する Salesforce 組織から情報を読み取るように設定できます。MuleSoft フローでは、さまざまな Salesforce 組織を照会し、必要に応じて他のサードパーティ情報で強化または強化した特定の構造を返すことができます。API が呼び出されると、すべての適切な Salesforce 組織のコールアウト (この例では取引先と商談の情報を照会) が実行され、コンシューマーがデータを処理できるようになります (UI の可能性が高い)。これらのシステムに対する認証は、基本認証や OAuth などのさまざまな認証メカニズムを介して行うことができます。ピーク時の使用率 (vCore またはコアで測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

**ネイティブの Salesforce API**クエリ操作は、特に数千件のレコードを効率的に抽出するのに適した Salesforce Bulk API 2.0 を使用して、関心のある各組織に発行できます。各組織からクエリ結果を個別に取得し、顧客の要件ごとにカスタムアプリケーションまたはミドルウェアで集計できます。

**Salesforce Connect with** Cross-Org Adapter Salesforce Connect Cross-Org Adapter は、リモート組織の取引先または商談がすべて*異なる*オブジェクトとして中央組織に表示されるため、このシナリオには適していません。たとえば、すべての組織のすべての商談の \[金額] の総計を合計する方法はありません。

**組織間の選択的な更新のシナリオ:**Salesforce 組織 A を使用する営業担当は、組織 A で作業している間に、Salesforce 組織 B のケースデータを表示および更新し、Salesforce 組織 B の親ケースにケースコメントを追加する必要があります。データを組織 A に複製することはできません。

**Heroku Connect** では、上記の「_データ集計シナリオ_」で説明した方法と同じ方法を使用できます。ただし、Odata コネクタを介して外部オブジェクトの CRUD を有効にし、変更を Heroku Postgres に書き戻す必要があります。

**MuleSoft Anypoint** MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。上記の*データ集計シナリオ*で説明した方法と同じ方法を使用できます。

**ネイティブ Salesforce API**は指定ログイン情報を使用し、ネイティブ Salesforce API を呼び出して、関連する Salesforce 組織のデータを参照および更新します。コンポーネントは、データを表示するように設計する必要があります。

**Salesforce Connect with** Cross-Org Adapter 外部オブジェクトのデータを表示する (および外部オブジェクトで CRUD を有効にしている場合はデータを編集) 機能は、[Salesforce 組織間アダプタ](https://help.salesforce.com/articleView?id=sf.xorg_adapter_about.htm&type=5)を介してサポートされます。外部オブジェクト間のリレーションもサポートされるため、外部オブジェクトの親ケースにリンクできます。ただし、リレーションの作成は、既存のデータ型をリレーションデータ型に変換する手動プロセスです。さらに、ケースをより効果的に操作するために Service Cloud 内で行った最適化は、リモート組織にカスケードされません。Salesforce では、組織間アダプターをテストし、使用事例に応じて外部オブジェクトと標準オブジェクトの使用のトレードオフを評価することを強くお勧めします。

**データ同期の組織間**:組織のビジネスユニットの 1 つである Salesforce 組織で顧客の取引先を更新する場合、一貫した取引先情報を維持するために他の Salesforce 組織の取引先オブジェクトを更新する必要があります。

**Data 360** Data 360 は、ある組織から別の Salesforce 組織へのデータ レプリケーションに使用できます。1 つの Salesforce 組織の取引先データは、標準の Salesforce コネクタを使用して Data 360 に取り込むことができます。一括有効化、ほぼリアルタイムのデータアクション、API ベースの有効化などのデータ有効化メカニズムを使用して、データを Data 360 から Salesforce 組織に移行することもできます。

**Heroku Connect** では、上記の「_データ集計シナリオ_」で説明した方法と同じ方法を使用できます。ただし、双方向同期を有効にする必要があります。また、双方向同期により、Postgres テーブルが変更されたときにすべての組織を最新の状態に維持できるため、Salesforce Connect を有効にする必要はなくなりました。

**MuleSoft Anypoint** MuleSoft Anypoint は、エンタープライズクラスの API 管理を提供します。MuleSoft Anypoint のフローデザイナーを使用して、Salesforce で自動起動フローを起動する標準およびカスタムオブジェクトイベントをリスンするように Mule [アプリケーションを設定](https://docs.mulesoft.com/design-center/about-designing-a-mule-application)できます。Mule アプリケーションがトリガーされると、Salesforce の Anypoint Connector を呼び出して任意の数の Salesforce 組織と通信できます。この使用事例では、1 つの Salesforce 組織で取引先レコードが更新されると、Mule アプリケーションは関連する Salesforce 組織の取引先レコードを更新できます。関連する各 Salesforce 組織には、MuleSoft の全体的なアプリケーションフローに組み込まれた一意の更新ステップがあります。これらのシステムに対する認証は、基本認証や OAuth などのさまざまな認証メカニズムを介して実行できます。ピーク時の使用率 (vCore またはコアで測定) に合わせてフローが適切にサイジングされている限り、トランザクション量に制限はありません。

**ネイティブ Salesforce API** [レプリケーション API](https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_guidelines_datareplication.htm)(getUpdated、getDeleted 操作)を使用して組織間でデータを同期できますが、この方法はお勧めしません。

**Salesforce Connect with** Cross-Org Adapter レコードトリガーフローと外部オブジェクトを使用して、Salesforce 組織間で一部のデータの同期を維持できます。たとえば、組織 A の取引先レコードを更新すると、取引先外部オブジェクトの一致するレコードを更新するフローがトリガーされ、取引先外部オブジェクトはそれらの更新を組織 B の取引先レコードに書き込みます。これには、[混合 DML トランザクション](https://help.salesforce.com/articleView?id=000328873&type=1&mode=1)を回避するためにフローセマンティクスを適切に使用する必要があります。また、組織 B の入力規則とフローは、REST/SOAP API によって変更が行われた場合と同じようにトリガーされます。

## 完了の挨拶

このガイドは、Salesforce に関連する新しいデータインテグレーションを計画するときに参照してください。使用可能なオプションの全容と、特定の使用事例にどのように適合するかを把握することをお勧めします。

### ご意見をお聞かせください

お客様に最も関連性の高い記事が公開されるようにしてください。[アンケートに回答](https://sfdc.co/J0cWb)して、このコンテンツに関するフィードバックを提供し、次に何を表示するかお知らせください。
