Nomi di gruppi di clienti, segmenti e informazioni sulle regole promozionali esposte tramite GraphQL
Questo articolo fornisce un hotfix per evitare l’esposizione di nomi di gruppi di clienti, segmenti di clienti e informazioni sulle regole promozionali tramite GraphQL. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.8-p1.
Descrizione description
Prodotti e versioni interessati
La patch è stata creata per la versione di Adobe Commerce:
- Adobe Commerce (tutti i metodi di implementazione) 2.4.8
Compatibile con le versioni di Adobe Commerce:
- Adobe Commerce (tutti i metodi di implementazione) 2.4.8
Problema
Per i rilasci di Personalization di Storefront sono state introdotte nuove mutazioni GraphQL per visualizzare informazioni di base come nomi di gruppi di clienti, segmenti, carrello e regole di catalogo. Tuttavia, questo può esporre dati sensibili come i dettagli dell’offerta o i codici coupon, se inclusi nei nomi.
Passaggi da riprodurre
Caso I: regola catalogo
-
Nella barra laterale Admin, passa a Marketing
>Regola prezzo catalogo>Aggiungi Nuova Regola. -
Definisci le condizioni della regola (ad esempio, attributo o categoria di prodotto).
-
Salva e applica la regola.
-
Assicurati che un prodotto soddisfi le condizioni della regola.
-
Esegui la seguente query GraphQL per recuperare tutte le regole:
code language-none query { allCatalogRules { name } } -
Eseguire una query su un prodotto per verificare se la regola è applicabile:
code language-none query { products(filter: { sku: { eq: "product-sku" } }) { items { name rules { name } } } }
Caso II: Regola carrello
-
Nella barra laterale Admin, passa a Marketing
>Regola prezzo carrello>Aggiungi Nuova Regola. -
Imposta condizioni quali valore minimo del carrello e gruppo di clienti.
-
Salva e applica la regola.
-
Aggiungi prodotti al carrello per attivare la regola.
-
Utilizza GraphQL per verificare tutte le regole del carrello:
code language-none query { allCartRules { name } } -
Verifica se le regole vengono applicate al carrello attivo:
code language-none query { cart(cart_id: "your-cart-id") { rules { name } } }
Caso III: Gruppo clienti
-
Nella barra laterale Amministratore, vai a Clienti
>Gruppi di clienti. -
Verifica l’esistenza dei gruppi previsti.
-
Utilizza GraphQL per recuperare tutti i gruppi:
code language-none query { allCustomerGroups { name } } -
Verifica il gruppo del cliente/ospite:
code language-none query { customerGroup { name } }
Caso IV: Segmento cliente (solo per Adobe Commerce)
-
Nella barra laterale Amministratore, vai a Clienti
>Segmenti cliente>Aggiungi segmento. -
Definire le condizioni basate sul cliente (ad esempio, ordine, contenuto del carrello).
-
Assegna ambito applicabile: Visitatore, Registrato o entrambi.
-
Assicurati che le condizioni corrispondano a un cliente di prova.
-
Utilizza GraphQL per controllare tutti i segmenti:
code language-none query { allCustomerSegments { name apply_to } } -
Convalida i segmenti applicati a un carrello:
code language-none query { customerSegments(cartId: "your-cart-id") { name } }
Risultato previsto:
I nomi dei gruppi di clienti, dei segmenti e le informazioni sulle regole promozionali non vengono esposti tramite GraphQL.
Risultato effettivo:
I nomi dei gruppi di clienti, dei segmenti e le informazioni sulle regole promozionali vengono esposti tramite GraphQL.
Risoluzione resolution
Applica le patch allegate in base alla versione di Adobe Commerce:
-
Per Adobe Commerce versione 2.4.8:
-
Per Magento Open Source versione 2.4.8: