agregue productos configurables al carrito usando Graphql en Magento 2

agregue productos configurables al carrito usando Graphql en Magento 2

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

About David Lopez

Check Also

Dokku – Proyecto de código abierto de la semana de SD Times

Dokku – Proyecto de código abierto de la semana de SD Times

Dokku es una plataforma de código abierto como servicio (PaaS) basada en Docker que se …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *