Filament Core Communications
Propósito
Atuar como broker de envio de mensagens multicanal inspirado em eventos do ecossistema. Centraliza templates, registra histórico e garante observabilidade para e-mail, SMS e WhatsApp. Segue a mesma filosofia de drivers desacoplados do módulo de Invoices: cada provedor é plugável via contratos.
Componentes-Chave
- Channels (
SMTPChannel,WhatsAppChannel,SMSChannel): implementamNotificationChannelInterfacee encapsulam integrações externas, permitindo múltiplos provedores por canal (ex.: Twilio, Vonage). - Template Engine: mantém assunto e corpo parametrizados (
subject: "Fatura \{\{invoice.number\}\}...") e permite armazenar variações por idioma ou marca. - Dispatcher: assina eventos (InvoiceCreated, PaymentCompleted, PersonCreated) e agenda envios.
Fluxos de Eventos
InvoiceCreated→ envia e-mail e WhatsApp com link do PDF gerado pelo módulo de Invoices.PaymentCompleted→ dispara recibo e atualiza dashboards.PersonCreated→ agenda mensagem de boas-vindas com dados de onboarding.
Observabilidade
- Registre cada envio em storage central para auditoria, incluindo o driver chamado.
- Exponha métricas (sucesso/falha, tempo de envio, taxa por provedor) para dashboards de operações.
Próximos Passos
- Adicionar guias em
docs/communications/integrations.mdcom exemplos de novos canais. - Documentar padrões de Webhook para que parceiros externos possam receber notificações.