Olá pessoal,
Boa tarde!
Neste post de hoje vou trazer algo muito legal, que é uma stored procedure Transact-SQL onde é possível consultar e rastrear as informações de encomendas e objetos utilizando dados do próprio site dos Correios no SQL Server. Para isso, vou utilizar o objeto MSXML2.ServerXMLHTTP e procedures OLE Automation.
Isso é bem útil para empresas de e-Commerce que podem utilizar essa SP para integrar o rastreamento dos Correios a seus sistemas e exibir na tela o andamento da entrega de seus produtos.
UPDATE: A partir do dia 10/06/2017 esse recurso parou de funcionar, pois o Correios decidiu desativar o serviço do WEBSRO, que todo mundo utilizava para consultar de forma rápida, o rastreamento dos objetos. Entretanto, fiz o post SQL Server – Como rastrear encomendas e objetos dos correios (após desativação do WEBSRO) que contorna esse problema. 🙂
Antes de iniciarmos, vejamos alguns pré-requisitos para utilizar essa procedure:
– Habilitar o recurso OLE Automation no seu servidor SQL Server (veja como neste post)
– Função fncRemove_HTML para remover tags HTML de uma string varchar (veja mais neste post)
– Função fncSplit_Texto para quebrar uma string em substrings utilizando um delimitador (veja mais neste post)
Um detalhe importante que observei no desenvolvimento dessa SP, é que se a quantidade de caracteres do XML de retornado pela procedure sp_OAGetProperty for superior a 4000 caracteres, o retorno da SP será NULL, uma vez que a procedure sp_OAGetProperty possui essa limitação de 4000 caracteres. Para contornar esse problema, ao invés de usar uma variável de OUTPUT para capturar os dados, eu os insiro em uma tabela temporária e depois trabalho com os dados. 🙂
Exemplos de uso da SP
Implementando a Stored Procedure no seu banco de dados
Visualizar código-fonteÉ isso aí!
Gostaram dessa procedure? Agora dá pra criar monitoramentos para suas encomendas.. kkkk
sql server tsql transact sql query rastreamento encomendas objetos correios
sql server tsql transact sql query rastreamento encomendas objetos correios
fiz o passo a passo e não funcionou você consegui me ajudar?
Rogério, boa tarde. Deu algum erro pra você? O que aconteceu?
Excelente.
Incrivel cara. Excelente post e muito esclarecedor! Ja pensou na possibilidade de gravar alguns videos para o YouTube ? caso ja possua um canal, me informe o nome… Abraço!