# Salesforce Marketing Cloud Streaming Import Integration Salesforce Marketing Cloud(SFMC)は、マーケターがメール、モバイル、ソーシャル、およびオンラインマーケティングオートメーションを行うためのマーケティングオートメーションソリューションです。この連携を使用すると、メール送信、メール開封、メールクリック、SMS送信、SMS未送信などのSFMCイベントをほぼリアルタイムでストリーミングし、さらなる意思決定のためにTD CDPに取り込むことができます。 ## この連携の特徴: - SFMCイベントデータをTDプラットフォームに取り込むための簡単に設定可能なコネクタ - 特定または複数のSFMCイベントにサブスクライブ - 信頼性の高いデータソースとして使用 - 必要に応じてイベントデータのサブスクライブを停止 以下のイベントデータをSFMCからTreasure Dataにストリーミングすることができます: - EmailSent - EmailNotSent - EmailBounced - EmailOpen - EmailClick - EmailUnsubscribe - SmsSent - SmsNotSent データの宛先は以下のように設定できます: - Plazma DB この機能はベータ版です。詳細については、カスタマーサクセス担当者にお問い合わせください。 ## 前提条件 - Treasure Dataの基本知識 - Salesforce Marketing Cloudの基本知識 - [APIキーの取得](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-api-keys) ## 制限事項 - Plazmaでデータが利用可能になるまでの予想ターゲットレイテンシは5〜10分です。 - TDユーザーは、SFMCストリーミング接続を作成するために書き込み専用APIキーを使用する必要があります。 - SFMCアカウントに作成できるコールバックの数に注意してください。これにより、イベントを取り込むためにTDで作成できるソースの数が制限されます。 - SFMCアカウントのメール送信制限に注意してください。[Salesforceの記事](https://help.salesforce.com/articleView?id=000334302&mode=1&sfdcIFrameOrigin=null&type=1)を参照してください。 - データを取り込むテーブルを作成する前に、Plazmaでデータベースとテーブルを作成する必要があります。データベースとテーブルの自動作成の完全なサポートは、次の実装で予定されています。 - 新しく作成されたソースがデータのストリーミングを開始するまで、数秒の遅延が予想されます。 - TD Toolbeltコマンドはストリーミングコネクタではサポートされていません。 - SFMCストリーミング接続にコミットされるイベントサイズは1MBを超えることはできません。 - SFMCストリーミング接続のデータ取り込みエンドポイントのタスクごとの制限は、1秒あたり約400リクエストです。 - アカウントあたり最大2タスクです。 ## 要件 SFMCパッケージAPI連携のセットアップを完了する必要があります。これには、まずSFMCクライアントIDとシークレットを取得する必要があります。 ### SFMCクライアントIDとシークレットの取得 以下の手順は、認証情報を使用して認証するために必要なクライアントIDとクライアントシークレットを見つけるための手順です。 1. Salesforce Marketing Cloudダッシュボードにログインします。 2. **Setup** > **Apps** > **Installed Packages**に移動します。 3. **New**を選択します。 4. パッケージの名前と説明を入力します。 5. **Save**を選択します。 ![](/assets/screen-shot-2021-07-08-at-7.58.10-pm.9d6fc0ca7ba492a46e9dc7cb70ec8848b4736582e73edfa02574d9ed9b2554d7.413c7b35.png) 6. インストール済みパッケージのリストから新しく作成されたパッケージを探します。 7. パッケージ名を選択します。 8. **Add Component**を選択します。 9. **API Integration**を選択してから、**Next**を選択します。 ![](/assets/screen-shot-2021-07-15-at-11.21.22-am.bbb0a181373715bb107d3503f3f33dcd90d284545f1329178564d2a39ff9688d.413c7b35.png) 10. **Server-to-Server**を選択します。 ![](/assets/screen-shot-2021-07-15-at-11.21.34-am.de2bc0d3e2408b44178734fa7846c6fbcb2dbfc1fb891932a9f819a1e12d2371.413c7b35.png) 11. 以下のようにEVENT NOTIFICATIONSオプションを選択します: ![](/assets/screen-shot-2021-07-15-at-11.22.08-am.b3d5be8e9688c00fd7c17095bce3fa4a064649f6053505ff8b84cedc24b876b0.413c7b35.png) これらのオプションにより、コールバックとサブスクリプションの読み取り/作成/更新/削除の操作を実行できます。 **SFMCパッケージセットアップ用のAPIを使用するためのOAuth 2.0スコープ** APIを使用して認証情報を取得する場合、以下のスコープを指定する必要があります: * event_notification_callback_create * event_notification_callback_read * event_notification_callback_update * event_notification_callback_delete * event_notification_subscription_create * event_notification_subscription_read * event_notification_subscription_update * event_notification_subscription_delete 1. **Client Id**と**Client Secret**をコピーします。 これらはTreasure Dataで接続を作成する際に必要です。 2. **Authentication Base URI**と**Rest Base URI**をコピーします。 これらはTDでソースを作成する際に必要です。 ![](/assets/screen-shot-2021-07-08-at-8.02.14-pm.9da1b42f19ad2d7de08c1c73de5f841e727564b3cba7f2a68147371cfd56d3bc.413c7b35.png) ## TD Consoleを使用して接続を作成する ### 新しい接続を作成する Treasure Dataでは、クエリを実行する前にデータ接続を作成して設定する必要があります。データ接続の一部として、連携にアクセスするための認証情報を提供します。 1. **TD Console**を開きます。 2. **Integrations Hub > Catalog**に移動します。 3. Salesforce Marketing Cloud Data Streamingを検索して選択します。 ![](/assets/image2021-8-30_12-45-43.35932ec79c61bd8d20f90fadf6a0008c88cb56a53d619ac785a70097b7f9b57f.413c7b35.png) 4. Create Authenticationを選択します。 ![](/assets/image2021-7-7_14-56-1.8666ba3dbf81d512e19beabf825059d7db1599a53f48a7a0e2b793fd37a37d8b.413c7b35.png)** 5. 以下のパラメータを編集します: | パラメータ | | 説明 | | --- | --- | --- | | Client ID | 必須 | Salesforce Marketing CloudのクライアントID。「SFMCクライアントIDとシークレットの取得」を参照してください。 | | Client Secret | 必須 | Salesforce Marketing Cloudのクライアントシークレット。「SFMCクライアントIDとシークレットの取得」を参照してください。 | | TD API Key | 必須 | データベースへのアクセス用のTD書き込み専用APIキー。[APIキーの取得](https://docs.treasuredata.com/smart/project-product-documentation/getting-your-api-keys)を参照してください。 | 6. **Continue**を選択します。 7. 接続の名前を入力します。 8. **Done**を選択します。 ### Treasure Dataにデータを転送する 認証済み接続を作成すると、自動的にAuthentications一覧ページに移動します。 1. 作成した接続を検索します。 2. **New Source**を選択します。 3. Data Transferフィールドに**Source**の名前を入力します。 4. **Next**を選択します。 5. Source Tableダイアログが開きます。 ![](/assets/image2021-7-7_17-16-44.df994caa0778b8fd1bd6c8374088dfa2692db892de94a25cb93d1bfca9e54692.413c7b35.png) 以下のパラメータを編集します: | パラメータ | 必須 | 説明 | | --- | --- | --- | | Datastore | 必須 | 現在利用可能なオプションはPlazmaのみです。 | | Tags | オプション | タグはこのソースを見つけるために使用できます | | Database | 必須 | データをインポートするTreasure Data内のデータベースを指定します。 | | Table | 必須 | データを配置するデータベース内のテーブルを指定します。 | | Authorization Endpoint | 必須 | 認証URL。認証を提供するために使用するエンドポイント。 | | Rest API Endpoint | 必須 | Salesforce REST APIエンドポイント。 | | Event Categories | 必須 | イベントカテゴリ内で、環境に必要な数のイベントタイプを追加して指定できます。 | | Event Type | 必須 | イベントは生成されるか、システムによってトリガーされるか、ユーザーアクションによって開始されます。値のリストを確認し、監視するイベントタイプを選択します。 | 1. **Create**を選択します。 **Source Id**は注意して扱う必要があります。 ### データプレビュー - ストリーミングデータの場合、プレビューはありません。 ### データ取り込み - コネクタは、ストリーミングデータソースの作成が成功した後、最初のイベントがトリガーされるとすぐにTDでイベントデータの取り込みを開始できます。