SupportCaseMessage representa uma mensagem no histórico conversacional de um SupportCase.
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.
- Relaciona-se com User como remetente, quando aplicável.
- Relaciona-se com múltiplos SupportCaseAttachment.
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.
senderUserIdpode sernullem mensagens automáticas do sistema.readAtdeve 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 |