mcpField
B
b2c-scapi-custom

b2c-scapi-custom

github.com/salesforcecommercecloud開発5782 回インストール今日更新
リポジトリ

b2c-scapi-custom について

b2c-scapi-customは、Salesforce B2C Commerce開発者向けに、SCAPI Custom APIエンドポイントの管理と登録状態の確認を案内するCLIスキルです。設定の解決、状態の絞り込み、問題の診断、B2C MCPでの状態やライブ契約の取得も扱います。

主な機能

  1. 01Custom APIエンドポイントの登録状態確認
  2. 02状態・タイプ・サイトによる絞り込みと分類
  3. 03表示列またはJSON形式の選択
  4. 04未登録エンドポイントとエラー原因の診断
  5. 05dw.json、環境変数、インスタンス設定の解決

活用シーン

  1. 01テナント内のCustom API登録状況の確認
  2. 02未登録エンドポイントと失敗理由の特定
  3. 03スクリプト向けにJSON形式で状態を取得
  4. 04B2C MCPで状態とライブ契約を照会

MCP 対応

B2C MCPが利用できる場合、登録状態にはscapi_custom_apis_get_status、ライブ契約にはscapi_schemas_listを優先します。Admin Custom APIの実行では契約を読み、記載に従ってscapi.requestを呼び出します。Shopperの実行は未対応です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-scapi-custom

インストール後、Claude Code で/b2c-scapi-customを入力して読み込まれたか確認します。

同梱ファイルevals/trigger-evals.json

詳細

B2C SCAPI カスタム API スキル

b2c CLI プラグインを使って、SCAPI カスタム API エンドポイントを管理し、登録状況を確認します。

B2C MCP を利用できる場合は、登録状況の確認には scapi_custom_apis_get_status、最新のコントラクトの取得には scapi_schemas_list を優先してください。Admin カスタム API の実行については、skill://mcp/b2c-mcp-scapi/SKILL.md を読み、エンドポイントを呼び出す前にプログラム内で scapi.request を使ってコントラクトを取得してください。スキーマの読み取りには sfcc.scapi-schemas が必要です。実行には宣言された c_* スコープが必要です。Shopper の実行はサポートされていません。

ヒント: b2c がグローバルにインストールされていない場合は、代わりに npx @salesforce/b2c-cli を使用してください(例:npx @salesforce/b2c-cli scapi custom status)。

設定

tenantId、shortCode、clientId、clientSecret などの値は、dw.json/SFCC_* 環境変数/アクティブなインスタンス/設定プラグインから解決されます。以下の例は最小限の使い方を示しています。設定済みの値を上書きする場合にのみフラグを追加してください。通常、--client-id/--client-secret/--tenant-id/--short-code を渡す必要はありません。必須の値が不足している場合、CLI は該当するフラグ、環境変数、設定キーを示す具体的なエラーを出力します。

b2c setup inspect を実行すると、解決された設定と、各値の取得元を確認できます(スクリプトで使用する場合は --json を指定してください。シークレットはデフォルトでマスクされます)。優先順位のルールとトラブルシューティングについては、b2c-cli:b2c-config スキルを参照してください。

テナント ID と組織 ID

テナント ID は B2C Commerce インスタンスを識別します。組織 ID とは異なります。

  • テナント ID:zzxy_prd(dw.json の tenantId の値、または --tenant-id による上書き値)
  • 組織 ID:f_ecom_zzxy_prd(SCAPI URL で使用され、f_ecom_ プレフィックスが付きます)
ホスト名からテナント ID を導出する

サンドボックスインスタンスの場合、ホスト名のハイフンをアンダースコアに置き換えて、テナント ID を導出します。

ホスト名テナント ID
zzpq-013.dx.commercecloud.salesforce.comzzpq_013
zzxy-001.dx.commercecloud.salesforce.comzzxy_001
abcd-dev.dx.commercecloud.salesforce.comabcd_dev

本番インスタンスの場合は、レルムとインスタンス識別子を使用してください(例:zzxy_prd)。

例

カスタム API エンドポイントのステータスを取得する
# list all Custom API endpoints for the configured tenant
b2c scapi custom status

# list with JSON output
b2c scapi custom status --json

# target a different tenant than the active config
b2c scapi custom status --tenant-id zzxy_prd
ステータスで絞り込む
# list only active endpoints
b2c scapi custom status --status active

# list only endpoints that failed to register
b2c scapi custom status --status not_registered
種類またはサイトでグループ化する
# group endpoints by API type (Admin vs Shopper)
b2c scapi custom status --group-by type

# group endpoints by site
b2c scapi custom status --group-by site
出力列をカスタマイズする
# show extended columns (includes error reasons, sites, etc.)
b2c scapi custom status --extended

# select specific columns to display
b2c scapi custom status --columns type,apiName,status,sites

# available columns: type, apiName, apiVersion, cartridgeName, endpointPath, httpMethod, status, sites, securityScheme, operationId, schemaFile, implementationScript, errorReason, id
登録失敗をデバッグする
# quickly find and diagnose failed Custom API registrations
b2c scapi custom status --status not_registered --columns type,apiName,endpointPath,errorReason
設定の上書き

テナント ID とショートコードは、フラグまたは環境変数で上書きできます。

  • --tenant-id / SFCC_TENANT_ID / dw.json の tenantId
  • --short-code / SFCC_SHORTCODE / dw.json の shortCode
その他のコマンド

利用可能なコマンドとオプションの一覧については、b2c scapi custom --help を参照してください。

OAuth スコープ(手動でのトークン発行)

b2c scapi custom status は、必要なスコープ(ドメインスコープの sfcc.custom-apis とテナントスコープの SALESFORCE_COMMERCE_API:<tenant_id>)を自動的に追加します。このコマンド自体にこれらを渡す必要はありません。

b2c auth token または curl を使って手動でトークンを発行し、カスタム Admin API を直接呼び出す場合、この自動追加は行われません。テナントスコープと使用するスコープをすべて自分で指定する必要があります。b2c auth token は複数のスコープを受け付けます(--auth-scope を繰り返し指定するか、カンマ区切りで指定します)。

# Token for calling a custom Admin API endpoint
b2c auth token \
  --auth-scope "SALESFORCE_COMMERCE_API:zzpq_013" \
  --auth-scope c_my_admin_scope

テナントスコープがないトークンは 403 を返します。リクエストの完全な例については、b2c:b2c-custom-api-development(テストリファレンス)を参照してください。

関連スキル

  • b2c:b2c-custom-api-development - カスタム API エンドポイントの作成(スキーマ、スクリプト、マッピング)
  • b2c-cli:b2c-code - コードバージョンのデプロイと有効化(登録をトリガーします)

コメント