Estamos buscando um desenvolvedor experiente para trabalhar em nosso sistema de atendimento WhatsApp whitelabel, ZapPro (base Whaticket, v2.2.2). A stack tecnológica inclui
Node.js e TypeScript para o backend (com Sequelize, PostgreSQL e PM2) e React com react-flow para o frontend. Possuímos acesso root ao VPS e o código-fonte completo do sistema.
O projeto será dividido em duas frentes principais, e buscamos um profissional que já tenha familiaridade com a base Whaticket para otimizar o desenvolvimento:
1. Integração Direta com a API Oficial da Meta (Cloud API) - Prioridade
Atualmente, a conexão oficial do WhatsApp depende de um intermediário (Mult100). Nosso objetivo é integrar diretamente com a Cloud API da Meta, eliminando a dependência de terceiros. As tarefas incluem:
- Implementação da lógica para geração e funcionamento do Callback URL/webhook, incluindo o handshake hub.challenge e o recebimento de eventos.
- Desenvolvimento da funcionalidade de envio e recebimento de mensagens (texto, mídia e templates).
- Implementação do rastreamento e atualização dos status de entrega das mensagens.
- Os campos 'Callback URL' e a coluna 'waba_webhook' já existem no sistema, sendo necessário desenvolver a lógica que os preenche e gerencia sem o intermediário.
2. Desenvolvimento de Novos Blocos para o Flow Builder
Precisamos expandir as capacidades do nosso construtor de fluxo com a adição de novos blocos interativos. Isso envolverá trabalho tanto no frontend quanto no backend:
- Frontend: Criação de novos nós e modais para a interface do usuário no construtor de fluxo (utilizando React e react-flow).
- Backend: Implementação da lógica de execução no ActionsWebhookService para cada novo bloco.
Os novos blocos a serem desenvolvidos são:
- Delay Dinâmico: Um bloco que permite configurar um tempo de espera variável ou exibir um status de 'digitando...'.
- Aguardar Resposta com Condicional: Um bloco que pausa o fluxo, aguarda a resposta do cliente e ramifica o fluxo com base no conteúdo da resposta.
- Webhook / HTTP Request: Um bloco que permite chamar uma url externa (http request) e utilizar o retorno dessa requisição no fluxo de atendimento.
Buscamos um profissional com forte conhecimento em
Node.js, TypeScript, React e PostgreSQL, e experiência comprovada em integrações de APIs e desenvolvimento de sistemas complexos.
Prazo de Entrega: Não estabelecido