Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

Consultando o rastreamento de objetos dos Correios pelo SQL Server

Visualizações: 2.394 views
Tempo de Leitura: 3 minutos

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

SQL Server - Rastreamento de Objetos Encomendas dos Correios

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