Getnet DocsGetnet Docs

Relatórios: Totais, Detalhes e Turnos

Este guia explica como recuperar relatórios operacionais de um POS Integrado usando a operação GetReports. Ela vale para os modos de conexão SDK (USB / HTTP) e Cloud2Cloud. Só o método de criação do Connector muda.

O que são os GetReports

A função GetReports permite que o sistema de automação solicite dados de relatórios consolidados ou detalhados diretamente do terminal POS. Você especifica o tipo de relatório. O terminal retorna os dados e, opcionalmente, pode imprimi-los. Os tipos de relatório são Totals (totais agregados de transações), Detailed (registros individuais de transações) e Shift (transações agrupadas por turno).

O relatório deve ser solicitado pelo menos dois minutos após a última venda ou troca de turno para garantir a sincronização.

Antes de começar

Antes de recuperar relatórios:

  • Um Connector deve ser criado e validado com Polling
  • O Modo POS Integrado deve estar ativo

Passo 1: Execute a requisição de relatório

Para recuperar um relatório operacional, chame a operação GetReports com o Type desejado.

Por motivos técnicos, os relatórios devem ser solicitados pelo menos dois minutos após a última venda ou troca de turno. Assim, todos os dados das transações são sincronizados corretamente no terminal.

Os seguintes parâmetros estão disponíveis para a operação GetReports:

ParâmetroTipoObrigatórioDescrição
TypeEnumSimTipo de relatório: Totals (resumo), Detailed (detalhado) ou Shift (por período operacional).
PrintOnPosBooleanNãoSe true, o relatório é impresso no terminal POS. Se false, os dados são retornados no campo ReportDetails.

O exemplo a seguir demonstra como solicitar um relatório de resumo para impressão direta no dispositivo:

var reportRequest = new ReportsRequest
{
    Type = ReportType.Totals,
    PrintOnPos = true
};

var reportResult = await connector.GetReportsAsync(reportRequest);

O exemplo a seguir demonstra como recuperar dados detalhados de transações para o seu sistema de automação processar:

var reportRequest = new ReportsRequest
{
    Type = ReportType.Details,
    PrintOnPos = false
};

var reportResult = await connector.GetReportsAsync(reportRequest);

Passo 2: Trate a resposta

O POS retorna uma resposta estruturada correspondente ao tipo de relatório solicitado. Se PrintOnPos foi definido como false, o campo ReportDetails conterá os dados em JSON.

Abaixo está um exemplo de resposta bem-sucedida para uma requisição de relatório detalhado:

{
  "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"
    }
  ]
}

Sempre verifique o Code e a Message antes de analisar a estrutura de ReportDetails.

Próximos passos