Skip to main content

Spring '25 で認定 B2C Commerce Cloud デベロッパー資格を更新する

学習の目的

この単元を完了すると、次のことができるようになります。

  • SCAPI カスタム API を使用してカスタムスクリプトコードを記述する。
  • OCAPI と SCAPI を使用して商品バリエーションにパッチを適用する。
  • サードパーティ Cookie の制限に適応する。
  • B2C Commerce での負荷の高いクエリの制限を監視する。
  • TLS v1.3 によるセキュリティ強化を実現する。
  • 詳細なレプリケーションを使用して商品と価格表の更新を行う。
  • Log Center からログをストリーミングする。
  • 新しい Business Manager UI を有効にする。

認定資格を更新する

認定 B2C Commerce Cloud デベロッパー資格を保有している場合、その認定資格を維持するためには期日までにこのモジュールを修了する必要があります。

この資格の取得を検討している方は、B2C Commerce Cloud デベロッパー資格を参照してください。

メモ

このバッジは誰でも取得できますが、このモジュールは認定 B2C Commerce Cloud デベロッパーの有資格者を対象としています。

認定資格の機密を守る

Salesforce は、質の高い認定試験と価値ある資格を提供することを最優先事項としています。試験のセキュリティと機密の保護は、業界をリードする評価の高い認定資格をお客様に提供するために不可欠です。

Salesforce 認定資格プログラムに参加する場合は、「Salesforce 認定資格プログラム同意書」に同意いただく必要があります。詳細は、Trailhead ヘルプ記事「Salesforce 認定資格プログラム同意書および行動規範」に記載の Salesforce 認定資格試験の受験ポリシーを確認してください。

認定 Salesforce B2C Commerce Cloud デベロッパー資格は、Salesforce B2C Commerce Cloud のフルスタックデベロッパーとしての経験がある方を対象としています。認定資格を取得すると、B2C Commerce Cloud を使用して E コマースソリューションを開発するための知識とスキルを有していることを証明できます。

この 1 年間に多数の機能強化が導入されています。ここでは、B2C Commerce Cloud デベロッパー向けの機能強化で特に重要なものについて説明します。

SCAPI カスタム API を使用したカスタムスクリプトコードの記述

カスタム API を使用して、完全なストアフロントから Business Manager のカスタムマーチャントツールまで、幅広いアプリケーションを構築します。開発者は、Salesforce Commerce API である SCAPI を使用してカスタムスクリプトコードを記述することができます。SCAPI カスタム API は 2024 年初頭に正式リリース (GA) されました。

SCAPI とは何か?

B2C Commerce API (SCAPI) は、B2C Commerce インスタンスとやり取りするための RESTful API のコレクションです。Salesforce Commerce API、頭字語の SCAPI、または単純に Commerce API など、数通りの呼び方があります。SCAPI は、複数の ID プロバイダーをサポートする Shopper Login やストアフロント環境をパーソナライズする Shopper Context、カスタム API など、さまざまな機能を提供する API のフレームワークです。

カスタム API

カスタム API は、実装における API の機能範囲を拡張するの強力な方法です。開発者は SCAPI をカスタマイズして、検索条件を追加したり、呼び出し元のアプリケーションに返す前に応答を変更したりできます。コントローラーなどのカスタムスクリプトコードを記述し、この機能を SCAPI フレームワークでカスタム REST API として公開できます

SCAPI

B2C Commerce には、Open Commerce API (OCAPI) と SCAPI という 2 つの REST API 製品があります。Salesforce では、すべての新しいプロジェクトや大幅なリファクタリング作業には Open Commerce API (OCAPI) ではなく、SCAPI の使用を推奨しています。OCAPI は 2014 年からプラットフォームに含まれており、SCAPI は 2020 年に導入されました。

SCAPI が正式リリースとなったため、Salesforce 機能の開発とイノベーションは SCAPI を中心に進められます。OCAPI は廃止されるわけではありませんが、OCAPI の更新は現在メンテナンスのみになっています。SCAPI のパフォーマンスや機能、開発者向けの使いやすさは、今後も改善されていきます。新しい SCAPI のエンドポイントと機能が定期的に追加されています。

カスタム API 機能の更新

正式リリースされた機能更新は次のとおりです。既存の実装が壊れる可能性があるため、特別な注意が必要なものがいくつかあります。

  1. セキュリティコンプライアンスの強化のためにカスタム範囲が導入されました。これによって既存の実装が壊れる可能性があります。
    1. ShopperToken と AmOauth2 の両方のセキュリティスキームでカスタム範囲が使用されます。
    2. 各エンドポイントは、対応する認証トークンに含まれる 1 つのみの範囲で設定する必要があります。
  2. ストアフロントのクォータの制限がチェックされるようになりました。これによって既存の実装が壊れる可能性があります。
  3. Script API の機能強化により、開発者は成功とエラーの応答を簡単に作成できるようになりました。
  4. API コントラクト (OAS スキーマファイル) は、スキーマ内の異なる場所で再利用できる共有オブジェクトのローカル参照をサポートするようになりました。
  5. カスタム API にはサーキットブレーカーメカニズムが含まれています。これは、エラー率が高すぎると API 要求をブロックする保護対策です。

詳細は、Custom APIs (カスタム API) に関する開発者ガイドを参照してください。

OCAPI と SCAPI を使用した商品バリエーションへのパッチの適用

開発者は、OCAPI Baskets API と SCAPI Shopper Baskets API の新しい機能強化により、商品バンドルを管理する時間と労力を節約できます。どちらの API でも、1 回のコールで商品バンドル内のバリエーションへのパッチ適用がサポートされるようになりました。複数回の API コールを必要とせずに、バンドル内の複数のバリエーションを効率的に更新できます。

B2C Commerce Basket API で品目を一括更新するには、SCAPI または OCAPI のドキュメントを参照してください。

Salesforce Developers | B2C Commerce API | Shopper Baskets V1 | Endpoints (エンドポイント) | updateItemsInBasket にアクセス

パッチ:

https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v1/organizations/{organizationId}/baskets/{basketId}/items

Salesforce Developers | B2C Commerce | Shop Baskets | Endpoints (エンドポイント) | Update an item of a basket (バスケットの品目の更新) にアクセス

パッチ:

https://{host}/s/{siteId}/dw/shop/v24_5/baskets/{basket_id}/items/{item_id}

この更新により、全体的な開発者エクスペリエンスが改善され、複雑な商品バンドルを管理する開発者の生産性が向上します。

Salesforce B2C Commerce では、パーティション化された Cookie を有効にする新しい機能切り替えが提供されます。パーティション化された Cookie の切り替えは Business Manager で利用可能で、デフォルト値は無効に設定されています。開発者は、今後の業界のブラウザー変更に備え、B2C Commerce が適切に機能するように準備できます。

Google Chrome はサードパーティ Cookie のサポートを段階的に廃止しています。この変更により、Chrome は別のホスト名から発行され、パーティション化されていないサードパーティ Cookie を無効にします。サードパーティ Cookie のサポートを失うと、Storefront Toolkit や一部の Page Designer プレビュー機能といった B2C Commerce 機能に影響を与える可能性があります。

パーティション化された Cookie の切り替え

パーティション化された Cookie の切り替えを有効にすると、Storefront Reference Architecture (SFRA)、Progressive Web App Kit (PWA-kit)、またはカスタムコード内で問題が発生する可能性があります。Production (本番) インスタンスで [Partitioned Cookie (パーティション化された Cookie)] 切り替えを有効にする前に、Staging (ステージング) インスタンスまたは Development (開発) インスタンスでストアフロントをテストすることを推奨します。これにより、本番インスタンスにリリースする前に、問題や予期しない動作を特定して解決することができます。Storefront Toolkit または Page Designer のプレビューが動作しなくなり、Chrome で機能を有効化できない場合は、回避策として Firefox などの別のブラウザーを使用してみてください。

Business Manager で [Partitioned Cookie (パーティション化された Cookie)] 切り替えを有効にするには、[Administration (管理)] | [Global Preferences (グローバル設定)] | [Feature Switches (機能スイッチ)] を選択します。切り替えを有効にすると、B2C Commerce サーバーから作成される Cookie に partitioned 属性が追加されます。この属性は、コントローラー、パイプライン、またはプラットフォームコードを通じて作成された Cookie に追加されます。Google は、B2C Commerce サーバーから作成され、partitioned 属性が割り当てられた Cookie を引き続き受け入れます。

パーティション化された Cookie の明示的な有効期限モード

システム管理者は、既存のパーティション化された Cookie に対して期限切れのパーティション化された Cookie が送信されるかどうかを制御するために、新しい [Partitioned Cookie Explicit Expiry Mode (パーティション化された Cookie の明示的な有効期限モード)] を使用することもできます。システム管理者は次のいずれかの値を設定します。

  • None (なし): 期限切れのパーティション化された Cookie は送信されません。したがって既存のパーティション化された Cookie はクリアされません。(この状態は B2C Commerce 24.1 リリースの動作を表します。)
  • Compatible Clients (互換性のあるクライアント) (デフォルト値): クライアント (ブラウザー) のユーザーエージェントが Chromium (Chrome、Edge、Opera) の場合、期限切れのパーティション化された Cookie が送信されます。
  • All (すべて): 常に期限切れのパーティション化された Cookie を送信します。この設定は、パーティション化された Cookie の有効化と無効化によってログインや iOS アプリケーションに問題が発生した場合に使用します。

Compatible_Clients のデフォルト設定を示す [Partitioned Cookie Explicit Expiry Mode (パーティション化された Cookie の明示的な有効期限モード)] の機能スイッチ。

[Partitioned Cookie Explicit Expiry Mode (パーティション化された Cookie の明示的な有効期限モード)] を変更します。

  • [Partitioned Cookies (パーティション化された Cookie)] 切り替えを有効にした後に期限切れのパーティション化された Cookie で問題が発生する場合は、[Partitioned Cookie Explicit Expiry Mode (パーティション化された Cookie の明示的な有効期限モード)] を [All (すべて)] に設定します。
  • アプリケーションやブラウザー以外のクライアントが重複する Cookie を受け取る問題が発生する場合は、[Partitioned Cookie Explicit Expiry Mode (パーティション化された Cookie の明示的な有効期限モード)] を [None (なし)] に設定します。

B2C Commerce での負荷の高いクエリの制限の監視

システムのパフォーマンスを維持するために、B2C Commerce では 10,000 件以上の結果を生成する負荷の高いクエリを制限するようになりました。開発者は、アプリケーションを構築してテストを行うときに、この制限に留意する必要があります。制限を超えると、エラーメッセージが表示されます。

この制限は、Business Manager で設定されたクエリまたは以下に適用されます。

  • 次の OCAPI Shop API を使用するクエリ
    • customer_search
    • order_search
  • SCAPI get orders を使用するクエリ

顧客が、API コールを通じて実行される負荷の高いクエリを生成すると、オフセット値を 10,000 未満に設定する必要があるというエラーメッセージが返されます。Business Manager で実行した手動クエリは、UI にエラーメッセージが表示されずに失敗します。これは、タイムアウトの状態に似ています。

SCAPI/OCAPI によって次のようなエラーメッセージが返されます。

Search request offset <value> is greater than offset limit 10000 for tenant '<GroupID>_<Instance'>, type 'order']

結果が多すぎるクエリを実行するリスクを軽減するには、データの照会時に対象条件とオフセット値を使用して結果を制限します。

TLS v1.3 によるセキュリティ強化の実現

強化されたセキュリティを提供するために、B2C Commerce サービスフレームワークは、送信 HTTP コールに対して Transport Layer Security (TLS) v1.3 をサポートするようになりました。開発者は、外部サービスと連携するときに、この新しい標準との互換性を確保する必要があります。

TLS v1.3 は、既知の脆弱性から保護するための最新の暗号化標準を提供し、サードパーティパートナーとの安全な連携をサポートします。TLS v1.3 を使用中に接続の問題が発生した場合は、サポートにお問い合わせください。

ここで注意すべき重要な点は、TLS 1.0 と 1.1 はインバウンド接続とアウトバウンド接続の両方で無効になっており、サポートされるプロトコルは TLS 1.2 と TLS 1.3 のみであるということです。開発者は、業界のベストプラクティスに従ってセキュリティとデータの整合性を確保するために、TLS 1.2 を最低限の標準として使用する必要があります。

詳細なレプリケーションによる商品と価格表の更新

詳細なレプリケーション機能を使用して、ステージングから本番へ複製する特定の商品価格テーブルエントリを選択します。詳細なレプリケーションでは、必要に応じて本番データへの細かい対象を絞った更新を許可して、既存のデータ複製を補完します。

3 つの複製グループで、ステージングから本番へ細かいデータ更新を行うことができます。

  • 商品: 特定の商品を更新します。
  • 価格表: 特定の価格テーブルエントリを更新します。
  • コンテンツアセット: 特定のコンテンツアセットを更新します。

詳細なレプリケーションを使用するには、ステージング環境と本番環境で機能を有効にする必要があります。Business Manager | [Administration (管理)] | [Global Preferences (グローバル設定)] | [Feature Switches (機能スイッチ)] で、[Granular Replication (詳細なレプリケーション)] 機能スイッチを選択します。

データを最新の状態に保ち、必要なときに的確な変更を加え、全面的な見直しを避けます。この機能を使用すると、本番環境の既存コンテンツに対して必要に応じて小規模な更新を行うことができます。詳細なレプリケーションは、既存のデータ複製の補完と強化を目的としており、取って代わるものではありません。

Log Center からのログのストリーミング

Log Center はサードパーティのログ集約ツールへのログストリーミングをサポートするようになりました。開発者はログ管理の監視や自動化を大規模に行うことができます。Log Center は、Splunk、Datadog、New Relic、Grafana Loki などのサードパーティのログ集約ツールへのストリーミングや、汎用 HTTP 接続を介したストリーミングをサポートします。この機能強化により、Log Center ユーザー向けにエンタープライズ規模の監視と自動化機能が有効になります。

Log Center には、ログの設定と検索条件を指定するための使いやすいログストリーミング構成 UI があります。ステップの概要は次のとおりです。

  1. Log Center にログインします。
  2. [Log Streaming (ログストリーミング)] タブを選択し、連携するサードパーティのログ集約ツールを選択します。
  3. [Log Streaming Configurations (ログストリーミング構成)] をクリックします。省略可能と表示されていない限り、すべてのエントリとステップが必須です。
  4. API キー、エンドポイント、検索条件など、必要な設定を定義します。
  5. 設定を保存して、指定したログ集約ツールにログをストリーミングし、監視と自動化機能を強化します。

設定、通知、またはよくある質問についての詳細は、「ログストリーミングの設定」を参照してください。

新しい Business Manager UI の有効化

強化されたツールチップや追加機能で使いやすくデザインされた新しい Business Manager UI に切り替えます。新しいデザインには、ツールチップの改善、間隔の追加、テキストボックスのパディングが含まれています。バナーとホームページのアラートも含まれており、ホームページにはお気に入り、店舗 ID、カタログインサイトが追加されています。想定通りに機能しない場合は、クラシック UI に戻すことができます。

新しい UI に切り替えるには、Business Manager で [My Profile Settings (マイプロフィール設定)] | [Preferences (環境設定)] | [Preferred UI Style (優先する UI スタイル)] を選択します。[Modern (最新)] を選択します。

まとめ

SCAPI の機能強化、Cookie 制限や負荷の高いクエリの制限の変更、TLS v1.3 のサポートなど、過去 1 年間にリリースされた Salesforce の機能の中で特に重要なものを学習しました。また、商品や価格テーブルエントリの詳細なレプリケーション、Log Center からのログストリーミング、新しい Business Manager UI についても確認しました。ここで、上記のトピックの理解度を確認し、認定 B2C Commerce デベロッパー資格を更新するためにテストを受けていただきます。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む