[Mr. Day] Estudo de API para envio de mensagens via WhatsApp
Data: 19/09/22
Autores:
- Primeiro autor (Assessor)
- Segundo autor (Assessor)
- Terceiro autor (Assessor)
Objetivo
O objetivo deste estudo é analisar maneiras de enviar mensagens via WhatsApp, inicialmente para atualizações de status das solicitações dentro do Mr.Day.
Introdução
Dentro deste estudo, apresentaremos a ideia inicial, as soluções propostas, passos para implementação das soluções e os riscos de cada solução em conjunto com as vantagens.
O estudo surgiu, a partir de uma necessidade da Governadoria de informar alguns usuários via mensagem de WhatsApp sobre alterações em status de solicitações dentro do sistema Mr.Day, e para atender essa necessidade, foram encontradas algumas soluções pagas e gratuitas, para esse envio de mensagens via WhatsApp.
Soluções Propostas
Para atingir o objetivo e atender a necessidade da Governadoria, encontramos algumas soluções baseadas em APIs REST para enviar mensagens à usuários do WhatsApp que estão relacionados diretamente às solicitações do Mr.Day.
Solução 1 - Plataforma de Comunicação Zenvia
Essa solução é composta pela utilização da plataforma de comunicação Zenvia, a qual possui uma API REST para envio de mensagens via WhatsApp com numero incluso e cobrança por mensagem enviada conforme figura 1.
Figura 1: Preço e funcionalidades da plataforma Zenvia
Solução 2 - API WhatsApp Business Twillio
Essa solução é composta pela utilização da API REST da Twillio que utiliza a API Business oficial do WhatsApp em back-end, que também é uma solução paga com custo por mensagem conforme figura 2.
Figura 2: Preço e funcionalidades da plataforma Twillio
Solução 3 - API REST OpenSource MyZap
Essa solução é gratuita com código OpenSource, é baseada no WhatsApp Web onde uma aplicação desenvolvida em Node.js, que tem como objetivo utilizar um telefone existente que inicia uma sessão virtual no WhatsApp Web para poder enviar mensagens para as pessoas, não tem restrição de mensagens e é 100% gratuita, conforme figura 3.
Figura 3: Introdução a API REST OpenSource MyZap
Riscos
Após a formulação das soluções, foram analisados os riscos que cada uma possui dentro do contexto onde estão incluídas.
Solução 1: Entendemos como risco nessa solução, o valor à ser pago por mês e também a dependência de um suporte de terceiros.
Solução 2: Entendemos como risco nessa solução, o valor à ser pago por mensagem, a dependência de um suporte de terceiros, a documentação complexa e suporte pago à parte.
Solução 3: Entendemos como risco nessa solução, projeto com muitas dependências, a curva de aprendizado para implementação da API e a necessidade de um celular com o numero estar sempre conectado à internet.
Vantagens
Após a formulação das soluções, além dos riscos, foram também analisadas as vantagens de cada solução.
Solução 1: Console de gerenciamento intuitivo, suporte por e-mail, numero incluso e segurança.
Solução 2: Console de gerenciamento intuitivo, plano de suporte, fácil implementação.
Solução 3: Gratuito, OpenSource, possibilidade de hospedar a API no ambiente da SETIC, suporte próprio.
Conclusão
Através das soluções propostas acima, bem como, toda problemática explanada, identificamos como melhores opções a Solução 3 seguida da Solução 1, pois não foram identificados riscos relevantes dentro do contexto onde as soluções estão inseridas que tornem inviáveis as implementações.
Glossário
API - É um conjunto de definições e protocolos usado no desenvolvimento e na integração de software de aplicações.
REST - É um estilo de arquitetura de software que define um conjunto de restrições a serem usadas para a criação de web services.
Back-End - É o que está por trás das aplicações desenvolvidas na programação, tudo que dá estrutura e apoio às ações.
OpenSource - Software de código aberto é o software de computador com o seu código fonte disponibilizado e licenciado com uma licença de código aberto no qual o direito autoral fornece o direito de estudar, modificar e distribuir o software de graça para qualquer um e para qualquer finalidade.
Node.js - É um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web.
ENVOLVIDOS
- Gabriel Santi Binda
- Raissa de Sousa Stolduski
- Taillon Miguel Gonçalves