Como usar o Google Sheets como um banco de dados para seu app PHP
Tempo de leitura: 4 minutos
Introdução
Há doze anos, o Google teve, na minha opinião, a ideia ambiciosa de lançar um produto que estaria em concorrência direta com o Excel. Desde então, o Google Sheets ganhou popularidade e tornou-se muito mais do que apenas uma planilha. Por ser um aplicativo on-line, é muito mais fácil integrá-lo às suas diferentes ferramentas on-line. Neste tutorial, testaremos a flexibilidade do Sheets buscando dados da API do Order Desk, atualizando uma planilha do Google e enviando uma confirmação da Twilio via SMS. Usaremos o Order Desk para simular um sistema de atendimento de uma loja virtual, que faz o backup de seus dados em uma planilha do Google.
Requisitos do tutorial
Para este tutorial, você precisará do seguinte:
- Um ambiente de desenvolvimento de PHP
- Uma instalação global do Composer
- Uma conta da Twilio
- Uma conta do Google
- Uma conta do Order Desk
Configuração do ambiente de desenvolvimento
Para começar, vamos criar um diretório de projetos e um arquivo .env
dentro dele.
Instalar dependências
Para este projeto, precisamos de três dependências:
- PHP Dotenv, que nos possibilita carregar variáveis de ambiente do arquivo .env.
- Biblioteca do cliente de API do Google para PHP, que nos permite trabalhar com as APIs do Google. Neste tutorial, usaremos a API do Sheets.
- SDK para PHP da Twilio, que possibilita a interação com a API da Twilio.
No terminal, dentro do diretório de projetos, execute o comando:
A próxima etapa é criar um arquivo .env
e copiar estas variáveis nele:
Vamos trabalhar etapa por etapa para obter os valores das variáveis acima.
Credenciais do Order Desk
Caso não tenha uma conta do Order Desk, crie uma. No menu do dashboard, em Settings (Configurações), clique em Store Settings (Configurações da loja). A guia API está localizada na extremidade direita do menu Store Settings (Configurações da loja). Clique nela. Em seguida, crie sua API key (chave de API). Copie a store ID (ID da loja) e a API key (chave de API) no arquivo .env.
Credenciais da Twilio
Em sua conta da Twilio, crie um projeto em "Programmable SMS" (SMS programável). Após configurar o projeto, copie o Account SID (SID da conta) e o Auth Token (Token de autenticação), localizados à direita. Para obter seu número de telefone, navegue até Phone Numbers (Números de telefone). Copie-o e cole no arquivo .env.
Credenciais do Google
Em seguida, precisamos criar um projeto do Google e ativar a API do Google Sheets. Temos interações entre servidores em nosso projeto, portanto, precisamos de uma conta de serviço para usar o OAuth 2.0. Para obter mais informações, leia a documentação.
No dashboard do projeto, à esquerda, clique no menu de hambúrguer. Navegue até IAM & admin (IAM e administrador) -> Service Accounts (Contas de serviço).
Em seguida, clique em "Create Service Account" (Criar conta de serviço). Na primeira etapa, insira o Service Account (nome da conta de serviço). Nomeei a minha como twilio-sheets (Planilhas da Twilio). Insira os detalhes obrigatórios. Você pode ignorar as solicitações opcionais. Na terceira etapa, clique em "Create Key" (Criar chave).. Por padrão, a chave será criada como um arquivo JSON e baixada no computador. Copie esse arquivo no diretório raiz do projeto e renomeie-o como credentials.json
.
Nota: esse é um arquivo confidencial e não deve ser enviado a um repositório público.
Após clicar em Done (Concluído), copie a Key ID (ID da chave) na variável GOOGLE_SERVICE_KEY
no arquivo .env. Da mesma forma, copie o e-mail e salve-o como o valor da variável GOOGLE_SERVICE_ACCOUNT_NAME
. Em seguida, vamos navegar até Credentials (Credenciais). Clique em "Create Credentials" (Criar credenciais) e crie uma API key (chave de API). Assim que o fizer, copie-a e cole como um valor da variável GOOGLE_API_KEY
.
Por fim, no Google Drive, crie uma planilha do Google e nomeie-a. Nomeei a minha como "Order Desk Data" (Dados do Order Desk). No canto superior direito da planilha, clique em Compartilhar e altere a permissão para "qualquer pessoa com o link pode editar". A URL deve ter a seguinte aparência:
A seção 1Io5ko9zaOm7nnEKVpz84NLdFdrtdVnr9TQFRrGVEuvM é nossa ID da planilha. Copie sua ID e salve-a no arquivo .env. Neste ponto, todas as variáveis de ambiente devem ser preenchidas.
Na primeira linha, adicione os seguintes cabeçalhos nas seis primeiras colunas:
- First Name (Nome)
- Last Name (Sobrenome)
- Email (E-mail)
- Shipping Method (Método de envio)
- Payment Type (Tipo de pagamento)
- Order Total (Total do pedido)
Estas são as colunas que atualizaremos usando nosso código.
O código
Cliente de API do Order Desk
O Order Desk fornece um cliente auxiliar para o desenvolvimento de PHP disponível no Github. Vamos criar um arquivo chamado OrderDeskClient.php
e copiar o seguinte código nele:
Cliente do Google Sheets
Usando a API spreadsheets.values.update, podemos criar um cliente do Google Sheets. Crie um arquivo, nomeie-o como GoogleSheetsClient.php
e copie o seguinte código:
No construtor, primeiro autenticamos usando as credenciais que recebemos anteriormente do Google. O método updateSheet
tem a lógica que atualiza a planilha com base nos parâmetros estabelecidos para ela.
Classe de pedido
Até aqui, criamos clientes que facilitam o uso do Order Desk e do Google Sheets. Agora, precisamos criar uma classe que injete os clientes, busque dados do Order Desk, atualize o Google Sheet e envie um Twilio SMS.
Crie um arquivo chamado Order.php
e copie o seguinte código:
Atualize o código acima com um número para o qual deseja enviar mensagens SMS. As mensagens SMS só poderão ser enviadas para uma conta verificada se você estiver usando uma conta de avaliação.
Colocar tudo para funcionar
É necessário vincular os arquivos que criamos para que eles funcionem. Vamos criar um arquivo chamado index.php
e copiar o seguinte código nele:
Quando iniciamos nosso aplicativo, esse arquivo cria objetos e chama a função getOrders() na classe de Order.
Nota: é importante mencionar que esse formato é ideal apenas para um aplicativo pequeno. À medida que um aplicativo cresce, mais objetos precisam ser criados em sua inicialização e isso pode afetar seu desempenho. É possível solucionar isso obtendo um aplicativo de injeção de dependência, que lê um arquivo XML. Os objetos seriam serializados e gravados em um arquivo. O arquivo index.php simplesmente leria esse arquivo e criaria os objetos diretamente.
Testar o aplicativo
Antes de testar o aplicativo, precisamos criar um pedido no Order Desk. No dashboard, crie um pedido e salve.
No diretório de projetos, execute o comando:
Agora, sua planilha será atualizada e você receberá um SMS confirmando a atualização bem-sucedida.
Conclusão
Parabéns! Você atualizou com sucesso uma planilha do Google com dados da API do Order Desk e enviou um SMS de confirmação usando a plataforma da Twilio. É possível tornar esse aplicativo ainda melhor, configurando um cron job para verificar pedidos em determinados intervalos.
Estou ansioso para saber mais sobre o aplicativo incrível que você criou. Encontre o código completo no Github.
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.