Visão Geral
O Leavo suporta multi-canal e multi-agente, permitindo que um mesmo lead se comunique por diferentes canais (WhatsApp, Telegram, Email) com assistentes de IA diferentes em cada um.
Lead Channels
Cada lead pode ter múltiplas associações com canais. Cada associação (LeadChannel) rastreia:
{
"id": "uuid",
"lead_id": "uuid",
"channel_id": "uuid",
"assistant_id": "uuid",
"channel_name": "WhatsApp Business",
"channel_type": "whatsapp",
"department_id": "uuid",
"assigned_user_id": "uuid",
"is_primary": true,
"message_count": 42,
"last_used_at": "2024-01-15T10:00:00Z"
}
Como funciona
Lead "João Silva"
├── WhatsApp Business (Canal 1)
│ └── Assistente A (Vendas)
│
├── WhatsApp Suporte (Canal 2)
│ └── Assistente B (Suporte)
│
└── Telegram (Canal 3)
└── Assistente C (Geral)
- Cada canal tem seu próprio assistente de IA
- Cada canal pode pertencer a um departamento diferente
- Contadores de mensagens e último uso são rastreados por canal
- Um canal pode ser marcado como primário (
is_primary)
Canais Suportados
| Tipo | Providers |
|---|
whatsapp | Z-API, Evolution API, Gupshup (Meta) |
telegram | Bot API |
email | SMTP/IMAP |
sms | Diversos |
Tipos de Provider WhatsApp
| Provider | Tipo | Descrição |
|---|
| Z-API | z-api | API não-oficial (Baileys) |
| Evolution API | evolution-api | API não-oficial |
| Gupshup | gupshup | API oficial Meta (WhatsApp Business) |
Canais Gupshup (Meta) suportam templates oficiais e são necessários para enviar mensagens após a janela de 24 horas.
Atendentes Humanos
Quando um operador envia uma mensagem manualmente, ele é registrado como atendente do lead naquele canal:
GET /backend/leads/{id}/attendants
Resposta:
[
{
"user_id": "uuid",
"user_name": "Maria Santos",
"channel_name": "WhatsApp Business",
"channel_type": "whatsapp",
"assistant_name": "Assistente Vendas",
"department_name": "Vendas",
"last_message_at": "2024-01-15T10:00:00Z",
"message_count": 15
}
]
Agências
O Leavo suporta uma hierarquia de organizações:
| Tipo | Descrição |
|---|
Agência (agency) | Organização principal que gerencia múltiplos clientes |
Cliente (client) | Organização vinculada a uma agência (parent_tenant_id) |
Agências podem criar e gerenciar seus clientes, cada um com seus próprios leads, canais e assistentes.