Produto
Canais
Cadastro de touchpoints omnichannel: pré-requisitos, conexão, capacidades por tipo, e como o roteamento decide se a Conversa cai num Fluxo, numa Fila ou nos dois.
Atualizado em
O que é um Canal
Um Canal é um touchpoint omnichannel pelo qual a operação fala com o contato — WhatsApp, voz (PSTN), e-mail, SMS, webchat e outros provedores suportados. Cadastrar um Canal significa conectar uma instância concreta de um provedor (ex.: o WhatsApp Business da marca, com credenciais válidas) para que ela possa receber e enviar mensagens em nome do tenant.
Internamente, o produto separa três camadas:
- Tipo (
channel_type): a categoria —whatsapp,voice,email,sms,webchat, etc. - Provedor (
channel_provider): o backend que faz a conexão — Meta Cloud API, Baileys/MyPhone, Gupshup, Zenvia, Mailgun, Twilio, etc. Cada provedor define o schema de credenciais que o formulário de cadastro pede. - Instância (
channel_instance): a configuração concreta — “WhatsApp da Acme Telecom” com as credenciais do Meta Cloud API daquela marca.
Você pode ter N instâncias do mesmo tipo (3 WhatsApps para 3 marcas, por exemplo). Cada instância tem credenciais armazenadas encriptadas (Fernet) e nunca expostas em texto puro na UI ou em logs.
Tipos de canal disponíveis
Dois caminhos principais, com perfis muito diferentes:
WhatsApp Cloud API (oficial Meta)
- Pré-requisitos. Conta Meta Business verificada, número aprovado para WhatsApp Business Platform, App ID e token gerados no Meta for Developers, webhook do Interaflow autorizado no app.
- Como conectar. Cadastre o provedor
whatsapp_meta_cloude preencha os campos docredential_schema(token de acesso, phone_number_id, business_account_id). - Capacidades. Mensagens 1:1, mídia, botões de resposta rápida, lista, templates HSM aprovados pela Meta (obrigatórios para iniciar conversa fora da janela de 24 h). Não suporta gestão nativa de grupos.
WhatsApp MyPhone (via Baileys bridge)
- Pré-requisitos. Número de WhatsApp pessoal/business comum (sem cadastro no Meta Business), o microsserviço Baileys conectado ao Interaflow, capacidade de escanear o QR code.
- Como conectar. Crie a instância do tipo
whatsappcom provedorwhatsapp_myphone. A UI exibe o QR Code gerado pelo bridge para pareamento. Após o scan, a sessão fica persistida e o canal entra em statusactive. - Capacidades. Mensagens 1:1, mídia, gestão de grupos coletivos (cria, adiciona/remove participantes, lê histórico). Não usa templates HSM porque é WhatsApp comum.
Voz (PSTN)
- Pré-requisitos. Trunk SIP cadastrado em Configurações → Telefonia → Troncos ou Rota de Saída configurada. DIDs (números de entrada) e bina (caller ID) reservados na operadora.
- Como conectar. O canal de voz amarra o trunk/rota ao roteamento Interaflow. Para chamadas entrantes (DID inbound), o Canal aponta para Fluxo (URA) ou Fila. Para Campanhas Outbound, a Campanha referencia o trunk ou Rota de Saída diretamente.
- Capacidades. Inbound (DID → Fila/URA), Outbound (preview, progressive, predictive, power, agentless), softphone WebRTC para Atendentes. AMD (detecção de secretária eletrônica) configurável por Campanha. Gravação opcional (desligada, pré-conexão ou pós-conexão).
Webchat
- Pré-requisitos. Domínio onde o widget será embedado. Permissão de CORS para o tenant.
- Como conectar. Cadastre o canal
webchate copie o snippet<script>gerado para o site. O widget abre uma Conversa contra a rota configurada. - Capacidades. Texto, mídia, formulário inicial de identificação, handoff para Atendente humano via Fila.
- Pré-requisitos. Domínio configurado no provedor (Mailgun, SES, SendGrid). Registros SPF, DKIM e DMARC validados.
- Como conectar. Cadastre o provedor (
email_mailgun,email_ses, etc.) e preencha credenciais e domínio remetente. - Capacidades. Recepção de e-mail entrante via webhook do provedor,
envio de respostas, threading básico por
Message-ID.
SMS
- Pré-requisitos. Conta no provedor de SMS (Zenvia, Twilio, Total Voice). Número de origem ou shortcode aprovado pela operadora.
- Como conectar. Cadastre o provedor SMS e preencha API key e número de origem.
- Capacidades. Mensagens unidirecionais ou bidirecionais (depende do provedor e do plano contratado). Útil para notificações e 2FA.
Outros (Telegram, Facebook Messenger, Instagram, RCS, Business Messages)
Aparecem na lista de tipos quando o provedor correspondente está
habilitado para o tenant. Cada um exige cadastro no respectivo provedor e
preenchimento do credential_schema específico.
Status do canal
| Status | Significado |
|---|---|
| pending_setup | Canal recém-criado; credenciais ainda não validadas. |
| active | Canal funcionando — recebe e envia normalmente. |
| inactive | Desabilitado manualmente; não recebe nem envia até religar. |
| error | Falha na conectividade ou credenciais inválidas. Mensagem de erro fica disponível para diagnóstico. |
Roteamento — para onde a Conversa vai
Cada Canal ativo tem uma Rota (channel_route) que decide o destino
das Conversas que chegam. Existem três modos:
| Modo | Comportamento | Uso típico |
|---|---|---|
| flow_only | Toda Conversa cai num Fluxo de IA, sem fila humana padrão. | Atendimento totalmente automatizado, FAQ, 2FA. |
| queue_only | Toda Conversa cai direto numa Fila de Atendentes. | Voz inbound de SAC, webchat com humano sempre. |
| flow_then_queue | Fluxo de IA faz triagem; transfere para Fila quando necessário. | Configuração mais comum em receptivo omnichannel. |
A rota também permite prioridade — múltiplas rotas ativas no mesmo canal são resolvidas pela maior prioridade. Isso suporta cenários como “de dia, IA + fila; à noite, fila direta para o time de plantão” sem trocar de Canal.
Vínculo com Operações
Cada Canal pode estar vinculado a uma ou mais Operações via
channel_operation_bindings — útil quando o mesmo WhatsApp corporativo
atende Suporte e Vendas, por exemplo. O vínculo controla quem vê o canal
no escopo da UI, não muda o roteamento (que continua sendo da rota do
canal).
Lembrando que Campanha é mono-canal (D12): cada Campanha aponta para
exatamente um channel_instance. O vínculo com Operação é independente
disso.
Boas práticas
- Nomeie a instância pelo papel real, não pelo provedor. “WhatsApp Acme Telecom — SAC” envelhece melhor que “Gupshup 1”.
- Valide a rota antes de publicar Campanha. Canal sem rota ativa recebe mensagem mas não roteia para lugar nenhum — Conversa fica pendurada.
- Para WhatsApp Cloud API, cadastre os templates HSM cedo. A aprovação na Meta leva tempo; Campanhas outbound dependem deles.
- Reuse o canal quando faz sentido. Várias Campanhas podem usar a mesma instância — KPIs ficam separados nas Campanhas; o canal apenas transporta.
Erros comuns
- Confundir Canal com tronco SIP. Canal de voz é o “interface omnichannel”; o tronco é a conexão telefônica que o sustenta.
- Esperar grupos no WhatsApp Cloud API. A API oficial não expõe gestão de grupos. Use MyPhone (Baileys) se grupos são requisito.
- Trocar credenciais sem revisar a rota. Mudança de credencial pode
reset de sessão; o canal pode voltar como
pending_setupaté o próximo pareamento (caso MyPhone). - Apagar uma instância de Canal com Campanhas ativas. O
channel_instance_idda Campanha viraNULL(ON DELETE SET NULL); a Campanha para de receber/disparar até receber novo canal.