Pular para o conteúdo
Todos os projetos
AutomaçãoDevOpsIntegrações

Central de Atendimento WhatsApp

Helpdesk de WhatsApp multiatendente para uma prefeitura, 24/7 em um único Windows, sem nuvem.

Tipo
Integração e operação 24/7
Status
Em produção
Ano
2026
Cliente
Prefeitura (atendimento ao cidadão)
Papel
Integração, DevOps e automação de operação
Tela principal do projeto Central de Atendimento WhatsApp

Código-fonte privado. Este estudo de caso apresenta as principais funcionalidades, a interface e a arquitetura em alto nível.

Visão geral

O que é este projeto.

Integração de Chatwoot e Evolution API rodando de forma estável num desktop Windows via WSL2, com autostart, auto-recuperação de rede, classificação por setor e backup diário — dados dos cidadãos permanecem na instituição.

Contexto

Uma prefeitura precisava centralizar o atendimento de WhatsApp de vários setores em um único número, com cinco atendentes e relatórios. Restrições duras: sem VPS, sem nuvem, sem Docker garantido, uma máquina Windows ligada 24 horas e acesso só pela rede local.

Objetivo

Entregar atendimento multiatendente estável, com classificação, macros, relatórios e operação que sobrevive a reboot — sem tirar dados de cidadãos da prefeitura.

O problema

Mensagens espalhadas, sem fila, sem histórico por setor e sem como manter dois softwares de servidor vivos num desktop que reinicia, troca de IP e oscila de rede.

A solução

Stack nativa no WSL2: Chatwoot como interface dos atendentes e Evolution API como ponte com o WhatsApp. Uma camada Windows resolve o que o WSL2 quebra em produção (ociosidade, IP que muda, listener que cai). Automação idempotente instala, integra, provisiona atendentes e faz backup diário incluindo a sessão do WhatsApp.

Funcionalidades

O que o sistema faz.

Do cadastro simples ao que exige regra, transação e recuperação de falha.

  • Atendimento multiatendente em um único número de WhatsApp
  • Fila com pega manual, sem rodízio automático
  • Assinatura do atendente no início de cada mensagem
  • Classificação por setor (etiqueta) e por motivo do contato
  • Macros de encerramento e pesquisa de satisfação
  • Relatório nativo de atendimentos por setor
  • Autostart e auto-recuperação após reboot ou queda de rede
  • Backup diário dos bancos e da sessão do WhatsApp

Interface

As telas do sistema.

Capturas reais do sistema em funcionamento. Clique para ampliar.

Atendimento com classificação

Lista, conversa e painel de ações, macros e informações da conversa na mesma tela.

Fila multiatendente

Etiquetas de setor e abas de pega manual.

Conversa

Atendimento em português, com resposta assinada e encerramento.

Relatório por setor

Visão de gestão a partir das etiquetas de classificação.

Motivo do contato

Atributo de lista provisionado por API para classificar cada atendimento.

Macros operacionais

Encerrar atendimento e pesquisa de satisfação.

Etiquetas de setor

Configuração de negócio alinhada aos setores da instituição.

Agentes

Múltiplos atendentes com papéis distintos.

Caixa de entrada

Inbox do canal de WhatsApp integrado.

Acesso

Cada atendente entra com o próprio login.

Por trás da aplicação

Como isso funciona por dentro.

A parte que o visitante não vê na tela: camadas, autenticação, dados, integração e operação.

Integração WhatsApp

Evolution API com Baileys cria a inbox no Chatwoot. Cada mensagem do cidadão vira uma conversa.

Automação idempotente

Scripts Bash e PowerShell instalam, integram, criam etiquetas, macros, atributo e atendentes.

Resiliência

systemd no Linux, tarefas agendadas no Windows, backup diário e reconexão automática de rede.

Arquitetura

As camadas, de cima para baixo.

Representação em alto nível — sem expor detalhe de infraestrutura.

  1. Cidadão

    WhatsApp

  2. Evolution API

    Baileys, Node.js

  3. Chatwoot

    Rails, fila, relatórios

  4. Atendentes

    Cinco logins na rede local

  5. Camada Windows / WSL2

    Keepalive, encaminhamento, backup

Fluxo

Como o processo acontece.

  1. 01

    Mensagem do cidadão

  2. 02

    Inbox no Chatwoot

  3. 03

    Pega manual pelo atendente

  4. 04

    Classificação

    Setor e motivo

  5. 05

    Encerramento

    Macro e registro para relatório

Stack

Tecnologias utilizadas.

Backend

  • Ruby on Rails
  • Node.js
  • Bash
  • PowerShell

Banco de dados

  • PostgreSQL
  • Redis

Infraestrutura

  • WSL2
  • Ubuntu
  • systemd
  • Windows

Integrações

  • WhatsApp
  • Evolution API
  • Chatwoot
  • Baileys

Destaques técnicos

Decisões que sustentam o sistema.

  • Dois softwares de servidor estáveis 24/7 em Windows, sem Docker e sem VPS
  • Auto-recuperação de rede do WSL2 (portproxy + listener + serviço de ajuda IP)
  • Keepalive da distro para ela não desligar por ociosidade
  • Dois runtimes Node isolados convivendo no mesmo host
  • Provisionamento de negócio idempotente por API e console Rails
  • Backup que preserva a sessão — não é preciso reler o QR Code

Quer algo assim para o seu processo?

Me conte como funciona hoje. Respondo com uma leitura do problema e um caminho possível.