インテグレーションユースケースの調査
学習の目的
この単元を完了すると、次のことができるようになります。
- Salesforce で新規作成または更新された取引先を NetSuite の顧客と常に同期させるという課題について説明する。
- MuleSoft Composer を使用して、Salesforce で新規作成または更新された取引先を NetSuite の顧客と同期する方法を説明する。
- フロー作成の準備をする。
始める前に
このモジュールは「MuleSoft Composer Installation and Configuration (MuleSoft コンポーザーのインストールと設定)」に基づいて作成されているため、続行する前に必ずこれを受講してください。先行のモジュールと同様に、インテグレーションフローを構築して実行するためには「MuleSoft Composer ユーザー」権限セットが必要です。
このモジュールでは、受講者が MuleSoft Composer ユーザーとして認証されていると想定しています。ただし、Mulesoft コンポーザーユーザーでなくても問題ありません。このまま読み進んで、どのように手順を実行するのかを学習してください。MuleSoft Composer は Trailhead Playground で使用できないため、記載の手順を Trailhead Playground で実行しないでください。
この単元では、アウトドアやレクリエーション用品の小売企業である Northern Trail Outfitters (NTO) のシステム管理者としての職務に取り組みます。まず、NTO が直面しているインテグレーションの課題を調査し、MuleSoft コンポーザーのインテグレーションソリューションについて学習します。次に、フローの作成の準備方法を学習します。
インテグレーションの課題
では、NTO が直面しているインテグレーションの課題を見てみましょう。最適な顧客関係管理を行うために、NTO の営業チームは取引先を Sales Cloud で管理しています。顧客の管理には NetSuite を使用しています。
現在、営業チームはこうしたタスクを手動で行っています。新しい取引先を獲得または取引先が更新されるたびに、営業担当はまず Sales Cloud で適切な詳細を使用して取引先を作成または更新します。次に、NetSuite に対応する顧客が存在するかどうかを判断します。
- 顧客が存在しない場合は、適切な取引先の詳細 (関連付けられた取引先 ID など) を使用して顧客を新規作成します。続いて Sales Cloud で、関連付けられた顧客の内部 ID を使用して取引先を更新します。
- 顧客が存在する場合は、NetSuite で、関連付けられた取引先 ID を使用して顧客を更新します。
このプロセスは時間がかかり、非常にミスが起きやすいため、チームは自動化したいと考えています。
インテグレーションソリューション
この解決策として、Sales Cloud と NetSuite 間のインテグレーションを自動化して、ニアリアルタイムのインテグレーションを実現する必要があります。そのために、MuleSoft Composer を使用して、Salesforce で新規作成または更新された取引先を NetSuite の顧客と自動的に同期するインテグレーションフローを作成します。具体的に、このフローで実行する必要があるタスクは次のとおりです。
- Sales Cloud で新規作成または更新された取引先を見つける。
- NetSuite に対応する顧客が存在するかどうかを判断する。
- NetSuite に顧客が存在しない場合:
- NetSuite で、適切な取引先の詳細 (関連付けられた取引先 ID など) を使用して顧客を新規作成する。
- Sales Cloud で、関連付けられた顧客の内部 ID を使用して取引先を更新する。
- 顧客が存在する場合は、NetSuite で、関連付けられた取引先 ID を使用して顧客を更新する。
MuleSoft Composer を使用するソリューションを実装するには、次のフロー作成タスクを実行します。
- フロー作成の準備をする。
- フローを設計してテストする。
- フローを有効化する。
- フローを監視し、トラブルシューティングする。
こうしたタスクの実行方法については、このモジュールの残りの部分で学習します。
フローの作成準備をする
準備はよいですか?
まず、これからフローで使用するシステムとアセットについて必要な情報をすべて集めます。次の表は、フローの接続先となるシステムと、各システムの必要な情報を示しています。
システム |
必要な情報 |
|---|---|
NTO の Sales Cloud |
|
NetSuite |
|
フローの設計時とテスト時は、上記のシステムやデータをテスト環境で使用することがベストプラクティスです。テストが完了した後に、本番用のシステムとデータを使用してフローを実行します。
次に、Salesforce 環境と NetSuite 環境の前提条件について説明します。
Salesforce 環境の前提条件
まず、Salesforce と同期するフローを作成して実行するための Sandbox 組織と本番組織があることが前提となります。
メモ: フローの設計とテストを行う Sandbox 組織がない場合は、開発者組織を使用できます。
次の手順に従って無料の開発者組織にサインアップしてください。
-
https://developer.salesforce.com/signup にアクセスします。
- 連絡先情報を入力します。
- 一意のユーザー名を入力します。
-
[サインアップ] をクリックして、お知らせメールが届くのを待ちます。
- お知らせメールのリンクをクリックして、パスワードを設定します。
次に、MuleSoft Composer を使用して Salesforce への接続を作成すると、MuleSoft Composer に権限を付与するように求められます。Sandbox 組織と本番組織の両方の Salesforce アカウントで、MuleSoft Composer に次の権限を付与する準備ができていることを確認します。
- ID URL サービスにアクセスする。
- API を使用してユーザーデータを管理する。
- いつでも要求を実行する。
最後に、Salesforce の取引先で新規顧客の内部 ID をキャプチャするために、NTO 組織の取引先オブジェクトに [NetSuite Customer ID (NetSuite 顧客 ID)] というカスタムテキスト項目が作成されていることを確認します。NTO 組織内の取引先の NetSuite 顧客 ID の例を次に示します。

カスタム項目の作成方法については、「Salesforce オブジェクトのカスタマイズ」を参照してください。
NetSuite 環境の前提条件
管理者ロールを持つ NetSuite ユーザーは、MuleSoft Composer の NetSuite コネクタを使用して、NetSuite と MuleSoft Composer がサポートする他のシステムとの間でインテグレーションタスクを実行できます。MuleSoft Composer を使用して NetSuite への接続を作成する前に、NetSuite ユーザーに NetSuite 管理者ロールが割り当てられていることを確認します。
最初に、各新規顧客で関連付けられた取引先 ID をキャプチャするために、NetSuite の Customer (顧客) エンティティに [Salesforce Account ID (Salesforce 取引先 ID)] という自由形式のカスタムテキスト項目を作成する必要があります。次の手順を実行します。
- ユーザー名とパスワードを使用して、NetSuite にログインします。
-
[Customization (カスタマイズ)] | [Lists, Records, & Field (リスト、レコード、項目)] | [Entity Field (エンティティ項目)] | [New (新規)] をクリックします。
- 項目に次の値を入力します。
- Label (表示ラベル):
Salesforce Account ID(Salesforce 取引先 ID) - Type (データ型): Free-Form Text (自由形式のテキスト)
- [Applies To (適用先)] タブで、[CUSTOMER (顧客)] を選択します。
- [Display (表示)] タブで、[SUBTAB (サブタブ)] 選択リストから [Main (メイン)] を選択して [Save (保存)] をクリックします。
-
[List (リスト)] | [Relationships (リレーション)] | [Customer (顧客)] | [New (新規)] をクリックします。[Salesforce Account ID (Salesforce 取引先 ID)] が表示されます。
![[Salesforce Account ID (Salesforce 取引先 ID)] カスタム項目が表示されている NetSuite の [Customer (顧客)] ページ](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/account-to-customer-data-sync-with-mulesoft-composer/examine-an-integration-use-case-16/images/ja-JP/e005f942e6146cd35b56d2c0f0213664_kix.chuht4c3q42f.png)
次に、NetSuite に 内部 ID を表示可能にするために、[Home (ホーム)] | [Set Preferences (個人設定の設定)] をクリックし、[Show Internal ID (内部 ID を表示)] チェックボックスをオンにして、[Save (保存)] をクリックします。
NetSuite に顧客データが入力されると、フローには顧客エンティティの [Custom Form (カスタムフォーム)] と [Primary Subsidiary (主関連子会社)] という 2 つの項目が必要となります。そのため、フローの関連するステップを設定するために、NetSuite インスタンスで使用されるこれらの項目の値と、それぞれに関連付けられた内部 ID を調べます。次の手順を実行します。
-
[List (リスト)] | [Relationships (リレーション)] | [Customer (顧客)] | [New (新規)] をクリックします。[Customer (顧客)] フォームが表示されます。この例では、[Custom Form (カスタムフォーム)] 項目の値は Standard Customer Form (標準顧客フォーム) になっています。
![[Custom Form (カスタムフォーム)] 項目に Standard Customer Form (標準顧客フォーム) と表示されている NetSuite の [Customer (顧客)] フォーム](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/account-to-customer-data-sync-with-mulesoft-composer/examine-an-integration-use-case-16/images/ja-JP/a7da50489dd434671fb54fd6ae74f2eb_kix.tz1aa7cz8sok.png)
-
[Customization (カスタマイズ)] | [Forms (フォーム)] | [Entry Forms (エントリフォーム)] をクリックします。この例の Standard Customer Form (標準顧客フォーム) の内部 ID は -2 です。フローでは、Standard Customer Form (標準顧客フォーム) にこの内部 ID を使用します。
![[Custom Form (カスタムフォーム)] 項目に Standard Customer Form (標準顧客フォーム) の内部 ID として -2 が表示されている NetSuite の [Custom Entry Forms (カスタムエントリフォーム)] ページ](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/account-to-customer-data-sync-with-mulesoft-composer/examine-an-integration-use-case-16/images/ja-JP/fc788df0de3c0723f7c9005f0913741b_kix.ing08vhm9ic6.png)
- [Customer (顧客)] フォームに戻ります。
- [Primary Subsidiary (主関連子会社)] 項目までスクロールダウンして、[Primary Subsidiary (主関連子会社)] 選択リストから使用可能な最初の値を選択します。この場合は、Honeycomb Mfg です。
- Honeycomb Mfg の横にある [Open (開く)] アイコンをクリックします。[Subsidiary (関連子会社)] フォームが表示されます。この例の関連子会社の URL の末尾にある ID は 1 に等しくなっています。フローでは、Honeycomb Mfg にこの内部 ID を使用します。
![URL に Honeycomb Mfg の内部 ID (ID=1) が表示されている NetSuite の [Subsidiary (関連子会社)] ページ](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/modules/account-to-customer-data-sync-with-mulesoft-composer/examine-an-integration-use-case-16/images/ja-JP/3440a8348e184e51142678757f7c9cc6_kix.4xbpybnx6o4.png)
最後に、NetSuite 接続の値を確認しましょう。
NetSuite 接続パラメーター
MuleSoft Composer を使用して NetSuite への接続を作成する場合、以下のパラメーターの値を指定する必要があります。
Connection Display Name (接続表示名)
接続表示名は、任意の名前です。
Account
NetSuite アカウントを見つけるには、次の手順を実行します。
- NetSuite で、[Setup (設定)] | [Integration (インテグレーション)] | [SOAP Web Services Preferences (SOAP Web サービスプリファレンス)] をクリックします。
- アカウント ID をテキストファイルにコピーして保存します。
コンシューマーキーとコンシューマーシークレット
NetSuite 接続用にコンシューマーキーとコンシューマーシークレットを生成するには、次の手順を実行します。
-
[Setup (セットアップ)] | [Company (会社)] | [Enable Features (機能の有効化)] をクリックします:
-
[SuiteCloud] をクリックします。
- [Manage Authentication (認証の管理)] セクションまでスクロールダウンし、[Token-based Authentication (トークンベース認証)] チェックボックスをオンにします。
- [SuiteCloud Terms of Service (SuiteCloud サービス利用規約)] ページで [I Agree (同意)] をクリックします。
-
[保存] をクリックします。
-
[Setup (セットアップ)] | [Integration (インテグレーション)] | [Manage Integrations (インテグレーションの管理)] | [New (新規)] をクリックします。
- インテグレーションを次のように設定して [Save (保存)] をクリックすると、コンシューマーキーとコンシューマーシークレットが生成されます。
- Name (名前):
Composer Integration(Composer のインテグレーション) - State (状態): Enabled (有効)
- Token-based Authentication (トークンベースの認証): オン
- TBA: Authorization Flow (TBA: 認証フロー): オフ
- OAuth 2.0 Authorization Code Grant (OAuth 2.0 認証コード許可): オフ
- User Credentials (ユーザーログイン情報): オフ


- コンシューマーキーとコンシューマーシークレットをテキストファイルにコピーして保存します。
トークン ID とトークンシークレット
NetSuite 接続用にトークン ID とトークンシークレットを生成するには、次の手順を実行します。
-
[Setup (セットアップ)] | [Users/Roles (ユーザー/ロール)] | [Access Tokens (アクセストークン)] | [New (新規)] をクリックします。
- アクセストークンを次のように設定して [Save (保存)] をクリックすると、トークン ID とトークンシークレットが生成されます。
- Application Name (アプリケーション名):
Composer Integration(Composer のインテグレーション) - Token Name (トークン名):
Composer Integration - [あなたのユーザー名], Administrator
- トークン ID とトークンシークレットを同じテキストファイルにコピーします。MuleSoft Composer を使用して NetSuite 接続を設定するときに、このテキストファイルの値をすべて使用します。
MuleSoft Composer を使用したフローの作成準備の最初の手順を実行しました。次の単元では、フローを設計する方法を学習します。
リソース
