Problema

01. Certificado não Confiável - Carol

Ao tentar acessar o endereço https://app.carol.ai pelo navegador, a mensagem de erro é apresentada:

“This site is not secure” error in a technical language is named as DLG_FLAGS_INVALID_CA or DLG_FLAGS_SEC_CERT_CN_INVALID. It occurs when people are trying to open certain websites. ... problems with website's security certificate; missing he trusted root certificate for the Certification Authority (CA) on the site."

Possível causa

Geralmente se trata de configurações de Firewall ou da GPO (group policy object) do servidor.

Solução

Ajuste nas regras de GPO (group policy object) do servidor.



Problema

02. Firewall bloqueando endereços e portas

Failed to connect to URL port 443: TIMED OUT

Possível causa

O Firewall pode estar bloqueando a comunicação com algumas URLs que contenha "google.com", "totvs.app" e "carol.ai", "googleapis.com" e pode ocasionar TIMED OUT.


Solução

O Firewall precisa liberar todos os endereços listados acima inclusive os endereços que contenham: "googleapi.com" nas portas 80 e 443, caso contrário pode dar erro de Timed out.

Obs: deve-se utilizar o aplicativo de curl em todas as máquinas de JobServer do ambiente do cliente conforme abaixo. Esse comando deve ser rodado pelo "cmd no módulo admin". E a resposta da execução desse comando deverá retornar um json contendo os dados.


Exemplo:

curl --location --request GET "https://endpoint-registry.totvs.app/api/v1/services" --header "User-Agent: RM" --header "Accept: */"


-------------------------------


Ferramentas de teste de solução de problemas de conexão SSL / TLS (Totvs App precisa de TLS1.2 handshake)

Existe um troubleshooting da Microsoft abordando diversas formas de se testar a comunicação:

https://techcommunity.microsoft.com/t5/azure-paas-blog/ssl-tls-connection-issue-troubleshooting-test-tools/ba-p/2240059


Utilizando CURL

curl -v https://endpoint-registry.dev.totvs.app/api/v1/services --tlsv1.0

curl -v https://admin.rac.totvs.app/totvs.rac/connect/token --tlsv1.0

curl -v https://endpoint-registry.dev.totvs.app/api/v1/services --ciphers ECDHE-RSA-NULL-SHA --tlsv1.2


Resposta esperada (Sucesso)



03. Erro ao buscar aplicativos

No assistente de configuração do TotvsApps no RM.exe, ao buscar os aplicativos disponíveis, poderá ocorrer o seguinte erro: "Falha ao carregar"


Ao clicar no botão "Buscar apps", nesse momento, 3 api's da plataforma TotvsApp's serão executadas para fornecimento de informações, entre elas:


a) - Api responsável em retornar todos os endereços disponíveis da plataforma TotvsApps.

O retorno dessa api, oferecerá todos os outros endereços de conexão na plataforma Totvsapps.


Algum problema de conectividade poderá ocorrer nessa chamada. Portanto, é importante utilizar o aplicativo "curl" para verificar se a chamada está sendo realizada com sucesso.

Nesse caso, basta rodar o comando abaixo em todas as máquinas de servidor de aplicação (máquinas que respondem a solicitações de tela) do ambiente de produção do cliente conforme exemplo

curl --location --request GET "https://endpoint-registry.totvs.app/api/v1/services" --header "User-Agent: RM" --header "Accept: */"

Se o comando curl não estiver disponível na máquina, basta baixá-lo do endereço a seguir: https://curl.se/windows/


Deve ser retornado um json no seguinte formato, conforme exemplo:

[
    {
        "service""carol-staging-tables-sync",
        "endpoints": [
            {
                "version""2",
                "address""https://app.carol.ai/api/v2/staging/tables/{table}/sync"
            },
            {
                "version""3",
                "address""https://app.carol.ai/api/v3/staging/tables/{table}/sync"
            }
        ]
    },

.

.



b) - Api responsável em retornar accesstoken de acesso no Rac

O retorno dessa api, fornecerá o accessToken de acesso para todas as outras api's da plataforma TotvsApps.


Algum problema de conectividade poderá ocorrer nessa chamada. Portanto, é importante utilizar o aplicativo "curl" para verificar se a chamada está sendo realizada com sucesso. Nesse caso, basta rodar o comando abaixo em todas as máquinas de servidor de aplicação (máquinas que respondem a solicitações de tela) do ambiente de produção do cliente conforme exemplo

curl --location --request POST "https://admin.rac.totvs.app/totvs.rac/connect/token" --header "Content-Type: application/x-www-form-urlencoded" --data-urlencode "grant_type=client_credentials" --data-urlencode "client_id=1111111111111111111" --data-urlencode "client_secret=222222222222222222222" --data-urlencode "scope=authorization_api"


Deve ser retornado um json no seguinte formato, conforme exemplo:

{
    "access_token""eyJhbGciOiJSUzI1NiIsImtpZCI6IjJiYjZmYzUyM2ZjNzQwZjI4NmMxOTZmY2ExMzUyNzE2IiwidHlwIjoiSldUIn0.eyJuYmYiOjE2NDc1Mzg0ODAsImV4cCI6MTY0NzUzOTY4MCwiaXNzIjoiaHR0cHM6Ly9hZG1pbi5yYWMudG90dnMuYXBwL3RvdHZzLnJhYyIsImF1ZCI6ImF1dGhvcml6YXRpb25fYXBpIiwiY2xpZW50X2lkIjoiODVhYWFmMjU5YTdhNGM2MWIwNmQwMDg3M2I0OWQ1M2QiLCJodHRwOi8vd3d3LnRuZi5jb20vaWRlbnRpdHkvY2xhaW1zL3Byb2R1Y3ROYW1lIjoiK1NhbGRvIiwiaHR0cDovL3d3dy50bmYuY29tL2lkZW50aXR5L2NsYWltcy9wcm9kdWN0SWQiOiIyMCIsImh0dHA6Ly93d3cudG5mLmNvbS9pZGVudGl0eS9jbGFpbXMvdGVuYW50SWQiOiI1ZGFkMDdjYy1mY2E0LTRmMWQtYmFiYi1iMTA0YzJhMTFjOTYiLCJpYXQiOjE2NDc1Mzg0ODAsInNjb3BlIjpbImF1dGhvcml6YXRpb25fYXBpIl19.wQi5JXsN_7pMpC-kj7pmS9Pnr-RiV45anwZ2bopy3usKKPJH6Pk9W-sMvuQ3G_mhIYSear1vQMK3OgTDwTNmLBHTjRu3AN6WW7L2oBn9bebYCpLZHtarK8DQ3JrHBpkwmhtsex62_ZDFwDS0rFf8j7JBWJJN3uib2U9ttZ1OhEe__PykmSFJ6yTdg51AlS4RSKrSMqzFIpiDKq8_ZK4E_rCJFwXNYx1dk7eChEfBy5o-CYDiM-YNLsFi2ingZDap7WnD1jpNgs9YyrxwUqYXGwX9hkE2ieUNHDxlw5Xp2hWTtvFSqdKjEpE4sGUA6K3Mi-tuZuNygbSoyWPcImENbQ",
    "expires_in"1200,
    "token_type""Bearer"
}



c) - Api responsável em retornar os aplicativos que o cliente tem acesso

O retorno dessa api, fornecerá um json contendo os aplicativos que o cliente tem acesso.

O acessToken recuperado na chamada acima deverá ser enviada nessa chamada de api conforme exemplo abaixo no postMan:


Algum problema de conectividade poderá ocorrer nessa chamada. Portanto, é importante utilizar o aplicativo "curl" para verificar se a chamada está sendo realizada com sucesso. Nesse caso, basta rodar o comando abaixo em todas as máquinas de servidor de aplicação (máquinas que respondem a solicitações de tela) do ambiente de produção do cliente conforme exemplo

curl --location --request GET "https://provisioning.totvs.app/api/data-management/v1/apps/by-tenant" --header "split-metadata: true" --header "Authorization:Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjJiYjZmYzUyM2ZjNzQwZjI4NmMxOTZmY2ExMzUyNzE2IiwidHlwIjoiSldUIn0.eyJuYmYiOjE2NDc1Mzg2MjMsImV4cCI6MTY0NzUzOTgyMywiaXNzIjoiaHR0cHM6Ly9hZG1pbi5yYWMudG90dnMuYXBwL3RvdHZzLnJhYyIsImF1ZCI6ImF1dGhvcml6YXRpb25fYXBpIiwiY2xpZW50X2lkIjoiODVhYWFmMjU5YTdhNGM2MWIwNmQwMDg3M2I0OWQ1M2QiLCJodHRwOi8vd3d3LnRuZi5jb20vaWRlbnRpdHkvY2xhaW1zL3Byb2R1Y3ROYW1lIjoiK1NhbGRvIiwiaHR0cDovL3d3dy50bmYuY29tL2lkZW50aXR5L2NsYWltcy9wcm9kdWN0SWQiOiIyMCIsImh0dHA6Ly93d3cudG5mLmNvbS9pZGVudGl0eS9jbGFpbXMvdGVuYW50SWQiOiI1ZGFkMDdjYy1mY2E0LTRmMWQtYmFiYi1iMTA0YzJhMTFjOTYiLCJpYXQiOjE2NDc1Mzg2MjMsInNjb3BlIjpbImF1dGhvcml6YXRpb25fYXBpIl19.t8s4wJZEfOA1yGq1jUVzNdCVTs_cXh8hMhP8pXzqMAoG1uSjsK88nDngvOXmbDwD5xBwJSoQistDDGNVFLEzrYXlgVSWd3hP26gZtvYIg-jM1MWwxayW8UXbFIIXDxG_xv0GB81-CaE8T7Dy6b2xx3w766NADJsEAkvx1qLzSXHE8lLSr-cSdLG9xVb7YfbubD2s2Y1oyWKtkW9ZdGiUoAjR27neWNgVlRbBz9IDel2omTdUeDN5vohoADNJuHOlZ0Z6QelMLOq3KTAA48hASMc1-wgq5glRp-W2H54tUqyTdU9Gv1LjN_F9Sjf4OMROZfMINjzOlBZuxFpcVU_mQQ"


Deve ser retornado um json no seguinte formato, conforme exemplo:

[
    {
        "productName""Consignado",
        "productKey""saldo"
    }
]



HABILITAR TLS

Em alguns casos é necessário ajustar o TLS do servidor.

Para ajustar basta criar um arquivo com a extensão .Reg e escrever o comando abaixo. Após criar o arquivo basta executar.

Importante que todos os servidores que processam Jobs estejam com essa configuração.

Atenção

Antes de Executar é importante fazer o backup das todas as chaves descritas no bloco de código.

Windows Registry Editor Version 5.00
; 0x00000008	Habilitar o SSL 2.0 por padrão
; 0x00000020	Habilitar SSL 3.0 por padrão
; 0x00000080	Habilitar TLS 1.0 por padrão
; 0x00000200	Habilita o TLS 1.1 por padrão
; 0x00000800	Habilitar TLS 1.2 por padrão


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
     "DefaultSecureProtocols"=dword:0x00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
     "DefaultSecureProtocols"=dword:0x00000800 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] 
 "DisabledByDefault"=dword:00000000
 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] 
 "DisabledByDefault"=dword:00000000



04. App desativado

Problema

O app foi desativado na tela de integração:

A tela acima só está disponível a partir da versão 12.1.2306.
Nas versões anteriores o erro pode ser identificado através do log, utilizando a tag TotvsApps.

Possível causa

Uma possível causa para esse problema é a de que as triggers (gatilhos no banco de dados) foram apagadas ou desativadas. Isso gera problemas na integração, que se desativa para garantir a integridade dos dados.

Solução

Para solucionar esse problema, existem duas formas:

A primeira opção é a solução ótima, mas só está disponível a partir da versão 12.1.2306.
Para as versões anteriores, a opção 2 é ideal.

Opção 1

Na tela da integração, clicando na coluna de Ação do respectivo app, é necessário selecionar a opção REPARAR, e, então, clicar em Executar no canto inferior da janela:

Opção 2

A segunda forma é desativando e ativando novamente a integração. Desta forma, as triggers serão recriadas no momento da reativação.

  • Sem rótulos