> 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/crear-chat.md).

# Crear Chat

### Descripción

Permite crear una nueva conversación de chat de soporte. Si se proporciona un mensaje inicial, se crea automáticamente como parte de la conversación.

***

### Campos del Formulario

| Nombre          | Tipo  | Descripción                       | Restricciones                   | Obligatorio |
| --------------- | ----- | --------------------------------- | ------------------------------- | ----------- |
| Institucion     | Texto | Nombre de la institución          |                                 | Sí          |
| Nombre          | Texto | Nombre para mostrar en el chat    | Opcional, usa username si vacío | No          |
| Mensaje Inicial | Texto | Primer mensaje de la conversación |                                 | No          |
| Usuario         | Texto | Identificador del usuario         |                                 | Sí          |

***

### Métodos del Servicio

```csharp
Task<ChatSoporteDTO> CrearChat(CrearChatSoporteDTO dto, int institucionId, string usuarioId, string userName)
```

### Flujo

1. Crea documento `ChatDocument` con estado `pending`
2. Si hay mensaje inicial, crea `MessageDocument` asociado
3. Retorna el chat creado

### Estados Iniciales

El chat se crea con estado `pending` y sin agentes asignados.

### Validaciones

* El mensaje no puede exceder los 160 caracteres
* El nombre es opcional, usa el username si no se proporciona
