--- name: Mensagens Agendadas - selecao Principal vs Financeiro (2026-04-28) description: Feature seletor de sessao Baileys nas msgs agendadas + correcao CRLF que causava espacos no WhatsApp + bug controller duplicado (CronMensagensAgendadas separado) type: project originSessionId: c29fe5ff-5a6f-4d05-96d1-a0b01022fdfb --- # Mensagens Agendadas - Selecao de Sessao WhatsApp Adicionado seletor "GotechBr Principal" (31 3500-3516) vs "GotechBr Financeiro" (31 8493-2799) nas mensagens agendadas em `/mensagens-agendadas`. ## DB Coluna `whatsapp_sessao` ENUM('principal','financeiro') NOT NULL DEFAULT 'financeiro' em `mensagens_agendadas` (depois de `telefone`). Default preserva comportamento legado. ## Pegadinha — DOIS controllers - `MensagensAgendadas::enviarMensagemWhatsApp()` → botao "Enviar agora" - `CronMensagensAgendadas::processar()` → CRON automatico (rota `cron/mensagens-agendadas/processar`) **SEMPRE atualizar OS DOIS** quando mexer na logica de envio. Esqueci do segundo no 1º deploy → 3 mensagens marcadas Principal sairam via Financeiro entre 17:45-17:50. ## Resolucao de sessao (preserva env override) ```php $sessionName = ($tipoSessao === 'financeiro') ? $sessionModel->resolveKey('financeiro', 'COBRANCA_WHATSAPP_SESSION') : $sessionModel->getInstanceKeyByTipo($tipoSessao); ``` Financeiro mantem fallback env (`.env` tem `COBRANCA_WHATSAPP_SESSION` setado). Principal vai direto pro DB. ## CRLF do textarea -> espaco enorme no WhatsApp Textarea HTML envia `\r\n`. WhatsApp renderiza `\r\n\r\n` como ~4 linhas em branco. - Fix no `save()`: `str_replace(["\r\n", "\r"], "\n", $request->getPost('mensagem'))` - UPDATE one-shot pra normalizar 17 mensagens existentes (REPLACE CHAR(13,10) -> CHAR(10)) **Auditar outras features WhatsApp pra mesmo bug**: cobranca, propostas, demandas, social. (TODO) ## Detalhes em Obsidian [mensagens-agendadas-selecao-sessao-2026-04-28.md](D:/xampp/htdocs/mente-claude/Mente do Claude/Projetos/Intranet-GoTechBR/memorias/mensagens-agendadas-selecao-sessao-2026-04-28.md)