Com mais de 6 pontos de acompanhamento espalhados pelo mundo, o Updown.io é um sistema de monitoramento de sites em tempo real.
Através de uma interface simples e agradável, é possível monitorar múltiplos sites , com intervalos de tempo entre 15 segundos e 1 hora, selecionar até 8 localizações, com tempo mínimo de resposta entre 0.125 e 2.0 segundos e “callbacks” (SMS, Telegram, Slack, StatusPage, Zapier) para ser informado em caso de queda ou restauração do serviço.
Desenvolvi a estratégia para um amigo, que gostaria de receber alertas no WhatsApp em tempo real, quando algum site ou sistema fica-se fora do ar, decidimos tornar o código fonte público.
Requerimentos
- Wppconnect Server
- PHP 7.4
O Wppconnect Server é uma lib não oficial do WhatsApp para envio e recebimento de mensagens. para receber a notificação em seu WhatsApp é necessário ter configurado o Wppconnect server.
Neste tutorial, aprenderemos a configurar o Updown Notify WhatsApp
Updown Notify Whatsapp
Clone o projeto e acesse o diretório
git clone https://github.com/leonardop21/updown-notify-whatsapp && cd updown-notify-whatsapp
Instale as dependências (Necessário ter o composer configurado na máquina)
composer install
Configurando o projeto
No arquivo /public/callback
configure um chave pública, ex: Afwe14we555d1230we23sdx
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/key-1024x354.png)
No arquivo /services/WppInfo
na função __construct()
preencha os dados gerados no Wppconnect-server, para receber notificações no WhatsApp
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/wpp-info-1024x430.png)
Apontando para a pasta public
Configure seu servidor http, para ler a partir da pasta public.
Agora, no sistema do Updown.io
No Updown.io insira a sua url de callback junto com a key que definiu, ex: https://meusite.com.br/callback?key=Afwe14we555d1230we23sdx
O Updown Notify Whatsapp aceita apenas requisições post com a key configurada no passo anterior, do contrário, uma página 404 será exibida.
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/webhook.png)
Testando a aplicação
Criei um subdomínio de teste e inseri no updown.io.
No momento em que o site ficou fora do ar, recebi um aviso no WhatsApp, quando voltou ao normal, recebi outro aviso, conforme demonstra as imagens abaixo.
Updown detectou site fora do ar
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/site-fora-1024x352.png)
Callback Updown
O Updown enviou um callback ao sistema, que por sua vez acionou o Wppconnect-Server enviando uma mensagem para o número configurado no services/WppInfo
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/Whats-Fora-493x1024.png)
Site funcionando normalmente
Updown detectou que o site voltou a funcionar
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/site-ok-1-1024x311.png)
Callback Updown
O Updown enviou um callback ao sistema, que por sua vez acionou o Wppconnect-Server enviando uma mensagem para o número configurado no services/WppInfo
![](https://leonardonascimento.dev/wp-content/uploads/2022/03/whats-ok-491x1024.png)
Links úteis