Mascaramento de telefone com Java e Servlets
Este aplicativo de amostra do Java Servlets foi modelado com base na incrível experiência de aluguel criada pela AirBnB, porém com mais Klingons.
Os usuários anfitriões podem oferecer propriedades de aluguel que outros usuários hóspedes podem reservar. O hóspede e o anfitrião podem se comunicar anonimamente por meio de um número de telefone da Twilio descartável criado apenas para uma reserva. Neste tutorial, mostraremos os principais bits de código para fazer isso funcionar.
Para executar este aplicativo de exemplo, baixe o código e siga as instruções no GitHub.
Implicações legais do gerenciamento de comunicações entre usuários
Se você optar por gerenciar as comunicações entre seus usuários, incluindo chamadas de voz, mensagens baseadas em texto (por exemplo, SMS) e bate-papo, você pode precisar cumprir certas leis e regulamentos, incluindo aqueles relacionados à obtenção de consentimento. Informações adicionais sobre as considerações de conformidade legal e as melhores práticas recomendadas para usar a Twilio para gerenciar e registrar comunicações entre seus usuários, como ao usar o Twilio Proxy, podem ser encontradas aqui.
Aviso: A Twilio recomenda que você consulte o seu conselho jurídico para se certificar do cumprimento de todas as leis aplicáveis em relação às comunicações que você registra ou armazena usando a Twilio.
Criar uma reserva
A primeira etapa para conectar um hóspede e um anfitrião é criar uma reserva. Aqui, tratamos de um envio de um formulário para uma nova reserva que contém a mensagem. As informações do hóspede são extraídas do usuário conectado.
Parte do nosso sistema de reservas está recebendo solicitações de reserva de locatários em potencial. No entanto, essas reservas precisam ser confirmadas. Vamos ver como lidaríamos com essa etapa.
Confirmar a reserva
Antes de a reserva ser finalizada, o anfitrião precisa confirmar que a propriedade foi reservada. Saiba como automatizar esse processo em nosso primeiro tutorial do AirTNG, Automação do fluxo de trabalho.
Uma vez confirmada a reserva, precisamos comprar um número de telefone da Twilio que o hóspede e o anfitrião podem usar para se comunicar.
Comprar um número de telefone da Twilio
Aqui usamos uma biblioteca auxiliar Java da Twilio para procurar e comprar um novo número de telefone para associar à reserva. Quando compramos o número, designamos um aplicativo Twilio que lidará com solicitações de webhook quando o novo número receber uma chamada ou mensagem de texto.
Em seguida, salvamos o novo número de telefone no nosso modelo Reservation
, por isso, quando o nosso aplicativo receber chamadas ou mensagens de texto para este número, saberemos a qual reserva pertence a chamada ou mensagem de texto.
Agora que cada reserva tem um número de telefone da Twilio, podemos ver como o aplicativo pesquisará as reservas à medida que as chamadas do hóspede ou do anfitrião são recebidas.
Encontrar uma reserva
Quando alguém envia um SMS ou liga para um dos números de telefone da Twilio que você configurou, a Twilio faz uma solicitação para o URL definido no aplicativo TwiML. Nesta solicitação, a Twilio inclui algumas informações úteis, como:
- O número
incomingPhoneNumber
que originalmente chamou ou enviou um SMS. - O número de telefone
anonymousPhoneNumber
da Twilio que acionou essa solicitação.
Dê uma olhada na Documentação de SMS da Twilio e na Documentação do Voice da Twilio para obter uma lista completa dos parâmetros que você pode usar.
Em nosso servlet, usamos o parâmetro to
enviado pela Twilio para encontrar uma reserva que tenha o número que compramos armazenado nela, já que esse é o número para o qual os anfitriões e hóspedes ligarão e enviarão SMS.
Em seguida, vamos ver como conectar o hóspede e o anfitrião via SMS.
Conectar via SMS
Nosso aplicativo Twilio deve ser configurado para enviar solicitações HTTP a esse método de controlador em qualquer mensagem de texto recebida. Nosso aplicativo responde com TwiML para dizer a Twilio o que fazer em resposta à mensagem.
Se a mensagem inicial enviada para o número anônimo foi enviada pelo anfitrião, nós a encaminhamos para o hóspede. Por outro lado, se a mensagem original foi enviada pelo hóspede, nós a encaminhamos para o anfitrião.
Para encontrar o número de saída, usaremos o método auxiliar gatherOutgoingPhoneNumberAsync
.
Vamos ver como conectar o hóspede e o anfitrião por meio da próxima chamada telefônica.
Conectar via chamada telefônica
Nosso aplicativo Twilio enviará solicitações HTTP para esse método em qualquer chamada de voz recebida. Nosso aplicativo responde com instruções TwiML que informam a Twilio para Play
um arquivo de áudio MP3 introdutório e, em seguida Dial
para o hóspede ou anfitrião, dependendo de quem iniciou a chamada.
É isso! Acabamos de implementar comunicações anônimas que permitem que seus clientes se conectem enquanto protegem sua privacidade.
Para onde ir em seguida?
Se você é um desenvolvedor Java que trabalha com a Twilio, confira estes outros tutoriais:
Crie uma experiência de atendimento ao cliente perfeita criando uma Árvore telefônica URA para sua empresa.
Permita que sua empresa converta tráfego da Web em chamadas telefônicas com o clique de um botão.
Isso ajudou você?
Agradecemos por conferir este tutorial! Se você tiver algum feedback para compartilhar conosco, adoraríamos ouvir você. Faça um tweet citando @twilio para nos informar o que você acha.
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.