Integração .NET – Envio de SMS na API Legada 1.0

Objetivo
O objetivo do tutorial de integração é guiar os desenvolvedores que desejam integrar suas aplicações ao gateway de SMS da Zenvia, automatizando assim seus envios de SMS conforme sua necessidade.
Mostraremos em simples passos como fazer suas aplicações .NET enviarem SMS por meio da API de integração que disponibilizamos para facilitar os envios.

 

Pré-requisitos
Para executar a biblioteca de integração, basta ter instalado um servidor que interprete .NET, tal como IIS.
Nenhuma alteração nas configurações do .NET será necessária.

 

Entendendo a biblioteca .NET
A biblioteca .NET é um conjunto de classes que tem como principal função fazer requisições HTTP da forma mais organizada e simplificada possível, fazendo com que poucas informações sejam passadas por sua aplicação. A biblioteca foi desenvolvida na linguagem C#, porém este tutorial terá exemplo nas linguagens VB e C#.

 

Configurando o envio

 

Primeiro passo

Faça o download da biblioteca de integração .NET.

 

Segundo passo

Adicionar a dll na pasta de lib do seu projeto.

 

Terceiro passo

Referencie a biblioteca HumanAPIClient.dll.

 

Quarto passo

Para qualquer operação do gateway de SMS, é preciso identificar-se com sua conta e código de acesso.

Trabalharemos com as instâncias das classes SimpleSending e MultipleSending para manipulação de SMS (envio e consulta), passando por parâmetros de seu construtor a sua conta e o código de acesso. Tais dados são cedidos pela Zenvia juntamente com a negociação do contrato firmado com a empresa.

Exemplo:

C#

MultipleSending cliente = new MultipleSending("conta","senha");

VB

Dim cliente As MultipleSending = New MultipleSending("conta", "senha")

Enviando SMS individualmente

 

Primeiro passo

Instancie a classe SimpleSending, informando a sua conta e senha.

Exemplo:

C#

SimpleSending cliente = new SimpleSending("conta", "senha");

VB

Dim cliente As SimpleSending = New SimpleSending("conta", "senha")

 

Segundo passo

Adicione as informações To (obrigatório), Message (obrigatório), From (opcional), Id (opcional), Schedule (opcional) e Callback (opcional).

Exemplo:

C#

SimpleMessage mensagem = new SimpleMessage(); 
mensagem.To = "555199990101"; 
mensagem.Message = "Minha mensagem de teste"; 
mensagem.Schedule = "17/05/2011 10:00:00";

VB

Dim message As SimpleMessage = New SimpleMessage() mensagem.To = "555199990101"; 
mensagem.Message = "Minha mensagem de teste"; 
mensagem.Schedule = "17/05/2011 10:00:00";

 

Terceiro passo

Chame o método SimpleSending.send, passando por parâmetro a classe SimpleMessage.

Exemplo:

C#

List; retornos = cliente.send(mensagem);

VB

Dim retornos As List(Of String) = cliente.send(message) 

 

Quarto passo

Para obter as respostas das requisições, veja o item “Obtendo respostas das requisições“.

 

Consultando status de SMS individualmente

 

Primeiro passo

Instancie a classe SimpleMessageService, informando a sua conta e senha.

Exemplo:

C#

SimpleSending cliente = new SimpleSending("conta", "senha");

VB

Dim cliente As SimpleSending = New SimpleSending("conta", "senha")

 

Segundo passo

Chame o método SimpleSending.query, passando por parâmetro o id do SMS que deseja consultar.

Exemplo:

C#

String id = "010"; 
List<String> retornos = cliente.query(id);

VB

Dim id As String = "010"
Dim retornos As List(Of String) = cliente.query(id)

 

Terceiro passo

Para obter as respostas das requisições, veja o item “Obtendo respostas das requisições“.

 

Enviando Múltiplos SMS por arquivo

 

Primeiro passo

Instancie a classe MultipleSending, informando a sua conta e senha.

Exemplo:

C#

MultipleSending cliente = new MultipleSending("conta", "senha"); 

VB

Dim cliente As MultipleSending = New MultipleSending("conta", "senha")

 

Segundo passo

Instancie a FileResource, informando o arquivo a ser enviado e o tipo de layout do arquivo. Você pode, também, informar o tipo de callback para todos os SMS.

Exemplo:

C#

MultipleMessage fileMessage = new FileResource(new FileInfo("nome-do-arquivo.txt"), LayoutTypeEnum.TYPE_A); 
fileMessage.Callback = CallbackTypeEnum.FULL; 

VB

Dim fileMessage As FileResource = New FileResource(New FileInfo("nome-do-arquivo.txt"), LayoutTypeEnum.TYPE_A) 
fileMessage.Callback = CallbackTypeEnum.FULL

 

Terceiro passo

Chame o método MultipleMessageService.send, passando por parâmetro a classe FileResource.

Exemplo:

List<String>
retornos = cliente.send(fileMessage);

VB

Dim retornos As List(Of String) = cliente.send(fileMessage)

 

Quarto passo

Para obter as respostas das requisições, veja o item “Obtendo respostas das requisições“.

 

Enviando Múltiplos SMS a partir de uma lista

 

Primeiro passo

Instancie a classe MultipleMessageService, informando a sua conta e senha.

Exemplo:

C#

MultipleSending cliente = new MultipleSendin">"conta", "senha");

VB

Dim cliente As MultipleSending = New MultipleSending("conta", "senha")

 

Segundo passo

Instancie a ListResource, informando uma string com a lista de SMS a serem enviados e o tipo de layout da lista. Você pode, também, informar o tipo de callback para todas as mensagens; todavia, não é obrigatório. Em nosso exemplo, escolheremos o layout A, que consiste em “to;message“. Para adicionar mais de um SMS, inclua o caractere n entre as strings.

Exemplo:

C#

String data = "555199990101;
Mensagem de testen555199990102;
Mensagem de teste";
MultipleMessage listMessage = new ListResource(data, LayoutTypeEnum.TYPE_A);
listMessage.Callback = CallbackTypeEnum.FULL;

VB

Dim dados As String = "555199990101;
Mensagem de testen555199990102;
Mensagem de teste";
Dim listMessage As ListResource = New ListResource(dados, LayoutTypeEnum.TYPE_A) listMessage.Callback = CallbackTypeEnum.FULL

 

Terceiro passo

Chame o método MultipleMessageService.send, passando por parâmetro a classe ListResource.
Exemplo:

List<String> retornos = cliente.send(listMessage); 

VB

Dim retornos As List(Of String) = cliente.send(listMessage) 

 

Quarto passo

Para obter as respostas das requisições, veja o item “Obtendo respostas das requisições“.

 

Consultando status de SMS múltiplos

Primeiro passoInstancie a classe MultipleSending, informando a sua conta e senha.

Exemplo:

C#

MultipleSending cliente = new MultipleSending("conta", "senha");

VB

Dim cliente As MultipleSending = New MultipleSending("conta", "senha")

 

Segundo passo

Chame o método MultipleSending.query, passando por parâmetro um array de ids dos SMS que deseja consultar.

Exemplo:

String[] ids = new String[]{"010", "009", "008"};
List<String>
retornos = cliente.query(ids);

VB

Dim ids As String() = New String(){"010", "009", "008"};
Dim retornos As List(Of String) = cliente.query(ids)

 

Terceiro passo

Para obter as respostas das requisições, veja o item “Obtendo respostas das requisições“.

 

Obtendo respostas das requisições

O retorno do método de consulta é uma lista de objetos da classe Response. Nessa classe é possível resgatar o código e a descrição da requisição e do estado do SMS desejado.
Exemplo:

foreach (String resp in retornos) { Console.WriteLine(resp); }

VB

For Each resp As String In retornos msgResponse.Text = resp Next

 

Glossário

 

Item Propriedade Descrição
1 To Número de telefone do SMS no formato DDI + DDD + Telefone (Exemplo: 555199990101).
2 Message Mensagem que será enviada ao telefone. Terá no máximo 160 caracteres (sem o campo From).
3 From Identificação do remetente que será atribuído à mensagem. O campo “Message” + o campo “From” devem ter tamanho máximo de 160 caracteres.
4 Id Sua identificação do SMS para fins de consulta.
5 Schedule Data de agendamento de envio do SMS.
6 Tipos de callback

  • INACTIVE(0) (Padrão): Não será enviada mensagem de callback para a sua aplicação.
  • FINAL(1): Será enviada a mensagem de callback com somente o estado final de cada mensagem enviada.
  • FULL(2): Será enviada a mensagem de callback com os estados intermediários e o estado final de cada mensagem enviada.

Observação: Para os callbacks Final e Full, deverá ser cadastrado no atendimento da Zenvia um host ao qual serão enviadas as requisições.

7 String Conjunto de caracteres.
8 Tipos de layout
  • Tipo A: to;message
  • Tipo B: to;message;from
  • Tipo C: to;message;id
  • Tipo D: to;message;id;from
  • Tipo E: to;message;from;id;schedule
Leia o tutorial também nas versões .Docx e PDF

icon-word icon-pdf

diplomarbeit schreiben lassen schweiz.