En este artículo, aprenderemos cómo agregar productos configurables al carrito usando Graphql en Magento 2.
En el blog anterior, aprendimos cómo agregar productos simples al carrito usando GraphQl. Cómo agregar productos simples al carrito usando GraphQl.
Siga el paso a continuación para agregar productos configurables al carrito usando Graphql en Magento 2.
Punto final GraphQL: BASE_URL/graphql
Ejemplo: http://example.com/graphql
En primer lugar, necesitamos crear un carrito vacío para agregar productos en Magento 2.
Hemos creado un carrito vacío para el usuario invitado utilizando la siguiente mutación: no se requiere token para el usuario invitado.
Añade un producto configurable.
Utilizar el addConfigurableProductsToCart
mutación para añadir productos configurables al carrito de la compra.
En el siguiente ejemplo, agregue un producto con opciones de configuración de color rojo.
Pedido:
mutation { addConfigurableProductsToCart( input: { cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: [{ parent_sku: "configurable" data: { quantity: 1, sku: "configurable-red" } }] } ) { cart { items { id product { name sku options_container } quantity ... on ConfigurableCartItem{ configurable_options{ id option_label value_label value_id } } } } } }
Respuesta:
Ejecute la mutación a través de su cliente GraphQL y el producto configurable se agregará al carrito.
{ "data": { "addConfigurableProductsToCart": { "cart": { "items": [ { "id": "732", "product": { "name": "configurable", "sku": "configurable", "options_container": "container2" }, "quantity": 1, "configurable_options": [ { "id": 93, "option_label": "Color", "value_label": "red", "value_id": 4 } ] } ] } } } }
Agregar un producto descargable a un carrito
Utilizar el addDownloadableProductsToCart
mutación para agregar productos descargables al carrito de compras.
Un producto descargable puede ser cualquier cosa que pueda descargar como un archivo, como un libro electrónico, música o vídeo.
Pedido:
mutation { addDownloadableProductsToCart( input: { cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: { data: { sku: "downlodableProdc" quantity: 1 } downloadable_product_links: [ { link_id: 2 } { link_id: 5 } ] } } ) { cart { items { product { id sku name } quantity ... on DownloadableCartItem { links { title price } samples { title sample_url } } } } } }
Respuesta:
Ejecute la mutación a través de su cliente GraphQL y el producto descargable se agregará al carrito.
{ "data": { "addDownloadableProductsToCart": { "cart": { "items": [ { "product": { "id": 76, "sku": "downlodableProdc", "name": "downlodableProdc" }, "quantity": 1, "links": [ { "title": "sampleAudio", "price": 21 }, { "title": "Sample 2", "price": 32 } ], "samples": [ { "title": "tre", "sample_url": "https://example.com/downloadable/download/sample/sample_id/1/" } ] } ] } } } }
Agregar un paquete de productos a un carrito
Utilizar el addBundleProductsToCart
mutación para agregar productos en paquete al carrito de compras.
Este ejemplo agrega un paquete de productos al carrito de compras. El SKU de este producto paqueteProducto
Pedido:
mutation { addBundleProductsToCart( input: { cart_id: "SPBJroclB7zT45lgY0stDJmpPnvcsGx2" cart_items: [ { data: { sku: "bundleProduct" quantity: 1 } bundle_options: [ { id: 2 quantity: 1 value: [ "4" ] } ] }, ] }) { cart { items { id quantity product { sku name } ... on BundleCartItem { bundle_options { id label type values { id label price quantity } } } } } } }
Respuesta:
Ejecute la mutación a través de su cliente GraphQL y el producto del paquete se agregará al carrito.
{ "data": { "addBundleProductsToCart": { "cart": { "items": [ { "id": "114", "quantity": 1, "product": { "sku": "bundleProduct", "name": "bundleProduct" }, "bundle_options": [ { "id": 2, "label": "Simple", "type": "select", "values": [ { "id": 4, "label": "simple", "price": 10, "quantity": 1 } ] } ] } ] } } } }
Añadir VirtualProduct a un carrito
Utilizar el addVirtualProductsToCart
mutación para agregar productos virtuales al carrito de compras.
Un producto virtual representa un artículo vendible que no es físico, como una membresía, servicio, garantía o suscripción. Los productos virtuales no necesitan ser enviados ni descargados, ni requieren gestión de stock.
Pedido:
mutation { addVirtualProductsToCart( input: { cart_id: "pIRMnP9PtmZ7lu3b22mb7niTMnFhu0Nw", cart_items: [ { data: { quantity: 1 sku: "virtualProduct" } } ] } ) { cart { items { product { name } quantity } prices { grand_total { value currency } } } } }
Respuesta:
Ejecute la mutación a través de su cliente GraphQL y el producto virtual se agregará al carrito.
{ "data": { "addVirtualProductsToCart": { "cart": { "items": [ { "product": { "name": "virtualProduct" }, "quantity": 1 } ], "prices": { "grand_total": { "value": 100, "currency": "USD" } } } } } }
Espero que esto te ayudará.
Gracias 🙂
Puede consultar los siguientes blogs relacionados con GraphQl:
Tipos de productos en Magento 2
Cómo agregar productos simples al carrito usando GraphQL
Implementación de GraphQl en Magento 2
Mutación GraphQL
Source link