Histórico da Página
...
- Pré-requisitos
- Plataforma com suporte REST e autenticação Basic.
- Suporte a a tratamento cross-domain, por conta das requisições de serviços em servidores de domínio diferente.
- O modelo de implementação dessa API foi criado seguindo o documento "Guia de implementação de API" disponível no link abaixo:
http://tdn.totvs.com/pages/viewpage.action?pageId=274849083
- Definições gerais
Os retornos dos serviços REST devem estar encapsulados dentro de um objeto JSON com a seguinte especificação:
Mensagens de erroPara todas as mensagens que representam um erro (códigos HTTP 4xx e 5xx) deve-se retornar obrigatoriamente os campos a seguir:
{
code:
""
,
message:
""
,
detailedMessage:
""
}
Exemplo:
POST http:
//totvs.com.br/api/trep/v1/dbdataproviders/testeconnection
{
code:
"Código identificador do erro"
,
message:
"Literal no idioma da requisição descrevendo o erro para o clienteErro ao testar conexão com o banco de dados"
,
detailedMessage:
"Mensagem técnica e mais detalhada do erroBanco de dados oracle não disponível"
}
Mensagens de sucessoMensagens de sucesso (código http 2xx devem) devem retornar diretamente a entidade que representa o objeto resultado da operação do endpoint. Ex:
Exemplo:
GET POST http:
//totvs.com.br/api/trep/v1/dataprovidersdbdataproviders/1testeconnection
{
testConnection
:
"0001true"
,
description:
"provedor de DB"
...
}
Todas as linhas de produto deverão devem estabelecer uma URL base, a partir da qual os serviços REST de provedor integrado serão disponibilizados.
Todos os caminhos descritos neste documento serão relativos a esta URL base.
Como exemplo, no ERP RM foi definida a seguinte URL base:
/api/trep/v1/dbdataproviders/Informações Com o intuito de facilitar o entendimento do documento, a URL base do RM descrita acima será utilizada no restante do documento.
- Descrição dos serviços
Os serviços REST descritos a seguir estão divididos em:
- Serviço de leitura de parâmetros gerais;
- Serviço de teste de conexão;
- Serviço de teste de sentença sentenças sql;
- Serviço de leitura de schema de tabelas fisicasfísicas;
- Serviço de leitura de schema de sentença sql;
- Serviço de retorno de dados;
Na descrição de cada serviço podemos encontrar os seguintes elementos:
- Definição da URL do serviço;
- Parâmetros de request (entrada) e response (saída);
- Descrição do serviço com detalhes relativos ao seu funcionamento;
- Serviço de leitura de parâmetros geraisde provedor;
GET /api/trep/v1/dbdataproviders/parameters
Recebe
Não recebe parâmetros
Retorna
Application/JSON
Esse método é utilizado para obter os parâmetros do provedor integrado do tipo "dados relacionais". A necessidade e definição desses parâmetros é de responsabilidade do dono do provedor. No JSON de retorno, deve constar as seguintes informações:
- name: Nome do parâmetro;
- description: Descrição do parâmetro;
- value: Valor do parâmetro;
isPassword: Define se o valor do parâmetro será gravado e mostrado de forma criptografada. Pode ser true ou false
Informações title Exemplo de json de retorno {
“providerParams” : [{
“name” : “aliasName”,
“description” : “Nome do alias do RM”,
“value” : “CorporeRM”,
“isPassword” : false,
}]
}
Os parâmetros retornados por esse serviço aparecerão na grid de parâmetros localizada no "cadastro de provedores de dados" do front-end do T-Reports, conforme abaixo:
Serviço de teste de conexão do provedor
GET POST /api/trep/v1/dbdataproviders/testconnection testconnectionRecebe
Application/JSON
Retorna
Application/JSON
Esse método é utilizado para testar a conexão de um provedor integrado do tipo "dados relacionais".
No Json de entrada devem ser enviados os parâmetros recuperados pelo serviço acima "GET /api/trep/v1/dbdataproviders/parameters".Informações title Exemplo de json de entrada {
“providerParams” : [{
“name” : “aliasName”,
“description” : “Nome do alias do RM”,
“value” : “CorporeRM”,
“isPassword” : false,
}]
}
No JSON de retorno, deve constar as seguintes informações:
- testSucess
testSuccess: Informa se o teste do bem sucedido. Pode ser true ou false
Informações title Exemplo de json de retorno {
“testSuccess” : true;
}
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:
- testSucess
Serviço de teste de sentenças sql
POST /api/trep/v1/dbdataproviders/testqueryRecebe
Application/JSON
Retorna
Application/JSON
Esse método é utilizado para testar a sintaxe de uma sentença sql.
No Json de entrada devem ser enviadas os seguintes informações:name: Nome do parâmetro;
sqlText: Descrição do parâmetro;
- sql
- value: Valor do parâmetro;
isPassword: Define se o valor do parâmetro será gravado e mostrado de forma criptografada. Pode ser true ou false