CONTEÚDO
- Visão geral
- Conceitos Aplicados
- Exemplo de utilização
- 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:
- Os parâmetros program, module, user e password são obrigatórios.
- O usuário fornecido deve ter permissão para executar o programa, ou seja, precisa estar associado ao grupo de usuários vinculado ao programa.
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:
- <nome_servidor>: Corresponde ao servidor onde está instalado o ERP TOTVS Datasul;
- <porta>: Representa a porta TCP através da qual se acessa a instância do ERP TOTVS Datasul;
- <nome_do_programa>: Refere-se ao nome da aplicação Progress que se quer executar. Deve ser informado o nome da aplicação conforme o cadastro de programas do Datasul (Campo Programa - men012aa);
- <modulo_do_programa>: Refere-se ao modulo no qual a aplicação Progress esta inserida. (Deve ser informado de modo abreviado, conforme exemplo abaixo);
- <codigo_do_usuario_no_ERP>: É o código do usuário para efetuar login no ERP TOTVS Datasul. (Deve ser o mesmo código usado no login normal do produto);
- <senha_do_usuario_no_ERP>: É a senha do usuário para efetuar login no ERP TOTVS Datasul, que deve ser aberta.
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 |
12.1.2305
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.
Nota
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
Nota
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!
Importante
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.