b2c-scapi-schemas について
b2c-scapi-schemasは、Salesforce B2C Commerceの標準およびテナント固有のSCAPI OpenAPI契約を調べるスキルです。MCPツールまたはb2c CLIで、カスタムAPIや属性を含む操作やフィールドを確認できます。
主な機能
- 01AdminとShopperの契約検索
- 02ライブスキーマとカスタムAPIの一覧
- 03操作の入力とフィールドの確認
- 04カスタムプロパティ定義の展開
- 05カスタムAPI登録状態の確認
活用シーン
- 01SCAPIのメソッドとパスの特定
- 02テナント固有の契約フィールド確認
- 03カスタムAPIの登録状態確認
- 04AdminまたはShopper API呼び出しの準備
MCP 対応
B2C MCPが利用できる場合、scapi_searchでAdminおよびShopperの契約を検索し、scapi_schemas_listでライブスキーマとカスタムAPIを調べます。テナント固有のライブスキーマにはsfcc.scapi-schemasが必要です。scapi_executeは対応するAdminおよびゲストShopper API呼び出しを実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-scapi-schemasインストール後、Claude Code で/b2c-scapi-schemasを入力して読み込まれたか確認します。
同梱ファイルevals/trigger-evals.jsonreferences/CLI-EXAMPLES.md
詳細
B2C SCAPI スキーマスキル
標準またはテナント固有の SCAPI OpenAPI コントラクトを参照します。
ツールの選択
B2C MCP が利用可能な場合は、Admin および Shopper のコントラクトには scapi_search を優先して使用してください。
まず、リソースまたは skills_read を使って skill://mcp/b2c-mcp-scapi/SKILL.md を読み込み、
skillRead: true を渡します。メソッド、パス、operationId を特定してから、必要な入力と
フィールドを選択します。デフォルトでは、バンドルされた標準コントラクトをオフラインで検索します。schemas: "live"
を指定すると、テナントのコントラクト(カスタム属性、カスタム API、新しい API)を検索し、
scapi_execute から呼び出せるようにします。
ライブスキーマ、カスタム属性、カスタム API には scapi_schemas_list を使用してください。
テナントのフィールドを取得するには、API ファミリー、名前、バージョンを指定し、includeSchemas: true を設定します。
カスタムプロパティの展開はデフォルトで有効です。完全な定義を保持するには expandAll: true を指定します。
大きなスキーマは、MCP SCAPI スキルに記載されているとおり、コードモードで取得・フィルタリングしてください。
登録ステータスの確認には scapi_custom_apis_get_status を使用します。ライブスキーマへのアクセスには
sfcc.scapi-schemas が必要です。実行には専用のタスクツールを優先してください。それ以外の場合、
scapi_execute は設定済みの認証/スコープを使用して、Admin およびゲストの Shopper JSON 呼び出しに対応しています。カスタム
Admin エンドポイントを使用する場合は、呼び出す前に各プログラム内で scapi.request を使ってライブコントラクトを取得してください。
MCP SCAPI スキルに従ってください。登録済み Shopper とバイナリの実行には対応していません。コントラクトの探索を重複して行うのではなく、
意味や制限の確認にはドキュメント用ツールを使用してください。
CLI で作業する場合は、b2c scapi schemas list と
b2c scapi schemas get <family> <name> <version> を使用してください。どちらもライブアクセスを使用し、失敗した場合は
バンドルされた標準コントラクトにフォールバックします(その際、警告が表示され、--json には source: "bundled" が含まれます)。
Schemas API は、要求された場合にのみ操作の概要/説明と例を返します。
--expand-paths/--expand-schemas は説明文を取得し、--expand-all はすべてを取得します。また、
--include summaries,descriptions,... を指定すると、セクションを直接選択できます。
CLI の get はデフォルトでカスタムプロパティを展開します。標準コントラクトを要求するには
--no-expand-custom-properties を指定してください。MCP もデフォルトで展開します。無効にするには
expandCustomProperties: false を指定します。既知のカスタムフィールドは、スキーマの読み込みやオフライン更新を行わずに、標準の Admin コードモードリクエストから送信できます。
config_inspect は b2c setup inspect に相当する、値をマスクする MCP ツールです。
フィルター、選択的な展開、カスタムプロパティ、ファイル出力については、CLI の例を参照してください。CLI にはコードモードに相当する機能はありません。
Tip:
b2cがグローバルにインストールされていない場合は、代わりにnpx @salesforce/b2c-cliを使用してください(例:npx @salesforce/b2c-cli scapi schemas list)。
設定
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 は、SCAPI 呼び出しにおいて 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.com | zzpq_013 |
zzxy-001.dx.commercecloud.salesforce.com | zzxy_001 |
abcd-dev.dx.commercecloud.salesforce.com | abcd_dev |
本番インスタンスの場合は、レルムとインスタンス識別子を使用します(例:zzxy_prd)。