NOME DO REQUISITO

Linha de Produto:

T-Reports

Segmento:

T-Reports

Módulo:

T-Reports.


  1. Pré-requisitos
    1. Plataforma com suporte REST e autenticação Basic.
    2. Suporte 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: "",
          message: "Erro ao testar conexão com o banco de dados",
          detailedMessage: "Banco 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:

      POST http://totvs.com.br/api/trep/v1/dbdataproviders/testeconnection

      {
        testConnection: "true"

      }



    2. Todas as linhas de produto devem estabelecer uma URL base, a partir da qual os serviços REST de provedor integrado serão disponibilizados. 

    3. Como exemplo, no ERP RM foi definida a seguinte  URL base: 
      /api/trep/v1/dbdataproviders/ 

      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:

    Na descrição de cada serviço podemos encontrar os seguintes elementos:

    1. Serviço de leitura de parâmetros de 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

        {

               “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
      POST /api/trep/v1/dbdataproviders/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".

      {

             “providerParams” : [{

                   “name” : “aliasName”,

                   “description” : “Nome do alias do RM”,

                   “value” : “CorporeRM”,

                   “isPassword” : false,

             }]

      }


       No JSON de retorno, deve constar as seguintes informações:

      • testSuccess: Informa se o teste do bem sucedido. Pode ser true ou false

        {

               “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:



            No JSON de retorno, deve constar as seguintes informações: