Executando

Desenvolvimento de Backend Mvp para Integração com Whatsapp Oficial (Waba)

Publicado em 01 de Dezembro de 2025 dias na TI e Programação

Sobre este projeto

Aberto

Estamos buscando um desenvolvedor backend para criar um Mínimo Produto Viável (mvp) robusto e estável, focado na integração com a api oficial do whatsapp business (waba). O objetivo principal é permitir que cada loja conecte sua conta WABA, gerencie o envio e recebimento de mensagens, visualize conversas e crie campanhas. Tudo dentro da nossa plataforma, sem precisar sair dela.

O projeto inclui as seguintes funcionalidades essenciais:

1. Objetivo do MVP

Desenvolver um backend completo, funcional e estável em produção para que qualquer loja/empresa consiga:

1. Criar sua conta na plataforma
2. Conectar sua Conta Oficial do WhatsApp (WABA) usando Embedded Signup, pela próprioa plataforma
3. Enviar mensagens oficiais (templates aprovados)
4. Enviar mensagens comuns dentro da janela de 24 horas
5. Receber mensagens via Webhook
6. Visualizar conversas no painel (Inbox básico)
7. Criar e enviar campanhas simples
8. Exibir cálculo estimado do custo das campanhas em tempo real
9. Gerenciar templates aprovados

Este MVP é exclusivamente para o modo “Sou dono de uma loja – Conectar minha empresa ao WhatsApp Oficial”.
O módulo Agência/Multiempresa será contratado em etapa posterior, como extensão desse projeto ( NÃO faz parte deste escopo).

2. Escopo do MVP (Entrega Obrigatória)

2.1 Onboarding – Embedded Signup (Conectar WhatsApp Oficial)
O backend deve:

* Iniciar o fluxo OAuth com Meta (Embedded Signup)
* Receber o code de retorno
* Trocar o code por access_token
* Obter Business id, waba id, phone number id e display name
* salvar tokens e ids de forma criptografada
* registrar automaticamente o webhook via graph api
* validar o webhook por challenge
* retornar ao frontend os dados da conta conectada (status, wabaid, phoneid, número conectado etc.)

3. Envio de Mensagens

3.1 Mensagens comuns (janela de 24 horas)
Endpoint: POST /messages/send
Regras:

* Chamar o endpoint oficial da Meta /{phoneId}/messages
* Registrar no banco status, messageId e timestamps

**3.2 Mensagens oficiais (templates)**
Endpoint: POST /messages/template
Regras:

* Backend deve buscar dados do template
* Enviar via WhatsApp Cloud API
* Registrar evento no banco

4. Recebimento de Mensagens – Webhook

Endpoint: POST /webhooks/meta
O backend deve:

* Validar assinatura x-hub-signature-256
* Salvar o evento bruto
* Processar o evento em fila (BullMQ)
* Registrar mensagens recebidas
* Registrar status (sent, delivered, read)
* Criar ou atualizar conversas no banco

5. Inbox (Simples e funcional)

GET /inbox/conversations
Retorna lista de conversas com número do cliente, último evento e timestamp.

GET /inbox/conversations/{id}
Retorna toda a thread de mensagens.

6. Gestão de Templates

O backend deve permitir:

* Listar templates existentes
* Enviar templates para aprovação
* Atualizar status (draft, approved, rejected)
* Registrar histórico

Endpoint principal: POST /templates/submit

7. Campanhas (MVP simples)

7.1 Criar campanha
Endpoint: POST /campaigns

7.2 Envio da campanha
Responsabilidade do worker:

* Enviar uma mensagem por vez
* Velocidade padrão de 10 msg/s
* Registrar status da campanha

8. Cálculo de Custo da Campanha (Obrigatório)

Endpoint: GET /campaigns/cost?templateId=X&contactCount=Y

Regras:

* Consultar preços da Meta (cache por 24h)
* Converter usd → brl (cache por 6h)

9. Requisitos Técnicos Obrigatórios

* NestJS
* Node 18+
* MySQL (Prisma ou TypeORM)
* Redis
* BullMQ para filas
* Docker
* JWT para autenticação
* Tokens criptografados
* Rate limit básico (mínimo 10 msg/s por número)

10. Critérios de Aceitação do MVP

Conexão WABA

* Embedded Signup funcionando ponta a ponta
* Retorno com wabaId, phoneId, display number
* Webhook registrado e validado
* Loja consegue enviar mensagens reais

Mensagens

* Envia mensagem comum
* Envia mensagem via template
* Recebe mensagens com sucesso
* Recebe status (sent, delivered, read)

Inbox

* Lista conversas com ordenação correta
* Thread completa disponível e estável

Templates

* CRUD básico funcionando
* Envio para aprovação
* Atualização automática de status

Campanhas

* Criação de campanha
* Worker enviando mensagens corretamente
* Histórico e status funcionando

Cálculo de custo

* Funcionando com preços reais da Meta
* Atualização em tempo real no frontend

Segurança

* Validação de assinatura x-hub-signature
* Tokens criptografados
* Envio respeitando rate limit mínimo

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Criar um novo site personalizado

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por F. M.