Histórico da Página
Conteúdo
Índice minLevel 2
03. Instalação
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 |
# 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 |
04. Configuração
05. Iniciar o serviço instalado
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 | ||
---|---|---|
| ||
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 |
# 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:
title | Smart 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.
title | Smart 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.
title | Tenant |
---|
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.
title | Datasul |
---|
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 | ||
---|---|---|
| ||
Exemplo: |
Expandir | ||
---|---|---|
| ||
Erros sem mensagens: Erro de sintaxe inválida, terá como retorno Erros com mensagens: são retornadas no formato |
http://<SERVIDOR>:<PORTA>/totvs-login/passwordReset
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>
Expandir | ||
---|---|---|
| ||
Expandir | ||
---|---|---|
| ||
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.
title | Programa de exemplo |
---|
O parâmetro de entrada é do tipo JsonObject, será enviado com a estrutura e valores abaixo:
Bloco de código | ||
---|---|---|
| ||
{
"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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
|
Expandir | ||
---|---|---|
| ||
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 | |||||
---|---|---|---|---|---|
| |||||
|
http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates
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 | |||||
---|---|---|---|---|---|
| |||||
|
Informar a chave do registro na URL.
http://<SERVIDOR>:<PORTA>/api/sec/v1/passwordReset/templates/fnd_access_code
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
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
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