Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização

01. VISÃO GERAL

O acesso aos endpoints REST utilizados no produto TOTVS - Linha Datasul, validam somente se o usuário possui acesso ao login do produto, não sendo validado seus respectivos grupos de segurança.

Para melhorar as configurações de acesso e segurança aos endpoints, a partir da versão 12.1.33 foi implementada uma funcionalidade que restringe o acesso aos mesmos de acordo com o grupo de segurança dos usuários.

02. EXEMPLO DE UTILIZAÇÃO

Nota

A validação de segurança somente será realizada caso possua um endpoint cadastrado nos programas citados anteriormente.

Para evitar quebras de funcionalidade entre as versões e restrições indevidas aos enpoints, caso não possua o cadastro, o acesso é permitido por padrão.

Efetue o cadastro da API REST no cadastro de programas, sendo o campo "Nome Externo" com a referencia da URL do endpoint

Nota

Com o intuito de simplificar a parametrização e padronizar as configurações das APIs quanto as regras de segurança, log de execução e cadastros de UPCs, a partir da release 12.1.2407 o recomendado é efetuar o cadastro do endpoint seguindo o padrão de nomenclatura dos diretórios Progress.

Exemplo: 

Antes: api/btb/v1/properties (Endereço do endpoint da API)

Depois: btb/api/v1/properties (padrão de diretórios onde o fonte Progress responderá a API)

Observação:

Certifique-se a utilização de / (barra) e extensões. O cadastro do Nome Externo não deve possuir o caracter barra no início e a referencia do arquivo (no exemplo o properties.p) não deve possuir extensões e também o caracter barra em seu final. 

Exemplos: 

Até 12.1.2311 (inclusive)Versão 12.1.2407 e superior

URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties

Nome Externo: api/btb/v1/properties

URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties

Nome Externo: btb/api/v1/properties

Na aba Opções, selecione o tipo de Template API REST

Efetue a configuração do(s) grupo(s) de segurança desejados

Será permitido o acesso caso o usuário que efetuou a autenticação ao endpoint possua o mesmo grupo que foi configurado anteriormente

  • Caso seja permitido o acesso, será retornado o HTTP Status 200 com o resultado da requisição
  • Caso o acesso não seja permitido, será retornado o HTTP Status 403

Dica

Formatos deste exemplo segue o template:

PADRÃO NOVO API - /API

"{protocolo}://{host}/{api}/{modulo}/{versao}/{recurso}"


A segurança do endpoint não considera os possíveis "Path Parameters" enviados na URL.

Para o exemplo acima, todos os parâmetros enviados após o /properties, seguirão as mesmas regras de segurança da URL "principal".

Na prática significa que as URLs com parâmetros apresentadas abaixo serão autorizadas ou bloqueadas mediante ao cadastro anterior.

URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/email

URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/fluig

URL: http://<SERVIDOR>:<PORTA>/api/btb/v1/properties/access

...

Para mais detalhes quanto a definição das URLs, consultar o Guia API TOTVS: https://tdn.totvs.com/x/nDUxE


CADASTRO DO NOME EXTERNO DIFERENTES DO CONTEXTO /API

Os endpoints abaixos seguem regras específicas para desconsiderar os pathParameters enviados na URL

Até 12.1.2311 (inclusive)Versão 12.1.2407 e superior

PADRÃO COMPATIBILIDADE API - /dts/datasul-rest/resources/prg/ ou /totvs-rest/prg/

Deve ser cadastrado o contexto inicial com os três níveis após o contexto (módulo/versão/programa)

Exemplos:

/dts/datasul-rest/resources/prg/fwk/v1/menuUsers

/totvs-rest/prg/fwk/v1/menuUsers


PADRÃO ANTIGO API - /dts/datasul-rest/resources/api/ ou /totvs-rest/api/

Deve ser cadastrado o contexto inicial com os três níveis após o contexto (módulo/submodulo/programa)

Exemplos:

/dts/datasul-rest/resources/api/fwk/properties/propServices

/totvs-rest/api/fwk/properties/propServices


PADRÃO ANTIGO DBO - /dts/datasul-rest/resources/dbo ou /totvs-rest/dbo/

Deve ser cadastrado o contexto inicial com os dois níveis após o contexto (caminho_dbo/chaves_tabela)

Exemplos:

/dts/datasul-rest/resources/dbo/adbo/boad107na

/totvs-rest/dbo/adbo/boad107na

Sempre deve ser cadastrado o caminho de diretórios juntamente com o endpoint Progress, sem a extensão do fonte e também sem as barras (no início ou final).

Exemplos:

PADRÃO COMPATIBILIDADE API - /dts/datasul-rest/resources/prg/ ou /totvs-rest/prg/

fwk/api/v1/menuUsers


PADRÃO ANTIGO API - /dts/datasul-rest/resources/api/ ou /totvs-rest/api/

fwk/properties/propServices


PADRÃO ANTIGO DBO - /dts/datasul-rest/resources/dbo ou /totvs-rest/dbo/

adbo/boad107na