Shopper API の認可

Shopper Login and API Access Service (SLAS) を設定して、Shopper API 用のアクセストークンをリクエストできるようにする方法を説明します。

Shopper API は Shopper Login and API Access Service (SLAS) でセキュリティ保護されていますが、Admin API は代わりに Account Manager でセキュリティ保護されています。このガイドでは、Shopper API にアクセスする方法についてのみ 説明します。Admin API にアクセスする方法については、Admin API の認可を参照してください。

できるだけ早く運用を開始するために、ここで説明する手順では、SLAS Admin UI と呼ばれる Web アプリケーションを使用します。追加の構成オプションが必要な場合や、自動設定ツールを構築する場合は、UI の代わりに SLAS Admin API を使用することもできます。

(このタスクを行うには、Account Manager で Account Administrator (アカウント管理者) の役割をもっている必要があります。問題が発生した場合は、チームの管理者に相談するか、サポートに連絡してください。)

このガイドで説明する SLAS 管理タスクを実行する各ユーザーは、以下の手順に従って役割とフィルターの設定を行ってください。

  1. Account Manager にログインします。

  2. 左のナビゲーションで User (ユーザー) をクリックします。

  3. ユーザー ID をクリックします。

  4. Roles (役割) まで下にスクロールして、Add (追加) をクリックします。

    関連スクリーンショット

  5. フィルター検索ボックスに「slas」と入力します。

  6. (結果が表示されない場合、その役割はおそらくすでに追加されているため、Cancel (キャンセル) をクリックして、手順 9 に進みます。)

  7. SLAS Organization Administrator (SLAS 組織管理者) を選択します。

    関連スクリーンショット

  8. Add (追加) をクリックします。

  9. SLAS Organization Administrator (SLAS 組織管理者) 役割が含まれている SLAS Shopper Admin API カテゴリを探します。

  10. SLAS Organization Administrator (SLAS 組織管理者) 役割の横にあるフィルターボタンをクリックします。

    関連スクリーンショット

  11. 組織を選択します。

  12. 構成したい特定の B2C Commerce インスタンスのホスト名を選択します。また、各 Sandbox を個別に選択する代わりに、All Sandboxes (すべての Sandbox) を選択することもできます。

  13. Add (追加) をクリックします。

    関連スクリーンショット

  14. ページの一番下までスクロールします。

  15. Save (保存) をクリックします。

(役割の変更が反映され有効になるまで、最大 15 分かかることがあります。)

SLAS クライアントを作成する最も簡単な方法は、SLAS Admin UI を使用する方法です。SLAS Admin UI にアクセスするには、次の URL の {{short-code}} を、自社の B2C Commerce インスタンスで使用されているショートコードに置き換えます。

Commerce Cloud ショートコードの詳細については、ベース URL とリクエストの作成ガイドを参照してください。

これらの手順を繰り返し、Shopper API へのアクセスが必要な各 B2C Commerce インスタンスに SLAS クライアントを作成します。

  1. Account Manager の認証情報を使用して SLAS Admin UI にログインします。

  2. 上部のナビゲーションで、Clients (クライアント) をクリックします。

  3. Add Client (クライアントの追加) をクリックします。

  4. Choose Tenant... (テナントの選択) をクリックし、B2C Commerce インスタンスを選択します。

  5. 「Which App Type will be used?」 (どのアプリタイプを使用しますか?) フィールドで、アプリタイプを選択します。

    • PWA Kit or SFRA or Mobile (PWA Kit または SFRA またはモバイル) を選択すると、パブリッククライアントが作成されます (シークレットは生成されません)。
    • BFF or Web App (BFF または Web アプリ) を選択すると、プライベートクライアントが作成されます (シークレットは自動的に生成されます)。
  6. Submit (送信) をクリックします。

これで SLAS クライアントを使用して、Shopper API 用のアクセストークンをリクエストできるようになりました。

アプリタイプが BFF or Web App の場合、自動生成されたシークレットが結果ページの上部に表示されます。

関連スクリーンショット

セキュリティ上の理由でシークレットは 1 回しか表示できないため、BFF または Web アプリのクライアントを作成する際は必ずそのシークレットをコピーし、セキュアな場所に保存してください。

既存のクライアント用に新しいシークレットを生成するには、以下の操作を行います。

  1. 上部のナビゲーションで、Clients (クライアント) をクリックします。
  2. 以前に作成したクライアント ID の横にある Edit (編集) リンクをクリックします。
  3. アプリタイプを PWA Kit or SFRA or Mobile (PWA Kit または SFRA またはモバイル) に変更します。
  4. Save (保存) をクリックします。
  5. Edit (編集) ボタンをクリックします。
  6. アプリタイプを BFF or Web App (BFF または Web アプリ) に戻します。
  7. Save (保存) をクリックします。
  8. 結果ページの上部に表示されているシークレットをコピーします。

PWA Kit 体験を段階的にロールアウトする場合は、リダイレクト URI を作成して API クライアントに関連付ける作業も必要です。

リダイレクト URI を作成するには、次の文字列の PLACEHOLDER_HOSTNAMEPLACEHOLDER_SITE_ID を、自社の B2C Commerce インスタンスの実際の値に置き換えます。

使用する API クライアントにリダイレクトを関連付けるには、SLAS Admin UI で以下の手順に従います。

  1. 上部のナビゲーションで、Clients (クライアント) をクリックします。

  2. 以前に作成したクライアント ID の横にある Edit (編集) リンクをクリックします。

    関連スクリーンショット

  3. リダイレクトフィールドに | 文字を付加し、続いて、上記で作成したリダイレクト URI を追加します。

    関連スクリーンショット

  4. Save (保存) をクリックします。

SLAS Admin UI を使用してすでに SLAS クライアントを作成済みの場合は、このセクションをスキップできます。

SLAS Admin API を使用すれば、SLAS Admin UI を使用しなくても、パブリッククライアントやプライベートクライアントの作成など、SLAS の管理タスクの自動化を簡単に行えます。また、この API を使用すれば、より広範な構成オプションにアクセスできます。

SLAS Admin API にアクセスするには、SLAS Admin UI を使用して管理トークンを取得します。

  1. SLAS Admin UI にログインします。
  2. 上部のナビゲーションで、Token (トークン) をクリックします。
  3. Copy Admin Token to Clipboard (管理トークンをクリップボードにコピーする) をクリックします。(トークンは 30 分後に有効期限が切れます。)

関連スクリーンショット

管理トークンは SLAS アクセストークンと同じではありません。管理トークンは SLAS Admin API にアクセスする目的でのみ使用できます。Shopper API には使用できません。

API リクエストを正しい書式で作成するために、最初にいくつかの環境変数を設定することが推奨されます。

Unix 系 OS を使用していない場合は、環境変数を設定するコマンドを代用するか、提供されている curl コマンドで後から手動で変数を置き換えることができます。

管理トークンを保存するには、次のコマンドの {{clipboard_contents}} の部分に、上述で SLAS Admin UI からコピーしたトークンをペーストして置き換えます。

次の一連のコマンドを実行する前に、zzte053kv7kzm78 を、自社のレルム ID、インスタンス ID、ショートコードに置き換えます。Business Manager での検索方法など、これらの識別子の詳細については、ベース URL とリクエストの作成ガイドを参照してください。

これで環境変数の設定が完了し、SLAS Admin API へのリクエストを開始できるようになりました。SLAS テナントを作成 (または既存のテナントを更新) して、B2C Commerce インスタンスに関連付けるには、次のように tenants エンドポイントにリクエストします。

SLAS Admin API を使用して SLAS クライアントを作成するには、クライアント ID を始めとするいくつかの追加構成情報を設定する必要があります。

これはclient_id、SLAS サービスに必要な各テナントの汎用一意識別子 (UUID) です。UUID の生成には多くの方法がありますが、uuidgenerator.net に移動してページの上部にある Copy (コピー) をクリックすることをお勧めします。この ID は UUID バージョン 4 の形式である、3 つのハイフンを含む 36 文字に従うことが必要です。

API リクエストで使用するクライアント ID を環境変数に保存するには、次のコマンドの f58d60fd-9230-4ed7-90a4-ee11b5e7f27b を、生成した UUID に置き換えます。

プライベートクライアントを作成する場合、SLAS クライアントのシークレット (パスワード) も作成する必要があります。シークレットは、パスワードマネージャーを使用して生成および保存することをお勧めします。

API リクエストで使用するシークレットを環境変数に保存するには、次のコマンドの D*HHUrgO2%qADp2JTIUi を、そのシークレットに置き換えます。

クライアント ID とシークレットの作成および保存は Account Manager でも行えます。詳細な手順については、B2C Commerce Infocenter の API クライアントの追加を参照してください。

パブリッククライアントとプライベートクライアントの両方を作成する場合、SLAS の重要な設定をコントロールする JSON データをリクエストボディに渡す必要があります。

  • channels 配列により、SLAS クライアントと 1 つまたは複数のチャネルを関連付けることができます。チャネルとは、特定の e コマースサイトを識別するための文字列のことを指します。
  • scopes 配列には、SLAS API がアクセスできるすべての API ファミリーがリストされます。SLAS は最大 30 個のカスタムオブジェクトスコープを処理できます。詳細については、「Shopper Custom Objects API」を参照してください
  • redirectUri 配列を使用して、特定の URI をリダイレクトできます。ワイルドカード文字 (*) はホスト名で使用できます。

例として用意されているリクエストでは、ユーザーのアプリケーション用にカスタマイズできる一般的ないくつかの設定をリクエストボディに入力してあります。

パブリック SLAS クライアントを作成するには、次のコマンドを実行します。

このリクエストはパブリッククライアントを設定するためのものなので、クライアントシークレットは必要ありません。

パブリッククライアントでは sfcc-shopper-context.rw スコープを使用しないことが強く推奨されます。なぜなら、このスコープは保護が少なく、買い物客コンテキストが有効になっているプロモーションに悪意のある攻撃者がアクセスできてしまう可能性があるからです。プライベートクライアントでは sfcc-shopper-context.rw スコープを使用することが強く推奨されます。

プライベート SLAS クライアントを作成するには、次のコマンドを実行します。

これで SLAS クライアントを設定する方法を学び終えました。次は、API リクエストを実行してみましょう。入門ガイドシリーズの最後のガイド、ベース URL とリクエストの作成では、API リクエストをどのように作成するかについて説明します。

パブリック SLAS クライアントとプライベート SLAS クライアントを使用して Shopper API にアクセスする方法の詳細については、SLAS ガイドを参照してください。

SLAS API の機能に関する技術的な詳細については、参照資料セクションの次の API 仕様を参照してください。

Admin API にアクセスする方法については、Admin API の認可を参照してください。