Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - Backoffice Linha Protheus - SIGAFIN - Validação REST para implantação APP minha prestação de contas



time.png Tempo aproximado para leitura: 15:00:00min

Dúvida
Qual é a configuração Rest necessária para funcionamento do APP minha prestação de contas? 

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - TOTVS Financeiro - A partir da versão 12.1.33

Solução
1 - Visão Geral

Para utilização dos Apps é necessário que o REST do Protheus esteja habilitado e configurado corretamente, com a autenticação habilitada. Nas seções abaixo temos alguns exemplos de configuração e validação.

2 - Configuração do REST

Para fazer a configuração do REST é recomendado que seja criada uma cópia do appserver do Protheus para que rode em instâncias separadas conforme no exemplo abaixo:

Os arquivos podem ser copiados da pasta appserver, sendo necessário alterar apenas o arquivo appserver.ini da pasta onde ficará o REST.

Importante

Caso você utiliza mais de um tipo de webservice, para correto funcionamento das integrações, o appserver REST e SOAP não devem rodar na mesma instância do serviço, nem estar expostos na mesma porta.

3 - Configuração do appserver.ini
O arquivo appserver.ini deve conter as chaves abaixo:

Configuração REST sem os comentários
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[General]
MAXSTRINGSIZE=10     
  
[HTTPV11]
Enable=1
Sockets=HTTPREST
  
[HTTPREST]
Port=8080             
IPsBind=
URIs=HTTPURI
Security=1            
  
[HTTPURI]             
URL=/rest             
PrepareIn=ALL         
Instances=2,5,1,1     
CORSEnable=1          
AllowOrigin=*         
  
[HTTPJOB]
MAIN=HTTP_START        
ENVIRONMENT=environment
  
[ONSTART]
jobs=HTTPJOB           
RefreshRate=30         

O exemplo abaixo contém  valores obrigatórios referente ao REST com comentários.

Configuração REST com comentários
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[General]
MAXSTRINGSIZE=10     
    ;//MAXSTRINGSIZE: Essa chave é obrigatória com o valor mínimo de 10.
  
[HTTPV11]
Enable=1
Sockets=HTTPREST
  
[HTTPREST]
Port=8080             
    ;//Port: Porta que o REST irá utilizar para subir o serviço, pode ser alterada para qualquer outra porta.
IPsBind=
URIs=HTTPURI
Security=1            
    ;//Security: O valor 1 é obrigatório.
  
[HTTPURI]             
    ;//HTTPURI: Mesmo valor da chave URIs, definido na linha 13.
URL=/rest             
    ;//URL: Path onde o rest irá subir, pode ser alterado.
PrepareIn=ALL         
    ;//PrepareIn: Chave que indica qual environment será preparado para o rest. ALL significa que deve ser preparado para atender todas as empresas. Caso você queira utilizar o REST com empresa 1 filial 01, por exemplo, inserir na chave 1,01.
Instances=2,5,1,1     
    ;//Instances: Chave obrigatória, mais informações sobre configuração em http://tdn.totvs.com/display/tec/Instances . A configuração desta chave impacta diretamente no total de licenças consumidas pelo REST.
CORSEnable=1          
    ;//CORSEnable: Essa chave é obrigatória e com o valor 1, caso contrário, o REST não aceitara as requisições dos apps.
AllowOrigin=*         
    ;//AllowOrigin: Essa chave limita os IP's que o REST do Protheus pode responder, deve conter o valor * (responder para qualquer ip) ou os ip's específicos onde a integração será realizada.
  
[HTTPJOB]
MAIN=HTTP_START        
    ;//MAIN: Cria um JOB que inicializa o servidor HTTP na inicialização do serviço.
ENVIRONMENT=environment
    ;//ENVIRONMENT: Diz em qual environment(ambiente) o JOB será configurado.
  
[ONSTART]
jobs=HTTPJOB           
    ;//Jobs: Indica que o HTTPJOB será iniciado quando o serviço for iniciado.
RefreshRate=30         
    ;//RefreshRate: Indica qual a taxa de atualização para reiniciar o JOB em caso de falha.

 

 

Configuração específica Meu Coletor de Dados

Exclusivamente para o aplicativo Meu Coletor de Dados, é necessário incluir a chave MODULE na seção HTTPURI:

[HTTPURI]
Module=46

A configuração do REST do Meu Coletor de Dadosnão pode ser compartilhada com os demais aplicativos.

 

Após configurado, você pode iniciar o executável do appserver do REST em modo console e verificar se subiu corretamente através da mensagem no console:


4 - Problemas mais comuns:

A falta de quaisquer uma das chaves no exemplo acima faz com que o REST não funcione como esperado. Abaixo listamos algumas:

  • SECURITY=0

               A chave SECURITY indica se o REST irá validar o usuário que está fazendo a chamada ou não, quando o valor está como 0, é desconsiderado o usuário enviado e o Protheus executa a chamada com o usuário administrador. Essa configuração traz grandes problemas de segurança para o Protheus e deve ser usado apenas em modo de desenvolvimento.
             Os aplicativos também não funcionam corretamente, pois independente do usuário que fez o login, os dados e configurações de usuário exibidos dentro do aplicativo, são do usuário administrador.
             Caso não haja a chave SECURITY, o valor dela é 1, o que esta correto também.

  • PrepareIn

            A chave prepareIn indica para quais empresas/filiais o REST irá subir uma thread. O Valor ALL usado no exemplo acima sobe uma thread para cada empresa e filial. Porém é consumida uma licença (TOTVS i) para cada thread. Caso o cliente não for utilizar todas as empresas, é possível subir apenas para as que ele deseja. Exemplo:
PrepareIn=T1, D MG 01

  • CORSEnable

           A chave CORSEnable indica se o REST do Protheus pode receber requisições fora do próprio servidor. Para utilização dos Apps, essa chave é obrigatória com o valor 1. Pois seu valor padrão é 0.

  • AllowOrigin

          A chave AllowOrigin indica de quais ip's o REST pode responder. Quando o valor é * (asterisco), indica que o Protheus pode responder para qualquer ip. Para utilização dos Apps, é possível limitar o acesso apenas para os ranges de ip's do Mingle listados abaixo: 

  • 138.219.88.0/24
  • 189.125.78.128/25
  • 187.94.48.0/20
  • 189.89.32.0/20
  • 181.41.160.0/19
  • 3.14.95.150

  • 3.14.95.34

3.14.95.255

Essa configuração também deve ser feita no firewall da rede do cliente.

5 - Validações

Existem diferentes maneiras para verificar se o REST esta com a configuração correta.


5.1. Acesso pelo navegador

Acessa-lo pelo navegador, verificando esse acesso é possível saber se o REST está confirmado. Caso não seja possível acessá-lo, os aplicativos não irão funcionar.

Como testar:

5.1.1 - Ambiente Local

Caso esteja fazendo o teste em ambiente local, siga os passos abaixo:

  1. Descobrir o ip local:
    é possível verificar rodando o comando ipconfig no command do windows:


  2. Verificar qual porta foi configurado o rest:
    é a chave Port dentro da tag HTTPREST do arquivo appserver.ini.  ( linha 9 do exemplo na sessão 3)

  3. Verificar qual a chave do rest:
    é a chave URL dentro da tag HTTPURI do arquivo appserver.ini.  ( linha 15 do exemplo na sessão 3)

Em nosso exemplo, ficaria 

http://10.172.145.178:8080/rest

Acessar o endereço pelo navegador.

5.1. 2 - Ambiente do cliente

Caso o teste seja feito em um ambiente do cliente, será necessário orientá-lo a seguir os passos acima. 

Após ter o endereço do REST em mãos, é recomendado testar de um outro aparelho que não seja o próprio servidor. Pode ser qualquer computador ou celular que esteja na mesma rede (do cliente).

Em ambos os casos, deverá ser aberta uma página semelhante a abaixo:



6 - Exposição do endereço externo

Após ter seu REST configurado e funcional no ambiente, para alguns aplicativos, pode ser necessário expo-lo em IP fixo externo (para configuração do ALIAS do Mingle).

Esta configuração deve ser feita na infraestrutura de rede de sua empresa, e os IPs de origem do Mingle devem ser liberados para realizar conexões de entrada e saída.

Importante: Não é recomendável liberar o acesso à todas as requisições no firewall, pois pode gerar um problema de segurança.

 

Exemplo de Utilização 

HTTP do Protheus, na versão 1.1, utilizando a seção HTTPV11.

Nesta seção, será indicado também qual seção será responsável por identificar os sockets que irão responder as requisições de entrada.

[HTTPV11] 

Enable=1 

Sockets=HTTPREST

 

Abaixo um exemplo de todas as seções configuradas:

[HTTPV11] 

Enable=1 

Sockets=HTTPREST

 

[HTTPREST] 

 

Port=8084

 

URIs=URIHTML

 

SECURITY=1

 

[URIHTML]

 

URL=/rest

 

PrepareIn=All

 

Instances=2,2

 

CORSEnable=1

 

AllowOrigin=*

 

[ONSTART]

 

jobs=HTTPJOB

 

RefreshRate=30

 

[HTTPJOB]

 

MAIN=HTTP_START

 

ENVIRONMENT=environment

 


Após executar todas as configurações, ao iniciar o appserver em modo console, deve ser possível visualizar a marcação do REST:

 

Saiba Mais
https://tdn.totvs.com/pages/releaseview.action?pageId=185747842

 

 

 

 

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _