1.1.2
API の概要
Shopper Customers API を使用すると、顧客がログインしてプロフィールと商品リストを管理できるようにする機能を開発できます。プロフィール管理には、買い物客が住所と支払方法を追加または変更できる機能と、ほしい物リストやお気に入りに商品を追加したり、これらに含まれる商品を変更したりできる機能が含まれています。Commerce Cloud には、ゲスト買い物客、登録買い物客、顧客代行エージェント、信頼されるシステムによる顧客代行認証のログインを含む、充実した Authentication API がセットとして用意されています。顧客が関与するすべての認証シナリオにおいて、JSON Web Token (JWT) が Commerce Cloud で生成されます。顧客はこの JWT を使って、Orders や Baskets のような他の Shopper API リソースにアクセスできます。アプリケーションは、買い物客のアクティビティ (たとえば、買い物客の買い物カゴに入っている商品を保持する) を長期間保存するために、JWT を 30 分ごとにリフレッシュする必要があります。
認証と認可
顧客情報をリクエストするクライアントは、Customer リソースと Product List リソースへのアクセス権が必要です。API リクエストでは、リクエストのヘッダーにシステムからシステムへのベアラートークンを渡します。信頼されるシステム API では、信頼されるクライアントは、顧客を代行してログインするために、まず Account Manager に対して認証を行う必要があります。
SLAS から買い物客アクセストークンをリクエストする方法の詳細については、SLAS ガイドのパブリッククライアントとプライベートクライアントのゲストユーザーフローを参照してください。
SLAS トークンの生成に使用するクライアント ID には、関連するスコープを含める必要があります。詳細については、認可スコープカタログを参照してください。
ユースケース
新規顧客の登録
このユースケースでは、B2C Commerce API を使用して構築されたコマース買い物アプリを閲覧している顧客が、次回の訪問時にログインして注文を追跡できるように顧客プロフィールを作成したいとします。
API フローは以下の図のとおりです。

- 買い物客が買い物アプリを開きます。
- アクセストークンを SLAS にリクエストします。詳細については、SLAS ガイドのパブリッククライアントとプライベートクライアントのゲストユーザーフローを参照してください。
- SLAS API が買い物客アクセストークン (JWT) を返します。
- 買い物客が商品を買い物カゴに入れます。
- Shopper Baskets API を使用して買い物カゴを作成します。SLAS の Shopper JWT は Authorization ヘッダーで渡されます。
- 買い物客がまだゲストであっても、登録済みユーザーの顧客 ID を使用して買い物カゴを保存します。SLAS の Shopper JWT は Authorization ヘッダーで渡されます。 7.買い物客がプロフィールを作成します。
- Shopper Customers API を使用して顧客を登録します。
顧客に代わる信頼済みシステムの認証
このクロスクラウドのユースケースでは、Experience Cloud ユーザーがプラットフォームの API を使用して、Experience Cloud から Commerce Cloud で注文を行います。Experience Cloud アプリは信頼済みシステムであり、Commerce Cloud Account Manager に対する OAuth client credentials grant を使用して Commerce Cloud と信頼関係を確立しています。Experience Cloud のユーザーは Salesforce IDM へのリダイレクトによってログインし、ログインが正常に行われると、クライアントアプリケーションは顧客を代行して B2C Commerce API を呼び出すことができます。Commerce Cloud は Experience Cloud ユーザーの用の JWT を返し、Experience Cloud ユーザーは Commerce Cloud で注文できるようになります。
API フローは以下の図のとおりです。

顧客のパスワードのリセット
このユースケースでは、B2C Commerce API を使用して構築されたコマース買い物アプリを閲覧している買い物客が、パスワードのリセットをリクエストしています。アプリは買い物客の認証情報を検証し、検証に失敗した場合は 404 を返します。それ以外の場合、買い物客がパスワードのリセットをリクエストすると、アプリはまず買い物客のログイン ID と Account Manager トークン (クライアント認証情報の付与を使用して取得) を使用してパスワードリセットトークンを作成します。アプリは、パスワードリセットトークンを取得した後、買い物客に新しいパスワードを入力するようにとのメッセージを表示できます。パスワードリセットのメール送信など、アプリレベルのカスタマイズはこのステップで行うことができます。最後に、アプリはリセットエンドポイントを呼び出して、顧客のパスワードをリセットします。

買い物客のログイン ID の更新
このユースケースでは、買い物客の loginId を更新するために、B2C Commerce Cloud GA リリース 24.7 以降で PATCH /customers/{customerId} 呼び出しを使用できます。リクエスト内の currentPassword と呼ばれる新しいフィールドは必須であり、買い物客の既存のパスワードと一致する必要があります。loginId を更新しようとしたときに、このフィールドが指定されていない場合、または既存の買い物客のパスワードと一致しない場合は、HTTP 400 レスポンスが返されます。loginId フィールドが PATCH リクエストボディで送信されない場合、この currentPassword フィールドは必須ではありません。
**注: loginId が更新されたら、それ以降の呼び出しのために、買い物客の新しい SLAS トークンを取得する必要があります。
フックの使用
フックの使用方法の詳細については、フックによる拡張性を参照してください。
Let us know so we can improve!