Acesso Comercial / Docs / Storefront / API
Ctrl K
QUERY

shoppingCart

Retorna o carrinho de compras do visitante atual. Identificado automaticamente por cookies de sessão.

Argumentos

ArgumentoTipoDescrição
hostnameString!Hostname da loja.

Retorno

Retorna um ShoppingCart.

CampoTipoDescrição
idID!ID do carrinho.
products[ShoppingCartProduct]Produtos no carrinho com quantidade e preço.
totalPriceFloatPreço total dos produtos (em centavos).
totalQuantityIntQuantidade total de itens.
couponCouponCupom aplicado (se houver).
totalShippingFloatValor do frete calculado.
shippingOptions[ShippingOption]Opções de frete disponíveis.
totalDiscountFloatDesconto total aplicado.

Query

GraphQL
query GetCart($hostname: String!) {
  shoppingCart(hostname: $hostname) {
    id
    totalPrice
    totalQuantity
    totalShipping
    totalDiscount
    coupon { code discountPercentage discountValue }
    products {
      id
      productId
      title
      price
      quantity
      images { url }
    }
    shippingOptions {
      type
      name
      price
      deadline
    }
  }
}

Resposta

JSON
{
  "data": {
    "shoppingCart": {
      "id": "Q2FydDp4eXo=",
      "totalPrice": 17980,
      "totalQuantity": 2,
      "totalShipping": 1500,
      "totalDiscount": 0,
      "coupon": null,
      "products": [
        {
          "id": "item1",
          "productId": "UHJvZHVjdDphYmMx",
          "title": "Camiseta Premium",
          "price": 8990,
          "quantity": 2,
          "images": [{ "url": "https://..." }]
        }
      ],
      "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: `query($hostname: String!) {
        shoppingCart(hostname: $hostname) {
          id totalPrice totalQuantity
          products { id title price quantity }
        }
      }`,
      variables: { hostname: "minha-loja" }
    })
  }
);
const data = await response.json();

cURL

Bash
curl -X POST https://minha-loja.com/graphql \
  -H "Content-Type: application/json" \
  -b "authJwtClient=YOUR_SESSION_COOKIE" \
  -d '{"query":"query { shoppingCart(hostname: \"minha-loja\") { id totalPrice products { id title price quantity } } }"}'