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:

Lembretes de agendamentos com PHP e Laravel

Ahoy! Agora recomendamos que você crie seus lembretes de agendamento por SMS com a funcionalidade de programação de mensagens integrada da Twilio. Acesse a documentação de recursos de mensagens para saber mais sobre como programar mensagens SMS!

Este aplicativo da web Laravel 5 mostra como criar agendamentos para clientes em uma data futura e enviar lembretes para esses agendamentos em um background job (trabalho em segundo plano) que é executado a cada poucos minutos.

Neste tutorial, vamos destacar os principais bits de código que fazem este aplicativo funcionar. Confira o README do projeto no GitHub para ver como executar o código por conta própria.

Confira como a Yelp usa o SMS para confirmar reservas de restaurantes para clientes.

Vamos começar! Clique no botão abaixo para começar.

Vamos começar!

Configurar o aplicativo para usar a Twilio

Antes de podermos usar a API da Twilio para enviar mensagens de texto de lembrete, precisamos configurar nossas credenciais de conta. Elas podem ser encontradas no Twilio Console. Será necessário um número de telefone habilitado para SMS, você pode encontrar ou comprar um novo para usar aqui.

Configuramos esses valores usando o Dotenv, a biblioteca de configuração escolhida para os aplicativos do Laravel. Mais informações sobre como configurar este aplicativo podem ser encontradas no README do projeto.

Loading Code Sample...
        
        
        .env.example

        Configure the application

        .env.example

        Em seguida, vamos ver como criamos um novo Appointment.

        Vamos criar alguns agendamentos

        Criar um novo agendamento

        Para enviar um lembrete de agendamento, primeiro precisamos criar um agendamento! No controlador, tomamos as informações enviadas em um formulário (especialmente o nome e o número de telefone de um cliente, mais um horário para o agendamento no futuro) e as salvamos em um modelo Appointment.

        Observe que usamos a biblioteca de datas Carbon para facilitar a análise e a realização de operações simples com o tempo.

        Loading Code Sample...
              
              
              app/Http/Controllers/AppointmentController.php

              Criar um novo agendamento

              app/Http/Controllers/AppointmentController.php

              Agora que criamos o Appointment, vamos ver como agendar um lembrete para ele.

              Agendar um trabalho para enviar lembretes

              Agendar um trabalho para enviar lembretes

              A cada dez minuto, gostaríamos que nosso aplicativo verificasse o banco de dados de agendamentos para ver se algum agendamento está chegando, que exige o envio de lembretes. Configuramos o código de trabalho que gostaríamos de executar e o intervalo no qual executá‐lo aqui.

              Loading Code Sample...
                    
                    
                    app/Console/Kernel.php

                    Schedule a job to send reminders

                    app/Console/Kernel.php

                    Com nosso trabalho configurado, estamos prontos para escrever o código de comando do console real que enviará nossos lembretes.

                    Criar um comando de console para executar o trabalho

                    Criar um comando de console para executar o trabalho

                    Para realmente executar nossa lógica de trabalho recorrente, criamos um comando de console para o Artisan que consulta o banco de dados para agendamentos futuros e envia lembretes conforme necessário. Como um bônus adicional, definir nossa lógica de trabalho dessa maneira nos permite executar o trabalho de lembrete sempre que quisermos a partir da linha de comando.

                    Loading Code Sample...
                          
                          
                          app/Console/Commands/SendReminders.php

                          Create a console command to run the job

                          app/Console/Commands/SendReminders.php

                          Vamos aprofundar ainda mais na classe ApplicationReminder

                          Encontrar agendamentos que precisam de lembretes

                          Encontrar agendamentos que precisam de lembretes

                          Nosso trabalho recorrente usa uma instância da classe AppointmentReminder para consultar o banco de dados para agendamentos que chegam nos próximos dez minutos e enviar mensagens de lembrete.

                          No construtor, executamos a consulta do banco de dados usando um escopo personalizado no modelo Appointment. Isso deve nos dar uma lista de todos os agendamentos com uma data e hora que se enquadram nos próximos dez minutos.

                          Loading Code Sample...
                                
                                
                                app/AppointmentReminders/AppointmentReminder.php

                                Encontrar agendamentos que precisam de lembretes

                                app/AppointmentReminders/AppointmentReminder.php

                                Agora, vamos configurar o cliente Twilio REST para enviar algumas mensagens de lembrete de SMS.

                                Primeiro, precisamos de um cliente de API da Twilio

                                Configurar um cliente de API da Twilio

                                Também no construtor AppointmentReminder, criamos um cliente Twilio REST para enviar lembretes via SMS. Inicializamos com as credenciais da conta da Twilio que configuramos anteriormente.

                                Loading Code Sample...
                                      
                                      
                                      app/AppointmentReminders/AppointmentReminder.php

                                      Configurar um cliente de API da Twilio

                                      app/AppointmentReminders/AppointmentReminder.php

                                      Com o cliente e os lembretes em mãos. Tudo o que resta a fazer é enviar um SMS para eles.

                                      Enviar mensagens de lembrete com a API da Twilio

                                      Enviar mensagens de lembrete com a API da Twilio

                                      Essas duas funções privadas são chamadas para cada agendamento que estiver chegando e que exija que um lembrete seja enviado. O primeiro formata o texto da mensagem a ser enviada. O segundo realmente usa o cliente da API REST da Twilio para enviar uma mensagem de texto.

                                      Fornecemos um parâmetro to que é o número de telefone do cliente, um parâmetro from que é um número em nossa conta e um parâmetro body que contém o texto da mensagem.

                                      Loading Code Sample...
                                            
                                            
                                            app/AppointmentReminders/AppointmentReminder.php

                                            Enviar mensagens de lembrete com a API da Twilio

                                            app/AppointmentReminders/AppointmentReminder.php

                                            É isso! Nosso aplicativo Laravel está pronto para enviar lembretes para os próximos agendamentos.

                                            Para onde ir em seguida?

                                            Para onde ir em seguida?

                                            Esperamos que você tenha achado este exemplo de aplicativo útil. Se você for um desenvolvedor do PHP que trabalha com a Twilio, talvez queira conferir outros tutoriais:

                                            Clique para ligar

                                            Coloque um botão em sua página da web que conecta os visitantes ao suporte ao vivo ou à equipe de vendas por telefone.

                                            Autenticação de 2 fatores

                                            Melhore a segurança da funcionalidade de login integrado do Laravel adicionando a autenticação de dois fatores por mensagem de texto.

                                            Isso ajudou?

                                            Obrigado por conferir este tutorial! Se você tiver algum feedback para compartilhar, entre em contato pelo Twitter... adoraríamos ouvir suas ideias e saber o que você está desenvolvendo!

                                            Mario Celi 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