MDVA-43862: o cliente não pode atualizar itens do carrinho devido a um erro de mutação UpdateCartItems do GraphQL

O patch MDVA-43862 resolve o problema em que o cliente não pode atualizar itens do carrinho devido a um erro de mutação UpdateCartItems do GraphQL. Este patch está disponível quando a Ferramenta de Patches de Qualidade (QPT) 1.1.13 está instalada. A ID do patch é MDVA-43862. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.5.

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.3-p1, 2.4.2-p2

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

  • Adobe Commerce (todos os métodos de implantação) 2.3.3 - 2.4.4
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões da Ferramenta de patches de qualidade. 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

O cliente não pode atualizar itens do carrinho devido a um erro de mutação UpdateCartItems do GraphQL.

Etapas a serem reproduzidas:

  1. Crie um produto configurável (MH01) atribuindo um simples (MH01-XL-Gray).

  2. Acesse o Administrador do Commerce > Catálogo > Produtos > SKU > MH01 > Opções Personalizáveis.

  3. Adicione uma opção personalizada ao produto.

    • Título da opção: Option1
    • Tipo de opção: campo
    • Obrigatório: Sim
    • Preço: 10,00
    • Tipo de Preço: Fixo
    • SKU: MHC1
    • Máximo de caracteres: 25
  4. Execute a consulta do GraphQL abaixo para gerar a ID do carrinho.

    code language-graphql
    mutation {
      createEmptyCart
    }
    
  5. Anote o código de ID do carrinho.

  6. Execute a consulta abaixo para adicionar o produto configurável ao carrinho:

    code language-graphql
    mutation {
    addConfigurableProductsToCart(
    input: {
        cart_id: "<cart ID from above step>",
        cart_items: [{
        parent_sku: "MH01",
        data: {
            quantity: 1,
            sku: "MH01-XL-Gray"
            },
            customizable_options: {
                id: 1,
                value_string: "2"
                }
            }
        ]
    }
    )
    {
    cart {
      items {
        uid
        quantity
        product {
          name
          sku
        }
        ... on ConfigurableCartItem {
          configurable_options {
            option_label
          }
        }
      }
    }
    }
    }
    
  7. Você notará que o carrinho é preenchido com o item configurável.

  8. Anote a uid retornada.

  9. Novamente, execute a consulta abaixo para atualizar o item do carrinho.

    code language-graphql
    mutation {
      updateCartItems(
        input: {
          cart_id: "<cart ID from previous step>",
          cart_items: [
            {
              cart_item_uid: "<uid from previous step>"
              quantity: 3,
              customizable_options:[{
                  id: 1,
                  value_string: "67"
              }]
            }
          ]
        }
      ){
        cart {
          items {
            uid
            product {
              name
            }
            quantity
          }
          prices {
            grand_total{
              value
              currency
            }
          }
        }
      }
    }
    
  10. Observe a resposta.

Resultados esperados:

O carrinho é atualizado sem nenhum problema.

Resultados reais:

Você recebe o seguinte erro:

{
  "errors": [
    {
      "message": "Could not update cart item: You need to choose options for your item.",
      "extensions": {
        "category": "graphql-input"
      },
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "updateCartItems"
      ]
    }
  ],
  "data": {
    "updateCartItems": null
  }
}

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 a Ferramenta de correção de qualidade, consulte:

Para obter informações sobre outros patches disponíveis no QPT, consulte Patches disponíveis no QPT na documentação do desenvolvedor.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a