{"section":"known-issues","requestedLocale":"es","requestedSlug":"comportamiento-erroneo-de-la-mutacion-addtocart-de-checkout-graphql-al-enviar-las-opciones-de-los-articulos-ya-anadidos","locale":"es","slug":"comportamiento-erroneo-de-la-mutacion-addtocart-de-checkout-graphql-al-enviar-las-opciones-de-los-articulos-ya-anadidos","path":"docs/es/known-issues/Checkout/comportamiento-erroneo-de-la-mutacion-addtocart-de-checkout-graphql-al-enviar-las-opciones-de-los-articulos-ya-anadidos.md","branch":"main","content":"## Sumario\n\n>ℹ️ Este problema conocido ha sido traducido automáticamente del inglés.\n\nAl utilizar la mutación \"_addToCart\"_ del \"_checkout-graphql\"_ en un carrito en el que ya se ha añadido un determinado artículo sin \"_options_\", al intentar incluirlo de nuevo, esta vez con \"_options_\", no funcionará correctamente. La mutación no registrará las \"_opciones_\" enviadas y además devolverá un error si están relacionadas con la información de \"_suscripción_\".\n\nEn este contexto, la propiedad \"_options_\" se utiliza para declarar \"_assemblyOptions_\", tanto para \"_composition_\" o \"_inputValues_\", que también se utiliza en lugar de \"_itemAttachments_\" y para incluir \"_subscriptionsData_\".\n\nComportamientos actuales:\n- _addToCart_ **sin** enviar \"_options_\" a un artículo ya añadido **también sin** \"_options_\" simplemente actualizará su cantidad **al** número dado\n- _addToCart_ con o sin enviar \"_options_\" a un artículo ya añadido **con**\"_options_\" funcionará para incluir **nuevos**/repetidos artículos con la cantidad dada\n\nDonde ocurre el problema:\n- _addToCart_ enviando \"opciones\" a un artículo ya añadido sin \"opciones\"\n\nLas \"_options_\" no se registrarán (ni se actualizarán ni funcionarán como un nuevo artículo) en el orderForm, pero funcionarán para actualizar la cantidad del artículo ya añadido - de la misma manera que el primer comportamiento descrito.\n\nEl peor escenario ocurre si está enviando una \"_opción_\" relacionada con la información de la suscripción. La mutación \"_addToCart\"_ tiene una acción encadenada para actualizar la sección \"_subscriptionsData_\" del orderForm con la información de esta \"_option_\", y en este caso, fallará, devolviendo errores para la operación - pero también haciendo la acción anterior, que actualiza la cantidad.\n\nQue conste que la mutación \"_actualizarItems\"_ no funciona para añadir artículos ni para añadir/quitar \"_opciones_\" a un artículo ya añadido.\n\n\n## Simulación\n\n\nConsiderando esta mutación:\n\n    mutación ($orderFormId: ID, $items: [ItemInput]) \\{ addToCart(orderFormId: $orderFormId, items: $items) \\{ ...  \\}\\}\n\nPrimera solicitud, que funciona bien:\n\n    \\{ \"items\": [ \\{ \"id\": 123, \"quantity\": 1, \"seller\": \"1\" \\} \\} \\}\n\nSegunda petición, que incluye el mismo artículo pero con información de suscripción:\n\n    \\{ \"items\": [ \\{ \"id\": 123, \"index\": 0, \"quantity\": 1, \"vendedor\": \"1\", \"opciones\": [ \\{ \"assemblyId\": \"vtex.subscription\", \"inputValues\": \\{ \"vtex.subscription.key.frequency\": \"1 mes\" \\}        \\}     ]    \\}  ]\\}\n\nLa respuesta:\n\n    \\{ \"datos\": null, \"errores\": [ \\{ \"mensaje\": \"Request failed with status code 400\", ...          \"response\": \\{ \"data\": \\{ \"Fields\": \\{\\}, \"operationId\": \"acdb9ef5-59dc-49a7-9d79-d3fb895d81fe\", \"error\": \\{\"code\": \"1\", \"mensaje\": \"Assinatura inválida\", \"exception\": null \\}            \\}, ...    \\} ]\\}\n\n\n## Workaround\n\n\nN/A"}