Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  1. Pré-requisitos
    1. Plataforma com suporte REST e autenticação Basic.
    2. Suporte a a tratamento cross-domain, por conta das requisições de serviços em servidores de domínio diferente.
    3. 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

  2. Definições gerais
    1. Os retornos dos serviços REST devem estar encapsulados dentro de um objeto JSON com a seguinte especificação:
      Mensagens de erro

      Para 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 sucesso

      Mensagens 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

      {
        code  testConnection: "0001true",  description: "provedor de DB"

      ...
      }



    2. 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.

    3. 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.


  3. 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;


    1. 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
        titleExemplo 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:




    2. Serviço de teste de conexão do provedor
      GET POST /api/trep/v1/dbdataproviders/testconnection      testconnection

      Recebe

      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
      titleExemplo 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

        testSuccessInforma se o teste do bem sucedido. Pode ser true ou false

        Informações
        titleExemplo 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:



    • Serviço de teste de sentenças sql
      POST /api/trep/v1/dbdataproviders/testquery

      Recebe

      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
    1. value: Valor do parâmetro;
    2. isPassword: Define se o valor do parâmetro será gravado e mostrado de forma criptografada. Pode ser true ou false