{"id":200895,"date":"2024-09-05T21:37:01","date_gmt":"2024-09-05T21:37:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/autocep\/"},"modified":"2026-08-20T20:15:10","modified_gmt":"2026-08-20T20:15:10","slug":"autocep","status":"publish","type":"plugin","link":"https:\/\/arg.wordpress.org\/plugins\/autocep\/","author":23103365,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.6","stable_tag":"trunk","tested":"7.0.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"AutoCEP","header_author":"TESW | Dev Wanderson Cesar","header_description":"Preenche automaticamente o endere\u00e7o no checkout com base no CEP digitado.","assets_banners_color":"604b1d","last_updated":"2026-08-20 20:15:10","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/tesw.com.br\/","header_plugin_uri":"https:\/\/tesw.com.br\/plugins\/","header_author_uri":"https:\/\/tesw.com.br","rating":5,"author_block_rating":0,"active_installs":1000,"downloads":7028,"num_ratings":6,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["changelog","description"],"tags":{"2.35":{"tag":"2.35","author":"wanderson100","date":"2026-08-17 05:26:38"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":6},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3650457,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3650457,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3650457,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3650457,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.35"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3652006,"resolution":"1","location":"assets","locale":"","width":1366,"height":617},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3652006,"resolution":"10","location":"assets","locale":"","width":1366,"height":768},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3652006,"resolution":"2","location":"assets","locale":"","width":1366,"height":589},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3652006,"resolution":"3","location":"assets","locale":"","width":1366,"height":622},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3652006,"resolution":"4","location":"assets","locale":"","width":1366,"height":593},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3652006,"resolution":"5","location":"assets","locale":"","width":1366,"height":614},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3652006,"resolution":"6","location":"assets","locale":"","width":1366,"height":603},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3652006,"resolution":"7","location":"assets","locale":"","width":1366,"height":603},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3652006,"resolution":"8","location":"assets","locale":"","width":1366,"height":768},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3652006,"resolution":"9","location":"assets","locale":"","width":1366,"height":768}},"screenshots":{"1":"Geral &amp; Busca de CEP \u2014 autocompletar de Cobran\u00e7a\/Entrega, campo de bairro, autocomplete do navegador e prioridade das APIs de CEP.","2":"Frete na P\u00e1gina de Produto \u2014 ativa\u00e7\u00e3o, posi\u00e7\u00e3o na p\u00e1gina e op\u00e7\u00e3o de considerar a quantidade selecionada.","3":"Frete no Carrinho \u2014 simulador de frete configur\u00e1vel para a p\u00e1gina do carrinho de compras.","4":"Frete no Checkout \u2014 c\u00e1lculo r\u00e1pido de frete por CEP direto no checkout.","5":"Mensagens &amp; UX \u2014 todos os textos exibidos ao cliente, edit\u00e1veis.","6":"Apar\u00eancia \u2014 personaliza\u00e7\u00e3o das cores do campo de CEP e do bot\u00e3o \"Calcular\".","7":"Diagn\u00f3stico e Logs \u2014 status em tempo real das APIs de CEP e hist\u00f3rico de falhas."}},"plugin_section":[],"plugin_tags":[157502,3148,159230,44084,286],"plugin_category":[45],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-200895","plugin","type-plugin","status-publish","hentry","plugin_tags-cep","plugin_tags-checkout","plugin_tags-endereco","plugin_tags-frete","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_committers-wanderson100"],"banners":{"banner":"https:\/\/ps.w.org\/autocep\/assets\/banner-772x250.jpg?rev=3650457","banner_2x":"https:\/\/ps.w.org\/autocep\/assets\/banner-1544x500.jpg?rev=3650457","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/autocep\/assets\/icon-128x128.jpg?rev=3650457","icon_2x":"https:\/\/ps.w.org\/autocep\/assets\/icon-256x256.jpg?rev=3650457","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-1.png?rev=3652006","caption":"Geral &amp; Busca de CEP \u2014 autocompletar de Cobran\u00e7a\/Entrega, campo de bairro, autocomplete do navegador e prioridade das APIs de CEP."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-2.png?rev=3652006","caption":"Frete na P\u00e1gina de Produto \u2014 ativa\u00e7\u00e3o, posi\u00e7\u00e3o na p\u00e1gina e op\u00e7\u00e3o de considerar a quantidade selecionada."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-3.png?rev=3652006","caption":"Frete no Carrinho \u2014 simulador de frete configur\u00e1vel para a p\u00e1gina do carrinho de compras."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-4.png?rev=3652006","caption":"Frete no Checkout \u2014 c\u00e1lculo r\u00e1pido de frete por CEP direto no checkout."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-5.png?rev=3652006","caption":"Mensagens &amp; UX \u2014 todos os textos exibidos ao cliente, edit\u00e1veis."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-6.png?rev=3652006","caption":"Apar\u00eancia \u2014 personaliza\u00e7\u00e3o das cores do campo de CEP e do bot\u00e3o \"Calcular\"."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-7.png?rev=3652006","caption":"Diagn\u00f3stico e Logs \u2014 status em tempo real das APIs de CEP e hist\u00f3rico de falhas."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-8.png?rev=3652006","caption":""},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-9.png?rev=3652006","caption":""},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-10.png?rev=3652006","caption":""}],"raw_content":"<!--section=changelog-->\n<h4>2.3.6<\/h4>\n\n<ul>\n<li>Corrigido problema no checkout onde o Bairro era preenchido incorretamente no campo Complemento e deixava o Bairro vazio, impedindo o c\u00e1lculo de frete.<\/li>\n<\/ul>\n\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>V\u00eddeo demonstrativo (https:\/\/youtu.be\/CygVGP-LUJg) adicionado no topo da Descri\u00e7\u00e3o do README, no formato que o WordPress.org converte automaticamente em player incorporado.<\/li>\n<li>Removido o arquivo de v\u00eddeo local do pacote (<code>store-assets\/<\/code>), j\u00e1 hospedado no YouTube \u2014 reduz bastante o tamanho do .zip do plugin.<\/li>\n<li>Cr\u00e9ditos esclarecidos: vers\u00e3o 2.0 criada pela equipe TESW, com desenvolvimento principal de Wanderson Cesar.<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li>Corrigido: ao selecionar um frete simulado no checkout, os campos de Cidade e Estado podiam continuar mostrando o endere\u00e7o antigo mesmo com o CEP j\u00e1 atualizado, quando o autocompletar de Cobran\u00e7a\/Entrega estava desligado nas configura\u00e7\u00f5es. Como essa sincroniza\u00e7\u00e3o acontece por uma a\u00e7\u00e3o expl\u00edcita do cliente (clicar em \"Selecionar\"), agora ela sempre atualiza o endere\u00e7o completo (rua\/bairro\/cidade\/estado), independente dessa op\u00e7\u00e3o.<\/li>\n<li>A sincroniza\u00e7\u00e3o de endere\u00e7o ao selecionar um frete agora espera a busca terminar de verdade antes de recalcular o checkout, em vez de um tempo fixo \u2014 mais confi\u00e1vel em conex\u00f5es lentas.<\/li>\n<li>Adicionados materiais de divulga\u00e7\u00e3o do plugin (\u00edcone, banner e capturas de tela do painel) na pasta <code>store-assets\/<\/code>, e se\u00e7\u00e3o de Screenshots no README.<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Corrigido: ao selecionar um frete simulado no checkout quando a etapa \"M\u00e9todo de Entrega\" j\u00e1 estava renderizada com uma op\u00e7\u00e3o diferente marcada, o pr\u00f3prio rec\u00e1lculo nativo do WooCommerce reenviava o valor do r\u00e1dio ainda marcado na tela (o antigo) e sobrescrevia a sele\u00e7\u00e3o feita \u2014 mostrando \"Frete selecionado com sucesso\" mas mantendo o m\u00e9todo\/valor anterior. Agora o r\u00e1dio nativo correspondente \u00e9 marcado antes do rec\u00e1lculo, garantindo que a escolha feita na simula\u00e7\u00e3o seja a que efetivamente \u00e9 enviada e aplicada.<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li>Card de simula\u00e7\u00e3o de frete menor e mais compacto (menos padding, fonte e espa\u00e7amentos reduzidos), para ocupar menos espa\u00e7o na p\u00e1gina de produto\/carrinho\/checkout.<\/li>\n<li>Corrigida (definitivamente) a apar\u00eancia \"torta\" do texto dentro do bot\u00e3o \"Calcular\": duas causas \u2014 o <code>letter-spacing<\/code> adicionava espa\u00e7o tamb\u00e9m depois da \u00faltima letra, descentralizando visualmente o texto; e a quebra de linha\/indenta\u00e7\u00e3o dentro da tag <code>&lt;button&gt;<\/code> no HTML podia deixar espa\u00e7os em branco nas bordas do texto em alguns navegadores. Ambas foram removidas.<\/li>\n<li>Link \"N\u00e3o sei meu CEP\" com visual mais intencional (centralizado, cor da marca, sem parecer um elemento solto\/quebrado).<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li>Mensagem mais precisa quando nenhuma taxa de frete \u00e9 retornada: se a causa real for o CEP n\u00e3o existir em nenhuma das APIs consultadas, o cliente agora v\u00ea \"CEP n\u00e3o encontrado\" em vez da mensagem gen\u00e9rica \"nenhuma op\u00e7\u00e3o de frete dispon\u00edvel\", que escondia a causa real.<\/li>\n<li>Documentadas no README as duas situa\u00e7\u00f5es mais comuns de \"frete n\u00e3o aparece\": produto sem peso cadastrado (rejeitado silenciosamente por transportadoras como Jadlog\/Azul Ecommerce) e CEP inexistente.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Novo diagn\u00f3stico: quando a Zona de Entrega tem m\u00e9todos de frete habilitados que n\u00e3o retornam taxa (sem erro, apenas sem pre\u00e7o \u2014 comum com Melhor Envio\/Frenet quando uma transportadora espec\u00edfica n\u00e3o atende ao destino ou o produto n\u00e3o tem peso cadastrado), o log agora registra exatamente quais m\u00e9todos ficaram \"silenciosos\" e, quando aplic\u00e1vel, aponta o(s) produto(s) sem peso cadastrado como poss\u00edvel causa.<\/li>\n<\/ul>\n\n<h4>2.2.2<\/h4>\n\n<ul>\n<li>Estendida a corre\u00e7\u00e3o de compatibilidade com o Melhor Envio (2.2.1) para os simuladores de <strong>Carrinho e Checkout<\/strong>: o mesmo problema de fundo (o Melhor Envio n\u00e3o conseguir ler os produtos corretamente em determinados cen\u00e1rios) tamb\u00e9m podia acontecer ali, mas de forma silenciosa \u2014 retornando \"Nenhuma op\u00e7\u00e3o de frete dispon\u00edvel\" em vez de um erro. Agora cada item do pacote tamb\u00e9m recebe os dados formatados como rede de seguran\u00e7a, sem alterar o comportamento para quem j\u00e1 funcionava normalmente.<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Corrigida a causa raiz real do erro \"Uma das transportadoras configuradas n\u00e3o respondeu corretamente\" no simulador de frete da <strong>p\u00e1gina de produto<\/strong> com o plugin oficial do Melhor Envio: o pacote simulado (fora do carrinho real) n\u00e3o inclu\u00eda a flag <code>product_page_calculation<\/code> nem os dados do produto no formato interno que o Melhor Envio espera nesse cen\u00e1rio. Isso fazia o c\u00e1lculo do Melhor Envio tentar ler do carrinho real \u2014 que funcionava \"por acidente\" quando havia algo no carrinho da sess\u00e3o (ex.: durante testes logado), mas falhava para qualquer visitante com o carrinho vazio. Agora o pacote \u00e9 montado no formato que o pr\u00f3prio Melhor Envio usa em sua calculadora oficial de p\u00e1gina de produto.<\/li>\n<li>O ajuste \u00e9 aplicado de forma defensiva (s\u00f3 age se o plugin do Melhor Envio estiver de fato instalado) e n\u00e3o afeta os simuladores de carrinho e checkout, que j\u00e1 usavam o carrinho real e n\u00e3o eram afetados por este bug.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Corrigido bug cr\u00edtico: a simula\u00e7\u00e3o de frete (produto, carrinho e checkout) falhava com mensagem de erro apenas para visitantes n\u00e3o logados, enquanto funcionava normalmente para administradores\/usu\u00e1rios logados \u2014 em lojas usando Melhor Envio, Frenet ou outras transportadoras de terceiros. Causa: nossas rotas AJAX passam por <code>admin-ajax.php<\/code>, que n\u00e3o garante o carrinho\/sess\u00e3o\/cliente do WooCommerce (<code>WC()-&gt;cart<\/code>, <code>WC()-&gt;session<\/code>, <code>WC()-&gt;customer<\/code>) totalmente inicializados para um visitante an\u00f4nimo sem sess\u00e3o pr\u00e9via \u2014 o que fazia integra\u00e7\u00f5es de frete de terceiros lan\u00e7arem exce\u00e7\u00e3o. Agora o plugin chama <code>wc_load_cart()<\/code> (fun\u00e7\u00e3o oficial do WooCommerce para esse cen\u00e1rio) no in\u00edcio de cada rota AJAX de frete, garantindo esses objetos dispon\u00edveis para qualquer visitante, logado ou n\u00e3o.<\/li>\n<li>Corrigido: ao selecionar um frete simulado no checkout usando um CEP diferente do que j\u00e1 estava preenchido no formul\u00e1rio de endere\u00e7o, o WooCommerce recalculava o pedido usando o CEP antigo do formul\u00e1rio (n\u00e3o o CEP selecionado), fazendo o valor do frete divergir do que foi escolhido. Agora, ao selecionar, o CEP da simula\u00e7\u00e3o \u00e9 sincronizado com os campos reais de cobran\u00e7a\/entrega antes do rec\u00e1lculo.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Nova funcionalidade: cada op\u00e7\u00e3o de frete simulada no <strong>Carrinho<\/strong> e no <strong>Checkout<\/strong> agora tem um bot\u00e3o \"Selecionar\" \u2014 clicar nele aplica de verdade aquele m\u00e9todo de frete ao pedido (usando o mesmo mecanismo nativo de sess\u00e3o do WooCommerce que os bot\u00f5es de r\u00e1dio de frete usam), em vez de a simula\u00e7\u00e3o ser apenas informativa. O CEP e o m\u00e9todo s\u00e3o sempre revalidados no servidor no momento da sele\u00e7\u00e3o.<\/li>\n<li>No checkout, selecionar um frete simulado atualiza automaticamente a etapa \"M\u00e9todo de Entrega\" nativa (via evento <code>update_checkout<\/code>); no carrinho, a p\u00e1gina \u00e9 atualizada para refletir a nova escolha nos totais.<\/li>\n<li>A caixa da p\u00e1gina de produto permanece apenas informativa, j\u00e1 que o item ainda n\u00e3o est\u00e1 no carrinho nesse momento.<\/li>\n<li>Novas mensagens configur\u00e1veis: texto do bot\u00e3o \"Selecionar\", \"Aplicando frete...\" e \"Frete selecionado com sucesso!\".<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Atualizada a compatibilidade declarada para WordPress at\u00e9 a vers\u00e3o 7.0.3.<\/li>\n<li>Corrigido: em temas com estilos globais fortes para campos e bot\u00f5es, o visual do campo de CEP e do bot\u00e3o \"Calcular\" das caixas de frete era sobrescrito pelo tema (borda, placeholder e cor do bot\u00e3o inconsistentes). O CSS do plugin agora tem prioridade garantida sobre os estilos do tema.<\/li>\n<li>Corrigido o alinhamento vertical do texto do bot\u00e3o \"Calcular\", que podia aparecer descentralizado dependendo do tema.<\/li>\n<li>Removida a classe gen\u00e9rica <code>button<\/code> do bot\u00e3o \"Calcular\", que estava puxando o estilo padr\u00e3o do tema\/WooCommerce.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<p>Reformula\u00e7\u00e3o completa do plugin, unificando todas as evolu\u00e7\u00f5es feitas sobre a base da vers\u00e3o 1.5:<\/p>\n\n<p><strong>Arquitetura<\/strong>\n* Reescrita modular orientada a objetos: <code>autocep.php<\/code> (bootstrap), <code>class-autocep-admin.php<\/code> (painel), <code>class-autocep-api.php<\/code> (busca de CEP), <code>class-autocep-shipping.php<\/code> (frete), <code>class-autocep-logger.php<\/code> (diagn\u00f3stico).\n* Painel administrativo pr\u00f3prio, com abas: Geral &amp; Busca de CEP, Frete na P\u00e1gina de Produto, Frete no Carrinho, Frete no Checkout, Mensagens &amp; UX, Apar\u00eancia, Diagn\u00f3stico e Logs.<\/p>\n\n<p><strong>Busca de CEP<\/strong>\n* Cascata de tr\u00eas APIs (ViaCEP, BrasilAPI, ApiCEP) com prioridade configur\u00e1vel e fallback autom\u00e1tico.\n* Cache via Transients API, com dura\u00e7\u00e3o configur\u00e1vel e limpeza manual.\n* Aviso para CEPs sem rua cadastrada, e mensagem de erro vis\u00edvel para CEP inv\u00e1lido\/n\u00e3o encontrado.\n* Compatibilidade ampla com checkouts de terceiros via observa\u00e7\u00e3o autom\u00e1tica de mudan\u00e7as no formul\u00e1rio.\n* Autocomplete do navegador opcional nos campos de endere\u00e7o.<\/p>\n\n<p><strong>Frete<\/strong>\n* Tr\u00eas simuladores independentes: produto, carrinho e checkout \u2014 todos consultando as Zonas de Entrega do WooCommerce em tempo real, com suporte a produtos vari\u00e1veis, cupons aplicados e prazo de entrega.\n* Compatibilidade com m\u00e9todos de frete de terceiros (Melhor Envio, Frenet e outros), com tratamento robusto de falhas e desativa\u00e7\u00e3o autom\u00e1tica da caixa nativa do Melhor Envio para evitar duplicidade visual.\n* Compatibilidade retroativa com o shortcode <code>[shipping_calculator_on_product_page]<\/code> do plugin de calculadora de frete anterior.<\/p>\n\n<p><strong>Apar\u00eancia<\/strong>\n* Redesenho das caixas de frete: visual compacto e moderno, cores personaliz\u00e1veis via seletor nativo do WordPress.<\/p>\n\n<p><strong>Diagn\u00f3stico<\/strong>\n* Verifica\u00e7\u00e3o de status em tempo real das APIs de CEP e log de falhas.<\/p>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Vers\u00e3o legada: autocompletar endere\u00e7o no checkout via API OpenCEP.<\/li>\n<\/ul>\n\n<p>Obrigado por usar o <strong>AutoCEP<\/strong>.<\/p>\n\n<!--section=description-->\n<p>Autocompletar CEP no checkout do WooCommerce e simular frete em tempo real \u2014 produto, carrinho e checkout \u2014 com m\u00faltiplas APIs, cache, fallback autom\u00e1tico e compatibilidade com Melhor Envio, Frenet, Fluid Checkout e CartFlows.<\/p>\n\n<h3>Descri\u00e7\u00e3o<\/h3>\n\n<p>https:\/\/youtu.be\/YnDT_qNIH1w<\/p>\n\n<p><strong>AutoCEP<\/strong> resolve dois problemas cl\u00e1ssicos de qualquer loja WooCommerce: fazer o cliente <strong>preencher o endere\u00e7o automaticamente ao digitar o CEP<\/strong> e <strong>mostrar o valor do frete antes de chegar ao checkout<\/strong> \u2014 na p\u00e1gina do produto, no carrinho e no pr\u00f3prio checkout.<\/p>\n\n<p>Se voc\u00ea procurou por <em>\"autocompletar CEP no checkout WooCommerce\"<\/em>, <em>\"simular frete WooCommerce\"<\/em>, <em>\"calculadora de frete na p\u00e1gina de produto\"<\/em> ou <em>\"preencher endere\u00e7o autom\u00e1tico WooCommerce\"<\/em>, \u00e9 exatamente isso que o AutoCEP faz \u2014 e sem travar seu checkout, seja ele o padr\u00e3o do WooCommerce, o <strong>Fluid Checkout<\/strong>, o <strong>CartFlows<\/strong> ou um checkout em etapas feito no <strong>Elementor Pro<\/strong>.<\/p>\n\n<p>O comportamento cl\u00e1ssico do plugin (autocompletar endere\u00e7o no checkout ao digitar o CEP) continua ativo por padr\u00e3o assim que voc\u00ea instala \u2014 nenhuma configura\u00e7\u00e3o \u00e9 necess\u00e1ria para isso. Todo o resto \u00e9 opcional e fica no painel <strong>AutoCEP<\/strong> do WordPress.<\/p>\n\n<h4>Por que instalar o AutoCEP<\/h4>\n\n<ul>\n<li>Reduz abandono de carrinho: o cliente v\u00ea o valor do frete <strong>antes<\/strong> de chegar ao checkout, na pr\u00f3pria p\u00e1gina do produto ou no carrinho.<\/li>\n<li>Agiliza o preenchimento do endere\u00e7o no checkout, reduzindo erros de digita\u00e7\u00e3o e abandono por formul\u00e1rio longo.<\/li>\n<li>Funciona com o m\u00e9todo de frete que sua loja j\u00e1 usa \u2014 Frete Fixo, Frete Gr\u00e1tis, retirada local, <strong>Melhor Envio<\/strong>, <strong>Frenet<\/strong> ou qualquer outro registrado como Zona de Entrega do WooCommerce \u2014 sem precisar reconfigurar nada.<\/li>\n<li>N\u00e3o depende de nenhuma API paga: usa ViaCEP, BrasilAPI e ApiCEP, com cache e fallback autom\u00e1tico entre elas.<\/li>\n<\/ul>\n\n<h4>Autocompletar de Endere\u00e7o por CEP<\/h4>\n\n<ul>\n<li>Preenche Rua, Bairro, Cidade e Estado automaticamente a partir do CEP, na Cobran\u00e7a e\/ou na Entrega \u2014 cada uma pode ser ligada\/desligada separadamente.<\/li>\n<li>Consulta em cascata tr\u00eas APIs (ViaCEP, BrasilAPI e ApiCEP): se uma falhar ou n\u00e3o encontrar o CEP, a pr\u00f3xima \u00e9 consultada automaticamente.<\/li>\n<li>Cache de CEPs j\u00e1 consultados, com dura\u00e7\u00e3o configur\u00e1vel e bot\u00e3o de limpeza manual \u2014 menos requisi\u00e7\u00f5es externas, resposta mais r\u00e1pida para o cliente.<\/li>\n<li>Aviso autom\u00e1tico quando o CEP \u00e9 v\u00e1lido mas n\u00e3o tem rua espec\u00edfica cadastrada (comum em cidades pequenas), em vez de deixar o campo vazio sem explica\u00e7\u00e3o.<\/li>\n<li>Mensagem de erro vis\u00edvel para CEP inv\u00e1lido ou n\u00e3o encontrado.<\/li>\n<li>Sugest\u00f5es autom\u00e1ticas do navegador (autocomplete) nos campos de endere\u00e7o, opcional.<\/li>\n<li><strong>Compat\u00edvel com qualquer checkout constru\u00eddo sobre o formul\u00e1rio padr\u00e3o do WooCommerce<\/strong> \u2014 incluindo Fluid Checkout, CartFlows e Elementor Pro \u2014 atrav\u00e9s de detec\u00e7\u00e3o autom\u00e1tica de mudan\u00e7as no formul\u00e1rio, sem depender de eventos espec\u00edficos de cada plugin de checkout.<\/li>\n<\/ul>\n\n<h4>Simulador de Frete: Produto, Carrinho e Checkout<\/h4>\n\n<p>Tr\u00eas caixas de simula\u00e7\u00e3o de frete independentes, cada uma com posi\u00e7\u00e3o e t\u00edtulo configur\u00e1veis:<\/p>\n\n<ul>\n<li><strong>Simular frete na p\u00e1gina do produto<\/strong>, considerando (opcionalmente) a quantidade e a varia\u00e7\u00e3o selecionadas.<\/li>\n<li><strong>Simular frete no carrinho de compras<\/strong>, com os itens j\u00e1 adicionados.<\/li>\n<li><strong>Simular frete no checkout<\/strong>, c\u00e1lculo r\u00e1pido s\u00f3 com o CEP.<\/li>\n<\/ul>\n\n<p>Todas consultam as <strong>Zonas de Entrega do WooCommerce<\/strong> em tempo real, reconhecendo automaticamente qualquer transportadora j\u00e1 configurada \u2014 incluindo <strong>Melhor Envio<\/strong> e <strong>Frenet<\/strong> \u2014 sem nenhuma integra\u00e7\u00e3o adicional.<\/p>\n\n<h4>Personaliza\u00e7\u00e3o Visual<\/h4>\n\n<p>Cores do campo de CEP e do bot\u00e3o \"Calcular\" (fundo, borda, texto e hover) personaliz\u00e1veis com o seletor de cores nativo do WordPress, para combinar com a identidade visual da loja.<\/p>\n\n<h4>Diagn\u00f3stico e Logs<\/h4>\n\n<p>Status em tempo real (online\/offline) de cada API de CEP e log das \u00faltimas falhas \u2014 incluindo falhas de m\u00e9todos de frete de terceiros, como Melhor Envio ou Frenet, quando n\u00e3o retornam nenhuma taxa.<\/p>\n\n<h3>Instala\u00e7\u00e3o<\/h3>\n\n<ol>\n<li>Fa\u00e7a o upload da pasta <code>autocep<\/code> para <code>\/wp-content\/plugins\/<\/code> (ou envie o <code>.zip<\/code> diretamente em <strong>Plugins &gt; Adicionar Novo &gt; Enviar Plugin<\/strong>).<\/li>\n<li>Ative o plugin no menu <strong>Plugins<\/strong> do WordPress.<\/li>\n<li>Acesse o menu <strong>AutoCEP<\/strong> no painel administrativo \u2014 o autocompletar de CEP no checkout j\u00e1 estar\u00e1 funcionando; as demais abas permitem ativar o que fizer sentido para a sua loja.<\/li>\n<\/ol>\n\n<p><strong>Atualizando de uma vers\u00e3o anterior<\/strong>: basta substituir os arquivos do plugin pelos desta vers\u00e3o (ou desativar e reativar depois de sobrescrever). As configura\u00e7\u00f5es j\u00e1 salvas s\u00e3o preservadas.<\/p>\n\n<h3>Como usar cada aba do painel<\/h3>\n\n<p><strong>Geral &amp; Busca de CEP<\/strong> \u2014 liga\/desliga o autocompletar de Cobran\u00e7a e Entrega no checkout, escolhe quais APIs de CEP ficam ativas e em qual ordem de prioridade, mapeia o campo de bairro, ativa o foco autom\u00e1tico, define a dura\u00e7\u00e3o do cache e o autocomplete do navegador.<\/p>\n\n<p><strong>Frete na P\u00e1gina de Produto<\/strong> \u2014 ativa a caixa de frete no produto, escolhe a posi\u00e7\u00e3o na p\u00e1gina (ou \"Manual \u2014 via shortcode\" para posicionar com <code>[shipping_calculator_on_product_page]<\/code> dentro da descri\u00e7\u00e3o do produto), se deve considerar a quantidade selecionada, e o t\u00edtulo da caixa.<\/p>\n\n<p><strong>Frete no Carrinho<\/strong> \u2014 mesma ideia, para a p\u00e1gina do carrinho de compras.<\/p>\n\n<p><strong>Frete no Checkout<\/strong> \u2014 mesma ideia, para o checkout.<\/p>\n\n<p><strong>Mensagens &amp; UX<\/strong> \u2014 edita todos os textos exibidos ao cliente e o comportamento do bot\u00e3o \"Finalizar Compra\".<\/p>\n\n<p><strong>Apar\u00eancia<\/strong> \u2014 personaliza as cores das caixas de frete.<\/p>\n\n<p><strong>Diagn\u00f3stico e Logs<\/strong> \u2014 verifica o status das APIs de CEP em tempo real e consulta o hist\u00f3rico de falhas.<\/p>\n\n<h3>Como o simulador de frete se relaciona com o frete real do pedido<\/h3>\n\n<ul>\n<li><strong>Na p\u00e1gina do produto<\/strong>: a caixa \u00e9 <strong>informativa<\/strong> \u2014 mostra ao cliente, antecipadamente, quais m\u00e9todos e valores estariam dispon\u00edveis para o CEP digitado. Como o item ainda nem est\u00e1 no carrinho, n\u00e3o h\u00e1 \"sele\u00e7\u00e3o\" poss\u00edvel ali; \u00e9 s\u00f3 para ajudar na decis\u00e3o de compra.<\/li>\n<li><strong>No carrinho e no checkout<\/strong>: cada op\u00e7\u00e3o de frete simulada tem um bot\u00e3o <strong>\"Selecionar\"<\/strong> \u2014 clicar nele aplica de verdade aquele m\u00e9todo ao pedido, usando o mesmo mecanismo de sess\u00e3o que o WooCommerce usa nos pr\u00f3prios bot\u00f5es de r\u00e1dio de frete. Ou seja, n\u00e3o \u00e9 cosm\u00e9tico: a partir do clique, esse \u00e9 o frete escolhido para o pedido, e a etapa \"M\u00e9todo de Entrega\" do checkout (ou os totais do carrinho) refletem essa escolha automaticamente.<\/li>\n<\/ul>\n\n<p>O CEP e o m\u00e9todo enviados no clique de \"Selecionar\" s\u00e3o sempre revalidados no servidor no momento da sele\u00e7\u00e3o \u2014 o plugin nunca aplica cegamente o que o navegador envia.<\/p>\n\n<h3>Seguran\u00e7a<\/h3>\n\n<p>Pontos de seguran\u00e7a implementados no plugin, para quem for avaliar antes de instalar:<\/p>\n\n<ul>\n<li><strong>Nonces em toda a\u00e7\u00e3o AJAX<\/strong>: cada requisi\u00e7\u00e3o (busca de CEP, c\u00e1lculo de frete, limpeza de cache, verifica\u00e7\u00e3o de status, limpeza de logs) verifica uma nonce pr\u00f3pria (<code>check_ajax_referer<\/code>) antes de processar qualquer coisa.<\/li>\n<li><strong>Verifica\u00e7\u00e3o de capacidade<\/strong> (<code>current_user_can('manage_options')<\/code>) em todas as a\u00e7\u00f5es administrativas.<\/li>\n<li><strong>Sanitiza\u00e7\u00e3o e valida\u00e7\u00e3o de entrada<\/strong> em todo dado recebido do cliente \u2014 CEPs s\u00e3o validados por formato antes de qualquer consulta ou c\u00e1lculo.<\/li>\n<li><strong>Consultas ao banco de dados preparadas<\/strong> (<code>$wpdb-&gt;prepare<\/code>) em toda opera\u00e7\u00e3o com dados vari\u00e1veis.<\/li>\n<li><strong>Escape de sa\u00edda<\/strong> (<code>esc_html<\/code>, <code>esc_attr<\/code>, <code>esc_url<\/code> etc.) em todo HTML gerado dinamicamente.<\/li>\n<li><strong>Nenhuma execu\u00e7\u00e3o de c\u00f3digo din\u00e2mico<\/strong> (sem <code>eval<\/code>, sem <code>create_function<\/code>, sem inclus\u00e3o de arquivos por caminho vindo do cliente).<\/li>\n<li><strong>Requisi\u00e7\u00f5es externas restritas<\/strong> \u00e0s APIs de CEP documentadas neste README e aos m\u00e9todos de frete j\u00e1 configurados pela pr\u00f3pria loja \u2014 o plugin n\u00e3o envia dados da loja ou dos clientes para nenhum outro destino.<\/li>\n<li><strong>Tratamento de falhas de terceiros isolado<\/strong>: se um plugin de frete de terceiros (ex.: Melhor Envio, Frenet) lan\u00e7ar uma exce\u00e7\u00e3o ou ficar indispon\u00edvel, isso \u00e9 capturado e registrado no log, sem interromper o restante do checkout.<\/li>\n<\/ul>\n\n<p>Este plugin \u00e9 desenvolvido e mantido pela equipe da TESW. Como em qualquer software, recomendamos testar em ambiente de homologa\u00e7\u00e3o antes de colocar em produ\u00e7\u00e3o, e manter WordPress, WooCommerce e PHP sempre atualizados.<\/p>\n\n<h3>Compatibilidade<\/h3>\n\n<ul>\n<li><strong>WordPress<\/strong> at\u00e9 a vers\u00e3o 7.0.3<\/li>\n<li><strong>WooCommerce<\/strong> (checkout padr\u00e3o)<\/li>\n<li><strong>Fluid Checkout<\/strong><\/li>\n<li><strong>CartFlows<\/strong><\/li>\n<li><strong>Elementor Pro<\/strong> (checkout em etapas)<\/li>\n<li>M\u00e9todos de frete: Frete Fixo, Frete Gr\u00e1tis, retirada local, <strong>Melhor Envio<\/strong>, <strong>Frenet<\/strong> e qualquer outro m\u00e9todo registrado como Zona de Entrega do WooCommerce<\/li>\n<\/ul>\n\n<h3>Documenta\u00e7\u00e3o de Terceiros<\/h3>\n\n<p>Este plugin pode consultar as seguintes APIs de CEP, conforme configura\u00e7\u00e3o:\n* ViaCEP \u2014 https:\/\/viacep.com.br\/\n* BrasilAPI \u2014 https:\/\/brasilapi.com.br\/\n* ApiCEP \u2014 https:\/\/apicep.com\/<\/p>\n\n<p>O c\u00e1lculo de frete usa exclusivamente as Zonas de Entrega j\u00e1 configuradas em WooCommerce &gt; Configura\u00e7\u00f5es &gt; Entrega \u2014 o AutoCEP n\u00e3o se conecta diretamente a nenhuma transportadora; ele l\u00ea os m\u00e9todos que a pr\u00f3pria loja j\u00e1 configurou (nativos do WooCommerce ou de plugins como Melhor Envio e Frenet).<\/p>\n\n<h3>Perguntas Frequentes<\/h3>\n\n<h4>O autocompletar de CEP parou de funcionar depois que troquei de tema\/checkout?<\/h4>\n\n<p>O plugin observa automaticamente mudan\u00e7as no formul\u00e1rio de checkout, ent\u00e3o continua funcionando na maioria dos casos sem configura\u00e7\u00e3o extra, inclusive em checkouts de terceiros como Fluid Checkout e CartFlows. Se mesmo assim n\u00e3o funcionar, confira em Diagn\u00f3stico e Logs se alguma API est\u00e1 offline, e limpe o cache de CEPs.<\/p>\n\n<h4>Por que aparecem duas caixas de frete na p\u00e1gina de produto?<\/h4>\n\n<p>Provavelmente outro plugin (ex.: Melhor Envio) tamb\u00e9m insere sua pr\u00f3pria caixa autom\u00e1tica. O AutoCEP desliga a do Melhor Envio automaticamente quando detecta o plugin instalado; para outras integra\u00e7\u00f5es, desative a exibi\u00e7\u00e3o autom\u00e1tica delas nas configura\u00e7\u00f5es do pr\u00f3prio plugin, ou desligue o simulador de produto do AutoCEP em vez disso.<\/p>\n\n<h4>O simulador de frete n\u00e3o encontra nenhuma op\u00e7\u00e3o para um CEP que deveria funcionar<\/h4>\n\n<p>Confirme que existe uma Zona de Entrega em WooCommerce &gt; Configura\u00e7\u00f5es &gt; Entrega que cubra o estado\/CEP testado, com pelo menos um m\u00e9todo habilitado. Consulte tamb\u00e9m a aba Diagn\u00f3stico e Logs \u2014 falhas de m\u00e9todos de terceiros ficam registradas ali com a mensagem de erro espec\u00edfica.<\/p>\n\n<h4>Apenas algumas transportadoras aparecem, mesmo com v\u00e1rias habilitadas na zona (ex.: Melhor Envio, Frenet)<\/h4>\n\n<p>Isso normalmente <strong>n\u00e3o \u00e9 um bug<\/strong> \u2014 \u00e9 a pr\u00f3pria transportadora rejeitando a cota\u00e7\u00e3o silenciosamente (sem erro, s\u00f3 sem pre\u00e7o) para aquele produto ou destino. A causa mais comum \u00e9 o <strong>produto estar sem peso cadastrado<\/strong>: transportadoras via API (Melhor Envio, Frenet) costumam exigir peso m\u00ednimo para calcular a caixa\/embalagem; Correios costuma ser mais tolerante e retornar pre\u00e7o mesmo sem peso definido, enquanto transportadoras privadas (Jadlog, Azul Ecommerce etc.) geralmente n\u00e3o.<\/p>\n\n<p>Como resolver:<\/p>\n\n<ol>\n<li>V\u00e1 em <strong>Produtos<\/strong>, abra o produto testado e confira a aba <strong>Entrega<\/strong> \u2014 preencha peso e, se poss\u00edvel, dimens\u00f5es (comprimento, largura, altura).<\/li>\n<li>Repita a simula\u00e7\u00e3o de frete.<\/li>\n<li>Se ainda faltar alguma transportadora, veja a aba <strong>AutoCEP &gt; Diagn\u00f3stico e Logs<\/strong> \u2014 a partir da vers\u00e3o 2.3.0, o plugin registra ali exatamente quais transportadoras habilitadas na zona n\u00e3o retornaram taxa, e aponta produtos sem peso cadastrado como poss\u00edvel causa.<\/li>\n<\/ol>\n\n<h4>Aparece \"CEP n\u00e3o encontrado\" mesmo digitando um CEP que parece v\u00e1lido<\/h4>\n\n<p>Confira se o CEP foi digitado corretamente (\u00e9 comum trocar um d\u00edgito, ex. 58264-000 por 58265-000). Se o CEP realmente n\u00e3o existir na base dos Correios, nenhuma das tr\u00eas APIs consultadas (ViaCEP, BrasilAPI, ApiCEP) vai encontr\u00e1-lo \u2014 isso \u00e9 esperado, n\u00e3o \u00e9 uma falha do plugin. A aba Diagn\u00f3stico e Logs mostra uma linha \"CEP n\u00e3o encontrado nesta API\" para cada uma das tr\u00eas quando isso acontece, confirmando que o problema \u00e9 o CEP em si.<\/p>\n\n<h4>Clicar em uma op\u00e7\u00e3o de frete simulada aplica esse frete ao pedido?<\/h4>\n\n<p>No carrinho e no checkout, sim \u2014 clicar em \"Selecionar\" aplica de verdade aquele m\u00e9todo ao pedido. Na p\u00e1gina do produto, a simula\u00e7\u00e3o \u00e9 apenas informativa, j\u00e1 que o item ainda n\u00e3o est\u00e1 no carrinho. Veja a se\u00e7\u00e3o \"Como o simulador de frete se relaciona com o frete real do pedido\" acima.<\/p>\n\n<h3>Ajuda e Suporte<\/h3>\n\n<p>Em caso de d\u00favidas ou problemas:\n* Verifique se o CEP \u00e9 v\u00e1lido.\n* Confirme se o plugin e as APIs desejadas est\u00e3o ativos em AutoCEP &gt; Geral &amp; Busca de CEP.\n* Consulte a aba \"Diagn\u00f3stico e Logs\" para verificar falhas recentes.\n* Teste poss\u00edveis conflitos com outros plugins.<\/p>\n\n<h3>Cr\u00e9ditos<\/h3>\n\n<ul>\n<li><strong>Vers\u00e3o 2.0<\/strong>: criada pela equipe TESW, com desenvolvimento principal de Wanderson Cesar.<\/li>\n<li><strong>Contribui\u00e7\u00e3o pontual na vers\u00e3o 1.5<\/strong>: Samuel Canale.<\/li>\n<\/ul>\n\n<h3>Licen\u00e7a<\/h3>\n\n<p>GPLv2 ou posterior.<\/p>\n\n<h3>Desenvolvedor<\/h3>\n\n<ul>\n<li><strong>Empresa<\/strong>: TESW<\/li>\n<li><strong>Site<\/strong>: https:\/\/tesw.com.br\/plugins\/<\/li>\n<\/ul>","raw_excerpt":"Autocompletar CEP no checkout do WooCommerce e simular frete em tempo real \u2014 produto, carrinho e checkout \u2014 com m\u00faltiplas APIs, cache, fallback autom\u00e1 &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/200895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=200895"}],"author":[{"embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wanderson100"}],"wp:attachment":[{"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=200895"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=200895"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=200895"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=200895"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=200895"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=200895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}