Ir para o conteúdo principal

[ Mr. Day] Estudo de API para envio de mensagens via WhatsApp

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.

image-1643376366255.png

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.

image-1643376781946.png

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 NodeJS, 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.

image-1643377678170.png

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 e curva de aprendizado para implementação da API.

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.

Superintendente
Delner Freire

Diretor
Maico Moreira da Silva

Gerente de Desenvolvimento
Janderson de Castro Thomaz

Product Owner
Adriano Bonazoni Sol Sol de Oliveira

Scrum Master
Wagner Moreira Melo

Time de Desenvolvimento
Tambaquis

Membros do Time Scrum
Adriano Bonazoni Sol Sol de Oliveira
Gabriel Santi Binda
Taillon Miguel Gonçalves
Raissa de Sousa Stolduski
Wagner Moreira Melo