Histórico da Página
NOME DO REQUISITO
...
Linha de Produto:
...
T-Reports
...
Segmento:
...
T-Reports
...
Módulo:
...
T-Reports.
...
Os retornos dos serviços REST devem estar encapsulados dentro de um objeto JSON com a seguinte especificação:
Mensagens de erro (códigos HTTP 4xx e 5xx)
Mensagens de erro devem-se retornar obrigatoriamente os campos a seguir:
...
{
code:
""
,
message:
""
,
detailedMessage:
""
}
Exemplo:
POST http:
//totvs.com.br/api/trep/v1/dbdataproviders/testeconnection
{
code:
""
,
message:
"Erro ao testar conexão com o banco de dados"
,
detailedMessage:
"Banco de dados oracle não disponível"
}
...
Mensagens de sucesso devem-se retornar diretamente a entidade que representa o objeto resultado da operação do endpoint.
Exemplo:
...
...
...
Todas as linhas de produto devem estabelecer uma URL base, a partir da qual os serviços REST de provedor integrado serão disponibilizados.
...
...
...
...
...
...
...
...
name: Nome do parâmetro;
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
tablesSourceGetRelations: Lista contendo informações de todas as tabelas físicas cadastradas no dicionário de dados do relatório.
Informações |
---|
Através dessa lista todos os relacionamentos entre essas tabelas poderão ser recuperados automaticamente no dicionário de dados do ERP em questão, evitando assim, o cadastro manual dos relacionamentos. |
...
...
...
...
...
...
...
...
...
"tablesSourceGetRelations": [
{"tableSourceName": "PSECAO"},
{"tableSourceName": "PFDEPEND"}
]
}
No JSON de retorno, deve constar as seguintes informações:
...
...
...
- columnName
...
title | Exemplo de json de retorno |
---|
{
“schemaTable” : {
"tableSourceName": "PFUNC",
"tableSourceDescription": "Funcionários",
"columns": [ {"columnName": "CODCOLIGADA", "columnDescription": "Codigo da coligada", "columnType": "System.Int32"},
{"columnName": "CHAPA", "columnDescription": "Chapa do funcionario", "columnType": "System.string"},
{"columnName": "SALARIO", "columnDescription": "Salario do funcionário", "columnType": "System.double"}]
“relations” : [{
"relationName": "PFUNC_PFDEPEND",
"parentSourceName": "PFUNC",
"childSourceName": "PFDEPEND",
"parentColumns": [{"columnName": "CODCOLIGAGA"}, {"columnName": "CHAPA"}],
"childColumns": [{"columnName": "CODCOLIGAGA"}, {"columnName": "CHAPA"}],
...
"relationName": "PFUNC_PSECAO
"parentSourceName": "PFUNC",
"childSourceName": "PSECAO
"parentColumns": [{"columnName": "CODCOLIGAGA"}, {"columnName": "CODSECAO
"childColumns": [{"columnName": "CODCOLIGAGA"}, {"columnName": "CODIGO"}]
}
Esse método é utilizado no click do botão "Teste conexão" localizado no "cadastro de provedores de dados" do front-end do T-Reports, conforme abaixo:
...
Recebe
...
Application/JSON
...
Retorna
...
Application/JSON
...
schemaSqlParameters: Lista de objeto contendo informações dos parâmetros da sentença sql:
paramName: Nome do parâmetro da sentença sql;
- paramValue: Valor do parâmetro da sentença sql;
- paramType: Tipo do parâmetro;
Informações | ||
---|---|---|
| ||
{ “providerParams” : [{ “description” : “Nome do alias do RM”, “value” : “CorporeRM”, “isPassword” : false, }], "sqlText": "select * from pfunc where codcoligada = :codcol", "sqlParameters": [{ "paramName": "codcol", "paramValue": "1", "paramType": "system.Int32" }] } |
No JSON de retorno, deve constar as seguintes informações:
schemaSql: objeto contendo as seguinte informações:
- columns: lista contendo as seguinte informações:
- columnName: Nome da coluna;
- columnType: tipo da coluna;
Informações Esse método não contêm informações de relacionamento, visto que, trata-se de uma sentença sql. Nesse caso, as informações de relacionamento não poderão ser recuperadas automaticamente de dicionários de dados.
- columns: lista contendo as seguinte informações:
...
title | Exemplo de json de retorno |
---|
{
“schemaSql” : {
"columns": [ {"columnName": "CODCOLIGADA", "columnDescription": "Codigo da coligada", "columnType": "System.Int32"},
{"columnName": "CHAPA", "columnDescription": "Chapa do funcionario", "columnType": "System.string"},
{"columnName": "SALARIO", "columnDescription": "Salario do funcionário", "columnType": "System.double"}]
},
]
...