Skip to main content
Notification representa o conteúdo compartilhado. NotificationRecipient representa o estado individual de cada usuário que recebeu a notificação.

Fluxo

Etapas

EtapaAtorMomentoEfeito
DecisãoFluxo de negócioQuando uma mudança precisa aparecer no produtoDefine tipo, audiência, prioridade e recurso relacionado.
CriaçãoSistemaApós a decisãoCria Notification com título, corpo, contexto e payload não sensível.
DistribuiçãoSistemaDepois de criar NotificationCria NotificationRecipient para cada usuário destinatário.
EntregaSistema realtime ou inboxQuando a notificação chega ao usuárioPreenche deliveredAt quando aplicável.
LeituraUsuário destinatárioQuando abre ou marca como lidaPreenche readAt e muda o recipient para READ.
ArquivamentoUsuário destinatárioQuando decide remover da visão ativaPreenche archivedAt e muda o recipient para ARCHIVED.
Expiração/cancelamentoSistema ou rotinaQuando a notificação não deve mais ser ativaImpede novas entregas.

Regras

  • O estado de leitura é sempre por usuário.
  • O mesmo usuário não deve ter dois recipients para a mesma Notification.
  • O front resolve a navegação pelo type, resourceDomain, resource e resourceId.
  • payload deve conter apenas dados necessários para renderização ou roteamento.
  • OPS cobre Company e Cooperative; não existe audiência COOPERATIVE.
  • Notificação cancelada não deve criar novos recipients.
  • Notificação expirada não deve aparecer como ativa.

Tipos iniciais

GrupoExemplos
SupportChamado criado, nova mensagem, atribuição ou mudança de status.
OperationsRota aguardando aprovação, rota aprovada/rejeitada, status de viagem ou evento operacional.
Sales/BillingOrder confirmado/cancelado, pagamento confirmado/falho, ticket cancelado.
BenefitsSolicitação de benefício aprovada ou rejeitada.
ExportExportação concluída ou falhou.
Veja a modelagem em Notification.