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:

Notificações de marketing por SMS e MMS com Ruby e Sinatra

Pronto para implementar notificações de marketing por SMS e MMS em seu aplicativo Ruby e Sinatra?

Veja como isso funcionará em um nível alto:

  1. Um possível cliente envia um SMS para um número de telefone da Twilio que você anuncia em algum lugar.
  2. Seu aplicativo confirma que o usuário deseja receber notificações via SMS e MMS da sua empresa.
  3. Um administrador ou gerente de campanha de marketing usa um formulário da web para criar uma mensagem que será enviada a todos os assinantes por meio de mensagem SMS/MMS.

Blocos de construção

Para fazer isso, você trabalhará com as seguintes ferramentas:

  • TwiML e o verbo <Message>: Usaremos o TwiML para gerenciar interações iniciadas pelo usuário via SMS.
  • Messages Resource (Recurso de mensagens): Usaremos a API REST para transmitir mensagens para todos os assinantes.
  • Sinatra Framework (Estrutura Sinatra): Usaremos Sinatra para estruturar o aplicativo.
  • DataMapper: Usaremos o DataMapper para definir o modelo e mantê‐lo.

Vamos começar! Clique no botão abaixo para passar para a próxima etapa do tutorial.

Next

O modelo de assinante

Para enviar notificações de marketing a um assinante, precisamos fornecer o modelo certo.

  • phone_number armazenará onde enviar as notificações.
  • subscribed permite que o aplicativo identifique quais assinantes estão ativos (somente um assinante ativo receberá notificações).
        
        
        
        model/subscriber.rb

        The Subscriber model

        model/subscriber.rb

        Em seguida, vamos ver como lidar com mensagens recebidas.

        Next

        Lidar com mensagens recebidas

        Esse é o endpoint que será chamado toda vez que nosso aplicativo receber uma mensagem.

        Ele verifica se o comando enviado na mensagem é um dos comandos que esperamos. Dependendo disso, ele retorna uma mensagem formatada no TwiML, uma confirmação ou uma mensagem útil com nossos comandos legais.

        A Twilio pode enviar ao seu aplicativo da Web uma solicitação HTTP quando certos eventos ocorrem, como uma mensagem de texto recebida para um dos números de telefone da Twilio. Essas solicitações são chamadas de webhooks ou retornos de chamada de status. Para mais informações, consulte o nosso guia Introdução aos webhooks da Twilio. Encontre outras páginas do webhook, como um guia de segurança e perguntas frequentes na seção Webhooks dos documentos.

              
              
              
              app.rb

              SMS and MMS Marketing Notifications

              app.rb

              Vamos ver como criar novos assinantes a seguir.

              Crie novos assinantes!

              Criar novos assinantes

              Em uma mensagem recebida, procuramos no banco de dados um número correspondente. Se não houver um, criamos um novo Subscriber. Se isso acontecer, validaremos o comando do corpo da mensagem e enviaremos uma resposta do TwiML apropriada.

              E isso é tudo o que queremos nesta etapa! Criamos um modelo Subscriber para acompanhar as pessoas que solicitaram nossas mensagens. Também salvamos suas informações no banco de dados depois de receber uma mensagem de texto com um comando “add” (adicionar).

                    
                    
                    
                    app.rb

                    Registrar um novo assinante no banco de dados

                    app.rb

                    Agora, vamos ver como nossos usuários podem gerenciar suas assinaturas.

                    Next

                    Gerenciamento de assinaturas

                    Queremos fornecer aos nossos usuários dois comandos de SMS para gerenciar o status de assinatura deles: add e remove.

                    Esses comandos alternarão um indicador booleano para um registro Subscriber no banco de dados e determinarão se nosso usuário receberá ou não mensagens da nossa campanha de marketing. Nós não os aceitamos automaticamente. Em vez disso, precisamos que eles confirmem se desejam receber nossas mensagens.

                    Para que isso aconteça, precisaremos atualizar a lógica do controlador que lida com a mensagem de texto recebida para fazer algumas coisas:

                    • Se for um comando add ou remove, crie/atualize sua assinatura do usuário com o status correto no banco de dados.
                    • Se for um comando que não reconhecemos, então envie uma mensagem explicando os dois comandos disponíveis.
                          
                          
                          
                          app.rb

                          Validar e executar o comando de um assinante

                          app.rb

                          Em seguida, vamos ver como enviar notificações.

                          Como enviar notificações?

                          Envio de notificações

                          Quando recebemos um envio de formulário do front‐end, primeiro pegamos o texto da mensagem e o URL da imagem opcional. Em segundo lugar, fazemos loop em todos os assinantes e chamamos o método send_message para enviar a mensagem.

                          Quando as mensagens estiverem a caminho, renderizamos a página de índice com uma mensagem de sucesso (e agrade a equipe de marketing).

                                
                                
                                
                                app.rb

                                Webhook para enviar uma mensagem a todos os assinantes ativos

                                app.rb

                                Vamos analisar ainda mais detalhadamente como enviar notificações SMS ou MMS.

                                Ampliar o envio de mensagens MMS e SMS

                                Enviar notificações SMS ou MMS

                                No método send_message, criamos um Twilio REST API client (client de API REST da Twilio) que pode ser usado para enviar mensagens SMS e MMS. O cliente requer suas credenciais de conta da Twilio (um Account SID (SID da conta) e um Auth Token (Token de autenticação)), que podem ser encontrados in the console (no console):

                                Account Credentials

                                Em seguida, basta chamarmos o objeto create client.messages para enviar nossa mensagem. A chamada à API de mensagens da Twilio requer um parâmetro from, to e body. O media_url é opcional.

                                      
                                      
                                      
                                      model/subscriber.rb

                                      Usar o cliente Ruby da Twilio para enviar uma mensagem

                                      model/subscriber.rb

                                      É isso! Acabamos de implementar um processo de aceitação (opt-in) e uma interface administrativa para executar uma campanha de marketing via SMS e MMS.

                                      Em seguida, vamos ver quais outros recursos você pode querer implantar.

                                      O que mais posso construir?

                                      Para onde ir em seguida?

                                      Twilio e Ruby misturam‐se incrivelmente bem. Para provar isso, aqui estão dois excelentes tutoriais sobre como adicionar outros recursos:

                                      Employee Directory (Diretório de colaboradores)

                                      Adicione uma interface ao seu diretório de colaboradores para procurar informações de contato por meio do seu telefone.

                                      Automated Survey (Pesquisa automatizada)

                                      Siga este tutorial simples para ver o código necessário para implementar pesquisas automatizadas que se integram diretamente ao seu CRM e ao banco de dados do cliente.

                                      Isso ajudou?

                                      Obrigado por conferir este tutorial! Envie um tuíte para @twilio para nos dizer 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.

                                            
                                            
                                            

                                            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