meu ecommercedevelopers
Guias de integração

Calcular frete no checkout

Consulte preços e prazos a partir do CEP do cliente.

Faça a chamada no navegador

A cotação aceita chave pública e oferece CORS. Substitua o marcador pela chave da loja e obtenha os itens do carrinho real.

export async function cotarFrete(destinationCep, items) {
  const response = await fetch('https://api.meuecommerce.com.br/v1/rates', {
    method: 'POST',
    headers: {
      Authorization: 'Bearer pk_SUA_CHAVE',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ destinationCep, items }),
  });
  const data = await response.json();
  if (!response.ok) {
    throw new Error(data.error?.message ?? 'Não foi possível cotar o frete.');
  }
  return data;
}

const quote = await cotarFrete('20040002', [{
  name: 'Camiseta de algodão', quantity: 1,
  unitPriceBRL: 89.90, weightKg: 0.3,
}]);

if (!quote.rates.length) {
  // Mostre uma mensagem de indisponibilidade. Examine quote.reason.
} else {
  // Mostre label, price e deliveryDays para cada serviço.
}

Estados da interface

Mostre o carregamento enquanto a consulta estiver em andamento. Desabilite envios repetidos, valide o CEP e ignore uma resposta antiga se o cliente já alterou o endereço ou o carrinho.

Recalcule ao mudar quantidade, itens ou destino. Uma lista vazia não equivale a frete grátis. Para formatar preços, use Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).

Finalização do pedido

A cotação apresenta opções; ela não cria um pedido nem adiciona automaticamente uma taxa à sua plataforma. Integre a opção selecionada ao mecanismo de checkout da aplicação e valide preço e serviço no backend antes de concluir a compra. Não confie em um total enviado pelo navegador.

Referência completa · Erros e limites

Nesta página