How clairton/unoapi-cloud works
Unoapi Cloud exposes a WhatsApp Cloud API-compatible REST service backed primarily by Baileys. A client submits API requests; controllers delegate message operations through the incoming/client layer to a WhatsApp session, while received events are normalized and delivered through the outgoing webhook layer. Session setup, media, templates, contacts, registration, and bulk/message-related jobs are additional product capabilities. The entry point’s concrete wiring and sampled controllers establish the main connections; unsampled routes and job dispatch details are represented only where their paths and roles are evident.
Main entry points: router.ts Route Dispatch · client_baileys.ts Baileys Client · session_controller.ts Session API · listener_baileys.ts Event Listener
Components 25
REST API
- HTTP App
src/app.ts - Route Dispatch
src/router.ts - Message API
src/controllers/messages_controller.ts - Media API
src/controllers/media_controller.ts - Template API
src/controllers/templates_controller.ts - Contact API
src/controllers/contacts_controller.ts - Registration API
src/controllers/registration_controller.ts - Session API
src/controllers/session_controller.ts
Messaging Runtime
- Incoming Service
src/services/incoming_baileys.ts - Baileys Client
src/services/client_baileys.ts - Forward Client
src/services/client_forward.ts - Event Listener
src/services/listener_baileys.ts - Message Jobs
src/jobs/incoming.ts - WhatsApp Adapter
src/services/socket.ts
Session and State
- Configuration
src/services/config_by_env.ts - Session Store
src/services/session_store_file.ts - Data Store
src/services/data_store.ts - Media Store
src/services/media_store.ts
Delivery and Integrations
- Cloud API Output
src/services/outgoing_cloud_api.ts - Webhook Receiver
src/controllers/webhook_controller.ts - Socket Broadcast
src/services/broadcast.ts - Bulk Processing
src/bulker.ts
Other components
- API Client
- Webhook Target
Connections 31
- API Client → HTTP App: HTTP requests
- HTTP App → Route Dispatch: mounts routes
- Route Dispatch → Message API: dispatches
- Route Dispatch → Media API: dispatches
- Route Dispatch → Template API: dispatches
- Route Dispatch → Contact API: dispatches
- Route Dispatch → Registration API: dispatches
- Route Dispatch → Session API: dispatches
- Message API → Incoming Service: sends request
- Incoming Service → Baileys Client: selects client
- Incoming Service → Forward Client: selects client
- Baileys Client → WhatsApp Adapter: calls adapter
- WhatsApp Adapter → WhatsApp: session messaging
- WhatsApp → WhatsApp Adapter: session events
- Baileys Client → Event Listener: emits events
- Event Listener → Cloud API Output: sends webhooks
- Cloud API Output → Webhook Target: POST events
- Webhook Receiver → Incoming Service: forwards payload
- Session API → Configuration: loads config
- Session API → Session Store: reads status
- Session API → WhatsApp Adapter: starts connection
- Baileys Client → Configuration: loads config
- Baileys Client → Session Store: tracks status
- Event Listener → Data Store: stores message state
- Media API → Media Store: retrieves media
- Template API → Data Store: loads templates
- Contact API → Baileys Client: contact operation
- Registration API → Session Store: updates session
- Event Listener → Socket Broadcast: broadcasts events
- Bulk Processing → Cloud API Output: delivers payload
- Message API → Cloud API Output: reports errors