Um erro que está ocorrendo no Web Service dos Correios está sendo causado pela mudança no código de dois serviços de seus principais serviços de entrega, PAC e SEDEX.
As mensagens de erro retornadas pelo Correios:
Codigo de servico invalido. Desde 05/05/2017 ele foi substituido pelo 04014.
Codigo de servico invalido. Desde 05/05/2017 ele foi substituido pelo 04510
Desde o dia 05/05/2017 os códigos do PAC e SEDEX foram alterados, pegando vários lojistas de surpresa.
Tabela com os códigos que foram modificados.
Serviço | Código Antigo | Código Novo |
SEDEX | 40010 | 04014 |
PAC | 41106 | 04510 |
??? | 40959 | 04103 |
??? | 41459 | 04715 |
??? | 40810 | 04065 |
??? | 41262 | 04707 |
Soluções para corrigir o problema dos novos códigos
Clique na plataforma que você está utilizando.
Solução Genérica
O PAC (varejo / sem contrato) 41106 passou a ser 04510 (é obrigatório que o código seja enviado com 0 (zero) na frente durante a requisição).
Já o serviço SEDEX (varejo / sem contrato) 40010 passou a ser o código 04014.
Faça a alteração dos códigos em sua loja / sistema.
Se você não sabe como proceder (não é um programador), faça um comentário ou entre em contato para que eu possa te ajudar.
Na sequência deste post existe soluções para as plataformas Magento, Woocommerce e Opencart.
Retorno completo em XML
Mensagem completa no formato XML retornado pelo Web Service / API dos Correios.
<?xml version="1.0" encoding="UTF-8"?> <Servicos> <cServico> <Codigo>40010</Codigo> <Valor>0</Valor> <PrazoEntrega>0</PrazoEntrega> <ValorMaoPropria>0</ValorMaoPropria> <ValorAvisoRecebimento>0</ValorAvisoRecebimento> <ValorValorDeclarado>0</ValorValorDeclarado> <ValorSemAdicionais>0</ValorSemAdicionais> <EntregaDomiciliar /> <EntregaSabado /> <Erro>001</Erro> <MsgErro>Codigo de servico invalido. Desde 05/05/2017 ele foi substituido pelo 04014.</MsgErro> </cServico> <cServico> <Codigo>41106</Codigo> <Valor>0</Valor> <PrazoEntrega>0</PrazoEntrega> <ValorMaoPropria>0</ValorMaoPropria> <ValorAvisoRecebimento>0</ValorAvisoRecebimento> <ValorValorDeclarado>0</ValorValorDeclarado> <ValorSemAdicionais>0</ValorSemAdicionais> <EntregaDomiciliar /> <EntregaSabado /> <Erro>001</Erro> <MsgErro>Codigo de servico invalido. Desde 05/05/2017 ele foi substituido pelo 04510.</MsgErro> </cServico> </Servicos>
Em algumas situações você terá a impressão que o serviço do correios está fora do ar, não é este o caso.
Alguns módulos no Magento entre outras lojas (opencart, woocommerce etc..) irão retornar mensagens como:
- Esse método de envio está fora do ar. Por favor entre em contato conosco.
- Não existe nenhuma opção de entrega disponível
- Nenhuma opção de entrega disponível no momento.
Neste caso deverá ser atualizado módulo/plugin que é responsável pelo calculo.
Corringindo no Magento – Módulo PedroTeixeira_Correios
Para quem utiliza o módulo do PedroTexeira, faça a atualização do mesmo, evite de ficar fazendo alterações no código pois o módulo atualizado já resolverá o seu problema.
Segue o link do github: https://github.com/pedro-teixeira/correios
Caso você não saiba como proceder, faça um comentário.
Para outras lojas Magento que não utilizam o módulo do Pedro Teixeira, aconselho que você faça a substituição por este módulo.
Módulo mencionado acima é a melhor solução para o calculo de frete com os Correios disponível atualmente no Magento.
Correção para Woocomerce (wordpress)
Pelo painel no menu, vá em Configurações / Entrega.
– Clique em Editar na área de entrega.
– Clique em Editar no PAC ou SEDEX.
Desça até as “Opções de Serviço” e em “Código de Serviço” faça a alteração do código de acordo com o serviço.
- 04510 – PAC sem contrato (varejo)
- 04669 – PAC com contrato (verifique no seu contrato a numeração correta)
- 04014 – SEDEX sem contrato (varejo)
- 04162 – SEDEX com contrato (verifique no seu contrato a numeração correta)
Não esqueça de limpar o cache depois deste procedimento.
Corrigindo o problema no OpenCart
Para a plataforma Opencart, a solução correta é você procurar a versão atualizada da extensão que está sendo utilizada em sua loja.
Faça a busca neste link.
Link: https://www.opencart.com/index.php?route=marketplace/extension&sort=rating&filter_search=correios
Ou você também pode estar alterando manualmente os códigos nos seguintes arquivos:
public_html/catalog/model/shipping/correios.php
public-html/admin/controller/shipping/correios.php
public-html/admin/view/template/shipping/correios.tpl
public_html/catalog/language/en-gb/shipping/correios.php
public_html/catalog/language/english/shipping/correios.php
public_html/catalog/language/portuguese-br/shipping/correios.php
Não esqueça de fazer a limpeza do Cache da loja, após as alterações!
Caso você utilize algum acelerador de PHP (ex: APC Cache), dependendo da configuração o mesmo também deverá ser esvaziado.
Correção para PrestaShop
Identificando o erro:
Não existem transportadoras disponíveis para o CEP de Destino. Favor entrar em contato com o Atendimento ao Cliente.
Se você utiliza o módulo FK Correios para prestashop, baixe a nova versão do Módulo já com as correções.
https://www.fkmodulos.com.br/modulosfk/loja/modulos/8-fkcorreios-geracao-2.html
Outra solução
Comentado por Willian Martins Garcia
Passo 1. Excluir o FK antigo que esta na loja
Passo 2. Usem esse link de download e baixem o primeiro item FKcorreios Lite G2 apenas:
https://www.prestashop.com/forums/topic/513802-fkcorreios-lite-free/
Passo 3. Façam a ativação do modulo no seu painel, em ‘registro da licença’ é só clicar em salvar já esta preenchido automaticamente. Simples. Ativem também os serviços de PAC e SEDEX na aba ‘Serviços’.
Passo 5. No painel especificações do correio ALTERE os códigos de serviço conforme descrito abaixo e salve:
(no meu caso eu utilizo PAC e Sedex sem contrato)
NOVOS CÓDIGOS
04510 – PAC sem contrato
04669 – PAC com contrato
04014 – SEDEX sem contrato
04162 – SEDEX com contrato
Plataforma Oscommerce
Para usuários da plataforma Oscommerce, faça a alteração dos códigos nos arquivos localizados em:
- includes\languages\portugues\modules\shipping\sedex.php
- includes\languages\portugues\modules\shipping\pac.php
- includes\modules\shipping\sedex.php
- includes\modules\shipping\pac.php
Utilize Ctrl + F para localizar e substituir o código antigo pelo novos códigos
Loja virtual 12 mobile / interspire
Faça alteração dos códigos no arquivo.
modules/shipping/correios/module.correios.php
Utilize Ctrl + F para localizar e substituir o código antigo pelo novos códigos
Aplicativo Cálculo Preço e Prazo Correios
Infelizmente ainda não foi atualizado (07/05/2017) o aplicativo do correios para calculo preço e prazo: Calculador Preço e Prazo Correios.
Você pode estar utilizando este calculador, clique neste link Calculador de Frete enquanto não é disponibilizado uma versão corrigida do App.
Sobre os demais serviços (exemplo: Sedex 10)
Manual de implementação do Webservice (oficial) ainda não foi atualizado, então basta você testar o retorno do webservice para descobrir se o código foi alterado ou não.
Atualização 10/05/2017
Apenas os serviços de PAC e Sedex foram alterados, outros serviços continuam com o mesmo código.
Web Service está funcionando normalmente.
Mudança no endereço de rastreamento dos Correios
75 comentários sobre “[CORREÇÕES] Código de serviço invalido, SEDEX e PAC foram alterados”