MuleSoftとSalesforceをAPIで連携する方法について実際の画像や手順を交えて解説します。セールスフォース環境の設定としてアプリケーションマネージャからの接続方法や、AnypointStudio上の実装までも解説しますので参考にしてみてください。
MuleSoftとSalesforceをAPIで連携する
Muleで簡単なHTTPリクエストを受信したときに、レスポンスに接続先Salesforce環境のAccountを表示するAPIを作成します。
今回は接続先Salesforce環境を用意します。こちらはDeveloper Editionで構いません。今回もローカル環境にてAPIを動かすため、Anypoint Platformを経由しません。
Salesforce(セールスフォース)の設定手順
まずはSalesforce側の設定、手順について解説します。
接続アプリケーションを作成する
まずはSalesforce側として接続アプリケーションを作成し、Mule APIと接続できるようにします。
アプリケーションマネージャから接続アプリケーションを作成します。
今回はOAuth認証を使用するため、接続アプリケーションの設定値を以下のようにしてください。
設定項目 | 設定値 |
---|---|
接続アプリケーション名 | 任意名(今回はMuleとの接続なので「Mulesoft」とする) |
API参照名 | 任意名(今回はMuleとの接続なので「Mulesoft」とする) |
取引先責任者メール | 任意のメールアドレス |
OAuth設定の有効化 | チェック |
コールバックURL | 必須項目だが今回は使用しないため、任意の値でOK |
選択したOAuth範囲 | フルアクセス(full) |
接続アプリケーション作成後、「コンシューマ鍵」、「コンシューマの秘密」が発行されるのでその値を控えておきましょう。後にMule側の設定で使用します。
セキュリティトークンを発行する
認証のためにセキュリティトークンも使用するため、接続するSalesforceユーザの私の個人設定→私のセキュリティトークンのリセットからセキュリティトークンを発行します。メールにて送信され、発行されたセキュリティトークンも後のMule側の設定で使用するため控えておきます。
MuleSoft(ミュールソフト)の設定手順
続いてMuleSoftの設定、手順を解説します。
Salesforceコネクタを使用する
Salesforceとの接続にはSalesforceコネクタを使用します。Mule PaletteからSalesforceをドラッグアンドドロップし、モジュールに加えることによって、必要なライブラリがインストールされます。
Salesforceコネクタには色々用意されており、CreateやUpdateなどを駆使すればSalesforce上のデータ操作を行うことが可能です。今回はSalesforceからAccountを取得したいので、Queryコネクタを使用します。
HTTP Listenerの直後にQueryコンポーネントを挿入します。
QueryコンポーネントのプロパティにはSalesforceの接続設定であるConnector configurationとSOQL文であるSalesforce queryをそれぞれ設定します。
Connector configurationにはSalesforceの接続情報を入力します。
設定項目 | 設定内容 |
---|---|
Name | 任意名(画像ではSalesforce_Config) |
Connection | OAuth Username Password |
Consumer key | 接続アプリケーションで取得したコンシューマ鍵 |
Consumer key | 接続アプリケーションで取得したしたコンシューマ鍵 |
Username | 接続するSalesforceユーザのユーザ名 |
Password | 接続するSalesforceユーザのパスワード |
Security token | 接続するSalesforceユーザのセキュリティトークン |
Token endpoint | Salesforce環境に合わせてエンドポイントを設定 DE環境であれば https://login.salesforce.com/services/oauth2/token Sandbox環境であれば https://test.salesforce.com/services/oauth2/token |
他にも細かい設定がありますが、接続の際に必要な最低限の情報は上記ですので、入力後接続検証のためにTest Connectionボタンを押して接続確認します。「Test connection successful」が出ればSalesforceへの接続が成功です。
最後に取得したAccountの一覧をJSON形式に変換するために、Queryの直後にTransform Messageを入れます。以下のように記載することでQueryで返却されたpayload値をJSON形式に変換することができます。
%dw 2.0
output application/json
---
payload
簡単ではありますが、以上でSalesforceのAccountを取得するAPIとなります。実際に動かしてみて取得されているかどうかを確認してみましょう。
連携状況を確認する
上記のAPIを実行すると、取得したAccountの一覧が実行結果として表示され、Salesforceから連携されたこと、そしてAccountの内容が取得できたことが確認できました。
おわりに
このように、Salesforceコネクタを使用することで、Salesforceと連携する事が可能になります。今回はQueryを駆使してのデータ取得でしたが、基本的なCRUD操作はコネクタで対応していますのでMuleを実装する上で幅が広がるのではないかと思います。