Estamos buscando um profissional experiente para auditar e corrigir inconsistências críticas em nosso sistema de cobrança, que integra Bling (pedidos e contas a receber), Asaas (cobranças) e WhatsApp (Clickmassa). Atualmente, a sincronização entre esses sistemas apresenta falhas significativas que impactam a produção e a experiência do cliente. Os problemas incluem cobranças indevidas para clientes já pagos, parcelas ausentes no Asaas, divergências de status e vencimentos, e dados duplicados (como telefones).
O objetivo principal é revisar o fluxo de integração e implementar soluções definitivas com foco em consistência e idempotência.
Stack Tecnológica Atual:
-
Node.js (Express)
- PostgreSQL
- Webhooks (Bling + Asaas)
Escopo do Projeto:
1) Auditoria Completa do Fluxo:
- Analisar o fluxo desde o webhook do Bling (pedido, cliente, parcelas) até a criação de cobranças no Asaas.
- Investigar o fluxo do webhook do Asaas (atualização de status) até a baixa no Bling.
- Identificar pontos de falha, como duplicidade de dados, problemas de retry e condições de corrida (race conditions).
2) Definição da Fonte de Verdade:
- Estabelecer o Bling (contas a receber/recebimentos) como a fonte primária de verdade para o status de pagamento.
- Implementar lógica para que, se um pagamento for registrado no Bling, a cobrança seja marcada como paga localmente e não seja criada (ou seja cancelada) no Asaas.
3) Implementação de Idempotência:
- Desenvolver fluxos seguros que suportem retries e o recebimento de webhooks duplicados sem gerar inconsistências.
- Garantir que não ocorram cobranças duplicadas para o mesmo cliente ou parcela.
4) Script de Reconciliação:
- Criar um script ou ferramenta CLI para:
- Realizar um 'dry-run' para diagnosticar e identificar inconsistências existentes.
- Executar correções em massa para alinhar os dados entre os sistemas.
5) Melhoria de Logs e Testes:
- Aprimorar a rastreabilidade dos processos e operações do sistema.
- Ajustar e expandir os testes existentes (utilizando Jest) para cobrir os novos fluxos e garantir a robustez das correções.
Entregáveis:
- Código funcional e otimizado para o sistema de integração.
- Script de reconciliação com funcionalidades de diagnóstico e correção.
- Documentação concisa do fluxo de integração e operação do sistema.
- Conjunto de testes unitários e de integração passando, garantindo a estabilidade do sistema.
Requisitos Essenciais:
- Forte domínio em
Node.js e PostgreSQL.
- Experiência comprovada com webhooks e desenvolvimento de integrações de sistemas críticos.
- Diferencial: Conhecimento e experiência prévia com Bling e/ou Asaas.
Para se candidatar, por favor, detalhe sua abordagem para resolver os problemas apresentados, sua experiência em projetos similares e sua proposta de prazo e custo. Forneceremos acesso ao repositório de código, logs e casos reais para facilitar a análise.
Prazo de Entrega: Não estabelecido