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áticaQué es
idEl identificador del registro. Es también la columna de identidad de todo informe.
fechaiaEl índice de actividad del registro, en UTC. Es la marca con la que se sincroniza.
eliminadoLa 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 id y fechaia.

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.

En esta página