顧客グループ名、セグメントおよびプロモーションルール情報が、GraphQLを通じて公開される

この記事では、GraphQLを介して顧客グループ名、顧客セグメントおよびプロモーションルール情報が公開されるのを防ぐためのホットフィックスを提供します。 この問題は、Adobe Commerce 2.4.8-p1 で修正される予定です。

説明 description

影響を受ける製品とバージョン

Adobe Commerce バージョン用のパッチが作成されます。

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.8

Adobe Commerce バージョンとの互換性:

  • Adobe Commerce(すべてのデプロイメント方法) 2.4.8

問題

ストアフロントのPersonalizationドロップダウンの場合、顧客グループ名、セグメント、買い物かご、カタログルールなどの基本情報を表示する新しいGraphQL ミューテーションが導入されました。 ただし、名前に含まれている場合、オファーの詳細やクーポンコードなどの機密データが公開される可能性があります。

再現手順

ケース I:カタログルール

  1. 管理者 サイドバーで、 マーケティング に移動します。 > カタログ価格ルール > 新規ルールを追加 をクリックします

  2. ルール条件(製品属性やカテゴリなど)を定義します。

  3. ルールを保存して適用します。

  4. 製品がルール条件を満たしていることを確認します。

  5. 次のGraphQL クエリを実行して、すべてのルールを取得します。

    code language-none
    query {
        allCatalogRules {
            name
        }
    }
    
  6. 製品をクエリして、ルールが適用されるかどうかを確認します。

    code language-none
    query {
        products(filter: { sku: { eq: "product-sku" } }) {
            items {
                name
                rules {
                    name
                }
            }
        }
    }
    

ケース II: 買い物かごルール

  1. 管理者 サイドバーで、 マーケティング に移動します。 > 買い物かご価格ルール > 新規ルールを追加 をクリックします

  2. 条件(買い物かごの最小値や顧客グループなど)を設定します。

  3. ルールを保存して適用します。

  4. 商品を買い物かごに追加して、ルールをトリガーします。

  5. GraphQLを使用して、すべての買い物かごルールを確認します。

    code language-none
    query {
        allCartRules {
            name
        }
    }
    
  6. アクティブな買い物かごにルールが適用されているかどうかを確認します。

    code language-none
    query {
        cart(cart_id: "your-cart-id") {
            rules {
                name
            }
        }
    }
    

ケース III: 顧客グループ

  1. 管理者 サイドバーで、 顧客 に移動します。 > 顧客グループ

  2. 必要なグループが存在することを確認します。

  3. GraphQL を使用してすべてのグループを取得します。

    code language-none
    query {
        allCustomerGroups {
            name
        }
    }
    
  4. 顧客/ゲストのグループを確認します。

    code language-none
    query {
        customerGroup {
            name
        }
    }
    

ケース IV: 顧客セグメント (Adobe Commerceのみ)

  1. 管理者 サイドバーで、 顧客 に移動します。 > 顧客セグメント > セグメントを追加 」をクリックします。

  2. 顧客ベースの条件(注文、買い物かごの中身など)を定義する。

  3. 適用可能な範囲(訪問者登録済み、またはその両方)を割り当てます。

  4. 条件がテスト顧客に一致することを確認します。

  5. GraphQLを使用して、すべてのセグメントを確認します。

    code language-none
    query {
        allCustomerSegments {
            name
            apply_to
        }
    }
    
  6. 買い物かごに適用されたセグメントを検証します。

    code language-none
    query {
        customerSegments(cartId: "your-cart-id") {
            name
        }
    }
    

期待される結果 :

顧客グループ名、セグメント名およびプロモーションルール情報は、GraphQLでは公開されません。

実際の結果 :

顧客グループの名前、セグメントおよびプロモーションルール情報は、GraphQLを通じて公開されます。

解決策 resolution

Adobe Commerceのバージョンに応じて、添付されているパッチを適用します。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f