Extensão #9 Envios e cálculos de frete

Extensão que utiliza a Fretnet, Correios, controle por estados e configurações gerais para controle de envios

Ícone Compartilhar no Whatsapp Ícone Compartilhar no Twitter Ícone Compartilhar por e-mail

Introdução

Esta extensão permite gerenciar configurações relacionadas à envios com peso e medidas dos produtos para fazer cálculos de fretes. Divisão das configurações e possibilidades:


Pré-requisitos

  • Catálogo de produtos (#5);
  • SEO (#5) para preenchimento das coordenadas;


Configurações gerais:

  • CEP da loja: CEP oficial de onde irá sair os produtos;
  • Frete grátis para toda a loja: configuração global que desabilita todas as formas de envio;
  • Frete acima de um valor: Configuração global para oferecer frete grátis assim que o total da compra ultrapassa determinado valor;
  • Frete grátis até determinado preço: Valor máximo em kilos para habilitar frete grátis em compras até determinado peso;
  • Frete grátis por distância: Valor em quilometros para frete grátis; ⚠️ pode ter limitações caso não encontre o CEP no OpenStreet;
  • Limite de entrega: Valor em quilometros para limitar a entrega;⚠️ pode ter limitações caso não encontre o CEP no OpenStreet;
  • Tabela de estados: Ao habilitar essa opção o usuário terá o cálculo baseado no preenchimento da tabela de Estados no Painel da extensão;
  • peso e medidas padrão: Dados essenciais para o funcionamento. Sempre que um produto não tiver medidas ou peso cadastrados, será utilizado este valor padrão;

🚨 É importante que a loja utilize OU Fretnet OU Correios OU Controle por estados. Não é possível utilizar mais de um.

🚨 Em ordem, a loja busca primeiro A configuração global (frete grátis e distâncias), depois Fretnet, depois Correios, depois Controle por estados, entretanto, é importante desabilitar os não utilizados.



🚚 FRETNET

É a integração recomendada, basta adicionar o token e fazer as configurações na plataforma da Fretnet. É o mais preciso. 

Veja como pegar o token da Fretnet

Veja o site oficial da Fretnet

⚠️ Tempo adicional em dias para as entregas: Valor em dias para somar à estimativa, por exemplo, ao colocar o valor 3 será somado 3 dias em todas as opções. Pode ser utilizado como tempo de fabricação.


✉️ CORREIOS (simplificado)

A integração com o Correios fornece cálculos para SEDEX e PAC. Funciona bem para 1 produto mas pode ser impreciso para mais produtos. 

⚠️ As dimensões dos produtos e pesos são somados para gerar o cálculo. Há uma chance grande do valor ser maior que o real pago. 


🛣️ CONTROLE POR ESTADOS

Permite controlar por estado se o frete é grátis e seu respectivo valor fixo. ⚡ Por ser uma tabela simples, esse cálculo é muito rápido.

Onde é exibido?

Página do produto: Na página do produto é necessário  colocar o script e elementos do DOM para fazer o cálculo de estimativa individual.

No carrinho/sacola de compras: Os cálculos estão incorporados no cart2.js para estimar o frete para múltiplos produtos. Utiliza o localStorage:products para coletar os produtos (assim como o carrinho de compras).

Como utilizar no site

As configurações podem ser invocadas no Layout do catálogo a qualquer momento, com as funções:

objeto com as configurações globais:


$shippingData = shippingData();

$shippindData['cep'];$shippindData['allFree'];$shippindData['allFreeMessage'];$shippindData['allFreePrice'];$shippindData['allFreePriceValue'];$shippindData['allFreeWeight'];$shippindData['allFreeWeightValue'];$shippindData['allFreeForRange'];$shippindData['allFreeRangeValue'];$shippindData['limitRange'];$shippindData['limitRangeValue'];$shippindData['useBRStates'];$shippindData['defaultWeight'];$shippindData['defaultWidth'];$shippindData['defaultHeight'];$shippindData['defaultLenght '];



objeto com os dados por estado


$shippingBRStates = shippingBRStatesData();

$shippingBRStates['SP']['configbrstatesAllFree'];$shippingBRStates['SP']['configbrstatesMinvalueForFree'];$shippingBRStates['SP']['configbrstatesFixedPrice'];$shippingBRStates['SP']['configbrstatesDeliveryTime'];


Ps.: equivalente para todos os UFs


objeto com os dados da Fretnet


$fretnetData = shippingThirdPartyData('Fretnet');$fretnetData['useFretnet'];$fretnetData['fretnetDeliveryTime'];


objeto com os dados dos Correios


$correiosData = shippingThirdPartyData('Correios');$correiosData['useCorreios'];$correiosData['PAC'];$correiosData['SEDEX'];$correiosData['showService'];$correiosData['correiosDeliveryTime'];


objeto para trazer as medidas e + dados de cada produto


$productMeasures = shippingEachProductData($productData['productId']);$productMeasures['width'];$productMeasures['height'];$productMeasures['length'];$productMeasures['fragile'];


objeto e script que traz todas as informações necessárias para o script de cálculos funcionar

$shippingDataForScript = shippingDataSet();

$item .= '<script id="shippingScriptTag" '.$shippingDataForScript.' src="https://www.interago.com.br/App/Extensions/9/tag/shipping.js" data-t="'.$mainData['siteDomainToken'].'" data-w="'.$mainData['siteId'].'" loading="lazy"></script><script> shippingForProduct();</script>';


DOM necessário na página de produto



//shipping $shippingData = shippingData(); $shippingProductData = shippingEachProductData($productData['productId']); $shippingWeight = ''; //to get weight from shipping settings if productData is equal to zero if($productData['productWeight'] == '0.0') { $shippingWeight = $shippingData['defaultWeight']; } else { $shippingWeight = $productData['productWeight']; }

$item .= '<div id="shippingEstimativeContent" data-product-width="'.$shippingProductData['width'].'" data-product-height="'.$shippingProductData['height'].'" data-product-length="'.$shippingProductData['length'].'" data-product-fragile="'.$shippingProductData['fragile'].'" data-product-weight="'.$shippingWeight.'" data-sku="'.$productData['productSKU'].'" data-category="'.$productData['categoryId'].'" data-price="'.$productData['productPrice'].'" data-internal-id="'.$productData['productId'].'"></div>';


☝️ Todo o esquema de cálculo será carregado dentro do #shippingEstimativeContent


Estilo padrão necessário para exibição dos cálculos


/*shipping*/

 #shippingEstimativeContent { margin-top:30px; }

 #shippingEstimativesInput { width: 50%; font-size: 15px; display: inline-block; border: 1px solid #dedede; border-radius: 5px; padding: 4px; } #shippingEstimativesInputButton { background-color: #055ed0; color: #fff; padding: 5px 5px; box-shadow: 0 2px 2px #dedede; border-radius: 5px; font-size: 14px; cursor: pointer; transition: 0.3s ease; text-align: center; width: 45%; display: inline-block; max-width: 100px; } #shippingEstimativesGeoLocation { cursor:pointer; font-size: 12px; color: #055ed0; display:block; }

 .shippingResultWireFrame { width: 100%; height: 10px; background-color: #dfdfdf; border-radius: 5px; margin-top: 10px; } .shippingResultHalfWireFrame { width:30%; height: 10px; background-color: #dfdfdf; border-radius: 5px; margin-top: 10px; } .shippingEstimativeResultContent { font-size: 13px; color: #666; margin-bottom: 10px; } #shippingEstimativesResult { margin-top:10px; } .shippingEstimativeResultPrice strong{ display:inline-block; }



🛒 O estilo para o carrinho de compras já vem por padrão no cart2.js. Para alterar basta chamar o atributo style.

Gostei desse artigo Não gostei desse artigo

Você também pode gostar de ler

Imagem principal do artigo Guia de utilização das planilhas na extensão de Catálogo de Produtos

Guia de utilização das planilhas na extensão de Catálogo de Produtos

Documentação completa de como utilizar a ferramenta de planilhas da extensão de produtos no Interago.

Em 16/06/2025 às 09h38 - Atualizado em 10/07/2025 às 10h14

Imagem principal do artigo Guia completo para o catálogo de produtos (Extensão)

Guia completo para o catálogo de produtos (Extensão)

Instalação, passo a passo e guia prático para utilizar o catálogo no site dos clientes

Em 14/06/2022 às 13h38 - Atualizado em 11/04/2025 às 13h17

Imagem principal do artigo Guia da Extensão #11 Promoções

Guia da Extensão #11 Promoções

Uso da extensão que gerencia a exibição de preços, desconto por meios de pagamento, categorias e produtos e cupom (em breve)

Em 04/09/2023 às 10h41 - Atualizado em 12/02/2025 às 09h16

Imagem principal do artigo Carrinho de compras cart2.js

Carrinho de compras cart2.js

Extensão 6 do Interago para habilitar o uso de carrinho de compras ao website

Em 29/11/2022 às 12h54 - Atualizado em 03/02/2025 às 11h54

Imagem principal do artigo Buscas e Pesquisas no Catálogo de produtos

Buscas e Pesquisas no Catálogo de produtos

Script ativo é o search3.js. Buscas em cache com visualização no painel.

Em 01/03/2023 às 09h23 - Atualizado em 16/12/2024 às 11h48

Imagem principal do artigo Extensão #9 Envios e cálculos de frete

Extensão #9 Envios e cálculos de frete

Extensão que utiliza a Fretnet, Correios, controle por estados e configurações gerais para controle de envios

Em 23/03/2023 às 20h22 - Atualizado em 15/09/2023 às 09h49

Imagem principal do artigo Checkout e Pedidos - Extensão #10

Checkout e Pedidos - Extensão #10

Guia para lojas virtuais utilizarem a extensão de checkout e suas especificações

Em 01/06/2023 às 14h35 - Atualizado em 18/08/2023 às 08h36

Imagem principal do artigo Estoque do Catálogo de Produtos - Layout, Uso e Consultas

Estoque do Catálogo de Produtos - Layout, Uso e Consultas

Como adicionar informações de estoque no layoute realizar consultas assíncronas

Em 13/02/2023 às 14h40 - Atualizado em 07/08/2023 às 22h28

Imagem principal do artigo Catálogo de Produtos - Listar Produtos com AJAX

Catálogo de Produtos - Listar Produtos com AJAX

Como gerar listas de produtos diretamente da base de dados por ajax

Em 09/08/2022 às 11h03 - Atualizado em 26/12/2022 às 09h37

Imagem principal do artigo 001. Catálogo em Lista - Formato Imobiliária

001. Catálogo em Lista - Formato Imobiliária

Visual de todas as páginas do catálogo de produtos em formato de lista - Ideal para imobiliárias

Em 29/06/2022 às 11h22 - Atualizado em 16/08/2022 às 09h09