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

SQL Server – Como enviar Torpedos SMS utilizando o CLR (C#) e a API da Mais Resultado (PG Soluções)

Post Views 2,217 views
Reading time 6 minutes

Olá pessoal,
Bom dia!

Neste post, vou demonstrar como enviar Torpedos SMS utilizando o CLR (C#) e a API da Mais Resultado (PG Soluções) pelo próprio banco de dados SQL Server. Isso é especialmente útil quando você precisa criar alertas e monitoramentos de suas rotinas críticas, que funcionam de madrugada ou finais de semana e requerem uma ação imediata.

Porque utilizar essa API? E a solução com o Pushbullet?

Eu já havia feito o post Como utilizar a API do Pushbullet para enviar torpedos SMS no C#, PHP, Java ou pelo SQL Server (com CLR), que permitia o envio de torpedos SMS pelo banco de dados SQL Server utilizando, mas utilizando a API do Pushbullet e um celular físico para realizar o envio, mas apesar de ser um método muito mais barato (vai utilizar os torpedos “ilimitados” do seu chip), existe a necessidade de ter um telefone sempre ligado e conectado a Internet.

Além disso, sabemos que os torpedos “ilimitado” das operadoras de celular nunca é realmente ILIMITADO, pois alegando prevenir spam, elas criam uma série de limitações sobre a quantidade mensal de SMS. Umas operadoras limitam em cerca de 10.000 torpedos SMS (no melhor dos casos e se eles não cancelarem seu contrato), outras exigem que a quantidade torpedos enviada seja no máximo 2.500 torpedos/mês e tenha que ser no máximo o dobro da quantidade de torpedos recebidos, etc.

Como eu precisava de uma solução que permitisse enviar mais de 10.000 torpedos por mês, essa solução não atendia essa necessidade. Você até poderia comprar vários chips e aparelhos celulares e fazer um “pool de celulares”, mas dependendo da criticidade das informações, talvez não valha a pena arriscar.

Diante dessa necessidade, apresento-lhes a PG Soluções, empresa do Paraná especializada no envio de torpedos SMS em massa, que disponibiliza uma API para integração com outras linguagens de programação e permitindo assim, o envio automatizado. O custo do SMS é relativamente baixo (Se não me engano, custa 5 centavos por torpedo – mas o valor pode variar conforme a negociação).

PS: Só para deixar claro, não faço parte da empresa e nem conheço ninguém lá. Apenas estou demonstrando essa solução porque foi a que achei mais viável para o envio dos SMS que utilizo na empresa onde eu trabalho.

Uma vez que você já tenha realizado seu contrato com a PG, você poderá acessar a área administrativa, onde é possível visualizar os torpedos enviados pela API e gerenciar o cadastro de clientes (Na API, você pode criar vários clientes, que podem ser setores da sua empresa ou clientes distintos mesmo).

Como enviar torpedos SMS pela API da Mais Resultado

Agora que você já está familiarizado com a ferramenta e já possui um contrato com a PG Soluções, você poderá começar a enviar seus torpedos SMS pelo seu sistema C# ou pelo seu banco de dados SQL Server utilizando o CLR (C#).

Antes de iniciar, você precisa ter em mãos, o token de autenticação disponibilizado pela PG. Esse token é o que permite identificar os torpedos enviados por você, como sendo os seus torpedos e por isso, nunca divulge ou compartilhe esse token.

Como pré-requisito para utilizar essa procedure, você precisará criar a classe Retorno, disponível no post SQL Server – Como enviar avisos e mensagens de erro para o banco pelo CLR (C#) para utilizar o método Retorno.Erro e assim, enviar mensagens de erro, caso ocorram. Você também pode optar por comentar o código e remover as chamadas para esse método (e comentar também o using Bibliotecas.Model), mas não aconselho, pois você não saberá quando ocorreu algum erro na sua chamada à SP de envio de torpedo SMS.

Código-fonte da Procedure:

Exemplos de uso:

Automatizando o envio dos torpedos

Uma dica de utilização para vocês, que utilizo no dia a dia, é criar uma tabela de torpedos, de modo que suas rotinas apenas insiram os dados do torpedo nessa tabela e criar um Job que leia os torpedos não enviados dessa tabela e faça o disparo dos torpedos utilizando o CLR.

Criação da tabela base:

Stored Procedure para realizar o envio automatizado:

Agora é só você criar um Job no SQL Agent da sua instância para executar a stpRotina_Envia_Torpedo criada acima. Eu costumo definir o job para rodar a cada minuto, mas fica a seu critério e necessidade.

And that's it, folks!
Espero que tenham gostado desse post.
Um abraço e até a próxima.

sql server clr .net dotnet framework c# csharp integration como criar integração banco de dados database como enviar mensagens how to send messages notifications notificações torpedos sms

sql server clr .net dotnet framework c# csharp integration como criar integração banco de dados database como enviar mensagens how to send messages notifications notificações torpedos sms