ACP2E-4653: condizioni ambito categoria regola prezzo carrello mancanti dall’API REST
La patch ACP2E-4653 risolve il problema per cui l’ambito dell’attributo condizione prezzo carrello per Category (Parent Only) e Category (Children Only) non viene esposto quando le regole vengono recuperate o aggiornate tramite l’API REST. Questa patch è disponibile quando è installato Quality Patches Tool (QPT) 1.1.80. L’ID della patch è ACP2E-4653. Questo problema è pianificato per la risoluzione in Adobe Commerce 2.4.9.
Prodotti e versioni interessati
La patch è stata creata per la versione di Adobe Commerce:
- Adobe Commerce (tutti i metodi di implementazione) 2.4.8-p2
Compatibile con le versioni di Adobe Commerce:
- Adobe Commerce (tutti i metodi di implementazione) 2.4.8 - 2.4.8-p5
magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.Problema
Quando le regole di prezzo del carrello vengono recuperate o aggiornate tramite l’API REST, l’ambito dell’attributo per Category (Parent Only) e Category (Children Only) non viene esposto.
Passaggi da riprodurre:
- Generare un token di amministrazione inviando una richiesta
POSTarest/V1/integration/admin/tokencon le credenziali di amministratore. - Creare una regola del prezzo del carrello utilizzando l’endpoint
rest/V1/salesRulesdi REST con una condizione di azione che utilizza l’attributocategory_ids. - Nel pannello Amministratore, apri la regola del prezzo del carrello. Nella sezione Actions, in Apply the rule only to cart items matching the following conditions (leave blank for all items, aggiungere manualmente una condizione Category (Children Only).
- Impostare la condizione affinché Category (Children Only) non sia
<category_id>. - Recupera la regola tramite l’API inviando una richiesta
GETarest/V1/salesRules/<rule_id>. - Osserva i valori
action_conditionrestituiti nella risposta.
Risultati previsti:
-
Dovrebbe essere possibile creare, recuperare e aggiornare una regola del prezzo del carrello con la condizione Category (Children Only) tramite l’API REST.
-
L’ambito dell’attributo deve essere esposto in modo esplicito in modo che Categoria, Category (Parent Only) e Category (Children Only) possano essere distinti correttamente. Ad esempio,
action_conditiondeve essere restituito come segue:code language-none "action_condition": { "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product\\Combine", "conditions": [ { "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product", "operator": "!=", "attribute_name": "category_ids", "value": "4", "extension_attributes": { "attribute_scope": "" } }, { "condition_type": "Magento\\SalesRule\\Model\\Rule\\Condition\\Product", "operator": "==", "attribute_name": "category_ids", "value": "5", "extension_attributes": { "attribute_scope": "children" } } ], "aggregator_type": "all", "operator": null, "value": "1" },
Risultati effettivi:
- Entrambi i nomi degli attributi della condizione vengono restituiti come
category_ids. - Non è chiaro come creare o aggiornare una regola con la condizione Category (Children Only) tramite l’API REST.
Applicare la patch
Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:
- Adobe Commerce o Magento Open Source on-premise: Quality Patches Tool > Utilizzo nella guida di Quality Patches Tool.
- Adobe Commerce su infrastruttura cloud: Aggiornamenti e patch > Applica patch nella guida Commerce su infrastruttura cloud.
Lettura correlata
Per ulteriori informazioni su Quality Patches Tool, vedere:
- Quality Patches Tool: strumento self-service per patch di qualità nella guida degli strumenti.