CONTEÚDO

  1. Visão geral
  2. Conceitos Aplicados
  3. Exemplo de utilização
  4. Assuntos relacionados

01. VISÃO GERAL


Disponibilizar um modelo de chamada externa para permitir a execução de aplicações Progress, sem a necessidade de exibição do menu principal do produto Datasul

02. CONCEITOS APLICADOS


A execução efetiva do programa Progress depende das seguintes condições:

03. EXEMPLO DE UTILIZAÇÃO


A execução direta de aplicações Progress é realizada por meio da URL com a seguinte estrutura:

Padrão de URL
http://<nome_servidor>:<porta>/totvs-menu/public/index.html?program=<nome_do_programa>&module=<modulo_do_programa>&user=<codigo_do_usuario_no_ERP>&password=<senha_do_usuario_no_ERP>

Onde:

A seguir, um exemplo de URL para execução de programas Progress. O usuário é user01 e a senha é pass01. Observe os valores fornecidos nos parâmetros.

Exemplo de URL
http://localhost:8080/totvs-menu/public/index.html?program=cd0704.w&module=cdp&user=user01&password=pass01

A partir da release 12.1.2305 é possível efetuar a chamada da execução de programas com um Token JWT, sem a necessidade de informar o usuário e senha na URL para autenticação.

Para isto, basta seguir os seguintes passos:

Efetue um cadastro em "Propriedades → OAuth2 (Aba RO Credentials) de um modelo a ser utilizado, utilizar o Método de autenticação: EMS Datasul.

Após efetuado o cadastro, clique em Exibir detalhes completamente para resgatar o código ID gerado.

O exemplo a seguir demonstra uma requisição com o Postman, porém para a implementação deve-se utilizar a linguagem de programação adequada para a chamada externa

Efetue uma requisição (POST) ao endpoint http://{{host}}:{{port}}/totvs-login-oauth2/oauth2/token?grant_type=password 

Deve-se enviar os seguintes parâmetros:

  • Authorization: Basic Auth (usuário e senha tipo Interno do ERP Datasul)

  • Parâmetro id (Exibido no Passo 2) enviado no Body da requisição

O exemplo a seguir demonstra uma requisição com o Postman, porém para a implementação deve-se utilizar a linguagem de programação adequada para a chamada externa

Ao efetuar a requisição, caso a autenticação seja realizada com sucesso, é retornado um access_token, guarde esta informação para uso posterior.

Efetue a chamada da URL padrão da chamada externa, com algumas mudanças:

  • Os parâmetros: user e password não devem ser informados;
  • Informar o parâmetro: token com o resultado obtido do campo access_token exibido no Passo 4. 

Exemplo de URL

http://localhost:8080/totvs-menu/public/index.html?program=men0012aa.w&module=men&token=[access_token]


  • Caso o token esteja válido, o programa Progress (men/men0012aa.w) será executado com sucesso!

Quando executado mais de uma vez na mesma sessão do navegador, apenas a primeira requisição necessita de autenticação, as próximas, será utilizado o usuário já autenticado.

04. ASSUNTOS RELACIONADOS