ACP2E-4653 : conditions de portée de la catégorie de règle de prix du panier manquantes dans REST API

Le correctif ACP2E-4653 corrige le problème en raison duquel la portée de l’attribut de condition de règle de prix de panier pour Category (Parent Only) et Category (Children Only) n’est pas exposée lorsque les règles sont récupérées ou mises à jour via l’API REST. Ce correctif est disponible lorsque la version 1.1.80 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACP2E-4653. Notez que ce problème doit être résolu dans Adobe Commerce 2.4.9.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.8-p2

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.8 - 2.4.8-p5
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.

Problème

Lorsque les règles de prix de panier sont récupérées ou mises à jour par le biais de l’API REST, la portée des attributs pour Category (Parent Only) et Category (Children Only) n’est pas exposée.

Procédure à suivre :

  1. Générez un jeton d’administration en envoyant une requête POST à rest/V1/integration/admin/token avec les informations d’identification d’administrateur.
  2. Créez une règle de prix de panier à l’aide du point d’entrée REST rest/V1/salesRules avec une condition d’action qui utilise l’attribut category_ids .
  3. Dans le panneau d’administration, ouvrez la règle de prix de panier . Dans la section Actions, sous Apply the rule only to cart items matching the following conditions (leave blank for all items, ajoutez manuellement une condition de Category (Children Only).
  4. Définissez la condition de sorte que Category (Children Only) ne soit pas <category_id>.
  5. Récupérez la règle via l’API en envoyant une requête GET à rest/V1/salesRules/<rule_id>.
  6. Observez les valeurs action_condition renvoyées dans la réponse.

Résultats attendus :

  1. Il doit être possible de créer, de récupérer et de mettre à jour une règle de prix de panier avec la condition de Category (Children Only) via l’API REST.

  2. La portée de l’attribut doit être exposée explicitement afin que les catégories, Category (Parent Only) et Category (Children Only) puissent être correctement distinguées. Par exemple, la action_condition doit être renvoyée comme suit :

    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"
            },
    

Résultats réels :

  1. Les deux noms d’attribut de condition sont renvoyés comme category_ids.
  2. Il n’est pas clair comment créer ou mettre à jour une règle avec la condition Category (Children Only) via l’API REST.

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, consultez :

recommendation-more-help
commerce-operations-help-tools