インテグレーションユースケースを検証する
学習の目的
この単元を完了すると、次のことができるようになります。
- Salesforce で新規作成または更新された取引先を NetSuite の顧客と常に同期させるという課題について説明する。
- MuleSoft Composer を使用して、Salesforce で新規作成または更新された取引先を NetSuite の顧客と同期する方法を説明する。
- フローの作成準備をする。
始める前に
このモジュールは「MuleSoft Composer のインストールと設定」に基づいて作成されているため、先に進む前にこちらのモジュールを必ず受講してください。先行のモジュールと同様に、インテグレーションフローを作成して実行するためには「MuleSoft Composer ユーザー」権限セットが必要です。
このモジュールでは、受講者が MuleSoft Composer ユーザーとして認証されていると想定しています。ただし、MuleSoft Composer ユーザーでなくても問題ありません。このまま読み進み、手順をどのように実行するかを学習してください。MuleSoft Composer は Trailhead Playground で使用できないため、記載の手順を Trailhead Playground で実行しないでください。
この単元では、アウトドアやレクリエーション用品の小売企業である Northern Trail Outfitters (NTO) のシステム管理者としての職務に取り組みます。まず、NTO が直面しているインテグレーションの課題を検証し、MuleSoft Composer のインテグレーションソリューションについて理解します。次に、フローの作成の準備方法を学習します。
インテグレーションの課題
では、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 Connector を使用して、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 (自由形式のテキスト)
- Label (表示ラベル):
- [Applies To (適用先)] タブで、[CUSTOMER (顧客)] を選択します。
- [Display (表示)] タブで、[SUBTAB (サブタブ)] 選択リストから [Main (メイン)] を選択して [Save (保存)] をクリックします。
-
[List (リスト)] | [Relationships (リレーション)] | [Customer (顧客)] | [New (新規)] をクリックします。[Salesforce Account ID (Salesforce 取引先 ID)] が表示されます。
次に、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 (標準顧客フォーム) になっています。
-
[Customization (カスタマイズ)] | [Forms (フォーム)] | [Entry Forms (エントリフォーム)] をクリックします。この例の Standard Customer Form (標準顧客フォーム) の内部 ID は -2 です。フローでは、Standard Customer Form (標準顧客フォーム) にこの内部 ID を使用します。
- [Customer (顧客)] フォームに戻ります。
- [Primary Subsidiary (主関連子会社)] 項目までスクロールダウンして、[Primary Subsidiary (主関連子会社)] 選択リストから使用可能な最初の値を選択します。この場合は、Honeycomb Mfg です。
- Honeycomb Mfg の横にある [Open (開く)] アイコンをクリックします。[Subsidiary (関連子会社)] フォームが表示されます。この例の関連子会社の URL の末尾にある ID は 1 に等しくなっています。フローでは、Honeycomb Mfg にこの内部 ID を使用します。
最後に、NetSuite 接続の値を確認しましょう。
NetSuite 接続のパラメーター
MuleSoft Composer を使用して NetSuite への接続を作成するときは、以下のパラメーターに値を指定する必要があります。
接続表示名
接続表示名は任意の名前です。
アカウント
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 (同意します)] をクリックします。
- [Save (保存)] をクリックします。
- [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 (ユーザーログイン情報): オフ
- Name (名前):
- コンシューマーキーとコンシューマーシークレットをテキストファイルにコピーして保存します。
トークン ID とトークンシークレット
NetSuite 接続用のトークン ID とトークンシークレットを生成する手順は、次のとおりです。
- [Setup (設定)] | [Users/Roles (ユーザー/ロール)] | [Access Tokens (アクセストークン)] | [New (新規)] をクリックします。
- アクセストークンを次のように設定して [Save (保存)] をクリックすると、トークン ID とトークンシークレットが生成されます。
- Application Name (アプリケーション名):
Composer Integration
(Composer のインテグレーション) - Token Name (トークン名):
Composer Integration - [あなたのユーザー名], Administrator
- Application Name (アプリケーション名):
- トークン ID とトークンシークレットを同じテキストファイルにコピーします。MuleSoft Composer を使用して NetSuite 接続を設定するときに、このテキストファイルの値をすべて使用します。
MuleSoft Composer でフローを作成する準備の最初の手順を実行しました。次の単元では、フローを設計する方法を学習します。