Informes API
Qué convierte un informe de Flex en informe de API, las columnas que el servidor le añade y cuáles se sincronizan con PG Sync.
Un informe API es un informe ordinario archivado en la categoría Funcionalidad con la subcategoría API. El servidor lo trata distinto: le añade las columnas que necesitan el SDK y la caché, y lo ofrece a PG Sync si cumple las condiciones de sincronización.
Antes de empezar
- Un informe de API se crea como cualquier otro, en FlexHub → Informes. Lo que lo distingue son la categoría y la subcategoría.
- Cambiar la categoría a Funcionalidad exige consolidar el esquema: es el único cambio de un informe que activa
NeedsConsolidation.
Qué lo convierte en informe de API
Un informe es de API cuando su categoría es Funcionalidad y su subcategoría es API. Con esa pareja, al consolidar el servidor crea en el informe las columnas ocultas que necesitan el SDK y la caché.
FlexHub agrupa en la pestaña API toda la categoría Funcionalidad, no solo la subcategoría API. El botón Con nombre de API fuera de Funcionalidad señala los informes que se llaman «API» sin esa categoría: a esos el servidor no les crea las columnas ocultas.
| Columna automática | Qué es |
|---|---|
id | El identificador del registro. Es también la columna de identidad de todo informe. |
fechaia | El índice de actividad del registro, en UTC. Es la marca con la que se sincroniza. |
eliminado | La baja lógica. |
Estas columnas no se pueden borrar: la consolidación las vuelve a poner.
Sincronizables con PG Sync
PG Sync copia a PostgreSQL los informes que cumplen estas cuatro condiciones:
- No está eliminado ni obsoleto.
- Es informe de API.
- No tiene preguntas.
- Todas sus columnas son campos directos de la sección, y entre ellas están
idyfechaia.
En términos SQL, un informe sincronizable es SELECT a, b, c FROM tabla, sin uniones, agrupaciones ni subconsultas. Vale la columna Cliente de una venta (el identificador de la relación); no vale Cliente > Nombre (un dato al que se llega por la relación). Un informe con relaciones, agrupaciones, algoritmos o preguntas se ejecuta igual por la API, pero no se sincroniza.
Consumir el informe
POST /api/reports?id=<GUID> ejecuta el informe y devuelve sus filas en JSON. Los parámetros (page, resultsPerPage, withFiles, safeColumnsName, calculatePages), el cuerpo con variables, filter y order, la respuesta y los errores están en Referencia de la API REST. Con safeColumnsName=true las columnas se nombran por su GUID y renombrar un campo no rompe la integración.
Desde .NET, los métodos de informes del Cliente Dinaup ejecutan el mismo informe con filas tipadas.
Cambiar un informe que ya consume alguien
Un sistema conectado lee el informe por el nombre o el GUID de sus columnas. Antes de cambiarlo, decide qué tipo de cambio es:
- Añadir una columna no rompe ninguna integración; puede empeorar el rendimiento.
- Cambiar o quitar una columna rompe las integraciones que la leen. Crea un informe nuevo y deja el viejo hasta que nadie lo use.
- Renombrar el informe cambia su palabra clave y su tabla en PG Sync.
Siguiente: Referencia de la API REST.