Una institución representa la organización de origen de un grupo visitante: puede ser una escuela, universidad, empresa, ONG u otro tipo de entidad. Las instituciones se mantienen como un catálogo independiente al que se vinculan los grupos (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/JuanM84/gestor-visitas/llms.txt
Use this file to discover all available pages before exploring further.
Grupo.institucion_id) en el momento de registrar una visita. Dado que los guías necesitan asociar instituciones en tiempo real durante el alta de un grupo, la creación de instituciones está disponible para cualquier usuario autenticado, sin restricción de rol.
Una institución es distinta de un gestor (el coordinador administrativo que puede tener múltiples grupos a cargo) y de un grupo (la delegación concreta que visita el túnel en una fecha y turno determinados). Una misma institución puede tener múltiples grupos registrados en diferentes fechas. El campo
institucion_id en la tabla Grupo establece esta relación de uno a muchos.nombre, localidad, provincia y pais, evitando registros repetidos para la misma entidad.
GET /api/instituciones
Devuelve el catálogo completo de instituciones registradas en el sistema, ordenadas alfabéticamente por nombre. Autenticación:Authorization: Bearer <token> — cualquier rol.
Respuesta exitosa 200 OK
Un arreglo de objetos institución. Puede ser un arreglo vacío [] si todavía no se ha registrado ninguna institución.
Identificador único de la institución en la base de datos.
Nombre oficial de la institución.
Número de teléfono de contacto. Puede ser
null si no fue informado al momento del alta.Correo electrónico de contacto. Puede ser
null si no fue informado.Ciudad o localidad donde se encuentra la institución. Puede ser
null.Provincia o estado de la institución. Puede ser
null.País de la institución. Por defecto
"Argentina" cuando se crea a través de la API.Ejemplo
Respuestas de error
| Código | Descripción |
|---|---|
401 Unauthorized | Token ausente o inválido. |
500 Internal Server Error | Error interno al consultar la base de datos. |
POST /api/instituciones
Registra una nueva institución en el catálogo del sistema. El camponombre es el único requerido; el resto de los datos de contacto y ubicación son opcionales y pueden completarse más adelante.
Autenticación: Authorization: Bearer <token> — cualquier rol.
Cuerpo de la solicitud
Nombre oficial de la institución. No puede estar vacío. Se utiliza junto con
localidad, provincia y pais para la detección de duplicados (comparación insensible a mayúsculas).Número de teléfono de contacto. Opcional.
Correo electrónico de contacto. Opcional.
Ciudad o localidad de la institución. Opcional. Se usa en la validación de duplicados.
Provincia o estado de la institución. Opcional. Se usa en la validación de duplicados.
País de la institución. Opcional. Si se omite, se almacena como
"Argentina" por defecto.Respuesta exitosa 201 Created
Confirmación de la operación. Siempre es
"Institución creada exitosamente".Objeto con todos los campos de la institución recién creada, tal como quedó almacenada en la base de datos.
Ejemplo completo
Ejemplo mínimo (solo nombre)
Respuestas de error
| Código | Descripción |
|---|---|
400 Bad Request | El campo nombre está ausente o vacío, o ya existe una institución con el mismo nombre en la misma ubicación. El cuerpo incluye { "error": "<descripción>" }. |
401 Unauthorized | Token ausente o inválido. |