MDVA-43862: el cliente no puede actualizar los elementos del carro de compras debido a un error de mutación de GraphQL UpdateCartItems

El parche MDVA-43862 resuelve el problema en el que el cliente no puede actualizar los elementos del carro de compras debido a un error de mutación de GraphQL UpdateCartItems. Este parche está disponible cuando está instalada la Herramienta de parches de calidad (QPT) 1.1.13. El ID del parche es MDVA-43862. Tenga en cuenta que el problema está programado para solucionarse en Adobe Commerce 2.4.5.

Productos y versiones afectados

El parche se ha creado para la versión de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.4.3-p1, 2.4.2-p2

Compatible con versiones de Adobe Commerce:

  • Adobe Commerce (todos los métodos de implementación) 2.3.3 - 2.4.4
NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de la herramienta Parches de Calidad. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete magento/quality-patches a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.

Problema

El cliente no puede actualizar los elementos del carro de compras debido a un error de mutación de GraphQL UpdateCartItems.

Pasos a seguir:

  1. Cree un producto configurable (MH01) asignando uno simple (MH01-XL-Gray).

  2. Vaya a Commerce Admin > Catálogo > Productos > SKU > MH01 > Opciones personalizables.

  3. Añada una opción personalizada al producto.

    • Título de opción: Opción 1
    • Tipo de opción: campo
    • Requerido: sí
    • Precio: 10.00
    • Tipo de precio: fijo
    • SKU: MHC1
    • Máx. caracteres: 25
  4. Ejecute la siguiente consulta de GraphQL para generar el ID de carro de compras.

    code language-graphql
    mutation {
      createEmptyCart
    }
    
  5. Anote el código de ID de carro de compras.

  6. Ejecute la siguiente consulta para agregar un producto configurable al carro de compras:

    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. Observará que el carro de compras se rellena con el elemento configurable.

  8. Anote el uid devuelto.

  9. De nuevo, ejecute la siguiente consulta para actualizar el elemento del carro de compras.

    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 la respuesta.

Resultados esperados:

El carro de compras se actualiza sin ningún problema.

Resultados reales:

Se obtiene el siguiente error:

{
  "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 el parche

Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:

Lectura relacionada

Para obtener más información sobre la herramienta Parches de calidad, consulte:

Para obtener información sobre otros parches disponibles en QPT, consulte Parches disponibles en QPT en nuestra documentación para desarrolladores.

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