Integração Java – 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 Java 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 uma JVM.
Sempre utilizar o método HTTP Post para realizar os envios.

 

Entendendo a biblioteca JAVA
A biblioteca Java é 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.

 

Configurando o envio

 

Primeiro passo

Faça o download da biblioteca de integração Java, descompacte o arquivo HumanGatewayClient.jar referente ao cliente de integração com o gateway de SMS.

 

Segundo passo

Adicionar a pasta de lib do seu projeto.

 

Terceiro passo

Adicionar ao build path a biblioteca HumanGatewayClient.jar.

 

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 SimpleMessageService e MultipleMessageService 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:

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

 

Enviando SMS individualmente

 

Primeiro passo

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

Exemplo:

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

 

Segundo passo

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

Exemplo:

SimpleMessage mensagem = new SimpleMessage(); 
mensagem.setTo("555199990101"); 
mensagem.setMessage("Minha mensagem de teste"); 
mensagem.setSchedule(new Date());  

 

Terceiro passo

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

Exemplo:

List<Response> retornos = cliente.send(mensagem);

 

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:

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

Segundo passo

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

Exemplo:

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

 

Terceiro passo

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

 

Enviando Múltiplos SMS a partir de um arquivo CSV

 

Primeiro passo

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

Exemplo:

MultipleMessageService cliente = new MultipleMessageService("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; 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:

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

 

Terceiro passo

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

 

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:

MultipleMessageService cliente = new MultipleMessageService("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:

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

 

Terceiro passo

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

Exemplo:

List<Response> retornos = 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 passo

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

Exemplo:

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

 

Segundo passo

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

String[] ids = {"010", "009", "008"};
List<Response> retornos = 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:

for(Response retorno : retornos) { 
  System.out.print(retorno.getReturnCode());
  System.out.println(retorno.getReturnDescription());
}

 

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

Finanzielle ghostwriter gesucht ausstattung von lehraufträgen im zusammenhang mit universitären gruppen und projekten.