Classe, WebService e RSS (PHP) para rastreamento de encomendas nos Correios

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), phpserializeXML 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


7 Comentários

Natascha
3

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!

MAICON
4

interessante pois pode-se fazer um sistema automatico de status do pedido e enviar email por exemplo para o cliente quando o status é alterado.

Mael
5

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.

Marco
6

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?

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!


+ um = 10

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>