{"id":200895,"date":"2024-09-05T21:37:01","date_gmt":"2024-09-05T21:37:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/autocep\/"},"modified":"2026-09-07T06:20:28","modified_gmt":"2026-09-07T06:20:28","slug":"autocep","status":"publish","type":"plugin","link":"https:\/\/tir.wordpress.org\/plugins\/autocep\/","author":23103365,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.46","stable_tag":"trunk","tested":"7.1","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":"357c9b","last_updated":"2026-09-07 06:20:28","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":8172,"num_ratings":6,"support_threads":2,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.35":{"tag":"2.35","author":"wanderson100","date":"2026-08-17 05:26:38","revision":3650475}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":6},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3684206,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3684206,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3684206,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3684206,"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":3684253,"resolution":"1","location":"assets","locale":"","width":1708,"height":876},"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":3684253,"resolution":"2","location":"assets","locale":"","width":1920,"height":935},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3684253,"resolution":"3","location":"assets","locale":"","width":1708,"height":944},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3684315,"resolution":"4","location":"assets","locale":"","width":1726,"height":925},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3684253,"resolution":"5","location":"assets","locale":"","width":1725,"height":918},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3684253,"resolution":"6","location":"assets","locale":"","width":1729,"height":927},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3684315,"resolution":"7","location":"assets","locale":"","width":1711,"height":929},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3684253,"resolution":"8","location":"assets","locale":"","width":1710,"height":913},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3652006,"resolution":"9","location":"assets","locale":"","width":1366,"height":768}},"screenshots":{"1":"Frete e Busca de CEP \u2014 autocompletar no checkout e prioridade das APIs de CEP.","2":"Simulador de Frete na P\u00e1gina de Produto.","3":"Simulador de Frete no Carrinho.","4":"Simulador de Frete no Checkout.","5":"Retirada em Loja \u2014 testes e diagn\u00f3stico da API do Google Maps.","6":"Integra\u00e7\u00f5es de Frete \u2014 testes de conex\u00e3o com Melhor Envio e Frenet.","7":"Personaliza\u00e7\u00e3o Visual na aba Apar\u00eancia.","8":"Dashboard Analytics de Frete."}},"plugin_section":[],"plugin_tags":[279496,279498,27037,44084,279497],"plugin_category":[45],"plugin_contributors":[279499],"plugin_business_model":[],"class_list":["post-200895","plugin","type-plugin","status-publish","hentry","plugin_tags-autocep","plugin_tags-calcular-frete","plugin_tags-correios","plugin_tags-frete","plugin_tags-frete-woocommerce","plugin_category-ecommerce","plugin_contributors-wanderson100","plugin_committers-wanderson100"],"banners":{"banner":"https:\/\/ps.w.org\/autocep\/assets\/banner-772x250.png?rev=3684206","banner_2x":"https:\/\/ps.w.org\/autocep\/assets\/banner-1544x500.png?rev=3684206","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/autocep\/assets\/icon-128x128.png?rev=3684206","icon_2x":"https:\/\/ps.w.org\/autocep\/assets\/icon-256x256.png?rev=3684206","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-1.png?rev=3684253","caption":"Frete e Busca de CEP \u2014 autocompletar no checkout e prioridade das APIs de CEP."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-2.png?rev=3684253","caption":"Simulador de Frete na P\u00e1gina de Produto."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-3.png?rev=3684253","caption":"Simulador de Frete no Carrinho."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-4.png?rev=3684315","caption":"Simulador de Frete no Checkout."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-5.png?rev=3684253","caption":"Retirada em Loja \u2014 testes e diagn\u00f3stico da API do Google Maps."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-6.png?rev=3684253","caption":"Integra\u00e7\u00f5es de Frete \u2014 testes de conex\u00e3o com Melhor Envio e Frenet."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-7.png?rev=3684315","caption":"Personaliza\u00e7\u00e3o Visual na aba Apar\u00eancia."},{"src":"https:\/\/ps.w.org\/autocep\/assets\/screenshot-8.png?rev=3684253","caption":"Dashboard Analytics de Frete."},{"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=description-->\n<p>O <strong>AutoCEP<\/strong> transforma a log\u00edstica da sua loja WooCommerce: autocompleta o endere\u00e7o do cliente ao digitar o CEP e simula o frete em tempo real \u2014 na p\u00e1gina do produto, no carrinho e no checkout \u2014 eliminando as duas maiores causas de abandono de carrinho no e-commerce brasileiro: o atrito de preencher um formul\u00e1rio longo e a incerteza do valor do frete antes da decis\u00e3o de compra.<\/p>\n\n<p>Desenvolvido pela equipe de engenharia da TESW, em parceria estrat\u00e9gica com a Ritmo Digital, todos os m\u00f3dulos \u2014 frete por Km, Growth Marketing (previs\u00e3o de entrega e barra de frete gr\u00e1tis), retirada em loja por proximidade, personaliza\u00e7\u00e3o visual completa e o dashboard de Analytics \u2014 v\u00eam desbloqueados desde a instala\u00e7\u00e3o, sem cobran\u00e7a de mensalidade e sem recursos limitados atr\u00e1s de upgrade.<\/p>\n\n<h3>Assista ao V\u00eddeo de Apresenta\u00e7\u00e3o e Demonstra\u00e7\u00e3o<\/h3>\n\n<p><a href=\"https:\/\/youtu.be\/YnDT_qNIH1w\">Assista no YouTube<\/a><\/p>\n\n<h3>Documenta\u00e7\u00e3o Oficial do Plugin<\/h3>\n\n<p>Guia completo de instala\u00e7\u00e3o, configura\u00e7\u00e3o de cada aba, integra\u00e7\u00e3o com transportadoras e personaliza\u00e7\u00e3o visual: <a href=\"https:\/\/tesw.com.br\/documentacao-autocep\">tesw.com.br\/documentacao-autocep<\/a><\/p>\n\n<h3>Por que instalar o AutoCEP<\/h3>\n\n<ul>\n<li><strong>Painel de Lat\u00eancia em Tempo Real (ms) e Prioridade de APIs<\/strong>: o AutoCEP consulta ViaCEP, BrasilAPI e ApiCEP. Na aba \"Frete e Busca de CEP\", o bot\u00e3o \"Testar CEP Agora\" mede a lat\u00eancia de cada provedor em milissegundos, para voc\u00ea definir a ordem de prioridade (1\u00aa, 2\u00aa, 3\u00aa escolha). Se uma API oscilar, a pr\u00f3xima assume automaticamente em cascata.<\/li>\n<li><strong>100% gratuito de verdade<\/strong>: frete por Km, simulador de produto, Growth Marketing, previs\u00e3o de entrega, personaliza\u00e7\u00e3o visual e dashboard de Analytics v\u00eam todos desbloqueados, sem custo.<\/li>\n<li><strong>Zero diverg\u00eancia de valores<\/strong>: o plugin n\u00e3o estima nem usa tabela pr\u00f3pria \u2014 ele l\u00ea as Zonas de Entrega reais do seu WooCommerce. O valor simulado \u00e9 o mesmo cobrado no checkout.<\/li>\n<li><strong>Fallback autom\u00e1tico para o Google Maps<\/strong>: no c\u00e1lculo de frete por Km e na retirada por proximidade, se a Distance Matrix API do Google sofrer timeout ou instabilidade, o plugin recalcula por estimativa (linha reta \u00d7 1.3), sem deixar de mostrar uma op\u00e7\u00e3o de frete ao cliente.<\/li>\n<li><strong>Navega\u00e7\u00e3o \u00e1gil com submenus dedicados<\/strong>: atalhos diretos com \u00edcones pr\u00f3prios para Vis\u00e3o Geral, Analytics, Growth Marketing, Retirada em Loja, Integra\u00e7\u00f5es de Frete, Suporte T\u00e9cnico e Diagn\u00f3stico.<\/li>\n<li><strong>Suporte integrado ao painel<\/strong>: abra chamados direto do WordPress, com n\u00famero sequencial (ex.: AC-000123) e bot\u00f5es de contato r\u00e1pido (e-mail e WhatsApp) que j\u00e1 carregam uma mensagem pronta com o site e a vers\u00e3o do plugin.<\/li>\n<li><strong>Cache duplo de alta performance<\/strong>: Cache de CEPs (dias configur\u00e1veis) e Cache de Cota\u00e7\u00f5es de Frete (horas configur\u00e1veis), deixando simula\u00e7\u00f5es repetidas quase instant\u00e2neas e reduzindo chamadas a APIs de transportadoras como Melhor Envio e Frenet.<\/li>\n<li><strong>Sele\u00e7\u00e3o real no checkout e no carrinho<\/strong>: clicar em \"Selecionar\" aplica de verdade aquele m\u00e9todo \u00e0 sess\u00e3o do WooCommerce, sempre revalidado no servidor antes de ser aplicado.<\/li>\n<li><strong>Compatibilidade universal com CSS de prioridade garantida<\/strong>: funciona com o checkout padr\u00e3o do WooCommerce, Fluid Checkout, CartFlows e Elementor Pro \u2014 as cores e tipografia configuradas no painel sobrep\u00f5em at\u00e9 temas com estilos globais agressivos.<\/li>\n<\/ul>\n\n<h3>Funcionalidades Inclu\u00eddas (Todas Gratuitas)<\/h3>\n\n<ul>\n<li><strong>Autocompletar de Endere\u00e7o Inteligente<\/strong>: preenchimento autom\u00e1tico de Rua, Bairro, Cidade e Estado (Cobran\u00e7a e Entrega), foco autom\u00e1tico no campo \"N\u00famero\", detec\u00e7\u00e3o dos campos de bairro mais comuns (<code>billing_neighborhood<\/code>, <code>billing_bairro<\/code>, <code>billing_district<\/code>) e aviso para CEPs sem rua espec\u00edfica cadastrada.<\/li>\n<li><strong>Simuladores de Frete (Produto, Carrinho e Checkout)<\/strong>: cota\u00e7\u00e3o na p\u00e1gina do produto (considerando quantidade e varia\u00e7\u00e3o), no carrinho (somando os itens) e no checkout (c\u00e1lculo r\u00e1pido por CEP). Pode ser posicionado manualmente com o shortcode <code>[shipping_calculator_on_product_page]<\/code>, e desliga automaticamente a caixa nativa do Melhor Envio para n\u00e3o duplicar campos.<\/li>\n<li><strong>Growth Marketing \u2014 Previs\u00e3o de Entrega e Frete Gr\u00e1tis Din\u00e2mico<\/strong>: datas estimadas de entrega (ex.: \"Chega entre Quarta-feira (25\/10) e Sexta-feira (27\/10)\"), com op\u00e7\u00e3o de contar s\u00f3 dias \u00fateis, e Barra de Progresso de Frete Gr\u00e1tis com a tag din\u00e2mica <code>{missing}<\/code> (ex.: \"Faltam {missing} para voc\u00ea ganhar Frete Gr\u00e1tis!\"), detectando automaticamente as regras de frete gr\u00e1tis j\u00e1 configuradas no WooCommerce.<\/li>\n<li><strong>Retirada em Loja por Proximidade e Frete por Km (Google Maps)<\/strong>: c\u00e1lculo de dist\u00e2ncia rodovi\u00e1ria real com f\u00f3rmula de Taxa Fixa + (Km \u00d7 Valor por Km), raio e valor m\u00ednimo configur\u00e1veis, e testes integrados de Status R\u00e1pido da API e Diagn\u00f3stico Detalhado de dist\u00e2ncia entre dois CEPs.<\/li>\n<li><strong>Integra\u00e7\u00f5es de Frete<\/strong>: testes de conex\u00e3o em tempo real com as APIs do Melhor Envio e da Frenet \u2014 o token \u00e9 detectado automaticamente a partir do que j\u00e1 est\u00e1 salvo nos plugins oficiais de cada transportadora (nenhum campo para preencher), confirmando se ele \u00e9 v\u00e1lido e se a API est\u00e1 no ar, sem precisar simular um pedido completo.<\/li>\n<li><strong>Personaliza\u00e7\u00e3o Visual Completa<\/strong>: cor de fundo, borda e texto da caixa e do bot\u00e3o, arredondamento (nenhum\/pequeno\/m\u00e9dio\/grande), tipografia (tamanho e peso da fonte) e espa\u00e7amento (compacto\/normal\/espa\u00e7oso), incluindo cores pr\u00f3prias para a barra de frete gr\u00e1tis em progresso e ao ser conquistada.<\/li>\n<li><strong>Analytics \u2014 Intelig\u00eancia de Frete<\/strong>: frete m\u00e9dio calculado vs. pago, taxa de convers\u00e3o vs. desist\u00eancia, ranking dos CEPs e estados que mais geram cota\u00e7\u00f5es, e os m\u00e9todos de frete mais escolhidos nos pedidos.<\/li>\n<li><strong>Diagn\u00f3stico e Detec\u00e7\u00e3o de Produtos sem Peso<\/strong>: hist\u00f3rico de falhas e timeouts de transportadoras. Quando um m\u00e9todo habilitado na zona n\u00e3o retorna taxa, o plugin aponta produtos sem peso\/dimens\u00f5es cadastrados (Produtos &gt; Editar Produto &gt; Entrega) como causa prov\u00e1vel \u2014 comum em transportadoras privadas via API (ex.: Jadlog, Azul Ecommerce), que costumam exigir esse dado para cotar, diferente dos Correios.<\/li>\n<\/ul>\n\n<h3>Seguran\u00e7a e Padr\u00f5es de Engenharia<\/h3>\n\n<ul>\n<li><strong>Nonces em toda a\u00e7\u00e3o AJAX<\/strong> (<code>check_ajax_referer<\/code>) e verifica\u00e7\u00e3o de capacidade (<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, e <strong>consultas ao banco sempre parametrizadas<\/strong> (<code>$wpdb-&gt;prepare<\/code>).<\/li>\n<li><strong>Escape de sa\u00edda<\/strong> (<code>esc_html<\/code>, <code>esc_attr<\/code>, <code>esc_url<\/code>) em todo HTML gerado dinamicamente.<\/li>\n<li><strong>Tokens de API (Google Maps, Melhor Envio, Frenet) nunca expostos ao front-end<\/strong> \u2014 usados apenas em requisi\u00e7\u00f5es feitas pelo servidor.<\/li>\n<li><strong>Upload de anexos do chamado de suporte validado pelo conte\u00fado real do arquivo<\/strong> (<code>wp_check_filetype_and_ext()<\/code>), n\u00e3o apenas pelo tipo declarado pelo navegador.<\/li>\n<li><strong>Nenhum script de terceiros carregado por CDN externo<\/strong> \u2014 bibliotecas empacotadas localmente (ver \"Bibliotecas de Terceiros Empacotadas\" abaixo).<\/li>\n<li>Nenhum dado pessoal do cliente \u00e9 repassado a servidores externos al\u00e9m das APIs de CEP\/frete estritamente necess\u00e1rias para o c\u00e1lculo em curso.<\/li>\n<\/ul>\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, escolhe as APIs de CEP ativas e a ordem de prioridade, mapeia o campo de bairro, ativa o foco autom\u00e1tico e define a dura\u00e7\u00e3o do cache.<\/p>\n\n<p><strong>Frete na P\u00e1gina de Produto \/ Carrinho \/ Checkout<\/strong> \u2014 ativa cada simulador, escolhe a posi\u00e7\u00e3o na p\u00e1gina e o t\u00edtulo da caixa.<\/p>\n\n<p><strong>Growth Marketing<\/strong> \u2014 ativa a Previs\u00e3o de Entrega e a Barra de Progresso de Frete Gr\u00e1tis Din\u00e2mico.<\/p>\n\n<p><strong>Retirada em Loja<\/strong> \u2014 chave de API do Google Maps, cadastro de lojas f\u00edsicas e configura\u00e7\u00e3o do Frete por Km.<\/p>\n\n<p><strong>Integra\u00e7\u00f5es de Frete<\/strong> \u2014 testa a conex\u00e3o com as APIs do Melhor Envio e da Frenet.<\/p>\n\n<p><strong>Mensagens &amp; UX<\/strong> \u2014 edita todos os textos exibidos ao cliente e o bloqueio do bot\u00e3o \"Finalizar Compra\" durante requisi\u00e7\u00f5es.<\/p>\n\n<p><strong>Apar\u00eancia<\/strong> \u2014 personaliza cores, arredondamento, tipografia e espa\u00e7amento das caixas de frete.<\/p>\n\n<p><strong>Analytics<\/strong> \u2014 dashboard de intelig\u00eancia de frete.<\/p>\n\n<p><strong>Suporte T\u00e9cnico<\/strong> \u2014 abre chamados com anexos, acompanha \"Meus Chamados\" e traz os contatos diretos da equipe TESW.<\/p>\n\n<p><strong>Diagn\u00f3stico e Logs<\/strong> \u2014 status em tempo real das APIs de CEP e 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 o item ainda n\u00e3o est\u00e1 no carrinho, ent\u00e3o n\u00e3o h\u00e1 \"sele\u00e7\u00e3o\" poss\u00edvel ali.<\/li>\n<li><strong>No carrinho e no checkout<\/strong>: cada op\u00e7\u00e3o simulada tem um bot\u00e3o <strong>\"Selecionar\"<\/strong> que 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.<\/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>Compatibility<\/h3>\n\n<ul>\n<li><strong>Checkouts compat\u00edveis<\/strong>: checkout padr\u00e3o do WooCommerce, Fluid Checkout, CartFlows e montagens em etapas via Elementor Pro.<\/li>\n<li><strong>Integradores de frete<\/strong>: Melhor Envio, Frenet, Correios, Frete Fixo, Frete Gr\u00e1tis e Retirada Local.<\/li>\n<li><strong>APIs de CEP<\/strong>: ViaCEP, BrasilAPI e ApiCEP.<\/li>\n<li><strong>APIs de rota<\/strong>: Google Maps Distance Matrix API (opcional, usada apenas nos m\u00f3dulos de Frete por Km e Retirada por Proximidade).<\/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* <a href=\"https:\/\/viacep.com.br\/\">ViaCEP<\/a>\n* <a href=\"https:\/\/brasilapi.com.br\/\">BrasilAPI<\/a>\n* <a href=\"https:\/\/apicep.com\/\">ApiCEP<\/a><\/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<h4>Bibliotecas de Terceiros Empacotadas<\/h4>\n\n<ul>\n<li><strong>Chart.js 4.4.0<\/strong> (licen\u00e7a MIT) \u2014 usado apenas nos gr\u00e1ficos da aba AutoCEP &gt; Analytics, empacotado localmente em <code>assets\/js\/vendor\/<\/code> (nunca carregado de um CDN externo).<\/li>\n<\/ul>\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* Abra um chamado direto pela aba \"Suporte T\u00e9cnico\" do painel.<\/p>\n\n<h3>Desenvolvedores &amp; Cr\u00e9ditos<\/h3>\n\n<p>O AutoCEP \u00e9 mantido pela <strong>TESW \u2014 Tecnologia em Solu\u00e7\u00f5es Web<\/strong>, em parceria estrat\u00e9gica com a <strong>Ritmo Digital<\/strong>.<\/p>\n\n<p><strong>Wanderson Cesar<\/strong>\n* Desenvolvedor, Fundador da TESW e Criador do AutoCEP.\n* Vers\u00e3o 2.0 (reformula\u00e7\u00e3o completa do plugin) e todas as vers\u00f5es seguintes.\n* Perfil WordPress.org: <a href=\"https:\/\/profiles.wordpress.org\/wanderson100\">profiles.wordpress.org\/wanderson100<\/a>\n* LinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/wanderson-cesar-2710a621b\">linkedin.com\/in\/wanderson-cesar-2710a621b<\/a><\/p>\n\n<p><strong>Alfonso Fontenla Neto<\/strong>\n* Diretor Executivo da TESW e CEO da Ritmo Digital.\n* LinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/alfonso-fontenla-neto\">linkedin.com\/in\/alfonso-fontenla-neto<\/a><\/p>\n\n<p><strong>Contribui\u00e7\u00e3o pontual na vers\u00e3o 1.5<\/strong>: Samuel Canale.<\/p>\n\n<h4>P\u00e1ginas Oficiais<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/tesw.com.br\/plugins\">Plugins TESW<\/a><\/li>\n<li><a href=\"https:\/\/tesw.com.br\">Site TESW<\/a><\/li>\n<\/ul>\n\n<h4>Suporte<\/h4>\n\n<ul>\n<li>E-mail: <a href=\"mailto:teswinfor@gmail.com\">teswinfor@gmail.com<\/a><\/li>\n<li>WhatsApp: <a href=\"https:\/\/wa.me\/5583994075812\">+55 (83) 99407-5812<\/a><\/li>\n<li>Ou direto pela aba <strong>AutoCEP &gt; Suporte T\u00e9cnico<\/strong> do painel, que j\u00e1 abre com n\u00famero de chamado e contexto do site preenchidos.<\/li>\n<\/ul>\n\n<h3>Licen\u00e7a<\/h3>\n\n<p>GPLv2 ou posterior.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>No painel do WordPress, v\u00e1 em <strong>Plugins &gt; Adicionar Novo &gt; Enviar Plugin<\/strong>.<\/li>\n<li>Selecione o arquivo <code>autocep.zip<\/code> e clique em <strong>Instalar Agora<\/strong>.<\/li>\n<li>Clique em <strong>Ativar Plugin<\/strong>.<\/li>\n<li>O autocompletar de CEP no checkout j\u00e1 entra em funcionamento imediatamente.<\/li>\n<li>No menu <strong>AutoCEP<\/strong>, ative os simuladores, a previs\u00e3o de entrega, configure a identidade visual e teste a velocidade das APIs de CEP.<\/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<!--section=faq-->\n<dl>\n<dt id=\"o%20plugin%20%C3%A9%20realmente%20100%25%20gratuito%3F\"><h3>O plugin \u00e9 realmente 100% gratuito?<\/h3><\/dt>\n<dd><p>Sim. N\u00e3o existe vers\u00e3o \"Lite\" limitada nem cobran\u00e7a para liberar frete por Km, simulador de produto, previs\u00e3o de entrega, barra de frete gr\u00e1tis, personaliza\u00e7\u00e3o visual ou o dashboard de Analytics.<\/p><\/dd>\n<dt id=\"como%20funciona%20a%20escolha%20da%20api%20de%20cep%20mais%20r%C3%A1pida%3F\"><h3>Como funciona a escolha da API de CEP mais r\u00e1pida?<\/h3><\/dt>\n<dd><p>Na aba \"Frete e Busca de CEP\", o bot\u00e3o \"Testar CEP Agora\" mede a lat\u00eancia (em milissegundos) do ViaCEP, BrasilAPI e ApiCEP. Voc\u00ea define a ordem de prioridade (1\u00ba, 2\u00ba e 3\u00ba) e o plugin faz o fallback autom\u00e1tico caso a primeira da lista oscile.<\/p><\/dd>\n<dt id=\"o%20autocep%20calcula%20o%20frete%20sozinho%20ou%20precisa%20de%20transportadoras%20cadastradas%3F\"><h3>O AutoCEP calcula o frete sozinho ou precisa de transportadoras cadastradas?<\/h3><\/dt>\n<dd><p>Ele l\u00ea em tempo real as transportadoras j\u00e1 configuradas em WooCommerce &gt; Configura\u00e7\u00f5es &gt; Entrega \u2014 funciona com Frete Fixo, Frete Gr\u00e1tis, Retirada Local, Correios, Melhor Envio e Frenet.<\/p><\/dd>\n<dt id=\"como%20integrar%20com%20melhor%20envio%20ou%20frenet%3F\"><h3>Como integrar com Melhor Envio ou Frenet?<\/h3><\/dt>\n<dd><p>Instale o plugin oficial da transportadora, cole o token nas configura\u00e7\u00f5es dela e adicione o m\u00e9todo na sua Zona de Entrega do WooCommerce. O AutoCEP reconhece o pre\u00e7o e o prazo automaticamente. A aba \"Integra\u00e7\u00f5es de Frete\" do AutoCEP testa apenas se o token est\u00e1 v\u00e1lido e a API est\u00e1 no ar \u2014 o c\u00e1lculo real do frete continua sendo feito pelo plugin oficial da transportadora.<\/p><\/dd>\n<dt id=\"por%20que%20algumas%20transportadoras%20n%C3%A3o%20aparecem%20na%20simula%C3%A7%C3%A3o%2C%20mesmo%20habilitadas%20na%20zona%3F\"><h3>Por que algumas transportadoras n\u00e3o aparecem na simula\u00e7\u00e3o, mesmo habilitadas na zona?<\/h3><\/dt>\n<dd><p>Normalmente n\u00e3o \u00e9 um bug \u2014 \u00e9 a pr\u00f3pria transportadora rejeitando a cota\u00e7\u00e3o silenciosamente (sem erro, s\u00f3 sem pre\u00e7o). A causa mais comum \u00e9 o produto estar sem peso ou dimens\u00f5es cadastrados em Produtos &gt; Editar Produto &gt; Entrega; transportadoras privadas via API (ex.: Jadlog, Azul Ecommerce) costumam exigir esse dado, enquanto os Correios tendem a ser mais tolerantes. A aba Diagn\u00f3stico e Logs aponta exatamente qual m\u00e9todo n\u00e3o retornou taxa.<\/p><\/dd>\n<dt id=\"o%20que%20acontece%20se%20o%20google%20maps%20ficar%20fora%20do%20ar%3F\"><h3>O que acontece se o Google Maps ficar fora do ar?<\/h3><\/dt>\n<dd><p>O AutoCEP aciona automaticamente o c\u00e1lculo por conting\u00eancia (dist\u00e2ncia em linha reta \u00d7 1.3), para que o cliente continue vendo uma op\u00e7\u00e3o de frete local sem interrup\u00e7\u00e3o.<\/p><\/dd>\n<dt id=\"o%20autocompletar%20de%20cep%20parou%20de%20funcionar%20depois%20que%20troquei%20de%20tema%2Fcheckout%3F\"><h3>O autocompletar de CEP parou de funcionar depois que troquei de tema\/checkout?<\/h3><\/dt>\n<dd><p>O plugin observa automaticamente mudan\u00e7as no formul\u00e1rio de checkout, continuando a funcionar mesmo em checkouts de terceiros como Fluid Checkout e CartFlows. Se ainda assim n\u00e3o funcionar, confira em Diagn\u00f3stico e Logs se alguma API est\u00e1 offline.<\/p><\/dd>\n<dt id=\"por%20que%20aparecem%20duas%20caixas%20de%20frete%20na%20p%C3%A1gina%20de%20produto%3F\"><h3>Por que aparecem duas caixas de frete na p\u00e1gina de produto?<\/h3><\/dt>\n<dd><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 o detecta instalado.<\/p><\/dd>\n<dt id=\"aparece%20%22cep%20n%C3%A3o%20encontrado%22%20mesmo%20digitando%20um%20cep%20que%20parece%20v%C3%A1lido\"><h3>Aparece \"CEP n\u00e3o encontrado\" mesmo digitando um CEP que parece v\u00e1lido<\/h3><\/dt>\n<dd><p>Confira se o CEP foi digitado corretamente. Se ele realmente n\u00e3o existir na base dos Correios, nenhuma das tr\u00eas APIs (ViaCEP, BrasilAPI, ApiCEP) vai encontr\u00e1-lo \u2014 isso \u00e9 esperado, n\u00e3o \u00e9 falha do plugin.<\/p><\/dd>\n<dt id=\"clicar%20em%20uma%20op%C3%A7%C3%A3o%20de%20frete%20simulada%20aplica%20esse%20frete%20ao%20pedido%3F\"><h3>Clicar em uma op\u00e7\u00e3o de frete simulada aplica esse frete ao pedido?<\/h3><\/dt>\n<dd><p>No carrinho e no checkout, sim. Na p\u00e1gina do produto, a simula\u00e7\u00e3o \u00e9 apenas informativa, j\u00e1 que o item ainda n\u00e3o est\u00e1 no carrinho.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.46<\/h4>\n\n<ul>\n<li><strong>Aba \"Integra\u00e7\u00f5es de Frete\" n\u00e3o pede mais token manual<\/strong>: o teste de conex\u00e3o do Melhor Envio agora l\u00ea automaticamente o token que o plugin oficial dele j\u00e1 tem salvo (<code>wpmelhorenvio_token<\/code>\/<code>wpmelhorenvio_token_sandbox<\/code>, respeitando o ambiente ativo); o teste da Frenet l\u00ea o token e o CEP de origem diretamente da inst\u00e2ncia do m\u00e9todo oficial configurada numa Zona de Entrega. Nenhum dado \u00e9 duplicado ou digitado de novo no AutoCEP.<\/li>\n<li><strong>Corrigido falso \"Token Inv\u00e1lido\" no teste do Melhor Envio<\/strong>: o teste sempre chamava a API de produ\u00e7\u00e3o (<code>www.melhorenvio.com.br<\/code>), mesmo quando o token detectado era de ambiente Sandbox \u2014 um token de sandbox nunca \u00e9 aceito no host de produ\u00e7\u00e3o (e vice-versa), pois s\u00e3o hosts diferentes (<code>api.melhorenvio.com<\/code> para produ\u00e7\u00e3o, <code>sandbox.melhorenvio.com.br<\/code> para sandbox), confirmado no c\u00f3digo-fonte oficial do plugin. Agora o host \u00e9 escolhido conforme o ambiente detectado.<\/li>\n<li>Removida a imagem de logo da p\u00e1gina de Cr\u00e9ditos (reduz o tamanho do pacote).<\/li>\n<li>Se\u00e7\u00e3o de cr\u00e9ditos do README expandida: pap\u00e9is, perfis (WordPress.org\/LinkedIn) e parceria com a Ritmo Digital.<\/li>\n<li>Removida a p\u00e1gina \"Cr\u00e9ditos\" do painel administrativo (e o respectivo link na listagem de Plugins) \u2014 as fotos <code>afonso.png<\/code>\/<code>wanderson.png<\/code>, que s\u00f3 eram usadas ali, tamb\u00e9m foram removidas.<\/li>\n<li>Removidos todos os coment\u00e1rios do c\u00f3digo PHP (incluindo PHPDoc e <code>phpcs:ignore<\/code>), a pedido expl\u00edcito, para a prepara\u00e7\u00e3o final de lan\u00e7amento. Coment\u00e1rios de JavaScript\/CSS embutidos em strings PHP (painel administrativo) foram mantidos intocados, por seguran\u00e7a \u2014 essa \u00e9 a mesma regi\u00e3o onde um bug de aspas de SVG j\u00e1 havia quebrado o site numa vers\u00e3o anterior.<\/li>\n<li><strong>Corrigido erro fatal introduzido pela remo\u00e7\u00e3o de coment\u00e1rios<\/strong>: em <code>class-autocep-shipping.php<\/code>, dois coment\u00e1rios de fim de linha terminavam na mesma linha de uma tag <code>?&gt;<\/code> de fechamento do PHP (ex.: <code>echo $x; \/\/ coment\u00e1rio ?&gt;&lt;\/div&gt;<\/code>). Como o PHP trata <code>?&gt;<\/code> como um encerrador impl\u00edcito de coment\u00e1rio de linha, e a remo\u00e7\u00e3o s\u00f3 considerava quebra de linha como fim de coment\u00e1rio, o <code>?&gt;&lt;\/div&gt;<\/code> acabou apagado junto \u2014 quebrando a sintaxe e derrubando o site com \"Parse error\" ao instalar. Corrigido restaurando as tags removidas nos dois pontos afetados; conferida a aus\u00eancia do mesmo padr\u00e3o em todo o restante do c\u00f3digo.<\/li>\n<li><strong>Corrigido erro fatal na instala\u00e7\u00e3o \u2014 cabe\u00e7alho do plugin ausente<\/strong>: o bloco de coment\u00e1rio <code>Plugin Name: AutoCEP<\/code> no topo do <code>autocep.php<\/code> tamb\u00e9m tinha sido removido junto com os demais coment\u00e1rios, mas esse bloco \u00e9 metadado obrigat\u00f3rio que o WordPress l\u00ea diretamente do arquivo (sem executar o PHP) para reconhecer que \u00e9 um plugin v\u00e1lido \u2014 sem ele, o instalador reportava \"Nenhum plugin v\u00e1lido foi encontrado\". Restaurado (enxuto, s\u00f3 com os campos que o WordPress efetivamente l\u00ea).<\/li>\n<li>Todos os links do README convertidos para hyperlinks reais (<code>[texto](url)<\/code>) \u2014 antes eram URLs soltas, sem link clic\u00e1vel, em v\u00e1rios pontos do documento.<\/li>\n<li>Adicionadas as 8 capturas de tela reais do painel (<code>screenshot-1.png<\/code> a <code>screenshot-8.png<\/code> em <code>wp-org-assets\/<\/code>), com a se\u00e7\u00e3o Screenshots do README atualizada para descrever cada uma.<\/li>\n<\/ul>\n\n<h4>2.45<\/h4>\n\n<ul>\n<li><strong>Corrigido erro fatal cr\u00edtico introduzido na v2.12.0<\/strong>: os \u00edcones de mapa+pin (cabe\u00e7alho do painel) e de headset (aba Suporte T\u00e9cnico) usavam URIs de SVG com aspas simples n\u00e3o escapadas dentro de uma string PHP tamb\u00e9m delimitada por aspas simples (<code>wp_add_inline_style('common', '...')<\/code>) \u2014 a primeira aspa do SVG fechava a string prematuramente, tornando o restante do arquivo um c\u00f3digo PHP inv\u00e1lido e derrubando o site inteiro com \"erro cr\u00edtico\" assim que o plugin era instalado. Corrigido substituindo as aspas simples do SVG por <code>%27<\/code> (URL-encoded), consistente com o restante do data URI j\u00e1 percent-encoded.<\/li>\n<li>Prepara\u00e7\u00e3o de lan\u00e7amento para o reposit\u00f3rio oficial do WordPress: n\u00famero de vers\u00e3o sincronizado em todo o plugin (header, constante <code>AUTOCEP_VERSION<\/code>, cache-busting de scripts\/estilos).<\/li>\n<li><strong>Corrigida viola\u00e7\u00e3o real das diretrizes do reposit\u00f3rio<\/strong>: a aba Analytics carregava a biblioteca Chart.js dinamicamente de um CDN externo (<code>cdn.jsdelivr.net<\/code>) no navegador do admin \u2014 n\u00e3o permitido pelas diretrizes do WordPress.org. Chart.js 4.4.0 agora \u00e9 empacotado localmente em <code>assets\/js\/vendor\/<\/code> e enfileirado via <code>wp_enqueue_script()<\/code>, sem nenhuma depend\u00eancia de servidor de terceiros.<\/li>\n<li>Revis\u00e3o de coment\u00e1rios no c\u00f3digo: removidos os poucos coment\u00e1rios puramente redundantes encontrados; mantidos todos os coment\u00e1rios <code>phpcs:ignore<\/code> (exigidos pela conformidade real com o WPCS) e todo o racional de compatibilidade\/seguran\u00e7a documentado.<\/li>\n<li>README reformulado com descri\u00e7\u00e3o completa de todos os m\u00f3dulos, FAQ ampliado e link para a <a href=\"https:\/\/tesw.com.br\/documentacao-autocep\">documenta\u00e7\u00e3o oficial<\/a>.<\/li>\n<li>Links diretos para a Documenta\u00e7\u00e3o Oficial e o V\u00eddeo de Demonstra\u00e7\u00e3o adicionados ao cabe\u00e7alho do painel administrativo e \u00e0 aba Suporte T\u00e9cnico.<\/li>\n<\/ul>\n\n<h4>2.12.0<\/h4>\n\n<ul>\n<li><strong>Nova aba \"Integra\u00e7\u00f5es de Frete\"<\/strong>: testes de conex\u00e3o em tempo real para as APIs do Melhor Envio (valida o Token de Acesso via endpoint autenticado de perfil) e da Frenet (valida o Token de Integra\u00e7\u00e3o via cota\u00e7\u00e3o de teste), com feedback visual verde\/vermelho\/\u00e2mbar e detalhamento t\u00e9cnico da falha quando aplic\u00e1vel. N\u00e3o substitui os plugins oficiais dessas transportadoras \u2014 \u00e9 s\u00f3 um diagn\u00f3stico.<\/li>\n<li><strong>Identidade visual do painel administrativo<\/strong> atualizada para uma paleta com mais tons de azul (cabe\u00e7alho, badge do menu \"+\" e destaques), reduzindo o uso de amarelo\/branco predominante.<\/li>\n<li><strong>\u00cdcone do menu lateral<\/strong> substitu\u00eddo por um mapa dobrado com pin de localiza\u00e7\u00e3o em destaque; <strong>\u00edcone da aba Suporte T\u00e9cnico<\/strong> substitu\u00eddo do antigo \"SOS\" (boia salva-vidas) por um headset de atendimento.<\/li>\n<li><strong>Seguran\u00e7a refor\u00e7ada<\/strong>: valida\u00e7\u00e3o dos anexos do formul\u00e1rio de chamado de suporte agora verifica o conte\u00fado real do arquivo (<code>wp_check_filetype_and_ext()<\/code>), n\u00e3o apenas o tipo declarado pelo navegador; corrigida uma falha de XSS armazenado no JSON injetado nos gr\u00e1ficos do Dashboard de Analytics (adicionadas as flags <code>JSON_HEX_TAG<\/code>\/<code>AMP<\/code>\/<code>APOS<\/code>\/<code>QUOT<\/code>).<\/li>\n<li>Auditoria completa de seguran\u00e7a e resili\u00eancia: revisadas todas as rotas AJAX (nonces e <code>current_user_can<\/code>), todas as consultas SQL (uso de <code>$wpdb-&gt;prepare<\/code>) e o tratamento de erros de todas as APIs externas (timeouts, HTTP 4xx\/5xx, JSON corrompido) \u2014 nenhum outro problema encontrado.<\/li>\n<\/ul>\n\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>V\u00eddeo demonstrativo 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>","raw_excerpt":"O autocompletar de CEP mais r\u00e1pido do mercado, com medi\u00e7\u00e3o de lat\u00eancia em milissegundos, e simula\u00e7\u00e3o de frete em tempo real no produto, carrinho e che &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/200895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=200895"}],"author":[{"embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wanderson100"}],"wp:attachment":[{"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=200895"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=200895"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=200895"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=200895"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=200895"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tir.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=200895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}