> For the complete documentation index, see [llms.txt](https://saludplus.gitbook.io/saludplus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://saludplus.gitbook.io/saludplus/modulos/chat-soporte/mensajes.md).

# Mensajes

### Descripción

Permite obtener todos los mensajes de una conversación y enviar nuevos mensajes.

***

### Obtener Mensajes

```csharp
Task<IEnumerable<MessageSoporteDTO>> ObtenerMensajes(string chatId)
```

### Campos de Mensaje

| Campo      | Tipo   | Descripción                       |
| ---------- | ------ | --------------------------------- |
| id         | Texto  | ID único del mensaje              |
| chatId     | Texto  | ID de la conversación             |
| content    | Texto  | Contenido del mensaje             |
| type       | Texto  | Tipo: `text`, `image`, `file`     |
| metadata   | Objeto | Metadatos adicionales             |
| sender     | Texto  | Rol: `patient`, `agent`, `system` |
| senderName | Texto  | Nombre de quien envía             |
| timestamp  | Fecha  | Fecha y hora del mensaje          |

### Enviar Mensaje

```csharp
Task<MessageSoporteDTO> EnviarMensaje(string chatId, EnviarMensajeSoporteDTO dto, string userName)
```

### Campos para Envío

| Nombre     | Tipo   | Descripción                               | Obligatorio |
| ---------- | ------ | ----------------------------------------- | ----------- |
| content    | Texto  | Contenido del mensaje                     | Sí          |
| type       | Texto  | Tipo de mensaje (`text`, `image`, `file`) | Sí          |
| senderName | Texto  | Nombre de quien envía                     | No          |
| usuario    | Texto  | Identificador del usuario                 | Sí          |
| metadata   | Objeto | Metadatos adicionales                     | No          |

### Tipos de Mensaje

| Tipo    | Descripción            |
| ------- | ---------------------- |
| `text`  | Mensaje de texto plano |
| `image` | Imagen adjunta         |
| `file`  | Archivo adjunto        |

### Orden

Los mensajes se retornan ordenados por `timestamp` (ascendente).
