Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Conteúdo

Índice
minLevel2


01. Objetivo

Esta documentação tem a finalidade de servir como uma guia no momento da integração com o TOTVS Privacidade de Dados. Para mais informações sobre a ferramenta, acesse TOTVS Privacidade de Dados.

Para tanto, abaixo seguem as instruções para que a integração seja realizada corretamente.



02. Informações

Leia os documentos Documentos de referência Referência do TOTVS Privacidade de Dados.

O produto Datasul faz o uso do Smart Link, que é um mecanismo de troca de mensagens entre aplicações TOTVSApps e aplicações OnPremises On Premises (ou remotas).

  • Foi utilizada a biblioteca Smart Link Client Java, que por meio deste foi implementado o processador de mensagens.
  • O processador de mensagens é uma aplicação java 

Obtenha informações (client, secret, name e id) do seu tenant para poder realizar as configurações necessárias nos prximos próximos passos. 




03. Instalação


Copiar arquivo compactado

O arquivo está localizado no diretório do Foundation srcfnd/interfac/smart-link/dts-smart-link-clientsmartlink-service.zip


Extrair os arquivos do arquivo compactado

Expandir
titleProcedimento

Extrair os arquivos em um

deretório

diretório de sua escolha

, sugerimos o uso do nome do seu tenant para complementar e facilitar a organização dos aterfatos

 

Abaixo um exemplo:

  • O nome da pasta extraida é dts-smart-link-client, e o complemento com o nome do tenant para exemplo é -totvs-fwk.
    • Exemplo: C:\TOTVS\dts-smart-link-client-totvs-fwk
  • Como resultado temos a estrutura abaixo:

    Exemplo:

    • Como resultado temos a estrutura abaixo:
      • C:/TOTVS/smart-link-client/README.txt
      • C:/TOTVS/smart-link-client/client/application.yml
      • C:/TOTVS/
    C:\TOTVS\dts-
      • smart-link-client
    -totvs-fwk\README.txt
      • /client/smartlink-service.jar
      • C:
    \
      • /TOTVS
    \dts-
      • /smart-link-client
    -totvs-fwk\lib\application.yml
      • /client/log
      • C:
    \
      • /TOTVS
    \dts-
      • /smart-link-client
    -totvs-fwk\lib\dts-smart-link-client.jar
      • /service/Windows/install.bat
      • C:
    \
      • /TOTVS
    \dts-
      • /smart-link-client
    -totvs-fwk\service\Windows\install.bat
      • /service/Windows/JavaService.exe
      • C:
    \
      • /TOTVS
    \dts
      • /smart-
    smart-
      • link-client
    -totvs-fwk\service\Windows\JavaService.exe
      • /service/Windows/uninstall.bat
      • C:
    \
      • /TOTVS
    \dts-
      • /smart-link-client
    -totvs-fwk\service\Windows\uninstall.bat

    Instalador de serviço para Windows

      • /service/Linux/install.sh
      • C:/TOTVS/
    Editar o arquivo "C:\TOTVS\dts-
      • smart-link-client
    -totvs-fwk\service\Windows\install.bat"
    Expandir
    titleNome do serviço
    • Sugerimos o uso do nome do seu tenant para complementar e facilitar a organização do serviço.
    • Exemplo: TOTVS-DTS-SMART-LINK-CLIENT-totvs-fwk (O nome do serviço é TOTVS-DTS-SMART-LINK-CLIENT, e o complemento é -totvs-fwk)
    • Image Removed
    Expandir
    titleDescrição do serviço
    • A descrição também pode ser alterada.
    • Image Removed
    Expandir
    titleJAVA
    • Deve ser utilizado JAVA 11
    • No arquivo estamos utilizando o %JAVA_HOME% como padrão, caso necessário faça a alteração para utilizar a sua váriavel de ambiente já existente.
    Expandir
    title Parâmetros
    • Informe a localização do arquivo dts-smart-link-client.jar no parâmetro -Djava.class.path
      • "C:\TOTVS\dts-smart-link-client-totvs-fwk\lib\dts-smart-link-client.jar" 
      • Image Removed
    • Informe a localização da pasta onde está localizado o arquivo dts-smart-link-client.jar no parâmetro -current
      • "C:\TOTVS\dts-smart-link-client-totvs-fwk\lib"
      • Image Removed

    Instalação do serviço:

    • Execute Prompt de Comando como administrador
    • Acesse o o arquivo "C:\TOTVS\dts-smart-link-client-totvs-fwk\service\Windows\install.bat"
      • Image Removed
    • Serviço instalado:
      • Image Removed

    Desinstalador de serviço para Windows

    Editar o arquivo "C:\TOTVS\dts-smart-link-client-totvs-fwk\service\Windows\uninstall.bat"

    • Informe o nome do serviço definido na etapa anterior (Instalação)
    • Image Removed

    Desinstalação do serviço:

    • Execute Prompt de Comando como administrador
    • Acesse o o arquivo "C:\TOTVS\dts-smart-link-client-totvs-fwk\service\Windows\uninstall.bat"
    • Image Removed

    03. Configuração

    Arquvio de configuração

    O arquivo de configuração application.yml está localizado na pasta lib

    • Utilizando a pasta de exemplo dos passos anteriores, podemos encontrar o arquivo em: C:/TOTVS/dts-smart-link-client-totvs-fwk/lib/application.yml  

    Configurações do arquivo application.yml

    # SERVER

    A porta de acesso da aplicação pode ser alterado na prorpriedade:

    Bloco de código
    # -------------------------------------------------
    # SERVER
    # -------------------------------------------------  
    server:
      port: 8777
    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.server.server.port

    # SPRING

    Por padrão estamos utilizando 10MB para poder trafegar metadado no formato JSON.

    Bloco de código
    # -------------------------------------------------
    # SPRING
    # ------------------------------------------------- 
    spring:
      codec:
        max-in-memory-size: 10MB

    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.core.spring.codec.max-in-memory-size

    # LOG

    O nome do arquivo de log pode ser alterado na propriedade:

    Bloco de código
    # -------------------------------------------------
    # LOG
    # -------------------------------------------------    
    logging:
      file:
        name: log/smart-link-client-datasul.log

    # SMART LINK CLIENT

    Bloco de código
    # -------------------------------------------------
    # SMART LINK CLIENT
    # -------------------------------------------------
    totvs:
      link:
        auth:
          url: https://INORMAR-NOME-TENANT.rac.INFORMAR-DEV-PROD-STAGING.totvs.app/totvs.rac/connect/token
          client: INFORMAR-CLIENT
          secret: INFORMAR-SECRET
        client:
          subscriptions:      
            - SGDPDataCommand
            - SGDPMaskCommand
        server:
          host: link.INFORMAR-DEV-PROD-STAGING.totvs.app
          port: 443
          secure: true
      tenant:
        name: INORMAR-NOME-TENANT
        id: INORMAR-ID-TENANT   
      datasul:
        url: 'http://mariscal:8380/'
        username: 'super'
        password: 'super@123'
        #linkClientUrl: 'http://totvsjoi-fwk06:8777'
        companies:
          - '10'      
        tpdDisabled: true
        jboss: false

    Leia com atenção as configurações abaixo:

    Expandir
    titleSmart Link Client Java

    O Smart Link Client Java é uma bibloteca que facilita o desenvolvimento de um LINK Client para a plataforma Java, sendo necessária a implementação de uma aplicação que implemente um processador de mensagens (LINK Client Java Application mais abaixo).

    No Smart Link Client Java utiliza o protocolo GRPC, sendo necessária a seguinte configuração:

    Bloco de código
    totvs:
      link:
        server:
          host: link.INFORMAR-DEV-PROD-STAGING.totvs.app
          port: 443
          secure: true
    • INFORMAR-DEV-PROD-STAGING: Subistituir pelo tipo do seu ambient tenant (dev, prod, staging)
    • Exemplo: link.staging.totvs.app

    Deve ser informada também uma lista de subscrições, onde somente mensagens com determinados "types" são efetivamente enviadas para o Smart Link Client. 

    No Smart Link Client Java é necessária a seguinte configuração:

    Bloco de código
    totvs:
      link:
        client:
          subscriptions:
            - SGDPDataCommand
            - SGDPMaskCommand

    O produto Datasul está preparado para processar os tipos SGDPDataCommand e SGDPMaskCommand, o arquivo application.yml já possui essa configuração.

    Expandir
    titleSmart Link Client Single Tenant

    O produto Datasul suporta apenas o single tenant, é necessária a seguinte configuração:

    Bloco de código
    totvs:
      link:
        auth:
          url: https://INORMAR-NOME-TENANT.rac.INFORMAR-DEV-PROD-STAGING.totvs.app/totvs.rac/connect/token
          client: INFORMAR-CLIENT
          secret: INFORMAR-SECRET
    • INFORMAR-DEV-PROD-STAGING:  Subistituir pelo tipo do seu ambient tenant (dev, prod, staging).
    • INFORMAR-CLIENT: Subistituir pelo valor do seu client.
    • INFORMAR-SECRET:  Subistituir pelo valor da sua secret.
    Expandir
    titleTenant

    Informar os valores do seu Tenant:

    Bloco de código
    totvs:
      tenant:
        name: INORMAR-NOME-TENANT
        id: INORMAR-ID-TENANT 
    • INORMAR-NOME-TENANT: Subistituir pelo valor do seu tenant.
    • INORMAR-ID-TENANT:  Subistituir pelo valor do id do seu tenant.
    Expandir
    titleDatasul

    Informar os valores do seu Tenant:

    Bloco de código
    totvs:
      tenant:
        name: INORMAR-NOME-TENANT
        id: INORMAR-ID-TENANT 
    • INORMAR-NOME-TENANT: Subistituir pelo valor do seu tenant.
    • INORMAR-ID-TENANT:  Subistituir pelo valor do id do seu tenant.

    04. Como redefinir a senha

    Para redefinir a senha, utilize o serviço passwordReset existente no contexto totvs-login, seguindo as premissas: 

    O método de requisição é do tipo POST 

    Não possui autenticação na requisição.

    A autorização para redefinição de senha será por meio do código de acesso.

    Expandir
    titleDeve ser enviado um JSON no corpo da requisição

    guid: É o código de acesso, que o usuário recebeu por e-mail;

    newPassword: É a nova senha do usuário;

    confirmNewPassword: É a confirmação da senha do usuário;

    Exemplo:

    Image Removed

    Expandir
    titleCaso não atenda os requisitos acima será retornado erro

    Erros sem mensagens: Erro de sintaxe inválida, terá como retorno status 400 Bad RequestExemplo: Corpo da requisição errada ou sem valor.

    Erros com mensagens: são retornadas no formato JSON.

    Image Removed

    http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset

    Image Removed

    05. Como modificar a mensagem do e-mail

    A modificação da mensagem do e-mail ocorre por meio de um programa registrado, que será responsável pela criação da mensagem do e-mail. A chave do registro do programa deve ser enviada no parâmetro keyTemplate.  

    http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset?email=<E-MAIL_DO_USUÁRIO>&keyTemplate=<CHAVE_DO_REGISTRO> 

    Image Removed

    Expandir
    titleCaso não exista registro para chave, será utilizado o e-mail padrão

    Image Removed

    Expandir
    titleExemplo de e-mail modificado, recebido pelo usuário

    Image Removed

    Desenvolvendo o programa para modificar a mensagem do e-mail.

    A mensagem deve ser criada em formato HTML;

    A mensagem não pode utilizar a tag <script>;

    Criar programa progress para retornar a mensagem do e-mail, neste programa deve existir a procedure pi-html, tendo como parâmetro de entrada JsonObject e parâmetro de saída CHARACTER.

      • /service/Linux/SmartLinkClient.service
      • C:/TOTVS/smart-link-client/service/Linux/SmartLinkClient.sh
      • C:/TOTVS/smart-link-client/service/Linux/start.sh
      • C:/TOTVS/smart-link-client/service/Linux/stop.sh
      • C:/TOTVS/smart-link-client/service/Linux/uninstall.sh

    Instalador de serviço para Windows

    Expandir
    titleProcedimento

    Editar o arquivo "/service/Windows/install.bat"

    Edite LINK_CLIENT respeitando o diretório onde foi descompactado o smart-link-client

    Bloco de código
    languagebash
    themeRDark
    :default
    @echo on
    
    chcp 65001
    
    set LINK_CLIENT=C:/TOTVS/smart-link-client/client
    
    JavaService.exe -install "TOTVS-SMART-LINK-CLIENT" "%JAVA_HOME%/bin/server/jvm.dll" -Djava.class.path="%LINK_CLIENT%/smartlink-service.jar" -start org.springframework.boot.loader.JarLauncher -err "%LINK_CLIENT%/log/smart-link-client_err.log" -current "%LINK_CLIENT%" -manual -description "TOTVS DATASUL SMART LINK CLIENT"
    
    @echo off
    
    :eof
    
    @echo .
    @echo .
    @echo .
    PAUSE.
    Expandir
    titleNome do serviço
    • Por padrão temos o nome do serviço definido como "TOTVS-SMART-LINK-CLIENT"
    • Sugerimos o uso do nome do seu tenant para complementar e facilitar a organização do serviço.
    Expandir
    titleDescrição do serviço
    • A descrição do serviço pode ser alterada por meio do parâmetro -description.
    Expandir
    titleJAVA
    • Deve ser utilizado JAVA 11
    • No arquivo estamos utilizando o %JAVA_HOME% como padrão, caso necessário faça a alteração para utilizar a sua variável de ambiente já existente.
    Expandir
    title Parâmetros
    • Os parâmetros -Djava.class.path, -current e -err fazem o uso do valor informando em LINK_CLIENT (ajustar para o diretório definido nas etapas anteriores).

    Instalação do serviço:

    • Execute Prompt de Comando como administrador
    • Execute o arquivo "/service/Windows/install.bat"

    Desinstalador de serviço para Windows

    Expandir
    titleProcedimento

    Editar o arquivo "/service/Windows/uninstall.bat"

    • Informe o nome do serviço definido na etapa anterior (Instalador de serviço para Windows)

    Desinstalação do serviço:

    • Execute Prompt de Comando como administrador
    • Execute o arquivo "/service/Windows/uninstall.bat"

    Instalador de serviço para Linux

    Expandir
    titleProcedimento


    Para a instalação do serviço no Linux certifique-se de que os passos a seguir foram realizados:

    1. Definir a descrição do serviço:
      1. Edite o arquivo "service/Linux/SmartLinkClient.service", localizado no local onde o projeto foi extraído, e informe no atributo "Description", a descrição do serviço:
      2. Por padrão temos o nome do serviço definido como "TOTVS-SMART-LINK-CLIENT"
      3. Sugerimos o uso do nome do seu tenant para complementar e facilitar a organização do serviço.
    2. Configurar o arquivo application.yml
      1. Veja a sessão 04 deste documento.
    3. Editar o arquivo "/service/Linux/install.sh" localizado onde o projeto foi extraído.
      1. Informar na variável PATH_SOURCE_SMART_LINK_CLIENT, localizado na linha 13, o local onde o projeto foi extraído.


    Bloco de código
    languagebash
    themeRDark
    firstline1
    linenumberstrue
    #!/bin/bash
    
    ERRO="A instalação do Smart Link Client encontrou problema(s). Verifique o(s) aviso(s) acima."
    
    checkCommandError(){
            if [ $? -ne 0 ]; then
    		echo ""
    		echo "$ERRO"
    		exit 0
            fi
    }
    
    PATH_SOURCE_SMART_LINK_CLIENT="local-onde-foi-extraido/smart-link-client"
    PATH_SMART_LINK_CLIENT="/usr/local/smart-link-client"
    
    checkCommandError
    
    echo "Instalação do Smart Link Client"
    
    echo 'Copiando SmartLinkClient.service para /etc/systemd/system'
    sudo cp -p "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/SmartLinkClient.service" /etc/systemd/system/SmartLinkClient.service
    checkCommandError
    
    echo 'Copiando SmartLinkClient.sh para /usr/local/bin' 
    sudo cp -p "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/SmartLinkClient.sh" /usr/local/bin/SmartLinkClient.sh
    checkCommandError
    
    echo 'Concedendo permissao para execucao'
    sudo chmod +x /usr/local/bin/SmartLinkClient.sh
    checkCommandError
    
    sudo mkdir "$PATH_SMART_LINK_CLIENT"
    checkCommandError
    
    sudo mkdir "$PATH_SMART_LINK_CLIENT/client"
    checkCommandError
    
    echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/client para $PATH_SMART_LINK_CLIENT" 
    sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/client/" "$PATH_SMART_LINK_CLIENT"
    checkCommandError
    
    sudo mkdir "$PATH_SMART_LINK_CLIENT/service"
    checkCommandError
    
    echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/start.sh para $PATH_SMART_LINK_CLIENT/service" 
    sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/start.sh" "$PATH_SMART_LINK_CLIENT/service"
    checkCommandError
    
    echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/stop.sh para $PATH_SMART_LINK_CLIENT/service"
    sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/stop.sh" "$PATH_SMART_LINK_CLIENT/service"
    checkCommandError
    
    echo 'Habilitando SmartLinkClient ...'
    sudo systemctl enable SmartLinkClient
    sudo systemctl daemon-reload
    
    echo 'Iniciando SmartLinkClient ...'
    sudo systemctl start SmartLinkClient
    echo 'Fim da instalacao.'
    
    


    Instalando o serviço:

    • Abra um terminal e execute o arquivo "/service/Linux/install.sh", que está localizado onde o projeto foi extraído.

    • O comando ficaria como: sudo bash /"local-onde-projeto-foi-extraido"/smart-link-client/service/Linux/install.sh
    • O script de instalação fará a inicialização do serviço automaticamente.
    • Start e Stop manuais:
      • Caso necessite interromper ou inicial o serviço manualmente. 
      • para iniciar o serviço, execute:
        • sudo bash /usr/local/smart-link-client/service/start.sh
      • para parar o serviço, execute:
        • sudo bash /usr/local/smart-link-client/service/stop.sh

    Informações
    titleAtenção
    • O diretório ao qual o projeto foi extraído não é o mesmo local onde o projeto será instalado:
    • A instalação do smart-link-client será em /usr/local/
    • Após a instalação, o projeto extraído torna-se necessário somente para a execução do script de instalação e desinstalação, uma vez que os demais arquivos foram copiados para o destino /usr/local/smart-link-client
    • A saída de logs do smart-link-client ocorrerá no diretório em que foi instalado, no caso, /usr/local/smart-link-client/client/log


    Desinstalador de serviço para Linux

    Expandir
    titleProcedimento
    • Abra um terminal e execute o arquivo "/service/Linux/uninstall.sh", que está localizado onde o projeto foi extraído.
    • O comando ficaria como: sudo bash /"local-onde-projeto-foi-extraido"/smart-link-client/service/Linux/uninstall.sh
    • Ao desinstalar o serviço, a pasta /usr/local/smart-link-client será removida

    04. Configuração


    Arquivo de configuração

    Arquivo de configuração application.yml.

    Utilizando a pasta de exemplo dos passos anteriores, podemos encontrar o arquivo em: "/client/application.yml"


    Configurações do arquivo application.yml


    Aviso

    Leia com atenção o detalhamento das configurações abaixo:

    # SERVER

    A porta de acesso da aplicação pode ser alterado na propriedade:

    Bloco de código
    languageyml
    themeRDark
    # -------------------------------------------------
    # SERVER
    # -------------------------------------------------  
    server:
      port: 8777
    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.server.server.port


    # SPRING

    Por padrão estamos utilizando 10MB para poder trafegar metadado no formato JSON.

    Bloco de código
    languageyml
    themeRDark
    # -------------------------------------------------
    # SPRING
    # ------------------------------------------------- 
    spring:
      codec:
        max-in-memory-size: 10MB

    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.core.spring.codec.max-in-memory-size


    # LOG

    O nome do arquivo de log pode ser alterado na propriedade:

    Bloco de código
    languageyml
    themeRDark
    # -------------------------------------------------
    # LOG
    # -------------------------------------------------    
    logging:
      file:
        name: log/smart-link-client.log
    https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.core.logging.file.name


    # SPRING ACTUATOR

    Bloco de código
    languageyml
    themeRDark
    # -------------------------------------------------
    # SPRING ACTUATOR
    # -------------------------------------------------     
    management:
      endpoints:
        web:
          exposure:
            include: "*"
          base-path: "/doc-hc"

    # SMART LINK CLIENT

    Bloco de código
    languageyml
    themeRDark
    # -------------------------------------------------
    # SMART LINK CLIENT
    # -------------------------------------------------
    totvs:
      link:
        auth:
          url: INFORMAR_URL_RAC
          client: INFORMAR-CLIENT
          secret: INFORMAR-SECRET
        client:
          subscriptions:
            - SGDPDataCommand
            - SGDPMaskCommand
            - SGDPLogsCommand
        server:
          host: INFORMAR_HOST
          port: 443
          secure: true
      tenant:
        name: INFORMAR-NOME-TENANT
        id: INFORMAR-ID-TENANT
        application:
          url: 'INFORMAR_URL_DATASUL'
          username: 'INFORMAR_USUÁRIO'
          password: 'INFORMAR_SENHA'
          messages:
            - type: SGDPDataResponse
            - type: SGDPMaskResponse
            - type: SGDPLogsResponse
            - type: SGDPUpdateTenantMetadata        
          audiences:
            - type: SGDP               
          subscriptions:
            - subscription: SGDPDataCommand
              route: api/sec/v1/sgdp/commands
              dataSources:
                - companyId: 'INFORMAR_CÓDIGO_EMPRESA'
                  rpw: 'INFORMAR_EMPRESA:INFORMAR_RPW'          
            - subscription: SGDPMaskCommand
              route: api/sec/v1/sgdp/commands
              dataSources:
                - companyId: 'INFORMAR_CÓDIGO_EMPRESA'
                  rpw: 'INFORMAR_EMPRESA:INFORMAR_RPW'          
            - subscription: SGDPLogsCommand
              route: api/sec/v1/sgdp/commands
              dataSources:
                - companyId: 'INFORMAR_CÓDIGO_EMPRESA'
                  rpw: 'INFORMAR_EMPRESA:INFORMAR_RPW' 
    Aviso

    Leia com atenção o detalhamento das configurações abaixo:

    Expandir
    titleSmart Link Client Java

    O Smart Link Client Java é uma biblioteca que facilita o desenvolvimento de um LINK Client para a plataforma Java, sendo necessária a implementação de uma aplicação que implemente um processador de mensagens (LINK Client Java Application mais abaixo).

    No Smart Link Client Java utiliza o protocolo GRPC, sendo necessária a seguinte configuração:

    Bloco de código
    languageyml
    themeRDark
    totvs:
      link:
        server:
          host: INFORMAR_HOST
          port: 443
          secure: true
    • INFORMAR_HOST:  Utilizar o host conforme o tipo do seu ambiente:
      • DEV: api-smartlink.dev.totvs.app
      • STAGING: api-smartlink.staging.totvs.app
      • PROD: api-smartlink.totvs.app
    Expandir
    titleSmart Link Client Single Tenant

    O produto Datasul suporta apenas o single tenant, é necessária a seguinte configuração:

    Bloco de código
    languageyml
    themeRDark
    totvs:
      link:
        auth:
          url: INFORMAR_URL_RAC
          client: INFORMAR-CLIENT
          secret: INFORMAR-SECRET
    • INFORMAR_URL_RAC:  Utilizar a url conforme o tipo do seu ambiente:
      • DEV: https://admin.rac.dev.totvs.app/totvs.rac/connect/token
      • STAGING: https://admin.rac.staging.totvs.app/totvs.rac/connect/token
      • PROD https://admin.rac.totvs.app/totvs.rac/connect/token
    • INFORMAR-CLIENT: Substituir pelo valor do seu client.
    • INFORMAR-SECRET:  Substituir pelo valor da sua secret.
    Expandir
    titleTenant

    Informar os valores do seu Tenant:

    Bloco de código
    languageyml
    themeRDark
    totvs:
      tenant:
        id: INFORMAR-ID-TENANT 
    • INFORMAR-ID-TENANT:  Substituir pelo valor do id do seu tenant.
    Expandir
    titleDatasul
    Aviso

    Utilize aspas simples para valores do tipo texto ao informar as configurações do produto Datasul.

    A  comunicação acontece nos dois sentidos (TOTVS Privacidade de Dados > Datasul) e (Datasul > TOTVS Privacidade de Dados) por meio das configurações abaixo:

    Bloco de código
    languageyml
    themeRDark
    totvs:
      product:
        url: 'INFORMAR_URL_DATASUL'
        username: 'INFORMAR_USUÁRIO'
        password: 'INFORMAR_SENHA'    
    • INFORMAR_URL_DATASUL: Substituir pelo valor do seu ambiente Datasul.
      • Exemplo: 'http://localhost:8080'
    • INFORMAR_USUÁRIO:  Substituir pelo valor de um usuário existente no Datasul. 
    • INFORMAR_SENHA:  Substituir pelo valor da senha do usuário.
    • INFORMAR_CÓDIGO_EMPRESA: Informar código da empresa
    • INFORMAR_EMPRESA:INFORMAR_RPW: Informar o servidor de execução do processamento (Código da empresa : Código do Servidor de execução)
    Informações

    Ao informar o endereço de um ambiente Datasul com protocolo HTTPS na configuração totvs.product.url, realize a importação dos certificados do ambiente Datasul na JVM que está executando o smart-link-client.jar, para importação utilize a ferramenta keytool.

    Bloco de código
    languageyml
    themeRDark
    totvs:
      product:
        url: 'https://meu-servidor:8080'    
    Informações

    Ao atualizar qualquer propriedade de configuração o serviço deverá ser iniciado novamente, permitindo a leitura das configurações atualizadas.


    05. Iniciar o serviço instalado


    Após concluir as etapas anteriores, basta iniciar o serviço instalado e verificar no log se a aplicação foi iniciada com sucesso.

    Starting Application

    Bloco de código
    themeRDark
    INFO 15788 --- [main] com.totvs.link.client.Application        : Starting Application v12.1.34-NFRW-SNAPSHOT on 00000 with PID 15788 (C:\TOTVS\smart-link-client\client\smart-link-client.jar started by 00000$ in C:\TOTVS\smart-link-client\client)
    INFO 15788 --- [main] com.totvs.link.client.Application        : No active profile set, falling back to default profiles: default
    INFO 15788 --- [main] com.totvs.link.client.LinkService        : *** Connecting to server (link.staging.totvs.app:443)
    INFO 15788 --- [main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
    INFO 15788 --- [main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8777
    INFO 15788 --- [main] com.totvs.link.client.Application        : Started Application in 4.994 seconds

    Para facilitar a visualização de log foi adicionada a infomação [SMART-LINK-CLIENT] no LOG para as classes java implementadas.

    Bloco de código
    themeRDark
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.readyEvent]
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration (totvs.product)
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration name: Datasul
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration username: ----
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration url: http://----:8380/
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration password: *********
    INFO 3528 --- [main] c.totvs.link.client.ApplicationStartup   : [SMART-LINK-CLIENT][ApplicationStartup.showConfiguration] Configuration companies: [10] 
    INFO 3528 --- [main] c.t.l.c.d.ProductSyncDefaultMetadata     : [SMART-LINK-CLIENT][ProductSyncDefaultMetadata.sync]
    INFO 3528 --- [main] c.t.l.client.product.ProductSendMessage  : [SMART-LINK-CLIENT][ProductSendMessage.send][REQUEST][GET] to http://----:8380/api/sec/v1/sgdp/metadata/default
    INFO 3528 --- [main] c.t.l.client.product.ProductSendMessage  : [SMART-LINK-CLIENT][ProductSendMessage.send][RESPONSE][GET][200] from http://----:8380/api/sec/v1/sgdp/metadata/default
    INFO 3528 --- [main] c.t.l.c.d.ProductSyncDefaultMetadata     : [SMART-LINK-CLIENT][ProductSyncDefaultMetadata.sync] Sending message to Smart Link Server - type: SGDPUpdateApplicationMetadata - metadado: {"header":{"type":"SGDPUpdateApplicationMetadata"},"content":{"models":{},"codes":{},"package":"Datasul","productId":"Datasul","readOnly":true,"smartLink":"singleTenant","localLogs":false,"applicationId":"Datasul"}}
    INFO 3528 --- [main] c.t.l.c.d.ProductSyncDefaultMetadata     : [SMART-LINK-CLIENT][ProductSyncDefaultMetadata.sync] Sent to Smart Link Server
    INFO 3528 --- [main] c.t.l.c.product.ProductUpdateProperties  : [SMART-LINK-CLIENT][ProductUpdateProperties.update]
    INFO 3528 --- [main] c.t.l.c.product.ProductUpdateProperties  : [SMART-LINK-CLIENT][ProductUpdateProperties.update] {"companies":["10"],"subscriptions":["SGDPDataCommand","SGDPMaskCommand"],"linkClientUrl":"http://----:8777","tpdDisabled":false}
    INFO 3528 --- [main] c.t.l.client.product.ProductSendMessage  : [SMART-LINK-CLIENT][ProductSendMessage.send][REQUEST][POST] to http://----:8380/api/btb/v1/properties/integrations/totvslinkclient
    INFO 3528 --- [main] c.t.l.client.product.ProductSendMessage  : [SMART-LINK-CLIENT][ProductSendMessage.send][RESPONSE][POST][200] from http://----:8380/api/btb/v1/properties/integrations/totvslinkclient
    INFO 3528 --- [main] c.t.l.c.product.ProductUpdateProperties  : [SMART-LINK-CLIENT][ProductUpdateProperties.update] OK
    Expandir
    titlePrograma de exemplo

    O parâmetro de entrada é do tipo JsonObject, será enviado com a estrutura e valores abaixo:

    Bloco de código
    themeRDark
    {
      "guid": "Código de acesso do usuário",
      "cod_usuario": "Código do usuário",
      "nom_usuario": "Nome do usuário"
      "url": "Servidor e porta configurados em Parâmetros Gerais, Para mais informações leia o conteúdo 02. Configuração",
    }

    O parâmetro de saída é do tipo CHARACTER, onde deve ser retornada a mensagem HTML.

    Bloco de código
    themeRDark
    titleAssinatura da Procedure
    USING Progress.Json.ObjectModel.*.
    
    {include/i-prgvrs.i EXEMPLO 2.00.00.001 }
    
    PROCEDURE pi-html:
        DEFINE INPUT   PARAMETER jsonIn    AS JsonObject NO-UNDO.
        DEFINE OUTPUT  PARAMETER htmlOut   AS CHARACTER  NO-UNDO.
    	
    	//Implementar Lógica para criar o retorno HTML    
    END PROCEDURE.

    Programa de exemplo:

    View file
    nameexemplo.zip
    height250

    Expandir
    titleResultado do e-mail

    Image Removed

    Como registrar um programa.

    O método de requisição é do tipo POST 

    A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

    Não será realizada validação do programa ao registrá-lo. 

    Caso aconteça algum erro em tempo de execução com o programa registrado, será lançado erro no arquivo de log do servidor de aplicação Progress e será retornada mensagem padrão.

    Expandir
    titleDeve ser enviado um JSON no corpo da requisição

    key: Não pode passar o limite de 20 caracteres. Exemplos: fnd_access_code, app_rh_access_code.

    value: Informar o programa responsável pela modificação da mensagem do e-mail.

    Bloco de código
    themeRDark
    {
      "key": "fnd_access_code",
      "value": "sec/exemplo.r"
    }

    http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates

    Image Removed

    Como atualizar o registro de um programa.

    O método de requisição é do tipo PUT

    A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

    Expandir
    titleDeve ser enviado um JSON no corpo da requisição

    value: Informar o programa responsável pela modificação da mensagem do e-mail.

    Bloco de código
    themeRDark
    {
      "value": "sec/exemplo.r"
    }

    Informar a chave do registro na URL.

    http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

    Image Removed

    Como remover um programa registrado.

    O método de requisição é do tipo DELETE

    A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para Antiga Arquitetura (JBOSS) e Nova arquitetura DTS4THF(TOMCAT).

    Informar a chave do registro na URL.

    http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

    Image Removed

    Como retornar um programa registrado.

    O método de requisição é do tipo GET

    A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

    Informar a chave do registro na URL.

    http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code

    Image Removed

    Como retornar todos os programas registrados.

    O método de requisição é do tipo GET

    A requisição precisa de autenticação. Para mais informações sobre autenticação de API acesse a página Desenvolvimento de APIs para o produto Datasul, deve se atentar com os modos de autenticação para DATASUL e DATASUL FOR THF.

    http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates

    Image Removed