Acesso Comercial / Docs / Storefront / API
Ctrl K
MUTATION

updateCouponOnShoppingCart

Aplica ou remove um cupom do carrinho de compras. Envie o código vazio para remover.

Input

UpdateCouponOnShoppingCartMutationInput!

CampoTipoDescrição
hostnameString!Hostname da loja.
codeString!Código do cupom. Envie vazio ("") para remover.

Retorno

CampoTipoDescrição
shoppingCartShoppingCartCarrinho atualizado com o cupom aplicado/removido.

Mutation

GraphQL
mutation ApplyCoupon($input: UpdateCouponOnShoppingCartMutationInput!) {
  updateCouponOnShoppingCart(input: $input) {
    shoppingCart {
      id
      totalPrice
      totalDiscount
      coupon {
        code
        discountPercentage
        discountValue
      }
    }
  }
}

Variables

JSON
{
  "input": {
    "hostname": "minha-loja",
    "code": "DESCONTO10"
  }
}

Resposta

JSON
{
  "data": {
    "updateCouponOnShoppingCart": {
      "shoppingCart": {
        "id": "Q2FydDp4eXo=",
        "totalPrice": 8091,
        "totalDiscount": 899,
        "coupon": {
          "code": "DESCONTO10",
          "discountPercentage": 10,
          "discountValue": null
        }
      }
    }
  }
}

Fetch

JavaScript
const response = await fetch('/graphql', {
  method: 'POST',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    query: `mutation($input: UpdateCouponOnShoppingCartInput!) {
      updateCouponOnShoppingCart(input: $input) {
        shoppingCart { id totalPrice totalDiscount }
      }
    }`,
    variables: { input: { hostname: "minha-loja", couponCode: "NOVOCUPOM" } }
  })
});

cURL

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