クイックスタート
パブリッククライアントのユースケース
プライベートクライアントのユースケース
SLAS JWT の検証
信頼できるエージェントの認可
信頼できる代理システムの認可
パスワードのリセット
カスタムパラメーターとフック
買い物客プロフィールのマージ
買い物客の追跡環境設定の管理
プロモーションのタイプと要件
Agentic MCP Shopper Tools クイックスタート (パイロット)
URL マッピング
Ask the Community
信頼できる代理システム (Trusted System On Behalf (TSOB)) は、バックオフィスワークフローにおけるシステム間通信用に設計されたログインフローです。次のような場合に使用できます。
TSOB 認証では getTrustedSystemAccessToken エンドポイントを使用しますが、これには sfcc.ts_ext_on_behalf_of スコープをもつ SLAS プライベートクライアントが必要です。詳細については、認可スコープカタログを参照してください。
idp_origin=ecom の場合は、TSOB が B2C Commerce から最新の顧客情報を取得しないため、TSOB を使用しないでください。Note
各買い物客は固有の login_id に関連付けられています。買い物客とのやり取りごとに、その買い物客固有の login_id を使用する必要があります。そうしないと、SLAS と B2C Commerce で複数の買い物客レコードが作成されます。IDP を使用して TSOB に新しい login_id が渡されると、新しい買い物客が作成されます。
各 USID は、特定の買い物客のセッションに対して作成される一意の買い物客 ID です。USID を作成したら、その買い物客のインタラクション全体でその USID を使用できます。SLAS クライアント API アプリケーション (SPA、モバイル、コンポーザブルなど) が USID を処理しますが、これはクライアント API アプリで保存し、SLAS API 呼び出しを行うときに必要に応じて使用する必要があります。
トークンの作成時にクレームサイズに関する問題を回避するため、login_id または email_id は 60 文字以下に制限することを推奨します。
IDP を使用する TSOB (例: Google) は、SLAS がユーザーの有効性を検証するためのチェックを実行するため、ユーザー検証のために IDP を呼び出すことはありません。SLAS の /authorize エンドポイントを使用すると、IDP による最も強力な検証が提供されます。
すべての TSOB フローでは、SLAS プライベートクライアント ID とシークレットを Authorization ヘッダーに含める必要があります。
ゲスト買い物客の TSOB トークンをリクエストするには、次のようにします。
1curl "$https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/$ORG/oauth2/trusted-system/token" \
2-u "$CLIENT:$SECRET" \
3-d 'hint=ts_ext_on_behalf_of' \
4-d 'grant_type=client_credentials' \
5-d "channel_id=$SITE" \
6-d 'idp_origin=ecom' \
7-d 'login_id=guest'ボディパラメーター idp_origin=ecom と login_id=guest を指定します。
登録済み買い物客の TSOB トークンをリクエストするには、次のようにします。
1curl "$https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/$ORG/oauth2/trusted-system/token" \
2 -u "$CLIENT:$SECRET" \
3 -d 'hint=ts_ext_on_behalf_of' \
4 -d 'grant_type=client_credentials' \
5 -d "channel_id=$SITE" \
6 -d 'idp_origin=ecom' \
7 --data-urlencode 'login_id=shopper@salesforce.com'ボディパラメーター idp_origin=ecom と login_id を指定します。この値は既存の登録済み買い物客のログインです。
買い物客が存在しない場合、SLAS は HTTP 400 を返します。
1{
2"status_code": "400 BAD_REQUEST",
3"message": "External user not found"
4}外部 IDP を通じて登録された買い物客の TSOB トークンをリクエストするには、次のようにします。
1curl "$https://$CODE.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/$ORG/oauth2/trusted-system/token" \
2 -u "$CLIENT:$SECRET" \
3 -d 'hint=ts_ext_on_behalf_of' \
4 -d 'grant_type=client_credentials' \
5 -d "channel_id=$SITE" \
6 -d 'idp_origin=$IDP' \
7 -d "login_id=$SHOPPER"ボディパラメーター idp_origin (値は IDP の ID) と login_id (値は買い物客のログイン) を指定します。
買い物客レコードが存在しない場合は、SLAS によって作成されます。買い物客のlogin_id、first_name、および last_name は、指定した値に設定されます。SLAS は、買い物客情報を取得するために IDP と通信しません。
TSOB は、買い物客の SLAS TSOB アクセストークンとリフレッシュトークンを含む TokenResponse を返します。リフレッシュトークンを getAccessToken エンドポイントで使用して、新しい TSOB アクセストークンを取得できます。
access_token がリフレッシュされると、新しいトークンの TTL がリセットされます。また、リフレッシュトークンの TTL もリセットされます。
Note
Important
TSOB アクセストークンには、isb サブクレームに tsob:ts_ext_on_behalf_of タイプが含まれます。
過剰使用を防ぐために、同じ買い物客に対して複数の呼び出しが連続して行われた場合、SLAS は HTTP 409 を返します。
1{
2 "status_code": "409 CONFLICT",
3 "message": "Tenant id <tenant_Id> has already performed a login operation for user id <user_id> on OCAPI in the last 3 seconds."
4}