> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# NotificationRecipient

> Estado individual de uma notificação para um usuário destinatário

`NotificationRecipient` representa a entrega e o estado individual de uma [Notification](/data-modelling/communication/notification) para um usuário. Ele permite controlar leitura, arquivamento e remoção por destinatário.

## Campos

| Campo                     | Tipo                          | Descrição                                              |
| ------------------------- | ----------------------------- | ------------------------------------------------------ |
| `notificationRecipientId` | `UUID`                        | Identificador único                                    |
| `notificationId`          | `UUID`                        | Notificação recebida                                   |
| `recipientUserId`         | `UUID`                        | Usuário destinatário                                   |
| `deliveredAt`             | `DateTime?`                   | Data em que foi entregue via realtime ou inbox         |
| `readAt`                  | `DateTime?`                   | Data em que foi marcada como lida                      |
| `archivedAt`              | `DateTime?`                   | Data em que foi arquivada                              |
| `status`                  | `NotificationRecipientStatus` | Estado da notificação para o destinatário              |
| `createdBy`               | `UUID?`                       | Usuário que criou o registro, quando aplicável         |
| `createdAt`               | `DateTime`                    | Data de criação                                        |
| `updatedBy`               | `UUID?`                       | Usuário que fez a última atualização, quando aplicável |
| `updatedAt`               | `DateTime`                    | Data da última atualização                             |
| `deletedBy`               | `UUID?`                       | Usuário que removeu o registro, quando aplicável       |
| `deletedAt`               | `DateTime?`                   | Data de remoção lógica                                 |

## Relacionamentos

* Relaciona-se com [Notification](/data-modelling/communication/notification).
* Relaciona-se com [User](/data-modelling/identity/user) por `recipientUserId`.

## Regras de negócio

* O par `notificationId` + `recipientUserId` deve ser único.
* `NotificationRecipient` guarda o estado por usuário; a mesma Notification pode ter múltiplos recipients.
* `UNREAD` é o estado inicial.
* `READ` deve preencher `readAt`.
* `ARCHIVED` deve preencher `archivedAt`.
* `deliveredAt` representa entrega in-app ou realtime; envio externo por email/WhatsApp não é controlado por esta entidade.
* Remoção lógica afeta apenas a visualização do destinatário e não apaga a [Notification](/data-modelling/communication/notification).

## Enums

### NotificationRecipientStatus

| Valor      | Descrição                               |
| ---------- | --------------------------------------- |
| `UNREAD`   | Notificação ainda não lida              |
| `READ`     | Notificação lida                        |
| `ARCHIVED` | Notificação arquivada pelo destinatário |

## Example

```json theme={null}
{
  "notificationRecipientId": "0197fa01-d2e2-70df-8fd3-9e22a345a196",
  "notificationId": "0197fa00-3e63-7f58-a878-7ef7ecfa9bc1",
  "recipientUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "deliveredAt": "2026-07-04T16:00:02.000Z",
  "readAt": null,
  "archivedAt": null,
  "status": "UNREAD",
  "createdBy": null,
  "createdAt": "2026-07-04T16:00:00.000Z",
  "updatedBy": null,
  "updatedAt": "2026-07-04T16:00:02.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
