Informes: totales, detalles y turnos
Esta guía explica cómo recuperar informes operativos de un TPV Integrado con la operación GetReports. Se aplica a los modos de conexión SDK (USB / HTTP) y Cloud2Cloud; solo cambia el método de creación del Connector.
¿Qué es GetReports?
La función GetReports permite que el sistema de automatización solicite datos de informes consolidados o detallados directamente al terminal. Especificas el tipo de informe y el terminal devuelve los datos, con la opción de imprimirlos. Los tipos de informe son Totals (totales agregados de transacciones), Detailed (registros de transacciones individuales) y Shift (transacciones agrupadas por turno).
El informe debe solicitarse al menos dos minutos después de la última venta o del último cambio de turno, para asegurar la sincronización.
Antes de comenzar
Antes de recuperar informes:
- Debes crear y validar un Connector con
Polling - El modo TPV Integrado debe estar activo
Paso 1: Ejecuta una solicitud de informe
Para recuperar un informe operativo, llama a la operación GetReports con el Type deseado.
Por razones técnicas, los informes deben solicitarse al menos dos minutos después de la última venta o del último cambio de turno. Así, todos los datos de las transacciones quedan sincronizados correctamente en el terminal.
Los siguientes parámetros están disponibles para la operación GetReports:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
Type | Enum | Sí | Tipo de informe: Totals (resumen), Detailed (detallado) o Shift (por período operativo). |
PrintOnPos | Boolean | No | Si es true, el informe se imprime en el terminal. Si es false, los datos se devuelven en el campo ReportDetails. |
El siguiente ejemplo muestra cómo solicitar un informe de resumen para imprimirlo directamente en el dispositivo:
var reportRequest = new ReportsRequest
{
Type = ReportType.Totals,
PrintOnPos = true
};
var reportResult = await connector.GetReportsAsync(reportRequest);El siguiente ejemplo muestra cómo recuperar datos detallados de transacciones para procesarlos en tu sistema de automatización:
var reportRequest = new ReportsRequest
{
Type = ReportType.Details,
PrintOnPos = false
};
var reportResult = await connector.GetReportsAsync(reportRequest);Paso 2: Maneja la respuesta
El TPV devuelve una respuesta estructurada que corresponde al tipo de informe solicitado. Si configuraste PrintOnPos en false, el campo ReportDetails contiene los datos JSON.
A continuación se muestra un ejemplo de respuesta exitosa para una solicitud de informe detallado:
{
"Code": 0,
"Message": "APPROVED",
"CommerceCode": "1234567890",
"TerminalId": "GET00123",
"ReportDetails": [
{
"authorizationCode": "551437",
"paymentId": "789456123",
"opReasonMessageStatus": "APPROVED",
"timestamp": "2025-08-25T16:11:23.000Z",
"brandType": "Mastercard",
"cardLastNumber": "1234",
"operationValue": "5000",
"operation": "Credit"
}
]
}Verifica siempre el Code y el Message antes de analizar la estructura ReportDetails.
Siguientes pasos
- Gestión de turnos — operaciones e informes de turno.
- Responsabilidad de impresión — PrintOnPos y manejo de recibos.