ACP2E-4395: Produtos de cartão-presente podem ser criados por meio da API sem uma quantidade no escopo global

O patch do ACP2E-4395 corrige o problema em que os produtos de cartão-presente são criados por meio da API sem uma quantidade no escopo global. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.81 está instalado. A ID do patch é ACP2E-4395. 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.7-p8

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.5 - 2.4.8-p5
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote 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

Os produtos com cartão-presente podem ser criados por meio da API sem uma quantidade no escopo global.

Etapas a serem reproduzidas:

  1. Obtenha a ID do atributo de valor do vale-presente para usar na próxima etapa:

    code language-none
    GET /rest/V1/products/attributes/giftcard_amounts
    
  2. Crie um produto de cartão-presente por meio da API com um valor apenas no escopo do site e sem valor para Todos os sites (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" }
            ]
        }
    }
    

Resultados esperados:

A solicitação foi rejeitada com HTTP 400 e a mensagem: Valor para o escopo de Todos os Sites deve ser especificado ou o Valor de Abertura deve ser permitido.

Resultados reais:

A solicitação retorna HTTP 200, e o produto de cartão-presente é criado mesmo que não tenha valor no escopo global Todos os sites, deixando-o em um estado inválido.

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

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