> ## 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.

# SupportCaseMessage

> Mensagem enviada dentro de um chamado de suporte

O `SupportCaseMessage` representa uma mensagem no histórico conversacional de um [SupportCase](/data-modelling/support/support-case).

## Campos

| Campo                  | Tipo                           | Descrição                                                         |
| ---------------------- | ------------------------------ | ----------------------------------------------------------------- |
| `supportCaseMessageId` | `UUID`                         | Identificador único                                               |
| `supportCaseId`        | `UUID`                         | Referência ao chamado                                             |
| `senderUserId`         | `UUID?`                        | Usuário remetente, quando a mensagem vem de uma conta autenticada |
| `senderType`           | `SupportCaseMessageSenderType` | Tipo do remetente                                                 |
| `visibility`           | `SupportCaseMessageVisibility` | Visibilidade da mensagem                                          |
| `body`                 | `String`                       | Conteúdo textual da mensagem                                      |
| `readAt`               | `DateTime?`                    | Data de leitura pelo destinatário principal, quando aplicável     |
| `createdAt`            | `DateTime`                     | Data de criação                                                   |
| `updatedAt`            | `DateTime`                     | Data da última atualização                                        |
| `deletedAt`            | `DateTime?`                    | Data de remoção lógica                                            |

## Relacionamentos

* Relaciona-se com [SupportCase](/data-modelling/support/support-case).
* Relaciona-se com [User](/data-modelling/identity/user) como remetente, quando aplicável.
* Relaciona-se com múltiplos [SupportCaseAttachment](/data-modelling/support/support-case-attachment).

## Regras de Negócio

* Mensagens públicas aparecem para o solicitante e para o atendimento.
* Mensagens internas aparecem apenas para usuários de atendimento/BackOffice autorizados.
* `senderUserId` pode ser `null` em mensagens automáticas do sistema.
* `readAt` deve representar a leitura pelo lado que precisava responder, não necessariamente por todos os participantes.
* Remoção lógica da mensagem não deve remover anexos automaticamente; os anexos devem manter vínculo auditável com o chamado.

## Enums

### SupportCaseMessageSenderType

| Valor        | Descrição                                     |
| ------------ | --------------------------------------------- |
| `CUSTOMER`   | Passageiro/cliente                            |
| `OPERATIONS` | Usuário operacional de empresa ou cooperativa |
| `BACKOFFICE` | Usuário de BackOffice                         |
| `SYSTEM`     | Mensagem automática do sistema                |

### SupportCaseMessageVisibility

| Valor      | Descrição                                             |
| ---------- | ----------------------------------------------------- |
| `PUBLIC`   | Visível ao solicitante e ao atendimento               |
| `INTERNAL` | Visível apenas para atendimento/BackOffice autorizado |

## Example

```json theme={null}
{
  "supportCaseMessageId": "0197f152-58dd-70c7-a69d-35ecda7ff28f",
  "supportCaseId": "0197f150-40d6-7c1a-bdf2-c5884e07d401",
  "senderUserId": "0197a7f6-2c4d-74ae-b89b-9d36d9c341f2",
  "senderType": "CUSTOMER",
  "visibility": "PUBLIC",
  "body": "O motorista informou que o QR Code estava inválido.",
  "readAt": null,
  "createdAt": "2026-07-04T10:16:00.000Z",
  "updatedAt": "2026-07-04T10:16:00.000Z",
  "deletedAt": null
}
```
