Magento 2 How to set shipping and billing address on the cart using GraphQL

We all konw that shipping and billing addresses are stored in quote_address table in magento 2, in this article teach you, how to set shipping and billing address on the cart using GraphQL.

Set Shipping Address on cart

We will use setShippingAddressesOnCart mutation sets one or more shipping addresses on the cart. The shipping address does not need to specify when the sets billing address is same_as_shipping and the cart contains only virtual items.

Syntax

Copy
mutation {
  setShippingAddressesOnCart(
    input: SetShippingAddressesOnCartInput
  ) {
    SetShippingAddressesOnCartOutput
  }
}

Now, we will show you example for set shipping address on cart.

Request

Copy
mutation {
  setShippingAddressesOnCart(
  input: {
    cart_id: "2U1u9wHHOFNR3UAnBWMTznJfyKA74ZIc",
    shipping_addresses: [
      {
        address:{
          firstname: "Developer"
          lastname: "Admin"
          company: "Developer Company"
          country_code: "IN"
          city: "Ahmedabad"
					street: ["Ahmedabad"]
          region: "GJ"
          postcode: "380015"
          telephone: "0123456789"
          save_in_address_book: false
        },
      }
    ]
  }
  ){
    cart{
      shipping_addresses{
        firstname
        company
        country{
          label
          code
        }
        city
        street
        region{
          label
          code
        }
        postcode
        telephone
      }
    }
  }
}

Response

Copy
{
  "data": {
    "setShippingAddressesOnCart": {
      "cart": {
        "shipping_addresses": [
          {
            "firstname": "Developer",
            "company": "Developer Company",
            "country": {
              "label": "IN",
              "code": "IN"
            },
            "city": "Ahmedabad",
            "street": [
              "Ahmedabad"
            ],
            "region": {
              "label": "Gujarat",
              "code": "GJ"
            },
            "postcode": "380015",
            "telephone": "0123456789"
          }
        ]
      }
    }
  }
}

Set Billing Address on cart

We will use setBillingAddressOnCart mutation sets billing address on the cart. If we set the same_as_shipping attribute to true, Magento assigns the same address as the shipping address.

Syntax

Copy
mutation {
  setBillingAddressOnCart(
    input: SetBillingAddressOnCartInput
  ) {
    SetBillingAddressOnCartOutput
  }
}

In this exaample, we set new billing address on the cart.

Request

Copy
mutation {
  setBillingAddressOnCart(
    input: {
      cart_id: "2U1u9wHHOFNR3UAnBWMTznJfyKA74ZIc"
      billing_address: {
        address: {
          firstname: "Developer"
          lastname: "Test"
          company: "Developer Test Company"
          country_code: "IN"
          city: "Ahmedabad"
          street: ["Ahmedabad"]
          region: "GJ"
          postcode: "380015"
          telephone: "0123456789"
          save_in_address_book: false
        }
        same_as_shipping: false
      }
    }
  ) {
    cart {
      billing_address {
        firstname
        lastname
        company
        country {
          label
          code
        }
        city
        street
        region {
          label
          code
        }
        postcode
        telephone
      }
    }
  }
}

Response

Copy
{
  "data": {
    "setBillingAddressOnCart": {
      "cart": {
        "billing_address": {
          "firstname": "Developer",
          "lastname": "Test",
          "company": "Developer Test Company",
          "country": {
            "label": "IN",
            "code": "IN"
          },
          "city": "Ahmedabad",
          "street": [
            "Ahmedabad"
          ],
          "region": {
            "label": "Gujarat",
            "code": "GJ"
          },
          "postcode": "380015",
          "telephone": "0123456789"
        }
      }
    }
  }
}

That's it!!

If you are looking for more GraphQL solutions then check out our another article which is List of GraphQL Queries and Mutations for Magento 2.

I hope this article helps you to find what you were looking for.

Bookmark it for your future reference. Do comment below if you have any other questions on that.

P.S. Do share this article with your team.



Search
Recent Posts
    Tags
    Newsletter
    SocialFollow on Twitter
    Visit now!