インテグレーションユースケースを検証する
学習の目的
この単元を完了すると、次のことができるようになります。
- Salesforce で新規作成または更新された取引先責任者を Square の顧客と常に同期させる場合の課題について説明する。
- MuleSoft Composer を使用して、Salesforce で新規作成または更新された取引先責任者を Square の顧客と同期する方法を説明する。
- フローの作成準備をする。
始める前に
このモジュールは「MuleSoft Composer のインストールと設定」に基づいて作成されているため、先に進む前にこちらのモジュールを必ず受講してください。先行のモジュールと同様に、インテグレーションフローを作成して実行するためには「MuleSoft Composer ユーザー」権限セットが必要です。
このモジュールでは、受講者が MuleSoft Composer ユーザーとして認証されていると想定しています。ただし、MuleSoft Composer ユーザーでなくても問題ありません。このまま読み進み、手順をどのように実行するかを学習してください。MuleSoft Composer は Trailhead Playground で使用できないため、記載の手順を Trailhead Playground で実行しないでください。
また、フローでは Square アプリケーションプログラムインターフェース (API) を使用するため、受講者は主要な API の概念 (エンドポイント、ハイパーテキスト転送プロトコル (HTTP) メソッド、HTTP 要求および応答など) に精通していることも想定しています。API についての詳細は「API の基本」を参照してください。また、自己記述的で理解しやすい JSON (JavaScript オブジェクト表記) データも読める必要があります。でも、心配はいりません。MuleSoft Composer の精神に従って、フローで Square API を使用する方法をコードではなくクリックを使用して学習します。
この単元では、アウトドアやレクリエーション用品の小売企業である Northern Trail Outfitters (NTO) のシステム管理者としての職務に取り組みます。まず、NTO が直面しているインテグレーションの課題を検証し、MuleSoft Composer のインテグレーションソリューションについて理解します。次に、フローの作成の準備方法を学習します。
インテグレーションの課題
では、NTO が直面しているインテグレーションの課題を見てみましょう。最適な顧客関係管理を行うために、NTO の営業チームは取引先責任者を Sales Cloud で管理しています。顧客の管理には Square を使用しています。
現在、営業チームはこうしたタスクを手作業で行っています。新しい取引先責任者を獲得または更新するたびに、営業担当はまず Sales Cloud で適切な詳細を使用して取引先責任者を作成または更新します。次に、Square に対応する顧客が存在するかどうかを調べます。
- 顧客が存在する場合は、Square で、関連付けられた取引先責任者の詳細を使用して顧客を更新します。続いて Sales Cloud で、関連付けられた顧客 ID を使用して取引先責任者を更新します。
- 顧客が存在しない場合は、Square で、適切な取引先責任者の詳細 (関連付けられた取引先責任者 ID など) を使用して顧客を新規作成します。続いて Sales Cloud で、関連付けられた顧客 ID を使用して取引先責任者を更新します。
このプロセスは時間がかかり、ミスが起こりやすいため、チームは自動化したいと考えています。
インテグレーションソリューション
この解決策として、Sales Cloud と Square 間のインテグレーションを自動化して、ニアリアルタイムのインテグレーションを実現する必要があります。そのために、MuleSoft Composer を使用して、Salesforce で新規作成または更新された取引先責任者を Square の顧客と自動的に同期するインテグレーションフローを作成します。具体的には、このフローで次のタスクを実行します。
- Sales Cloud で新規作成または更新された取引先責任者を見つける。
- Square に対応する顧客が存在するかどうかを判断する。
- 顧客が存在する場合:
- Square で、適切な取引先責任者の詳細 (関連付けられた取引先責任者 ID など) を使用して顧客を更新する。
- Sales Cloud で、関連付けられた顧客 ID を使用して取引先責任者を更新する。
- 顧客が存在しない場合:
- Square で、適切な取引先責任者の詳細 (関連付けられた取引先責任者 ID など) を使用して顧客を作成する。
- Sales Cloud で、関連付けられた顧客 ID を使用して取引先責任者を更新する。
MuleSoft Composer では HTTP コネクタが提供されているため、API を使用してクラウドアプリケーションに接続できます。Square では他のシステムが Square のクラウドアプリケーションとやりとりするための API が提供されています。このモジュールでは、HTTP コネクタと Square API を使用して Salesforce の取引先責任者を Square の顧客と同期するフローを作成して実行します。
MuleSoft Composer を使用するソリューションを実装するには、次のフロー作成タスクを実行します。
- フローの作成準備をする。
- フローを設計してテストする。
- フローをアクティブ化する。
- フローを監視してトラブルシューティングする。
上記のタスクの実行方法については、このモジュールの後続の単元で説明します。
フローの作成準備をする
では始めましょう。
まず、フローで使用するシステムやアセットに関する必要な情報をすべて収集します。次の表は、フローの接続先となるシステムと、各システムに必要な情報を示しています。
システム | 必要な情報 |
---|---|
NTO の Sales Cloud |
|
Square |
|
フローの設計時とテスト時は、上記のシステムやデータをテスト環境で使用することがベストプラクティスです。テストの終了後、本番用のシステムとデータを使用してフローを実行します。
次に、Salesforce 環境と Square 環境の前提条件について説明します。
Salesforce 環境の前提条件
前提条件として、Salesforce と同期するフローを作成して実行する Sandbox 組織と本番組織が必要です。
メモ: フローを設計してテストする Sandbox 組織がない場合は、開発者組織を使用できます。
次の手順に従って無料の開発者組織にサインアップします。
- https://developer.salesforce.com/signup にアクセスします。
- 連絡先情報を入力します。
- 一意のユーザー名を入力します。
- [Sign me up (サインアップ)] をクリックして、お知らせメールが届くまで待ちます。
- お知らせメールのリンクをクリックして、パスワードを設定します。
次に、MuleSoft Composer を使用して Salesforce への接続を作成すると、MuleSoft Composer に権限を付与するように求められます。Sandbox 組織と本番組織の両方の Salesforce アカウントで、MuleSoft Composer に次の権限を付与する準備ができていることを確認します。
- ID URL サービスにアクセスする。
- API を使用してユーザーデータを管理する。
- いつでも要求を実行する。
次に、Salesforce の取引先責任者で Square の顧客 ID を取得するために、NTO 組織の取引先責任者オブジェクトに Square Customer ID (Square 顧客 ID) というカスタムテキスト項目が作成されていることを確認します。NTO 組織内の取引先の Square 顧客 ID の例を次に示します。
カスタム項目の作成方法については、「Salesforce オブジェクトのカスタマイズ」を参照してください。
次に、インテグレーションのソース組織となる各 NTO 組織に 2 人の異なるユーザーを使用することが重要です。
- 1 人のユーザーは NTO 組織接続のみで使用して、関連付けられているフローの作成ステップまたは更新ステップを実行します。以後、このユーザーをコンポーザーユーザーと呼びます。
- 他方のユーザーは、実行時に NTO 組織でデータを作成または更新するエンドユーザーです。
このように業務を分離しておき、最初の 2 つのタスクを実行することで、フローの実行時に無限ループに陥ってしまう問題を回避します。この問題は、フローで NTO ユーザーを使用して NTO 組織で更新ステップを実行し、同じユーザーを使用して実行時に NTO 組織でデータを更新すると発生します。
Salesforce でユーザーを作成する方法は、「ユーザー管理」を参照してください。
無限ループに陥ってしまう問題を回避するための 2 番目のタスクは、NTO 組織で実行時に更新を実行するユーザーがコンポーザーユーザーではないことをフローで確認することです。そのためには、コンポーザーユーザーの Salesforce ID を特定して、フローで関連するステップを設定します。次の手順を実行します。
- コンポーザーユーザーのユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーに
People
(人) と入力し、[People (人)] を選択します。 - コンポーザーユーザーの名前をクリックします。
- URL を確認します。ユーザーの Salesforce ID は URL の末尾のほうに表示されています。この例では 0051U0000026WFLQA2 です。後ほど、フローでこの Salesforce ID を使用します。
Square 環境の前提条件
まず、フローで Square API にアクセスして使用するには、速やかな方法で無料の Square Developer アカウントにサインアップします。次の手順を実行します。
- 「Square Developer Sign-up (Square Developer サインアップ)」に移動します。
- メールアドレス、パスワード、国を入力します。
- [I agree to Square's Terms (Square の利用規約に同意します)] チェックボックスをオンにして [Continue (続行)] をクリックします。アカウントが作成され、開発者ダッシュボードが開きます。
- [Applications (アプリケーション)] ページで [+] (プラス) ボタンをクリックし、アプリケーション名に
Composer app
(コンポーザーアプリケーション) と入力し、[Save (保存)] をクリックします。これで Square API を試したりテストしたりするために使用できる Square アカウントができました。
次に、フローでベアラートークン認証方法を使用して Square Sandbox への接続を作成するため、コンポーザーアプリケーションからアクセストークンとベース URL を取得します。
次の手順を実行します。
- コンポーザーアプリケーションで [Open (開く)] をクリックします。[Credentials (ログイン情報)] ページが開き、Sandbox が強調表示されています。
- [Sandbox Access token (Sandbox アクセストークン)] 項目までスクロールダウンして、[Show (表示)] をクリックします。
- アクセストークンをコピーして、任意のテキストファイルに貼り付けます。
- [Credentials (ログイン情報)] ページに戻り、[using the Connect v2 sandbox (Connect v2 Sandbox を使用)] をクリックします。[Square Sandbox] ページが新しいタブで開きます。
- [Overview (概要)] セクションで Sandbox エンドポイントをコールするためのベース URL をコピーして同じテキストファイルに貼り付けます。
https://connect.squareupsandbox.com
です。
最後に、[Square Sandbox] ページで [Docs & Tools (ドキュメントとツール)] | [API Explorer] をクリックします。API Explorer ツールが開きます。
API Explorer ツールを使用して顧客 API のさまざまな HTTP メソッドを試してみてください。特に [Request (要求)] セクションと [Response (応答)] セクションに注目してください。ここには JSON 形式でデータが表示されています。フローでも類似する要求と応答の例を使用します。API Explorer ツールの使用方法についての詳細は『API Explorer guide (API Explorer ガイド)』を参照してください。
MuleSoft Composer でフローを作成する準備の最初の手順を実行しました。次の単元では、フローを設計する方法を学習します。