ACP2E-4653: Condições de escopo de categoria de regra de preço do carrinho ausentes da API REST
O patch ACP2E-4653 corrige o problema em que o escopo do atributo de condição do preço do carrinho para Category (Parent Only) e Category (Children Only) não é exposto quando as regras são recuperadas ou atualizadas por meio da API REST. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.80 está instalado. A ID do patch é ACP2E-4653. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.9.
Produtos e versões afetados
O patch foi criado para a versão do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.8-p2
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.8 - 2.4.8-p5
magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.Problema
Quando as regras de preço do carrinho são recuperadas ou atualizadas por meio da API REST, o escopo de atributo para Category (Parent Only) e Category (Children Only) não é exposto.
Etapas a serem reproduzidas:
- Gere um token de Administrador enviando uma solicitação
POSTarest/V1/integration/admin/tokencom as credenciais de administrador. - Crie uma regra de preço de carrinho usando o ponto de extremidade
rest/V1/salesRulesdo REST com uma condição de ação que use o atributocategory_ids. - No painel Admin, abra a regra de preço do carrinho. Na seção Actions, em Apply the rule only to cart items matching the following conditions (leave blank for all items, adicione manualmente uma condição Category (Children Only).
- Defina a condição para que Category (Children Only) não seja
<category_id>. - Recupere a regra por meio da API enviando uma solicitação
GETpararest/V1/salesRules/<rule_id>. - Observe os valores
action_conditionretornados na resposta.
Resultados esperados:
-
Deve ser possível criar, recuperar e atualizar uma regra de preço de carrinho com a condição Category (Children Only) por meio da API REST.
-
O escopo do atributo deve ser exposto explicitamente para que Category, Category (Parent Only) e Category (Children Only) possam ser diferenciados corretamente. Por exemplo, o
action_conditiondeve ser retornado da seguinte maneira: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" },
Resultados reais:
- Ambos os nomes de atributos de condição são retornados como
category_ids. - Não está claro como criar ou atualizar uma regra com a condição Category (Children Only) por meio da API REST.
Aplicar o patch
Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool.
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem.
Leitura relacionada
Para saber mais sobre Quality Patches Tool, consulte:
- Quality Patches Tool: uma ferramenta de autoatendimento para patches de qualidade no guia Ferramentas.