Enviar mensagens SMS e MMS em Java
Neste tutorial, mostraremos como enviar mensagens SMS e MMS do Java usando o Programmable SMS da Twilio. Os trechos de código neste guia são direcionados para o Java SDK versão 8 ou superior e usam a Biblioteca auxiliar Java da Twilio.
Embora você possa enviar mensagens SMS somente de texto em praticamente qualquer lugar do planeta, o envio de mídia está disponível atualmente apenas nos EUA e no Canadá. Saiba mais neste artigo de suporte.
Inscreva‐se (ou faça login) na sua conta da Twilio
Se você tiver uma conta e um número de telefone da Twilio com funcionalidades SMS (e MMS, se possível), está tudo pronto! Sinta‐se à vontade para ir direto para o código.
Antes de enviar mensagens, você precisa se inscrever em uma conta da Twilio e adquirir um número de telefone da Twilio.
Se você é novo na Twilio, pode se inscrever em uma conta de avaliação gratuita para começar. Depois de se conectar, acesse o Console e obtenha o Account SID (SID da conta) e seu Auth Token (Token de autenticação). Você precisará desses valores para os exemplos de código abaixo.
Obter um número de telefone com recursos de SMS (e MMS)
O envio de mensagens requer um número de telefone da Twilio com recursos de SMS. Se você não possui atualmente um número de telefone da Twilio com recursos de SMS, precisará adquirir um. Depois de navegar até a página Buy a Number (Comprar um número), marque a caixa "SMS" e clique em "Search" (Pesquisar):
Se você mora nos EUA ou no Canadá e também deseja enviar mensagens MMS, pode selecionar a caixa "MMS". Ao visualizar os resultados da pesquisa, você pode ver os ícones do recurso na lista de números disponíveis:
Encontre um número que você goste e clique em "Buy" (Comprar) para adicioná‐lo à sua conta.
Se estiver usando uma conta de avaliação, você precisará verificar seu número de telefone pessoal pelo console para poder testar o envio de SMS para você mesmo.
Saiba mais sobre como trabalhar com sua conta de avaliação gratuita.
Enviar uma mensagem SMS por meio da API REST com a Biblioteca auxiliar do Java
O envio de uma mensagem SMS de saída requer o envio de um HTTP POST para o URI do recurso Messages. Ao usar a biblioteca auxiliar, você pode criar uma nova instância do recurso Message e especificar os parâmetros To, From e Body para sua mensagem.
O primeiro número de telefone no exemplo abaixo é o parâmetro To (seu número de telefone da Twilio) e o segundo número de telefone é o parâmetro From (seu número de celular).
Se quiser enviar uma mensagem para vários destinatários, você poderá criar uma matriz de destinatários e percorrer cada número de telefone nessa matriz.
Você pode enviar quantas mensagens desejar, tão rápido quanto quiser e a Twilio as colocará na fila para entrega no limite de taxa prescrito. Consulte nosso guia sobre como Enviar mensagens SMS em massa para obter mais dicas.
Enviar uma mensagem em Java com mídia (MMS)
Você pode enviar MMS usando a Twilio. Para enviar um MMS, você também faz uma solicitação HTTP POST para o recurso Messages, mas desta vez especifica um parâmetro para o URL de mídia, como uma imagem.
Vamos adicionar uma linha ao nosso código a partir do exemplo acima que definir o MediaUrl para a mensagem.
Embora você possa enviar mensagens SMS somente de texto em praticamente qualquer lugar do planeta, o envio de mídia está disponível atualmente apenas nos EUA e no Canadá.
A chamada do método setMediaUrl()
neste código informa à Twilio onde ir para obter a mídia que queremos incluir. Este deve ser um URL acessível publicamente. A Twilio não poderá acessar nenhum URL oculto ou que exija autenticação.
Assim como quando você envia um SMS simples, a Twilio envia dados sobre a mensagem em resposta à sua solicitação. A resposta JSON conterá o SID exclusivo e o URI para seu recurso de mídia:
"subrecurso_uris": {"mídia": "/2010-04 01/Contas/ACxxxxxxxx/Mensagens/SMxxxxxxxxxxxxx/Mídia.json"}
Quando a API REST da Twilio cria seu novo recurso Message, ela salva a imagem encontrada no url de mídia especificado como um recurso de mídia. Uma vez criado, você pode acessar esse recurso a qualquer momento por meio da API.
Você pode imprimir esse valor a partir do seu código Java para ver onde a imagem está armazenada. Adicione a seguinte linha ao final do seu arquivo Example.java
para ver seu URI de mídia recém‐provisionado:
System.out.println(message.getSubresourceUris().get("media"));
O que vem a seguir?
Quer criar mais funcionalidades de mensagens em seu aplicativo Java?
Confira esses recursos detalhados para levar sua mensagem programática a um novo patamar:
- Monitore o status da mensagem para confirmar a entrega.
- Saiba como responder a um SMS enviado para o número de telefone da Twilio.
- Saiba como gerenciar o estado da mensagem para transformar mensagens individuais em uma verdadeira conversa por SMS.
- Mergulhe nos detalhes com nossa documentação de referência de API para mensagens.
- Enviando mensagens de alto volume? Confira nossos serviços de mensagens.
Além disso, experimente nosso Início rápido do SMS em Java e veja como receber e responder mensagens em Java.
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.