Mark notification as read
PUT/company/notifications/read/:id
Atualiza o estado de uma notificação para marcá-la como lida, registrando a data e hora atual da leitura.
Objetivo
Permitir que as empresas marquem notificações como lidas para manter um acompanhamento preciso dos alertas pendentes e melhorar a experiência do usuário.
Casos de uso
- Interação do usuário: Quando o usuário clica em uma notificação
- Sincronização multi-dispositivo: Marcar como lida em todos os dispositivos
- Leitura em massa: Marcar múltiplas notificações em lote
- Gestão de notificações: Atualização do estado a partir do painel de notificações
Fluxo de atualização
flowchart TD
A[PUT /read/{id}] --> B{ID Fornecido?}
B -->|Não| C[Verificar Corpo]
B -->|Sim| D[Usar ID do Caminho]
C -->|Encontrado| E[Usar ID do Corpo]
C -->|Não Encontrado| F[Verificar Query]
F -->|Encontrado| G[Usar ID da Query]
F -->|Não Encontrado| H[400 Bad Request]
D --> I{Usuário Autenticado?}
E --> I
G --> I
I -->|Não| J[404 USER_NOT_FOUND]
I -->|Sim| K{Empresa Existe?}
K -->|Não| L[401 CIA_NOT_FOUND]
K -->|Sim| M{Notificação Existe?}
M -->|Não| N[404 NOTIFICATION_NOT_FOUND]
M -->|Sim| O[Atualizar Notificação]
O --> P[Definir isRead: true]
P --> Q[Definir readedAt: agora]
Q --> R[Salvar no Banco de Dados]
R --> S[Retornar Notificação - 200]
Flexibilidade de parâmetros
O ID da notificação pode ser enviado de três formas (em ordem de prioridade):
- Parâmetro de caminho (recomendado): `/company/notifications
Request
Responses
- 200
- 401
- 404
Notificação marcada como lida com sucesso.
Não autorizado. O usuário não tem uma empresa associada.
CIA_NOT_FOUND:
- O usuário autenticado não tem uma empresa atribuída
- A empresa foi desativada ou excluída
Recurso não encontrado. Pode ser por duas razões:
USER_NOT_FOUND:
- O token contém um ID de usuário que não existe
NOTIFICATION_NOT_FOUND:
- O ID fornecido não corresponde a nenhuma notificação
- A notificação foi excluída anteriormente