信頼できるエージェントによる認可

SLAS では、信頼できる代理エージェント (Trusted Agent On Behalf (TAOB)) という認可メソッドがサポートされています。このメソッドを使用すると、信頼できるエージェントが買い物客のトークンを取得し、特定の買い物客の役割を請け負って買い物客に代わって操作を実行できます。

信頼できるエージェントの認可が買い物客のサポートに使用される次のようなシナリオを考えてみましょう。

  1. ローレンはコールセンターのエージェントで、買い物客の注文をサポートします。
  2. 買い物客であるティムが、コールセンターに連絡します。注文したシャツの数を変更したいのですが、自分で変更するのに手間取っています。
  3. ローレンはティムのアカウントに代理でログインし、買い物カゴに入っている商品を確認します。
  4. ローレンは、ティムの注文に含まれるシャツの数を変更します。
  5. ティムはローレンのサポートに満足し、注文を完了します。

次の図は、信頼できるエージェントの認可フローで使用される一般的な API リクエストとレスポンスを示しています。

関連ダイアグラム - 中

信頼できる代理エージェントの機能の説明は以上です。これで、このガイドの以降の指示に従って、独自の実装を開始する準備が整いました。

Business Manager で、組織の 1 人以上のエージェントのために Login_On_Behalf および Create_Order_On_Behalf の機能の許可を構成します。

詳細な手順については、B2C Commerce Infocenter の Business Manager の機能の許可を参照してください。

  • クライアント ID を作成するか既存のクライアント ID に追加します: scope: sfcc.ta_ext_on_behalf_of
  • リダイレクト URI を設定します

次のコマンドは、信頼できるエージェントを認可する方法を示します。

用意されているサンプルコードを実行する際には、プレースホルダーの値を必ず実際の値に置き換えてください。

まず、信頼できるエージェントのための認可コードを getTrustedAgentAuthorizationToken を使ってリクエストします。

リクエストにより、Account Manager にリダイレクトされ、認証するよう求められます。正常にログインすると、前回のリクエストの redirect_uri パラメーターで渡されたアドレスにリダイレクトされます。リダイレクトの際に、認可コードがクエリパラメーターに含められます。

これで認可コードを入手できたので、getTrustedAgentAccessToken を使用して、信頼できるエージェントのトークンを SLAS にリクエストできます。以下のコマンドで、jpsM6DNwzFtrUIZJDwyRihkRX1g を実際の認可コードと置き換えます。

信頼できるエージェントの JWT は 15 分後に有効期限が切れ、リフレッシュはできません。有効期限が切れると、アプリは認可フローを再開して /trusted-agent/authorize エンドポイントに別のリクエストを行う必要があります。

信頼できるエージェントのトークンは、Shopper エンドポイントのサブセットでのみサポートされます。

必須の Business Manager の役割エンドポイントHTTP メソッド
Create_Order_On_Behalf_Of/orders/**GET, POST, DELETE, PATCH, PUT
Create_Order_On_Behalf_Of/baskets/**POST, PUT, DELETE, PATCH, GET
Create_Order_On_Behalf_Of/customers/**GET, POST, PATCH, PUT
Create_Order_On_Behalf_Of/customers/*/addresses/*DELETE
Create_Order_On_Behalf_Of/customers/*/payment_instruments/*DELETE
Create_Order_On_Behalf_Of/customers/*/product_lists/**DELETE
Create_Order_On_Behalf_Of/gift_certificatePOST
Create_Order_On_Behalf_Of/customers/**GET, POST, PATCH
Create_Order_On_Behalf_Of/customer_lists/**GET, POST
Search_Orders/order_search/*POST
Handle_External_Orders/baskets/calculatePOST
Handle_External_Orders/baskets/shipping_methodsPOST

サポートされていないエンドポイントを呼び出すと、HTTP 403 user-access-forbidden レスポンスが返されます。

他のエンドポイントを呼び出すには、getTrustedSystemAccessToken または getAccessToken からの 2 番目のトークンを使用します。