You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Classifique esta página:

Mascaramento de telefone com Ruby e Rails

Este aplicativo de amostra do Ruby on Rails foi modelado após a incrível experiência de aluguel criada pela AirBnB, mas 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.

Leia como a Lyft usa mascaramento de telefone para permitir que os clientes entrem em contato com os motoristas com segurança

Vamos começar!

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 o nome e o número de telefone do hóspede.

Loading Code Sample...
        
        
        app/controllers/reservations_controller.rb

        Método de criação de reserva

        app/controllers/reservations_controller.rb

        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

        Confirmar a reserva

        Antes de finalizar a reserva, o anfitrião precisa confirmar que a propriedade ainda está disponível. Saiba como automatizar esse processo em nosso primeiro tutorial do AirTNG, Automação do fluxo de trabalho.

        Uma vez confirmada a reserva, precisamos criar um número de telefone da Twilio que o hóspede e o anfitrião possam usar para se comunicar no método provision_phone_number.

        Loading Code Sample...
              
              
              app/models/reservation.rb

              Confirmar método de reserva

              app/models/reservation.rb

              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

              Comprar um número de telefone da Twilio

              Aqui usamos um cliente API REST 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.

              Loading Code Sample...
                    
                    
                    app/models/reservation.rb

                    Provisionar método de número de telefone

                    app/models/reservation.rb

                    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 um hóspede ou anfitrião ligar

                    Encontrar uma reserva quando um hóspede ou anfitrião ligar

                    Em nosso controlador, criamos um filtro que é executado toda vez que a Twilio pergunta ao nosso aplicativo como lidar com uma chamada ou mensagem de texto recebida. Esse filtro localiza e armazena a reserva correta, aquela associada ao número anônimo, como uma variável de instância que será usada quando conectarmos o hóspede e o anfitrião por voz ou SMS.

                    Loading Code Sample...
                          
                          
                          app/controllers/reservations_controller.rb

                          Encontrar uma reserva

                          app/controllers/reservations_controller.rb

                          Em seguida, vamos ver como conectar o hóspede e o anfitrião via SMS.

                          Conectar o hóspede e o anfitrião via SMS

                          Conectar o hóspede e o anfitrião 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 ao número anônimo foi enviada pelo anfitrião, nós a encaminhamos para o hóspede. Mas se a mensagem foi enviada pelo hóspede, nós a encaminhamos para o anfitrião.

                          Loading Code Sample...
                                
                                
                                app/controllers/reservations_controller.rb

                                Conectar via SMS

                                app/controllers/reservations_controller.rb

                                Vamos ver como conectar o hóspede e o anfitrião por meio da próxima chamada telefônica.

                                Conectar o hóspede e o anfitrião via chamada telefônica

                                Conectar o hóspede e o anfitrião 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.

                                Loading Code Sample...
                                      
                                      
                                      app/controllers/reservations_controller.rb

                                      Conectar via chamada telefônica

                                      app/controllers/reservations_controller.rb

                                      É isso! Acabamos de implementar comunicações anônimas que permitem que seus clientes se conectem enquanto protegem sua privacidade com a ajuda da biblioteca auxiliar Ruby da Twilio.

                                      Para onde ir em seguida?

                                      Para onde ir em seguida?

                                      Se você é um desenvolvedor Ruby que trabalha com a Twilio, confira estes outros tutoriais.

                                      Parte 1 deste tutorial: automação do fluxo de trabalho

                                      Aumente sua taxa de resposta automatizando os fluxos de trabalho que são essenciais para o seu negócio.

                                      Lembretes de agendamento

                                      Envie aos seus clientes uma mensagem de texto quando eles tiverem um compromisso futuro. Este tutorial mostra como fazer isso a partir de uma tarefa em segundo plano.

                                      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.

                                      Jarod Reyes Kevin Segovia Daniel Erazo
                                      Classifique esta página:

                                      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.

                                      Loading Code Sample...
                                            
                                            
                                            

                                            Obrigado pelo seu feedback!

                                            Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

                                            Enviando seu feedback...
                                            🎉 Obrigado pelo seu feedback!
                                            Algo deu errado. Tente novamente.

                                            Obrigado pelo seu feedback!

                                            thanks-feedback-gif