Skip to content

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): implementam NotificationChannelInterface e 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.md com exemplos de novos canais.
  • Documentar padrões de Webhook para que parceiros externos possam receber notificações.

Leitura Complementar

Documentação privada do ecossistema Filament Core.