Criar uma conversa por SMS em PHP
Como transformar algumas mensagens isoladas de e para a mesma parte em uma conversa verdadeira? É necessária alguma forma de lembrar do estado entre cada mensagem que é trocada. Isso ocorre porque o SMS é um protocolo sem estado. A criação de aplicativos da Web tradicionais tem esse mesmo obstáculo, pois o HTTP também é um protocolo sem estado. Esse problema foi resolvido para aplicativos da Web por meio do uso de cookies HTTP e, em vez de reinventar a roda, a API do Twilio Messaging usa a mesma solução.
Este guia mostrará como o Programmable SMS facilita isso para você e para o aplicativo em PHP. Os fragmentos de código neste guia foram elaborados usando a linguagem PHP versão 5.3 ou superior, e usam o SDK PHP da Twilio.
Se você ainda não elaborou os próprios webhooks de SMS com PHP antes, primeiro confira nosso guia Receber e responder a mensagens SMS e MMS em PHP. Pronto para começar? Vamos começar!
Usar cookies HTTP com webhooks
O que é um cookie?
Assim como em aplicativos da Web, um cookie é um pequeno arquivo que o aplicativo pode armazenar nos servidores Twilio para manter o controle das informações, como um nome de usuário ou uma conta. Para o Twilio SMS, os cookies são colocados no escopo da "conversation" entre duas partes. Você pode ter um cookie exclusivo para cada par de números de telefone To/From. Por exemplo, você pode armazenar um cookie exclusivo para qualquer mensagem enviada entre 415-555-2222 e 415-555-1111, que será diferente do cookie usado entre 415-555-3333 e 415-555-1111.
Por que cookies?
Em apps da Web, você escreve um cookie para manter o "statefulness" entre solicitações separadas do mesmo navegador. Da mesma forma, as mensagens SMS são comunicações independentes entre duas partes, de modo que a Twilio permite que você as associe como uma sessão lógica por meio de cookies. Isso significa que você pode usar sessões do lado do servidor para controlar o estado do aplicativo entre as solicitações. Isso é muito legal, não? A Twilio expirará os cookies dessa conversa após quatro horas de inatividade, como se o usuário tivesse "fechado o navegador".
Armazenar dados da conversa
Os cookies permitem que você compartilhe o estado de várias mensagens, possibilitando que você trate mensagens separadas como uma conversa e armazene dados sobre ela nos cookies para referência futura.
Você pode armazenar os dados diretamente em um cookie ou usar uma estrutura de gerenciamento de estado de sessão.
Monitore conversas por SMS usando uma sessão
Vamos tentar usar os contadores de sessão para ver se um usuário específico mandou uma mensagem para nós antes. Se ele for um novo remetente, nós o agradeceremos pela nova mensagem. Se ele nos enviou mensagens antes, especificaremos quantas mensagens recebemos dele.
É bem fácil, não é? Se você estiver procurando um exemplo mais complexo de usar cookies para acompanhar uma conversa, consulte nosso tutorial de diretório de colaboradores.
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.