Gestiono
Apps personalizadas (Custom Gestiono Apps)

Apps personalizadas (Custom Gestiono Apps)

Extender Gestiono con pantallas y flujos propios

Las apps personalizadas te permiten extender Gestiono con pantallas y flujos propios, usando un bundle JavaScript que Gestiono carga dentro del Dashboard.

Cuándo usar una app personalizada

  • Necesitas UI propia dentro de Gestiono (un módulo interno, una consola operativa, una pantalla de auditoría).
  • Quieres datos “a tu manera” sin tocar el core: guardas JSON por organización usando app-data.
  • Quieres reutilizar la API oficial (usuarios, recursos, tareas, etc.) y combinarla con tus campos personalizados.

¿Qué puedes hacer con una app personalizada?

  • Crear UI a medida para procesos internos (ej: “órdenes internas”, “inspecciones”, “CRM liviano”).
  • Guardar datos propios usando el storage multi-tenant de apps (app-data).
  • Consumir datos nativos de Gestiono vía API (usuarios, recursos, tareas, etc.).

Requisitos (permisos y acceso)

  • Autenticación: Las rutas de apps están protegidas con sesión (cookies/token) o API keys firmadas (ver Autenticación).
  • Plan/permisos: En el Dashboard existe “App Studio” y acciones como “Explorar Datos” según permisos de la organización.

Modelo mental: app → releases → ejecución

  1. Creas una app (POST /v1/apps) y obtienes un appId.
  2. Subes un release (un archivo .js) con POST /v1/apps/release.
  3. Cuando alguien abre /app/<appId> en el Dashboard, Gestiono carga el último release aprobado/permitido y ejecuta tu script.

Contrato de ejecución (runtime contract)

El Dashboard renderiza un contenedor con id app-container-<appId>. Tu bundle debe “montarse” ahí (con React, Vanilla JS, Vue, etc.).

Desarrollo: correr un bundle en modo “dev”

Para probar un build sin publicarlo como release, puedes abrir la app pasando appJs como query param. El Dashboard cargará ese script directamente:

/app/<APP_ID>?appJs=https://tu-host.com/tu-bundle-dev.js

Nota: verás un badge indicando que estás corriendo una versión de desarrollo.

Cómo una app maneja datos personalizados

Cada app puede guardar “registros” JSON por organización mediante /v1/apps/data. Esto permite que tu app tenga su propia “base de datos” (sin migraciones) usando el campo type como “tabla/colección”.

Siguientes pasos

On this page