Olá!
Depois de meses sem escrever estou voltando com uma classe muito útil e simples que nunca vi em lugar nenhum. É uma classe para rastrear encomendas nos correios que eu escrevi em PHP, que retorna um vetor com cada modificação de status lá.
Vamos direto ao ponto, confira o exemplo:
http://ferrari.eti.br/correios/samples/class.php
E para deixar a brincadeira mais divertida, fiz também um webservice com suporte a Json(padrão), phpserialize, XML e um modo dump, para visualização:
http://ferrari.eti.br/correios/webservice/?q=PB151832535BR
http://ferrari.eti.br/correios/webservice/?q=PB151832535BR&f=dump
http://ferrari.eti.br/correios/webservice/?q=PB151832535BR&f=serial
http://ferrari.eti.br/correios/webservice/?q=PB151832535BR&f=xml
e claro, para quem usa Ajax:
http://ferrari.eti.br/correios/webservice/?q=PB151832535BR&callback=minhaFuncJs
Disponibilizei tanto a classe quanto o código do webservice (que tem suporte a caching!) “de grátis” e com licença BSD no github:
http://github.com/caferrari/correios/
*UPDATE* Adicionado um gerador de RSS, assim é possível usar o próprio agregador para fazer o tracking!
http://ferrari.eti.br/correios/rss/?PB151832535BR
Até a próxima.
Fonte: Blog Carlos André Ferrari
8 Comentários
Muito interessante.
Pode agregar um bom valor a projetos que dependam dessas informações 🙂
XD… espero que ajude mta gente, e espero que sejam pessoas generosas, hehe… Botãozinho de donations tá lah
Obrigado!
Se for utilizar a própria janelinha dos Correios (e ñ a interface de seu site), ñ precisa tudo isso.
Basta copiar a URL da pop-up que é aberta quando você rastreia mercadoria no site dos Correios e depois adicioná-la ao seu site de e-commerce adicionando ao final o parâmetro correspondente ao seu nº de rastreamento.
Uso há vários anos dessa forma no site da empresa em que trabalho e funciona belezinha.
http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=SEU Nº DE RASTREAMENTO AQUI!
interessante pois pode-se fazer um sistema automatico de status do pedido e enviar email por exemplo para o cliente quando o status é alterado.
Olá, gostaria de saber como faço para limitar o acesso da classe à pagina dos correios por uma porta somente, pois no log de acesso, sempre quando faço o rastreamento, ele nunca acessa a mesma porta. Preciso disso, pois o firewall bloqueia todas as portas e o administrador da rede vai liberando conforme a necessidade do usuário.
teria como, no exato momento de cada atualização da etapa de envio feita pelos Correios, automaticamente meu sistema receber essa informação para que eu possa atualizar o meu banco de dados? Teria alguma ideia de como isso é feito?
Muito bom! Parabéns, e obrigado por contribuir com a comunidade!
Simples e direto!! Muito bom!