Evolution API is a production-grade, multi-tenant WhatsApp API gateway built with Node.js, TypeScript, and Express. It manages independent WhatsApp instances via Baileys (WhatsApp Web), Meta Business API, and its own Evolution API channel, providing REST endpoints for messaging, chat management, groups, labels, and media. The system integrates deeply with chatbot platforms (Typebot, OpenAI, Dify, Flowise, N8N, EvoAI, EvolutionBot) and event systems (Webhook, WebSocket, RabbitMQ, SQS, NATS, Kafka, Pusher), and includes storage via S3/MinIO and CRM sync with Chatwoot. The architecture follows a modular controller-service pattern with Prisma ORM (supporting MySQL and PostgreSQL), Redis caching, and centralized configuration. It is actively maintained with frequent updates, extensive migrations, and CI/CD pipelines.
This is a WhatsApp messaging API built with Node.js, TypeScript, and Express. The system provides REST endpoints for user authentication, WhatsApp number registration (via QR code), message sending (with scheduling and media support), and user/token management. Architecture follows a layered approach: API controllers delegate to service classes, which use TypeORM repositories for data access. A separate worker process continuously polls the database for pending messages and sends them via WhatsApp using a sophisticated custom client manager that handles multiple WhatsApp sessions, QR code authentication, session persistence, and connection recovery. The WhatsApp client implementation (src/whatsapp/client/index.ts) demonstrates significant skill in managing the complexities of the whatsapp-web.js library, including proper resource cleanup, timeout handling, and state management across multiple concurrent connections.