Skip to content

Exportando relatórios de demandas

Este documento descreve as diferentes formas de exportar relatórios de demandas do sistema.

Relatório por intervalo de tempo

Para exportar relatórios de status de demandas por intervalo de tempo, é necessário utilizar a query Requisition_reportRequisitionsStatusesByTimeInterval. Essa query recebe como parâmetro um objeto do tipo Requisition_ReportRequisitionsStatusesByTimeInterval_Input.

Propriedades do input

PropriedadeTipoDescrição
startDateStringData inicial do intervalo no formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ)
finishDateStringData final do intervalo no formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ)

WARNING

O intervalo entre as datas startDate e finishDate não pode exceder 3 meses. Caso contrário, a query retornará um erro.

Retorno

A query retorna um objeto que pode ser de dois tipos:

Sucesso (Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Success)

PropriedadeTipoDescrição
urlToDownloadFileStringURL para download do arquivo do relatório

Falha (Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Failures)

PropriedadeTipoDescrição
failuresObjectObjeto contendo informações sobre a falha
__typenameStringTipo do objeto retornado
graphql
query RequisionExportReportsModal_reportRequisitionsStatusesByTimeInterval($input: Requisition_ReportRequisitionsStatusesByTimeInterval_Input) {
  result: Requisition_reportRequisitionsStatusesByTimeInterval(input: $input) {
    ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Success {
      urlToDownloadFile
      __typename
    }
    ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Failures {
      failures {
        __typename
      }
      __typename
    }
    __typename
  }
}
js
async function exportRequisitionReport(startDate, finishDate) {
  const response = await fetch('https://core-api.linte.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'key': '<seu-token>'
    },
    body: JSON.stringify({
      query: `
        query RequisionExportReportsModal_reportRequisitionsStatusesByTimeInterval($input: Requisition_ReportRequisitionsStatusesByTimeInterval_Input) {
          result: Requisition_reportRequisitionsStatusesByTimeInterval(input: $input) {
            ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Success {
              urlToDownloadFile
              __typename
            }
            ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Failures {
              failures {
                __typename
              }
              __typename
            }
            __typename
          }
        }
      `,
      variables: {
        input: {
          startDate,
          finishDate
        }
      }
    })
  });

  const result = await response.json();
  console.log(result);
}

// Exemplo de uso
const startDate = '2025-02-23T00:00:00.000Z';
const finishDate = '2025-03-25T02:59:59.999Z';

exportRequisitionReport(startDate, finishDate);
python
import requests

def export_requisition_report(start_date, finish_date):
    response = requests.post(
        'https://core-api.linte.com/graphql',
        headers={
            'Content-Type': 'application/json',
            'key': '<seu-token>'
        },
        json={
            'query': '''
                query RequisionExportReportsModal_reportRequisitionsStatusesByTimeInterval($input: Requisition_ReportRequisitionsStatusesByTimeInterval_Input) {
                  result: Requisition_reportRequisitionsStatusesByTimeInterval(input: $input) {
                    ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Success {
                      urlToDownloadFile
                      __typename
                    }
                    ... on Requisition_ReportRequisitionsStatusesByTimeInterval_Output_Failures {
                      failures {
                        __typename
                      }
                      __typename
                    }
                    __typename
                  }
                }
            ''',
            'variables': {
                'input': {
                    'startDate': start_date,
                    'finishDate': finish_date
                }
            }
        }
    )
    
    print(response.json())

if __name__ == '__main__':
    # Exemplo de uso
    start_date = '2025-02-23T00:00:00.000Z'
    finish_date = '2025-03-25T02:59:59.999Z'
    
    export_requisition_report(start_date, finish_date)

Exemplo de preview do relatório

O relatório exportado será um arquivo XLSX com duas abas:

Aba Dados

ColunaDescriçãoTipo
idID da demandaString (ex: STO-N2HA63)
Data de criaçãoData de criação da demandaData (DD/MM/YY HH:mm)
Data início da etapaData de início da etapaData (DD/MM/YY HH:mm)
Data fim da etapaData de fim da etapaData (DD/MM/YY HH:mm)
EtapaEtapa da demandaString
ResponsávelResponsável da demandaString
Área do responsávelÁrea do responsávelString
AçãoAção da demandaString
Tempo (minutos)Tempo da demanda em minutosDecimal
Tempo (horas)Tempo da demanda em horasDecimal
Tempo (dias)Tempo da demanda em diasDecimal
Tempo (dias úteis)Tempo da demanda em dias úteisDecimal

Aba Resumo

A aba Resumo apresenta uma visão consolidada das demandas no período, contendo:

  1. Título do relatório e período de referência
  2. Indicadores gerais:
    • Total de demandas criadas
    • Quantidade de demandas em progresso
    • Quantidade de demandas finalizadas
    • Quantidade de demandas canceladas
  3. Métricas de tempo:
    • Tempo médio de conclusão das demandas (em dias)
    • Tempo médio de dias por etapa, detalhando cada etapa da demanda

INFO

Dados anteriores a 22/06/2021 não constam no relatório.

Relatório geral

O relatório geral é um relatório que contém todas as demandas do sistema, além de informações sobre os demandantes e responsáveis e as informações sobre os campos personalizados (informações) da demanda.

Para exportar o relatório geral, é necessário utilizar a query Report_extractRequisitionsReport. Não é necessário passar nenhum parâmetro para a query.

Retorno

A query retorna um objeto que pode ser de dois tipos:

Sucesso (Report_ExtractRequisitionsReport_Output_Success)

PropriedadeTipoDescrição
urlToDownloadFileStringURL para download do arquivo do relatório

Falha (Report_ExtractRequisitionsReport_Output_Failures)

PropriedadeTipoDescrição
failuresObjectObjeto contendo informações sobre a falha
__typenameStringTipo do objeto retornado
graphql
query {
  result: Report_extractRequisitionsReport {
    ... on Report_ExtractRequisitionsReport_Output_Success {
    	urlToDownloadFile
    }
    ... on Report_ExtractRequisitionsReport_Output_Failures {
      failures {
        ... on Error {
          message
        }
      }
    }
  }
}
js
async function exportRequisitionReport() {
  const response = await fetch('https://core-api.linte.com/graphql', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'key': '<seu-token>'
    },
    body: JSON.stringify({
      query: `
        query {
          result: Report_extractRequisitionsReport {
            ... on Report_ExtractRequisitionsReport_Output_Success {
              urlToDownloadFile
            }
            ... on Report_ExtractRequisitionsReport_Output_Failures {
              failures {
                ... on Error {
                  message
                }
              }
            }
          }
        }
      `
    })
  });

  const result = await response.json();
  console.log(result);
}

// Exemplo de uso
exportRequisitionReport();
python
import requests

def export_requisition_report():
    response = requests.post(
        'https://core-api.linte.com/graphql',
        headers={
            'Content-Type': 'application/json',
            'key': '<seu-token>'
        },
        json={
            'query': '''
                query {
                  result: Report_extractRequisitionsReport {
                    ... on Report_ExtractRequisitionsReport_Output_Success {
                      urlToDownloadFile
                    }
                  }
                }
            ''',
            'variables': {}
        }
    )
    
    print(response.json())

if __name__ == '__main__':
    export_requisition_report()

Exemplo de preview do relatório

O relatório exportado será um arquivo XLSX com as seguintes colunas padrão:

ColunaDescriçãoTipo
idID da demandaString (ex: STO-N2HA63)
StatusStatus da demandaString (ex: Em andamento, Em análise do jurídico)
Categoria do statusCategoria do status da demandaString (ex: Aberta, Finalizada)
Criada emData de criação da demandaData (DD/MM/YYYY)
Finalizada emData de finalização da demandaData (DD/MM/YYYY)
Última atualização emData da última atualização da demandaData (DD/MM/YYYY)
Aberto porResponsável que abriu a demandaString
Área do demandanteÁrea do demandanteString
E-mail do demandanteE-mail do demandanteString
ResponsávelResponsável da demandaString
Área do responsávelÁrea do responsávelString
Tempo gastoTempo gasto na demandaFloat
Prazo finalSLA da demandaData (DD/MM/YYYY)

INFO

O relatório exportado pode conter colunas adicionais. Essas colunas são relacionadas aos campos personalizados (informações) da demanda. Essas colunas são prefixadas com cf_.