※ これから記載する事項は、私が所属する会社とは一切関係のない事柄です。
今回の記事では、前回の「MuleSoft で B2C Commerce を利用してみる(事前準備編)」に引き続き B2C Commerce へ MuleSoft のコネクターを利用して接続する方法を紹介します。
コネクター内ではSalesforce B2C CommerceのヘッドレスAPIを利用しているので、ヘッドレスAPIについて知りたい場合は先日紹介した下記のQiita記事を参考にしてください。
- Salesforce B2C CommerceのヘッドレスAPIを呼んでみる(ショッパー系API - SCAPIパブリッククライアント編)
- Salesforce B2C CommerceのヘッドレスAPIを呼んでみる(ショッパー系API - SCAPIプライベートクライアント編)
- Salesforce B2C CommerceのヘッドレスAPIを呼んでみる(データ系API編)
- Salesforce B2C CommerceのヘッドレスAPIを呼んでみる(ショッパー系API - OCAPI編)
また、Mulesoft の B2C Commerce へ繋ぐコネクターのヘルプは下記になるので、こちらも参考にしてみてください。
さらに、B2C Commerce コネクタを利用したユースケースが MuleSoft から公開されています。その中の「Accelerator B2C Commerce System API - Implementation Template」はデータ系のAPIを呼ぶ良いサンプルなので、一度ダウンロードしてみるのもおすすめです。
前提
- 今回自身のローカル環境で使用した Anypoint Studio は Version 7.12.0 を利用しています。
モジュールの追加方法
まず、コネクターモジュールをローカルにインストールする方法を紹介します。
Anypoint Studio の右ナビから「Search in Exchange」をクリックして、ポップアップを開きます。
データ系APIを呼ぶ
今回はデータ系APIの顧客情報を取得したいと思います。内部ではSCAPIの「Get Customer From Customer List」を利用しているようです。
データ系・ショッパー系についてはこちらをご覧ください。またSCAPIとOCAPIの違いについてはこちらをご覧ください。
まずは、モジュールの追加方法を参考に「Salesforce Commerce Cloud B2C Data Connector - Mule 4」を追加します。
モジュールをクリックした状態で「Get Customer in Customer List」を任意のフローへドラッグ&ドロップします。
ドラッグ&ドロップしたモジュールを選択した状態で、「+」ボタンをクリックし、接続設定を追加します。
「General」の入力ボックスに下記の内容を入力していきます。(通常は環境変数を使った方が良さそうですが、今回はベタ書きです)
- Base Url
https://{shortCode}.api.commercecloud.salesforce.com
- Short Codeについてはこちらを参照
- Client ID & Client Secret
- 「APIクライアントの作成」で作成したクライアントのIDとパスワード
- Token Url
https://account.demandware.com/dwsso/oauth2/access_token
- Scope
- API を呼ぶ際に必要な API クライアントに設置したスコープ。(スコープ一覧とこちらを参照)
接続設定が追加できたら、顧客情報を取得するためのパラメータを下記のように設定します。
- version
- API のバージョン
- Organization ID
- Organization ID についてはこちらを参照
- List ID
- 顧客リストの ID。B2C Commerce の Business Manager 上から確認。
- Customer No
- リクエストボディの customerNo から取得
取得した顧客情報はそのままレスポンスとして返すように「Transform Message」を設定します。
最後にデプロイし、Postmanで実行して、顧客情報が取得できていたら完了です。
ショッパー系APIを呼ぶ
今回はショッパー系APIの顧客情報を取得したいと思います。内部ではSCAPIの「Get Customer」を利用しているようです。
まずは、モジュールの追加方法を参考に「Commerce Cloud B2C Shop Connector - Mule 4」を追加します。
モジュールをクリックした状態で「Get Customer」を任意のフローへドラッグ&ドロップします。
あとはデータ系の設定と似ているので割愛します。
ヘッダーの「Authorization」をそのまま接続設定の「Authorization」に入れておきましょう。
今回はMuleSoftを利用せずにトークンの取得を行いました。ショッパー系のトークンの取得方法は下記をご覧ください。