Fluxo
Etapas
| Etapa | Ator | Momento | Efeito |
|---|---|---|---|
| Decisão | Fluxo de negócio | Quando uma mudança precisa aparecer no produto | Define tipo, audiência, prioridade e recurso relacionado. |
| Criação | Sistema | Após a decisão | Cria Notification com título, corpo, contexto e payload não sensível. |
| Distribuição | Sistema | Depois de criar Notification | Cria NotificationRecipient para cada usuário destinatário. |
| Entrega | Sistema realtime ou inbox | Quando a notificação chega ao usuário | Preenche deliveredAt quando aplicável. |
| Leitura | Usuário destinatário | Quando abre ou marca como lida | Preenche readAt e muda o recipient para READ. |
| Arquivamento | Usuário destinatário | Quando decide remover da visão ativa | Preenche archivedAt e muda o recipient para ARCHIVED. |
| Expiração/cancelamento | Sistema ou rotina | Quando a notificação não deve mais ser ativa | Impede 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,resourceeresourceId. payloaddeve conter apenas dados necessários para renderização ou roteamento.OPScobre Company e Cooperative; não existe audiênciaCOOPERATIVE.- Notificação cancelada não deve criar novos recipients.
- Notificação expirada não deve aparecer como ativa.
Tipos iniciais
| Grupo | Exemplos |
|---|---|
| Support | Chamado criado, nova mensagem, atribuição ou mudança de status. |
| Operations | Rota aguardando aprovação, rota aprovada/rejeitada, status de viagem ou evento operacional. |
| Sales/Billing | Order confirmado/cancelado, pagamento confirmado/falho, ticket cancelado. |
| Benefits | Solicitação de benefício aprovada ou rejeitada. |
| Export | Exportação concluída ou falhou. |