Acesso Comercial / Docs / Storefront / API
Ctrl K
MUTATION

updateShoppingCartTotalShippingType

Seleciona o tipo de frete para o carrinho dentre as opções calculadas por calculateShipping.

Input

UpdateShoppingCartTotalShippingTypeMutationInput!

CampoTipoDescrição
hostnameString!Hostname da loja.
shippingTypeString!Tipo de frete selecionado (ex: "SEDEX", "PAC").

Retorno

CampoTipoDescrição
shoppingCartShoppingCartCarrinho atualizado com o frete selecionado.

Mutation

GraphQL
mutation SelectShipping($input: UpdateShoppingCartTotalShippingTypeMutationInput!) {
  updateShoppingCartTotalShippingType(input: $input) {
    shoppingCart {
      totalShipping
      shippingOptions {
        type
        name
        price
        deadline
      }
    }
  }
}

Variables

JSON
{
  "input": {
    "hostname": "minha-loja",
    "shippingType": "PAC"
  }
}

Resposta

JSON
{
  "data": {
    "updateShoppingCartTotalShippingType": {
      "shoppingCart": {
        "totalShipping": 900,
        "shippingOptions": [
          {
            "type": "SEDEX",
            "name": "Sedex",
            "price": 1500,
            "deadline": 3
          },
          {
            "type": "PAC",
            "name": "PAC",
            "price": 900,
            "deadline": 7
          }
        ]
      }
    }
  }
}

Fetch

JavaScript
const response = await fetch('/graphql', {
  method: 'POST',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: `mutation($input: UpdateShippingTypeInput!) {
      updateShippingType(input: $input) {
        shoppingCart { totalShipping }
      }
    }`,
    variables: { input: { hostname: "minha-loja", shippingType: "SEDEX" } }
  })
});

cURL

Bash
curl -X POST https://minha-loja.com/graphql \
  -H "Content-Type: application/json" \
  -b "authJwtClient=YOUR_SESSION_COOKIE" \
  -d '{"query":"mutation { updateShippingType(input: { hostname: \"minha-loja\", shippingType: \"SEDEX\" }) { shoppingCart { totalShipping } } }"}'