ACP2E-4395 : les produits de carte cadeau peuvent être créés via l’API sans montant dans la portée globale

Le correctif ACP2E-4395 corrige le problème où les produits de carte cadeau sont créés via l’API sans montant dans la portée globale. Ce correctif est disponible lorsque la version 1.1.81 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACP2E-4395. 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.7-p8

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.5 - 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

Les produits de carte cadeau peuvent être créés via l’API sans montant dans la portée globale.

Procédure à suivre :

  1. Obtenez l’ID d’attribut du montant de la carte cadeau à utiliser à l’étape suivante :

    code language-none
    GET /rest/V1/products/attributes/giftcard_amounts
    
  2. Créez un produit de carte cadeau via l’API avec un montant correspondant uniquement à la portée du site web et sans montant pour Tous les sites web (website_id = 0) :

    code language-none
    POST /rest/V1/products
    {
        "product": {
            "sku": "test-giftcard-bug",
            "name": "Test Gift Card",
            "attribute_set_id": 4,
            "status": 1,
            "visibility": 4,
            "type_id": "giftcard",
            "price": 0,
            "extension_attributes": {
                "website_ids": [1],
                "stock_item": {
                    "qty": 1000,
                    "is_in_stock": true,
                    "manage_stock": false,
                    "use_config_manage_stock": false
                },
                "giftcard_amounts": [
                    { "website_id": 1, "value": 50, "attribute_id": <attribute_id> }
                ]
            },
            "custom_attributes": [
                { "attribute_code": "giftcard_type", "value": "0" },
                { "attribute_code": "allow_open_amount", "value": "0" },
                { "attribute_code": "is_redeemable", "value": "1" }
            ]
        }
    }
    

Résultats attendus :

La requête est rejetée avec le HTTP 400 et le message : La portée de tous les sites web doit être spécifiée ou le montant ouvert doit être autorisé.

Résultats réels :

La requête renvoie un HTTP 200 et le produit de carte cadeau est créé même s’il n’a aucun montant dans la portée globale Tous les sites web, ce qui le laisse dans un état non valide.

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