Descrição detalhada dos requisitos necessários para uma vaga de desenvolvedor:
* Tecnologias e habilidades solicitadas
Experiência em APIs Multicanais
* Conhecimento em APIs de comunicação como WhatsApp Business API ou soluções similares, Instagram Graph API, protocolos de email (SMTP, IMAP, APIs como SendGrid/Mailgun) e WebSockets ou polling para Webchat.
* Experiência em configuração, produção e consumo de filas no RabbitMQ.
* Conhecimento em troca de mensagens (exchanges, queues, bindings) e serialização de mensagens (JSON, Protocol Buffers).
Backend e Frameworks
* Dominio em Node.js (Express/NestJS) ou Golang e criação de APIs RESTful.
* Autenticação (JWT, OAuth2) e segurança (rate limiting).
Integração com Ferramentas de Automação
* Typebot: API pública ou webhooks para trigger de fluxos.
* n8n: Criação de workflows automatizados via requests.
* Ferramentas de IA (por exemplo, OpenAI GPT, LangChain, RAG).
Banco de Dados
* Modelagem de dados para registro de mensagens (PostgreSQL).
* Otimização de queries para histórico de conversas.
DevOps e Cloud
* Docker e orquestração (Proxmox é um plus).
* Deploy em cloud privada servidores LINUX.
* Monitoramento (Prometheus, Grafana).
Diferenciais (Nice to Have)
* Experiência com provedores de terceiros como Meta (WhatsApp/Instagram) APIs empresariais, Zenvia, Gupshup ou outros gateways de comunicação.
* Conhecimento em LLMs (por exemplo, fine-tuning de modelos para respostas automatizadas).
* Frontend básico (React/Vue) para possível dashboard de logs.
* Testes automatizados (Jest, Postman/Newman).
Soft Skills e Processos
* Metodologias Ágeis: Scrum/Kanban.
* Versionamento: Git (GitFlow).
* Documentação: Swagger/OpenAPI, diagramas de arquitetura.
* Colaboração: Trabalho com squads multidisciplinares.
Responsabilidades do Cargo
* Desenvolver e manter a API de comunicação centralizada.
* Garantir a escalabilidade e baixa latência das filas (RabbitMQ).
* Implementar webhooks para integração com Typebot/n8n.
* Criar endpoints para processamento de IA (por exemplo, análise de sentimentos).
* Monitorar e resolver problemas nas integrações.
Nível de Senioridade
* Pleno/Sênior (dada a complexidade das integrações e necessidade de tomada de decisões arquiteturais).
],