Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Dica
titleO que é o Winthor Smart Hub

WSH - O Winthor Smart Hub - Integrações

Nota
titleATENÇÂO

A TOTVS não se responsabiliza por aplicações de terceiros instaladas no servidor.

Caso seja encontrada aplicações de terceiros nos diretórios de instalação padrão Winthor e ou Banco de dados, qualquer tipo de atendimento não poderá ser seguido pela TOTVS.

é um produto de Varejo e Distribuição Winthor que pode ser utilizado em diferentes parceiros de integração dentro do nosso ecossistema TOTVS.

Consiste em possibilitar integração entre duas API’s distintas utilizando um mecanismo de transformação chamado Jolt Transform, que, através de um Spec (especificação template) intermediário, trabalha na conversão de um Json retornado para um Json esperado.

Pensado como medware, executa, no modo agendamento de tarefas, o serviço de buscar e enviar dados Json entre duas API’s diferentes, realiza conexão com diversos serviços API utilizando um esquema/template baseado no mesmo gerado pela ferramenta Postman.

Todas as funções e cadastros citados podem ser configurados de forma simples e intuitiva através da rotina 2650 disponibilizada no WTA.

Nota
titleATENÇÃO

A TOTVS não se responsabiliza por aplicações de terceiros instaladas no servidor.

Caso seja encontrada aplicações de terceiros nos diretórios de instalação padrão WinThor e ou banco de dados, qualquer tipo de atendimento não poderá ser seguido pela TOTVS.

Aviso
titlePré-requisitos

Antes de iniciar a implantação, verifique se todos os pré-requisitos foram atendidos:


  • Requisitos de hardware


    • Equipamento: Servidor dedicado
    • Sistema Operacional: Windows 10 ou superior 64bits, Windows Server 2012 ou Superior 64 bits;;
    • Processador: De 4+ núcleos e 2GHz+ de processamento;
    • Memória RAM: mínimo de 8GB (recomendado 16GB);
    • Conexão com Internet.
    • Espaço em Disco: Mínimo de 50gb disponíveis;
    • Java 1.8.0
    • Conexão com o banco de dados do WinThor:
      • Banco de dados: Oracle, versão mínima 11g, Release 11.2.0.4.0.
    • Serviço WTA Winthor disponível em IP público.


Aviso
titleATENÇÃO
  • Caso a instalação seja feita em uma estação comum de trabalho ou em servidor compartilhado com outra aplicaçãoa performance pode ser seriamente afetada
  • O compartilhamento de recursos pode não só deixar lento quanto também travar a aplicação. Isso acontece porque quando não há recursos suficientes para o processamento da JVM, a sua instancia é fechada, paralisando todos processos dependentes. Desse modo, não poderemos garantir a perfeita execução da aplicação conforme é planejado para ser.



  • Requisitos de software



Hardware - Requisitos de Instalação:

  • Equipamento: Servidor dedicado
  • Sistema Operacional: Windows 10 ou Superior 64bits;
  • Processador: De 4+ núcleos e 2ghz+ de processamento;
  • Memória RAM: mínimo de 8GB (recomendado 16GB);
  • Conexão com Internet.
  • Espaço em Disco: Mínimo de 50gb disponíveis;
  • Conexão com o banco de dados do WinThor;
    Informações
    titleInstalação
    Expandir
    titleDownloads
    Expandir
    titleDownload pacote WSH

    O download dos arquivos necessário parar realizar a instalação do WSH - Winthor Smart Hub podem ser feitos através do link abaixo:

    • Download WSH (jre.zip, service.zip, winthor-integracao-core.jar)
    Expandir
    titleInstalação
    Expandir
    titleVersão Atual
    Aviso
    titlePré-requisitos
    Aviso
    titleATENÇÂO
    • Caso a instalação seja feita em uma estação comum de trabalho ou em servidor compartilhado com outra aplicaçãoa performance pode ser seriamente afetada
    • O compartilhamento de recursos pode não só deixar lento quanto também travar a aplicação. Isso acontece porque quando não há recursos suficientes para o processamento da JVM, a sua instancia é fechada, paralisando todos processos dependentes. Desse modo, não poderemos garantir a perfeita execução da aplicação conforme é planejado para ser.
    • Serviço WTA Winthor disponível em IP público.
    Informações
    titleWSH - Configuração e Instalação
    Expandir
    titleConfiguração

    Esta solução unifica os processos destinados ao WSH(Winthor Smart Hub), a rotina 2650 tem por objetivo permitir as configurações e acompanhamento dos fluxos integrados no Winthor.

    1. Caso ainda não possua, instale o WinThor Anywhere, para isso acesse Como instalar o WinThor Anywhere ?

    2. Acesse o WinThor Anywhere e no menu principal, preencha no campo de Pesquisar a rotina 801 - Atualização de Serviços Web e tecle Enter (ou clique diretamente sobre a rotina no menu principal); 

    2.1  Na tela Gerenciador de Rotinas e Serviços, clique o botão Instalações;

    3. Instale os serviços winthor-integracao-config e winthor-integracao-2650 na última versão disponível. 

    Em construção

    O Objetivo desta seção permite verificar os registros processados e integrados além de reprocessar dados que apresentaram falha durante a integração, possibilitando o reenvio após correção de tais divergências.

    Para reprocessar os registros realize os procedimentos abaixo:

    1. Acesse o WinThor Anywhere, localize/pesquise a rotina 2650 - Winthor Smart Hub
    2. Selecione a opção Detalhes técnicos no Menu;
    3. Na caixa Status será apresentada todas opções por padrão, caso houver necessidade pode-se realizar modificação; 
    4. Utilize os demais filtros conforme necessidade e clique o botão Pesquisar;

    Image Removed

    Image Removed

     O processo de reenvio pode ser realizado quando houver registros de integração com status Image Removed Falha.

    Para reenviar um único registro, basta clicar no botão Image Removed disponível na Grid de dados referente ao registro desejado.

    Image Removed

    Caso queira reenviar mais de um registro o botão Image Removed será habilitado quando houver seleção de vários registros, conforme demonstra a imagem:

    Image Removed

    Após o processo de reenvio note que o status do registro foi alterado para Image Removed Recebido conforme indica o dicionário de legendas.

    Ao acessar a página Monitoria e realizar a pesquisa, serão apresentados 10 registros na página,  se houver necessidade pode-se buscar mais registros através do botão Image Removedque estará disponível abaixo da grid de registros;

    Ao acionar o botão acima mencionado, apresentaremos mais 10 registros e assim em diante. 

    No rodapé da página temos a opção de selecionar a quantidade de registros que serão apresentados na grid. 

    Image Removed

    Image Removed Processando  - Indica que recebemos o registro e o dado está processando.

    Image Removed Falha  -Indica inconsistência no registro. 

    Image Removed Sucesso - Indica que o registro foi integrado.

    Image Removed Recebido - Indica que o registro faz parte de uma nova carga de reenvio.

         

    Na Grid será possível avaliar as informações de integração realizando a explanação conforme demonstrado:

    Image Removed

    Totvs custom tabs box
    tabsRotina 2650 - Winthor Smart Hub
    idspasso1,passo2
    Totvs custom tabs box
    tabsProcedimentos Iniciais, Integração, Rotas, Parâmetros, Fluxo, Detalhes Técnicos
    idspasso1,passo2,passo3,passo4,passo5,passo6
    Totvs custom tabs box items
    defaultno
    referenciapasso1
    -items
    Totvs custom tabs box
    tabsParando o servidor WTA, Instalação do WSH, Editando arquivo de propriedades "app.properties", Inativando os Fluxos do WSH e ativando novamente o WTA
    idspasso1,passo2,passo3,passo4

    Em construção - rotas

    O objetivo desta tela é possibilitar o Cadastro de Rotas de busca e envio de dados, independente das API’s de emitente e destinatário.

    Desta forma o serviço WSH(Winthor Smart Hub)  poderá realizar os processos de integração do produto Winthor, criando uma camada de transformação e intermediação de dados onde será possível realizar integrações com parceiros internos e externos.

    Para cadastrar uma nova Rota, realize os procedimentos abaixo:

    1. Acesse o WinThor Anywhere, localize/pesquise a rotina 2650 - Winthor Smart Hub
    2. Selecione a opção Rotas no Menu;
    defaultno
    referenciapasso2

    Em construção

    Totvs custom tabs box items
    defaultnoyes
    referenciapasso3
    Expandir
    titleBotão NOVO - Cadastrar uma nova Rota
    Bloco de código
    languagejs
    titleExemplo Transformação
    [
      {
        "operation": "shift",
        "spec": {
          "id": "idExterno[0]",
          "shipment": { "logistic_type": "ignorarImportacaoDiferente(regra)" }
        }
      }
    ]
    
    
      • Botão Salvar - Salva os dados adicionados.
    1. Na caixa Status será apresentada todas opções por padrão, caso houver necessidade pode-se realizar modificação; 
    2. Utilize os demais filtros conforme necessidade e clique o botão Pesquisar;
    Clique no botão Novo, (será apresentado os dados para Cadastro de Rota/Serviço);
  •  Código - Campo que apresentará o ID único do cadastro, este campo é gerado automaticamente.
  • ID Empresa - Deverá ser informado a empresa da rota que executará a ação.
  • Nome Empresa - Ao selecionar o ID da empresa o nome será apresentado conforme cadastrado no banco de dados.
  • Status - Deverá selecionar uma das opções ATIVO(será executada) / INATIVO(não será executada)para as Rotas.
  • Tipo do Documento - Este campo disponibilizamos algumas opções do Tipo de Documento que poderá ser trafegado na Rota
  • Autenticador -  Deverá selecionar as opções SIM/NÃO. Caso a Rota precise de autenticação antes da execução, este campo deverá ser informado igual a SIM, caso contrário informar NÃO.
  • Atualizar Token - Deverá selecionar as opções SIM/NÃO. Caso a Rota precise ATUALIZAR o Token, este campo deverá ser informado igual a SIM, caso contrário informar NÃO.
  • Arquitetura - Informe a arquitetura da sua integração (JSON, XML, outros)
  • Tipo de Processo - O Tipo Processo é muito importante, ele determina a ação que a ROTA executará na integração (BUSCAR/ENVIAR) dados.
  • Nome do Serviço - Adicionar o Nome da Rota que está sendo cadastrada para identificar em demais processos da integração.
      • Layout de Comunicação - Campo destinado a inserção do Layout que faça comunicação com o serviço, deve-se indicar o tipo de requisição e parâmetros necessários para que a ação seja executada, conforme o exemplo abaixo:
    Bloco de código
    languagejs
    titleExemplo Comunicação
    {
        "name": "ObterNotaPedido",
        "request": {
            "method": "GET",
            "header": [
                {
                    "key": "Authorization",
                    "value": "Bearer {{TOKEN}}"
                },
                 {
                    "key": "Content-Type",
                    "value": "application/JSON"
                },
                {
                    "key": "Accept",
                    "value": "*/*"
                }
            ],
            "url": {
                "raw": "{{URL_BASE}}//users/{{USER_ID}}/orders/{{IDEXTERNO}}/",
                "protocol": "https",
                "host": [
                    "api",
                    "com"
                ],
                "path": [
                    "users",
                    "00001",
                    ""
                ],
                "query": [
                    {
                        "key": "sale",
                        "value": "authorized"
                    }
                ]
            }
        },
        "response": []
    }

    Ao finalizar o Cadastro de Rota/Serviço, será apresentado o botão "Próximo" que levará ao passo de configuração do Layout de Transformação.

      • O layout de transformação é dividido em 4 partes que são:
        • JSON de entrada - Campo destinado a adição de como receber a informação.

    Image Removed

        • JSON de Saída - Campo destinado a informação de como deve ficar o JSON final do processo.

    Image Removed

        • Mapear JSON - está no centro das informações JSON de entrada e JSON de Saída, este campo é responsável por configurar o que liga os campos de entrada e saída para gerar o JSON de transformação do processo.

    Image Removed

      • Layout de Transformação - Campo destinado a inserção do Layout que faça transformação dos dados recebidos de forma que o ERP Winthor consiga integrar. Ao clicar no botão "Gerar Layout" será gerado dinamicamente após preenchimento das informações JSON entrada/saída e mapeamento dos campos,

    Exemplo:

    Bloco de código
    languagejs
    titleExemplo Transformação
    [
      {
        "operation": "shift",
        "spec": {
          "id": "idExterno[0]",
          "shipment": { "logistic_type": "ignorarImportacaoDiferente(regra)" }
        }
      }
    ]
    
    
      • Botão Salvar - Salva os dados adicionados.
    1. Na caixa Status será apresentada todas opções por padrão, caso houver necessidade pode-se realizar modificação; 
    2. Utilize os demais filtros conforme necessidade e clique o botão Pesquisar;
    Totvs custom tabs box items
    defaultno
    referenciapasso4

    Em construção

    Totvs custom tabs box items
    defaultno
    referenciapasso5

    Em construção

    Totvs custom tabs box items
    defaultno
    referenciapasso6
    Expandir
    titleDicionário de Legendas 
    Expandir
    titlePrincipais dúvidas e conflitos
    passo1

    Antes de realizar a instalação do WSH, é necessário parar o serviço do WTA.

    Acesse os serviços do Windows ('services.msc' via 'Executar') .

    Image Added 


    Na tela de serviços procurar pelo serviço do Winthor Anywhere:

    Image Added


    Clicar com o botão direito sobre o serviço e clicar em "Parar"

    Image Added


    Totvs custom tabs box items
    defaultno
    referenciapasso2

    Para instalar o WSH basta realizar o download do arquivo .exe informado anteriormente. Seguir o passo a passo de instalação até chegar ao passo 3. Nesse passo serão apresentadas 3 opções:


    Opção 1. Realizar instalação completa

    Image Added

    Essa opção é destinada a instalação inicial ou reinstalação do WSH.

    Caso a opção seja selecionada, o passo 6 será exibido

    Image Added


    Opção 2. Alterar o arquivo de configuração

    Image Added

    Essa opção possibilitará trocar as informações do arquivo de configuração do WSH, como senha de conexão do banco de dados, etc.

    Caso marque essa opção será exibido o passo 6.


    Opção 3. Realizar atualização da versão

    Image Added

    Essa opção apenas atualiza o .jar da aplicação, mantendo as propriedades do arquivo de configurações.


    Totvs custom tabs box items
    defaultno
    referenciapasso3

    Caso necessário, e possível alterar os parâmetros setados no arquivo de configuração acessando o diretório"C:\pcsist\produtos\winthor-integracao-core" arquivo app.properties:

    Image Added


    Exemplo dos dados que devem conter no arquivo app.properties;


    Bloco de código
    spring.datasource.initialize=false
    #spring.datasource.url= jdbc:oracle:thin:@(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = gowend01)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = ORCL)    )  )
    spring.datasource.url= jdbc\:oracle\:thin\:@127.0.0.1:1521\:ORCL
    spring.datasource.username= LOCAL
    spring.datasource.password= 54B4C4075463B2E02CD69F5CD139B5B2
    spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
    path.winthor.ini= C:/winthor/Prod/MOD-000/Winthor.ini
    url.ssh.wta=localhost
    port.ssh.wta:8101
    path.folder.temporary=C:/pcsist/produtos/winthor-integracao-core/temp
    app.task.habilitadas=ALL
    app.task.recursos.execucao.ativar-log-tempo=true 
    #app.migration.ambiente.pdvomnishop=true
    #app.task.paginacao-winthor.page-size=10
    app.migration.ambiente.teste=true
    app.migration.habilitar=true
    #app.task.status-pos-integracao.intervalo-milissegundos=1000
    #app.task.status-pos-integracao.tempo-maximo-minutos=1
    #app.task.recursos.schedule.fixedRate=60000



    Os seguintes campos devem ser informados de acordo com as configurações do ambiente onde o mesmo está sendo configurado:

    • spring.datasource.url= jdbc\:oracle\:thin\:@127.0.0.1:1521\:ORCL

      • Este campo é responsável pela informação do banco de dados do winthor.
    • spring.datasource.username= nome_usuário_banco

      • Este campo é responsável pela informação.
    • spring.datasource.password= DED9EFD3B48EBDBB5E69A00393B57EC9

      • Este campo é responsável pela informação da senha do banco de dados que deve ser em formato MD5 sempre em caixa alta.
    • spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

      • Este campo é responsável pela informação do driver do banco de dados.
    • path.winthor.ini= C:/winthor/Prod/Winthor.ini

      • Este campo é responsável pela informação do local do arquivo de winthor.ini que deve estar dentro do diretório do winthor.
    • url.ssh.wta=localhost

      • Este campo é responsável pela informação da url do WTA.
    • port.ssh.wta:8101

      • Este campo é responsável pela informação da porta de acesso do WTA.



    Totvs custom tabs box items
    defaultno
    referenciapasso4

    Feita a instalação o serviço do WSH estará ativo nos serviços do windows:

    Image Added

    Se se todas as configurações do arquivo "app.properties" estiverem certas, as migrations serão executadas e assim que começarem a ser executados os fluxos, para a aplicação podemos conferir as migrations no log.

    Image Added

    Após finalizar o processo, podemos verificar no banco de dados, realizando uma consulta simples para verificar os migrations.

    Consulta a realizar (utilize o sqlplus ou gerenciador de banco de dados de seu conhecimento:

    "SELECT * FROM PCINTEGRACAOCOREMIGRATION;"

    Verifique a coluna "SUCESSO" onde todas devem estar com um "S".

    Image Added


    Após a execução das migrations, antes de ativar novamente o serviço do WTA, é necessário acessar a rotina 2650, na aba de Fluxos, e desativar todos os fluxos.

    Feito isso, o serviço do WTA poderá ser iniciado novamente.

    Expandir
    titleVersão Futura
    Totvs custom tabs box
    tabsInstalando as dependências de banco, Instalando o layout da integração, Instalando o WSH
    idsversaoFuturaPasso1,versaoFuturaPasso2,versaoFuturaPasso3
    Totvs custom tabs box items
    defaultyes
    referenciaversaoFuturaPasso1

    Para Instalar a estrutura que o WSH necessita na versão futura, é necessário limpar e excluir por completo as tabelas, sequences e outros objetos que o WSH utiliza, pois tudo será criado de forma automática via dependência do serviço winthor-integracao-2650;


    Basta realizar a instalação ou atualização do serviço winthor-integracao-2650 na versão 1.35 mais recente, e seguir com a atualização dos objetos de banco conforme imagem abaixo:

    Image Added

    Após a solicitação das dependências, será solicitada a instalação do winthor-integracao-config.

    Obs: As versões dos objetos podem variar conforme a versão do winthor-integracao-2650.


    Feita a instalação com sucesso, toda a estrutura necessária (tabela, sequence, trigger, etc) para a execução do WSH estará disponível no banco de dados.


    Totvs custom tabs box items
    defaultno
    referenciaversaoFuturaPasso2

    Após a instalação da estrutura, é necessário instalar os layouts que serão utilizados no ambiente. os layouts nada mais são que o conteúdo das rotas, variáveis e fluxos que uma integração precisa para funcionar.  Atualmente a integração do PDVSYNC está disponível para download.

    A instalação do layout é feita pela opção 2 da rotina 2650 "Assistente de atualização":

    Image Added


    Ao clicar em atualizar, será solicitada a confirmação da operação. Após todos os passos, caso seja retornada uma mensagem de sucesso, significa que todo o conteúdo necessário para a execução da integração estará presente no banco de dados.

    Totvs custom tabs box items
    defaultno
    referenciaversaoFuturaPasso3

    O processo de instalação do WSH na versão futura é semelhante ao passo 2 da Versão Atual, com a diferença de que o instalador não fica disponível no link de download citado no passo "Download", ele precisa ser baixado diretamente o Azure.

    Feito o download do instalador pelo azure, basta seguir o passo a passo da instalação conforme descrito no passo 2 da Versão Atual.


    Ao finalizar a instalação, o WSH já estará pronto para a utilização.

    Expandir
    titleConfiguração de serviços do WSH
    Expandir
    titleServiço de restart automático da aplicação

    O serviço de restart automático da aplicação possibilita configurar o restart da aplicação de tempos em tempos, através de parametrização externa.

    É necessário editar o arquivo "app.properties" localizado no diretório "C:\pcsist\produtos\winthor-integracao-core" para adicionar as seguintes opções:

    Image Added


    Exemplo dos dados que devem conter no arquivo app.properties;

    Bloco de código
    spring.datasource.initialize=false
    spring.datasource.url= jdbc\:oracle\:thin\:@127.0.0.1:1521\:ORCL
    spring.datasource.username=local
    spring.datasource.password=54B4C4075463B2E02CD69F5CD139B5B2
    spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
    path.winthor.ini=C:/winthor/Prod/Winthor.ini
    url.ssh.wta=localhost
    port.ssh.wta=8101
    path.folder.temporary=C:/pcsist/produtos/winthor-integracao-core/temp
    app.task.habilitadas=ALL
    app.task.recursos.execucao.ativar-log-tempo=true
    app.migration.ambiente.teste=false
    app.migration.habilitar=false
    #app.task.status-pos-integracao.intervalo-milissegundos=1000
    #app.task.status-pos-integracao.tempo-maximo-minutos=1
    #app.task.recursos.schedule.fixedRate=6000
    app.task.paginacao-winthor.page-size=100
    app.task.envio-integracao.threads=1
    app.task.buscar-integracao.threads=1
    
    app.restart-automatico.habilitar=true
    app.restart-automatico.minuto=0
    app.restart-automatico.hora=0
    • app.restart-automatico.habilitar=true
      • Este campo é responsável por definir se o serviço de restart automático estará ativo ou não. O valor default é true (habilitado).
    • app.restart-automatico.minuto= 1

      • Este campo define de quantos em quantos minutos a aplicação será reiniciada. Caso informado, a aplicação ignorará o parâmetro app.restart-automatico.hora, pois a aplicação priorizará o parâmetro de minutos. Caso desejado que o reinício seja por hoja, basta definir o valor 0 ao parâmetro ou removê-lo do arquivo app.properties. O valor default é 0;
    • app.restart-automatico.hora= 0

      • Este campo define de quantas em quantas horas a aplicação será reiniciada. Caso o parâmetro app.restart-automatico.minuto estiver preenchido com algum valor diferente de 0, este parâmetro será ignorado pela aplicação. O valor default é 0;
    Expandir
    titleServiço de expurgo de dados obsoletos
    Totvs custom tabs box
    tabsTabelas relacionadas,Editando arquivo de propriedades "app.properties",Executando o serviço WSH
    idspasso1-servExpurgo,passo2-servExpurgo,passo3-servExpurgo
    Totvs custom tabs box items
    defaultyes
    referenciapasso1-servExpurgo

    Abaixo segue a relação de tabelas em que o serviço fará o expurgo de dados obsoletos:

    • PCINTEGRACAOCORE; 
      • Tabela responsável por armazenar as integrações realizadas. A referência para realizar o expurgo será a coluna DATASINCRONISMO. Serão removidos apenas os registros que possuem status = 2 (sucesso);
    • PCINTEGRACAODADOSRECEBIDOS;
      • Tabela responsável por armazenar os dados recebidos da integração;
    • PCINTEGRACAOVARIAVEISTEMP;
      • Tabela responsável por armazenar as variáveis temporárias que a integração necessita criar (por exemplo números de lotes, entre outros). 
    • PCINTEGRACAOLOGEXCLUSAODADOS;
      • Tabela responsável por armazenar o horário e os logs de execução do serviço de expurgo;
    • PCINTEGRACAOEVENTORECEBIDO;
      • Tabela responsável por armazenar os eventos integrados via API de eventos. Apenas os registros marcados como processados entram na regra de exclusão;

    A execução do serviço ocorrerá no horário definido no parâmetro app.integracao-core.excluir.agendador do arquivo app.properties (mais detalhes no próximo passo), no entanto caso a última execução tenha ocorrido a mais de 24 horas (caso em que a aplicação esteve parada no período definido para a execução), o serviço de expurgo irá executar automaticamente ao iniciar a aplicação;


    Totvs custom tabs box items
    defaultno
    referenciapasso2-servExpurgo

    É necessário editar o arquivo "app.properties" localizado no diretório "C:\pcsist\produtos\winthor-integracao-core" para adicionar as seguintes opções:

    Image Added


    Exemplo dos dados que devem conter no arquivo app.properties;

    Bloco de código
    spring.datasource.initialize=false
    spring.datasource.url= jdbc\:oracle\:thin\:@127.0.0.1:1521\:ORCL
    spring.datasource.username=local
    spring.datasource.password=54B4C4075463B2E02CD69F5CD139B5B2
    spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
    path.winthor.ini=C:/winthor/Prod/Winthor.ini
    url.ssh.wta=localhost
    port.ssh.wta=8101
    path.folder.temporary=C:/pcsist/produtos/winthor-integracao-core/temp
    app.task.habilitadas=ALL
    app.task.recursos.execucao.ativar-log-tempo=true
    app.migration.ambiente.teste=false
    app.migration.habilitar=false
    #app.task.status-pos-integracao.intervalo-milissegundos=1000
    #app.task.status-pos-integracao.tempo-maximo-minutos=1
    #app.task.recursos.schedule.fixedRate=6000
    app.task.paginacao-winthor.page-size=100
    app.task.envio-integracao.threads=1
    app.task.buscar-integracao.threads=1
    app.task.buscar-integracao.tamanho=25
    app.integracao-core.excluir=true
    app.integracao-core.excluir.minimo-dias=120
    app.integracao-core.excluir.tipo-dado=3
    app.integracao-core.excluir.agendador: 0 0 2 * * *
    • app.integracao-core.excluir=true
      • Este campo é responsável por definir se o serviço de expurgo estará ativo ou não. O valor default é true (habilitado).
    • app.integracao-core.excluir.minimo-dias= 120

      • Este campo é responsável por definir a quantidade de dias em que os registros serão armazenados no banco. No exemplo acima, se o valor definido é 120, serão armazenados os registros até 120 dias desde a sua criação, portanto todos os registros com data inferior aos 120 dias serão deletados. O valor default é 120 dias.
    • app.integracao-core.excluir.tipo-dado= 3

      • Este campo é responsável por definir o tipo de registro que será deletado. 1 para registros ENVIADOS (do WinThor para uma integração externa), 2 para registros RECEBIDOS (de uma integração externa para o WinThor) e 3 para AMBOS. O valor default é 3 - AMBOS.
    • app.integracao-core.excluir.agendador=0 0 2 * * *

      • Este campo é responsável por definir o horário no qual o serviço será agendado para executar. O modelo segue o formato de string unix-cron, sendo que cada informação possui a seguinte representação: Segundos, Minutos, Horas, Dia, Mes, Dia da Semana, respectivamente. O * indica recorrência. O horário default é 0 0 2 * * * (todos os dias às 02:00 am).
    Totvs custom tabs box items
    defaultno
    referenciapasso3-servExpurgo

    Acesse os serviços do Windows ('services.msc' via 'Executar') e execute o serviço  'WSH - Winthor Smart Hub'.

    Image Added

    Image Added

    No arquivo de logs do WSH (C:\pcsist\produtos\winthor-integracao-core\logs\winthor-integracao-core.out.log) caso o serviço não esteja desabilitado, deverá constar a seguinte informação:

    Image Added

    Já no caso de a última execução ter ocorrido a mais de 24 horas, o serviço irá executar o expurgo junto com a inicialização da aplicação:

    Image Added

    Expandir
    titleConfiguração de rotinas
    Expandir
    titleConfigurando rotina 2650
    • Acesse o WinThor Anywhere e no menu principal, preencha no campo de Pesquisar a rotina 801 - Atualização de Serviços Web e tecle Enter (ou clique diretamente sobre a rotina no menu principal do lado esquerdo);

    Image Added


    • Na tela Gerenciador de Rotinas e Serviços, clique o botão Instalações;

    Image Added

    • Instale os serviços winthor-integracao-config e winthor-integracao-2650 na última versão disponível. 


    Expandir
    titleConfiguração de integrações
    Expandir
    titleCadastro de integrações

    O objetivo é possibilitar o Cadastro de Integrações no Winthor Smart Hub.


    Para realizar uma nova integração, devemos acessar as configurações de integrações através da rotina 2650 do WSH.



    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4
    idsitem-int1,item-int2,item-int3,item-int4
    Totvs custom tabs box items
    defaultyes
    referenciaitem-int1

    Acesse o WinThor Anywhere, localize/pesquise a rotina 2650 - Winthor Smart Hub


    Image Added



    Totvs custom tabs box items
    defaultyes
    referenciaitem-int2

    Selecione a opção Integrações no Menu;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-int3

    Clique no botão Novo, (será apresentado os dados para Cadastro de Integração);


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-int4

     Cadastro de Integração nova


    Image Added 


    Tela destinada ao cadastro de uma nova integração:

      •  Código - Campo que apresentará o ID único do cadastro, este campo é gerado automaticamente.
      • Nome - Deverá ser informado o nome da integração para identificação da mesma.
      • URL Sistema Externo - Deverá ser informada a URL da API que será usada na integração externa.
      • Utiliza WTA - Deverá ser informado se será utilizado como processo WTA (Sim ou Não ).
      • Filial - Deverá ser selecionado o nome da filial.
      • Tempo de expiração - Deve ser informado o tempo (em segundos) para expiração do token. 
      • Token - Este campo será gerado automaticamente após a criação da Integração
      • Botão Salvar - Salva os dados adicionados.
    Expandir
    titleConfigurações do ERP

    O objetivo é possibilitar a Configuração de parâmetros e serviços do WTA necessários para realizar uma integração no Winthor Smart Hub.

    Para realizar uma configuração de parâmetros e serviços, devemos prosseguir com o Cadastro de integração.

    Nota
    titleATENÇÃO
    • Essa funcionalidade só estará disponível  em versão futura.
    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4
    idsitem-intconfig1,item-intconfig2,item-intconfig3,item-intconfig4
    Totvs custom tabs box items
    defaultyes
    referenciaitem-intconfig1

    Acesse o próximo passo da tela de Cadastro de integração.

    Image Added

    Totvs custom tabs box items
    defaultyes
    referenciaitem-intconfig2

    Nesta tela, será possível consultar todos os parâmetros e serviços já cadastrados anteriormente;

    Filtros:

    Sucesso: Parâmetros e serviços cuja validação ocorreu com sucesso;

    Pendente: O registro ainda não passou pela validação;

    Falha: A validação retornou erro devido a alguma inconformidade, que será descrita na coluna "Observação" da tabela;


    Image Added


    Exemplo de validação preenchida:

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-intconfig3

    Para adicionar uma nova validação, basta rolar a tela até o final e preencher as informações desejadas:

    Image Added

    Tipo: Tipo da validação (serviço ou parâmetro);

    Em caso de Serviço:

    • Preencher o nome do serviço (Ex.: winthor-produto);
    • Preencher a versão mínima esperada. Caso o requisito seja apenas que o serviço esteja instalado. pode deixar o campo em branco;
    • Os campos Filial e Permite nulo não precisaram ser usados nesse cenário;

    Em caso de Parâmetro:

    • Preencher o nome do parâmetro (Ex.: CON_UTILIZAVENDAPOREMBALAGEM)
    • Preencher o valor esperado:
      • OBS1: tratar valores booleanos como S (verdadeiro) e N (falso);
      • OBS2: caso o requisito seja apenas que o parâmetro esteja preenchido com algum valor, deixar o campo vazio e desmarcar a opção "Permite nulo?" ao lado;
    • Preencher a filial do parâmetro. Caso seja um parâmetro geral, deixar o campo vazio ou preencher com filial 99;
    • Caso o parâmetro deva necessariamente estar preenchido com alguma informação, desmarcar a opção "Permite nulo?";

    Adicionar: O botão "Adicionar" levará o registro para a tabela de cima, com a situação igual a "Pendente", ou seja, aguardando validação;

    Totvs custom tabs box items
    defaultno
    referenciaitem-intconfig4

    Para realizar a validação, basta clicar no botão "Validar":

    Image Added 


    Exemplo:

    Caso a barra fique verde, todos os itens foram validados com sucesso, caso fique vermelha, um ou mais itens não puderam ser validados.

    Image Added


    Image Added

    Expandir
    titleConfiguração de rotas
    Expandir
    titleCadastro de rotas/serviço

    O objetivo é possibilitar o Cadastro de Rotas de busca e envio de dados, independente das API’s de emitente e destinatário.


    Desta forma o serviço WSH(Winthor Smart Hub)  poderá realizar os processos de integração do produto Winthor, criando uma camada de transformação e intermediação de dados onde será possível realizar integrações com parceiros internos e externos.


    Para cadastrar uma nova Rota, realize os procedimentos abaixo:


    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4, Passo 5, Passo 6
    idsitem-rota1,item-rota2,item-rota3,item-rota4,item-rota5,item-rota6
    Totvs custom tabs box items
    defaultyes
    referenciaitem-rota1

    Acesse o WinThor Anywhere, localize/pesquise a rotina 2650 - Winthor Smart Hub


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-rota2

    Selecione a opção Rotas no Menu;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-rota3

    Clique no botão Novo, (será apresentado os dados para Cadastro de Rota/Serviço);


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-rota4

     Cadastro de Rota/Serviço 


    Image Added


    Tela destinada ao cadastro de uma nova rota

      •  Código - Campo que apresentará o ID único do cadastro, este campo é gerado automaticamente.
      • ID Integração - Deverá ser informado a empresa da rota que executará a ação.
      • Descrição da Integração - Ao selecionar o ID da empresa o nome será apresentado conforme cadastrado no banco de dados.
      • Status -O status ele define se a própria rota que tá sendo criada vai ser executada ou não. Deverá selecionar uma das opções ATIVO(será executada) / INATIVO(não será executada).
      • Autenticador -  Deverá selecionar as opções SIM/NÃO. Caso a Rota precise de autenticação antes da execução, este campo deverá ser informado igual a SIM, caso contrário informar NÃO.
      • Atualizar Token - Deverá selecionar as opções SIM/NÃO. Caso a Rota precise ATUALIZAR o Token, este campo deverá ser informado igual a SIM, caso contrário informar NÃO.
      • Nome do Serviço - É o nome que o usuário pode dar à rota pra identificá-la depois.


    Totvs custom tabs box items
    defaultno
    referenciaitem-rota5

     Cadastro de Rota/Serviço 


    Image Added



    Tela destinada ao cadastro de uma nova rota

      • Nome do Serviço / Nome Layout - É o nome que o usuário pode dar ao layout pra identificá-la depois.
      • Método HTTP - É o método que será utilizado pelo layout (GET, POST, PUT, DELETE, PATCH).
      • URL - A url a qual o layout irá utilizar.
      • Query -  Query utilizada no layout para realizar as consultas necessárias conforme configurações desejadas.
      • Body - Irá preencher o bodyraw do JSON
      • Parâmetros de Header - Permite adicionar novos parâmetros ao JSON do layut
      • Layout de Comunicação - Campo destinado a inserção do Layout que faça comunicação com o serviço, deve-se indicar o tipo de requisição e parâmetros necessários para que a ação seja executada, conforme o exemplo abaixo:
    Bloco de código
    languagejs
    titleExemplo Comunicação
    {
      "name": "",
      "request": {
        "method": "",
        "header": [],
        "url": {
          "raw": "",
          "query": ""
        },
        "bodyraw": ""
      },
      "response": []
    }

    Ao finalizar o Cadastro de layout de comunicação de Rota/Serviço, será apresentado o botão "Próximo" que levará ao segundo passo de configuração, Layout de Transformação.


    Image Added



    Totvs custom tabs box items
    defaultno
    referenciaitem-rota6
    • O layout de transformação é dividido em 4 partes que são:
      • JSON de entrada - Campo destinado a adição de como receber a informação.

    Image Added

    • JSON de Saída - Campo destinado a informação de como deve ficar o JSON final do processo.

    Image Added


    • Mapear JSON - está no centro das informações JSON de entrada e JSON de Saída, este campo é responsável por configurar o que liga os campos de entrada e saída para gerar o JSON de transformação do processo.


    Image Added

    • Layout de Transformação - Campo destinado a inserção do Layout que faça transformação dos dados recebidos de forma que o ERP Winthor consiga integrar. Ao clicar no botão "Gerar Layout" será gerado dinamicamente após preenchimento das informações JSON entrada/saída e mapeamento dos campos,


    Bloco de código
    languagejs
    titleExemplo Transformação
    [
      {
        "operation": "shift",
        "spec": {
          "id": "idExterno[0]",
          "shipment": { "logistic_type": "ignorarImportacaoDiferente(regra)" }
        }
      }
    ]
    
    
    • Botão Salvar - Salva os dados adicionados.


    Expandir
    titleConfiguração de Parâmetros
    Expandir
    titleCadastro de parâmetros

    O objetivo é possibilitar o Cadastro de parâmetros no Winthor Smart Hub.


    Para cadastrar um novo Parâmetro, devemos acessar as configurações de parâmetros através da rotina 2650 do WSH.


    Expandir
    titleCadastro de parâmetros

    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3
    idsitem-param1,item-param2,item-param3
    Totvs custom tabs box items
    defaultyes
    referenciaitem-param1

    No WSH, acessar o item 3 da rotina 2650, que é a configuração de parâmetros;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-param2

    Clique no botão Novo, (será apresentado os dados para Cadastro de parâmetro);


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-param3

    Cadastro de Parâmetro


    Image Added


    Tela destinada ao cadastro de um novo parâmetro;

      • Código - Campo que apresentará o ID único do cadastro, este campo é gerado automaticamente.
      • ID Rota Serviço- Deverá ser informado o ID da rota para qual o parâmetro será vinculado.
      • Global- Ao selecionar o checkbox Global, será utilizado a rota global ao invés de alguma outra selecionada (Ao selecionar a Global, a seleção de ID Rota Serviço fica desabilitada).
      • Tipo Chave - Deverá selecionar o tipo da chave que será utilizada, se vai ser um parâmetro de BODY, PARAMS ou HEADER.
      • Chave - Será o nome do parâmetro.
      • Tipo Valor -  Informação que identifica de qual natureza é o valor, pode ser uma STRING pura, um SELECT no banco ou um ENCRYPTED, um valor que armazena codificado.
      • Valor - Deverá informar o valor referente ao campo.
      • Botão Salvar - Salva os dados adicionados.
      • WTA - Ao selecionar o checkbox WTA, o valor definido no parâmetro será criptografado em MD5 no padrão exigido pelo Login do WTA. Caso o tipo Valor esteja como ENCRYPTED, essa opção será desativada pois a criptografia utilizará outro algoritmo;

    Abaixo um exemplo de cadastro:


    Image Added

    Expandir
    titleReplicação de Valores entre Parâmetros

    O objetivo é possibilitar a Replicação de valores entre parâmetros de mesmo nome no Winthor Smart Hub.

    Para fazer isso devemos acessar as configurações de parâmetros através da rotina 2650 do WSH.

    Expandir
    titleReplicação de Valores



    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4, Passo 5
    idsitem-replicar1,item-replicar2,item-replicar3,item-replicar4,item-replicar5
    Totvs custom tabs box items
    defaultyes
    referenciaitem-replicar1

    No WSH, acessar o item 3 da rotina 2650, que é a configuração de parâmetros;

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-replicar2

    Clique nos 3 pontos na frente do parâmetro que deseja editar e clique em Editar.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-replicar3

    Após alterar o campo valor, clique em Replicar para.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-replicar4

    Selecione os parâmetros que deseja replicar o valor e clique em Confirmar.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-replicar5

    Clique em Salvar para concluir a replicação.

    Image Added

    Expandir
    titleConfiguração de fluxos
    Expandir
    titleCadastro de fluxos

    O objetivo é possibilitar o Cadastro de fluxos no Winthor Smart Hub.

    Os fluxo basicamente são os passos que devem ser feitos para que os dados sejam trafegados da maneira adequada no winthor. É basicamente um conjunto de rotas configuradas para serem executadas em uma ordem específica

    Para cadastrar um novo Fluxo, devemos acessar as configurações de parâmetros através da rotina 2650 do WSH.

    Totvs custom tabs box
    tabsAbrir o menu, Adicionar novo fluxo, Descrição, Seleção de Recursos e Rotas, Revisão
    idsitem-fluxo1,item-fluxo2,item-fluxo3,item-fluxo4,item-fluxo5
    Totvs custom tabs box items
    defaultyes
    referenciaitem-fluxo1

    Já no WSH, acessar o item 7 da rotina 2650, que é a configuração de fluxos;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-fluxo2

    Clique no botão Novo, (será apresentado os dados para Cadastro de fluxos);


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-fluxo3

    Cadastro de fluxos


    Image Added


    Nesta tela deverá ser informado o nome(descrição) do fluxo a ser criado;

    Totvs custom tabs box items
    defaultno
    referenciaitem-fluxo4

    Cadastro de fluxos


    Image Added


    Nesta dela, podemos selecionar os recursos e as rotas necessárias para o funcionamento do fluxo. Basta clicar no recurso ao lado esquerdo e arrastar para o lado direito. Ao soltar o recurso será solicitada a informação da rota a qual aquele recurso estará associado;

    Image Added


    A ordem na qual as informações forem inseridos nessa tela define a ordem de execução que o fluxo seguirá.

    Caso tenham vários recursos já adicionados, e a ordem não esteja de acordo com o esperado, podemos mover os recursos já adicionados entre eles, também arrastando os mesmos com o mouse.

    Temos uma lista com vários recursos que podem ser utilizados:

    AutenticadorRefreshTokenApi =

    BuscaRotaServicoNaoPaginada =

    BuscaRotaServicoPaginada =

    CriaVariavelTemporaria =

    FinalizaVariavelTemporaria =

    PersisteIntegracao =

    EnvioIntegracaoStatusRecebido =

    EnvioIntegracaoStatusEmProcessamento =

    ConsultarStatusPosIntegracao =

    EnvioIntegracaoStatusRecebidoLote =


    Feita a definição, podemos seguir para o próximo passo:

    Image Added



    Totvs custom tabs box items
    defaultno
    referenciaitem-fluxo5

    Ao chegar no último passo, o passo de revisão, podemos ficará ativo ou não, também definir IDs independentes e também podemos alterar novamente a ordem de cada item arrastando os mesmos para cima e para baixo.


    Obs: No caso de alterar a ordem, podemos verificar que o primeiro item da tabela, "Ordem de execução" também irá alterar, respeitando a ordem de cima para baixo.


    Image Added


    Ativar ou desativar o fluxo, irá definir se o fluxo vai ficar operante ou não;

    A informação do ID independente serve para informar se uma rota depende da execução de outra para funcionar.

    Ex: Se for necessário enviar uma requisição pro WTA, vai precisar fazer o login antes, então a rota que comunica com o WTA é dependente de uma rota de login que o usuário precisa definir no cadastro do fluxo


    Ao clicar em concluir o fluxo é salvo.

    Expandir
    titleListagem de fluxo

    O objetivo é listar os fluxos cadastrados, o status de cada fluxo e as opções disponíveis para realizar determinadas ações;

    Para listar o Fluxo, basta clicar no menu "Fluxos" da rotina 2650


    Totvs custom tabs box
    tabsEditar, Ativar, Desativar, Excluir Fluxo, Gestão de Carga
    idsitem-listagemFluxo1,item-listagemFluxo2,item-listagemFluxo3,item-listagemFluxo4,item-listagemFluxo5
    Totvs custom tabs box items
    defaultyes
    referenciaitem-listagemFluxo1

    Ao abrir o menu 7- Fluxos da rotina 2650, e clicar nos três pontos ao lado da numeração do fluxo, a primeira opção que temos é a Editar.

    Image Added


    Essa opção permite editar o fluxo existente, excluindo recursos presentes no fluxo, adicionando novos recursos, editando a ordem de execução dos recursos ou até mesmo alterando rotas associadas a determinados recursos. 

    Totvs custom tabs box items
    defaultno
    referenciaitem-listagemFluxo2

    A segunda opção que temos é a Ativar.

    Image Added

    Essa opção ativa o fluxo para que o WSH execute o mesmo.

    Totvs custom tabs box items
    defaultno
    referenciaitem-listagemFluxo3

    A terceira opção que temos é a Desativar.

    Image Added

    Essa opção desativa o fluxo, e dessa forma o WSH não irá mais executá-lo.

    Totvs custom tabs box items
    defaultno
    referenciaitem-listagemFluxo4

    A quarta opção que temos é a Excluir Fluxo.

    Image Added

    Essa opção remove permanentemente o fluxo, impossibilitando a ativação ou desativação do mesmo. Caso o fluxo seja excluído erroneamente, será necessário criá-lo novamente.

    Totvs custom tabs box items
    defaultno
    referenciaitem-listagemFluxo5

    A quinta opção que temos é a Gestão de Carga


    Essa opção abre a opção da gestão de cargas, onde é possível consultar as últimas execuções, realizar a execução de carga online e realizar a limpeza de carga do fluxo.

    Image Added


    Tela inicial Gestão de carga: 


    Deve exibir as últimas execuções, ter uma opção para sincronizar.

    Image Added


    Execução de Carga Online:

    Nesta tela podemos alterar parâmetros para serem executados de forma online, para isto, devemos expandir o recurso desejado, e clicar em editar, no item desejado.

    Image Added


    Em seguida podemos definir o novo valor que será utilizado no parâmetro:


    Image Added


    Após salvar, o novo valor informado, irá aparecer na coluna "novo valor".

    Image Added


    Após alterar os valores desejados, podemos clicar em Revisar e executar:


    Image Added


    Após isso, será exibido um modal com todas as informações a serem revisadas e no final a opção para executar.

    Image Added

    Image Added


    Após executar, a informação de confirmação é exibida em tela:


    Image Added


    As novas execuções são exibidas na tela inicial da gestão de carga, e caso ocorra algum erro, será apresentado o mesmo nesta tela:

    Image Added


    A última aba é responsável pela "limpeza de carga"


    Image Added 


    Está tela exibe as informações dos registros relacionados ao fluxo, e possibilita a limpeza.

    Ao clicar na opção de limpeza, serão informados a quantidade de registros que serão deletados. Ao prosseguir com a limpeza de carga, será necessário digitar a palavra de confirmação para concluir a limpeza.


    Image Added

    Image Added



    Expandir
    titleConfiguração de detalhes técnicos
    Expandir
    titleDetalhes técnicos

    O objetivo é possibilitar o acesso aos detalhes técnicos do Winthor Smart Hub.

    Para consultar os detalhes técnicos, devemos acessar a rotina 2650 do WSH.

    Totvs custom tabs box
    tabsPasso 1, Passo 2
    idsitem-detalhes1,item-detalhes2
    Totvs custom tabs box items
    defaultyes
    referenciaitem-detalhes1

    Já no WSH, acessar o item 1 da rotina 2650, que é a configuração de detalhes técnicos;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-detalhes2

    Na tela dos detalhes técnicos, podemos realizar as devidas consultas podendo filtrar as mesmas por período de data e hora, por rota, por status sendo esses apenas um ou múltiplos e também controlar a quantidade itens exibidos por página.


    Image Added


    Status:

    Image Added

    Recebido: Status definido pelo WSH quando o registro é recebido para iniciar o processamento.
    Processando: Status definido pelo WSH ao iniciar o processamento de um registro.
    Falha: Status definido pelo WSH quando ao final da execução do fluxo houve alguma falha para integrar o registro em questão.
    Sucesso: Status definido pelo WSH quando ocorreu tudo certo com a integração do registro em questão. 

    Os status a seguir servem para verificar a integridade do registro no ambiente de destino, e a aplicação do WSH não possui um controle efetivo desses status.

    Aguardando Processamento: Status definido quando o registro chegou ao ambiente de destino, porém ainda não foi processado.
    Processado: Status definido quando o registro chegou ao ambiente de destino e já foi processado com sucesso.
    Aguardando Processamento: Status definido quando o registro chegou ao ambiente de destino, porém ouve erro no processamento do mesmo.



    Expandir
    titleCadastro e consulta de DE/PARA
    Expandir
    titleDe/Para

    O objetivo é possibilitar o acesso aos dados de DE/PARA do Winthor Smart Hub.

    Para consultar editar ou cadastrar um novo dado, devemos acessar a rotina 2650 do WSH.


    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4, ´Passo 5
    idsitem-depara1,item-depara2,item-depara3,item-depara4,item-depara5
    Totvs custom tabs box items
    defaultyes
    referenciaitem-depara1

    Já no WSH, acessar o item 6 da rotina 2650, que é a configuração de DE/PARA;


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-depara2

    Na tela inicial do cadastro de de/para, temos uma visualização geral dos itens já cadastrados, e também podemos utilizar os filtros para uma melhor visualização dos dados de interesse.


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-depara3

    Cadastro de novo item


    Para cadastrar um novo item de de/para, basta clicar em novo e informar os campos solicitados:


    Image Added


    Neste exemplo usamos a tabela de produtos(PCPRODUT) para cadastrar um código alternativo para um produto:


    Image Added


    Após preencher todos os dados, basta salvar e depois em confirmar:


    Image Added


    Então o novo item já deve aparecer salvo na coluna de exibição:


    Image Added


    Totvs custom tabs box items
    defaultno
    referenciaitem-depara4

    Edição de itens


    Para editar um item de de/para, basta clicar no botão de contexto (...) e editar o item que desejar:


    Image Added


    Os dados devem vir carregados com as informações já existentes:


    Image Added


    Basta editar o item que desejar e salvar.


    Neste caso vamos apenas mudar o código externo para exemplificar:


    Image Added


    Após salvar, o item deve estar atualizado na listagem:


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-depara5

    Exclusão de itens


    Para excluir um item de de/para, basta clicar no botão de contexto (...) e excluir o item que desejar (esta alteração é Irreversível):


    Image Added


    Após clicar em excluir, é necessário confirmar a exclusão:


    Image Added


    Após confirmar, um toast de confirmação será exibido informando que o item foi excluído, e o mesmo não irá mais aparecer na listagem:


    Image Added

    Expandir
    titleTransformação de layouts
    Expandir
    titleTransformação de layouts

    O objetivo é possibilitar a validação de layouts de transformação do Winthor Smart Hub.

    Para consultar a validação dos layouts, devemos acessar a rotina 2650 do WSH.


    Totvs custom tabs box
    tabsPasso 1, Passo 2, Passo 3, Passo 4, ´Passo 5
    idsitem-layouts1,item-layouts2,item-layouts3,item-layouts4,item-layouts5
    Totvs custom tabs box items
    defaultyes
    referenciaitem-layouts1

    Já no WSH, acessar o item 7 da rotina 2650, que é a configuração de Transformação de Layouts


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-layouts2

    Na tela inicial da seção de Transformação de Layouts temos já os campos destinados a realizar a validação de nossos layouts.


    Nesta tela temos 3 campos, sendo eles;


    Json de entrada: Neste campo, devemos inserir o json que queremos transformar;

    Layout: Neste campo, devemos inserir o Json, que será responsável pela transformação, ou seja, o próprio layout de transformação;

    Resultado/erros: Neste campo, será apresentado  o resultado da transformação, no caso de sucesso, será informado um Json com o resultado da transformação, e em caso de erro, será exibido o erro que ocorreu brevemente.


    Também é possível clicar nos botões de Validar Json de Entrada e Validar Json Layout, para que seja realizado uma validação do Json antes de transformar.


    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem-layouts3

    Exemplificando o uso, abaixo, a demonstração de uma transformação de exemplo;


    Json de Entrada:


    Image Added


    Json de entrada:


    Bloco de código
    titleJson usado para Json de Entrada
    {
      "rating": {
        "primary": {
          "value": 3
        },
        "quality": {
          "value": 3
        }
      }
    }




    Totvs custom tabs box items
    defaultno
    referenciaitem-layouts4

    Json do Layout: 


    Image Added


    Bloco de código
     [
      {
        "operation": "shift",
        "spec": {
          "rating": {
            "primary": {
              "value": "Rating",
              "max": "RatingRange"
            },
            "*": {
              "max":   "SecondaryRatings.&1.Range",
              "value": "SecondaryRatings.&1.Value",
              "$": "SecondaryRatings.&1.Id"
            }
          }
        }
      },
      {
        "operation": "default",
        "spec": {
          "Range": 5,
          "SecondaryRatings": {
            "*": {
              "Range": 5
            }
          }
        }
      }
    ]
    
    
    Totvs custom tabs box items
    defaultno
    referenciaitem-layouts5

    Resultado: 


    Neste caso, um exemplo onde ocorreu sucesso na transformação, o resultado é um Json com os dados transformados;


    Image Added

    Bloco de código
    {
      "Rating": 3,
      "SecondaryRatings": {
        "quality": {
          "Id": "quality",
          "Value": 3,
          "Range": 5
        }
      },
      "Range": 5
    }
    Informações
    titleFerramentas
    Expandir
    titleRotina 2660 - Atualização de Dados

    A rotina 2660 permite atualizar datas de registros que estejam nulas (data de atualização, data de cadastro, etc). O intuito é preencher as datas dos registros que estejam nulas com uma data fixa (01/01/1900) ou com uma data especificada, afim de otimizar a carga de dados feita via WSH.

    Aviso
    titleATENÇÃO
    • Para utilizar a rotina 2660, é necessário instalar o serviço winthor-integracao-2660 na rotina 801 do WTA.
    • Para conseguir acessar a rotina 2660, é necessário habilitar na rotina 530 do WinThor a opção "1 - Permite controlar opção 'Atualização de dados para Integração'";
    Totvs custom tabs box
    tabs1 - Inicio, 2 - Temas, 3 - Tabelas, 4 - Colunas, 5 - Detalhes, 6 - Revisão
    idsitem1-2660,item2-2660,item3-2660,item4-2660,item5-2660,item6-2660
    Totvs custom tabs box items
    defaultyes
    referenciaitem1-2660
    • Nesta etapa será apresentada uma descrição da funcionalidade. É importante ler atentamente e entender o funcionamento da ferramenta.

    Image Added

    • Feita a leitura, basta clicar no botão "Iniciar", e em seguida "Confirmar" conforme imagem abaixo:

    Image Added


    Totvs custom tabs box items
    defaultno
    referenciaitem2-2660
    • Nesta etapa serão apresentados em tela os temas principais presentes nas integrações realizadas pelo WSH. A escolha do tema definirá quais as tabelas que deverão ser listadas no passo seguinte.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem3-2660
    • Após a escolha do tema, serão listadas as tabelas impactadas pelas integrações referentes ao tema. Escolha as tabelas que deseja para na sequencia definir quais colunas de data serão atualizadas.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem4-2660
    • Nesta etapa, após a escolha das tabelas, são listadas em tela as colunas de data que a integração utiliza. Selecione quais colunas deseja atualizar os registros nulos.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem5-2660
    • Após a escolha das colunas de data que deseja alterar, será apresentado um detalhamento da quantidade de registros nulos presentes em cada uma das colunas selecionadas, basta seguir para o próximo passo e definir a data que deseja inserir para esses registros.

    Image Added

    • Caso não existam registros nulos, ao clicar no botão "Próximo passo", a seguinte mensagem será apresentada:

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciaitem6-2660
    • Nesta última etapa, deverá ser definida a data que será inserida nos registros nulos:

    Image Added

    • Opção "Inserir data/hora de forma automática"
      • Define automaticamente a data 01/01/1900 00:00:00 aos registros nulos.
    • Opção "Manual"
      • Permitirá definir uma data específica nos campos de data e hora presentes em tela.
    • Ao clicar em "Finalizar", será apresentada uma tela de confirmação da operação:

    Image Added

    • Após a confirmação, o update será realizado em todos os registros nulos com a data definida. Ao finalizar, será apresentado em tela um resumo da quantidade de registros alterados, e nesse resumo será possível visualizar um log do que foi realizado em cada uma das colunas.

    Image Added

    Image Added

    Expandir
    titleRotina 2650 - Monitor de Serviços WSH

    O Monitor de serviços do WSH presente na rotina 2650 é uma ferramenta que permite acompanhar a utilização de memória, CPU, Threads e os logs da aplicação do WSH.

    Aviso
    titleATENÇÃO
    • Para utilizar o Monitor de Serviços do WSH, é necessário estar utilizando a versão futura do WSH.
    Totvs custom tabs box
    tabsAtivar Monitoria, CPU, Memória, Threads, Logs
    idsmonitorServicoWSHPasso1,monitorServicoWSHPasso2,monitorServicoWSHPasso3,monitorServicoWSHPasso4,monitorServicoWSHPasso5

    Para acessar a ferramenta, basta abrir a rotina 2650 e clicar no menu "Monitor Serviços WSH"

    Totvs custom tabs box items
    defaultyes
    referenciamonitorServicoWSHPasso1

    Ao clicar no botão "Iniciar monitoria" a ferramenta dará inicio ao monitoramento:

    Image Added



    Totvs custom tabs box items
    defaultno
    referenciamonitorServicoWSHPasso2

    Na aba "CPU" é possível visualizarmos informações referentes ao processador, uso da JVM pela aplicação do WSH e também algumas informações de memoria da máquina física.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciamonitorServicoWSHPasso3

    Na aba "Memória" visualizamos informações relacionadas a memória principal da aplicação, memórias heap e não reap, e também o uso da memória total destinada a JVM

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciamonitorServicoWSHPasso4

    Na aba "Threads" é possível acompanhar a quantidade de threads que a aplicação está utilizando, bem como o status de cada thread.

    Image Added

    Totvs custom tabs box items
    defaultno
    referenciamonitorServicoWSHPasso5

    Na aba "Logs" podemos acompanhar os logs em tempo real da aplicação. Os logs são os mesmos registrados no arquivo de logs do WSH:

    Image Added



    Informações
    titleAPI's
    Expandir
    titleIntegração de eventos

    O objetivo é disponibilizar uma API de integração de eventos ao WSH;

    Aviso
    titleATENÇÃO
    • Para utilizar a API, deverá ser instalado o serviço winthor-integracao-config na versão 1.35.1.16 ou superior.
    • Antes de utilizar a API de integração de eventos é necessário realizar o Login no WTA.
    Totvs custom tabs box
    tabsRequest, Response
    idsitem1-apiEvento,item2-apiEvento
    Totvs custom tabs box items
    defaultyes
    referenciaitem1-apiEvento

    O envio da requisição de eventos deverá ser realizado no seguinte endpoint:

    • winthor/integracao/fulfillment/v1/evento método POST;

    O JSON deverá respeitar a seguinte estrutura:

    Bloco de código
    languagejs
    {
    	"origem": "ORIGEM",
    	"codigoOrigem": "CODIGOORIGEM",
    	"token": "bf602066-d434-47c6-9930-37fcd6891300",
    	"codigoProcesso": 1,
    	"descricaoProcesso": "DESCRICAO",
        "observacao":"OBSERVACAO"
    }
    CampoTipoDescriçãoObrigatório
    origemString (50)Origem do evento.Sim
    codigoOrigemString (100)Código de identificação da origem do eventoSim
    tokenStringToken de identificação da requisição;Não
    codigoProcessoLong (10)Código do processo referente ao evento.Sim
    descricaoProcessoString (200)Descrição do processo referente ao evento.Não
    observacaoStringObservação sobre o evento.Não


    O objetivo da API é armazenar essa informação enviada no request na tabela PCINTEGRACAOEVENTORECEBIDO.


    Totvs custom tabs box items
    defaultno
    referenciaitem2-apiEvento

    Casa respeitados os campos de envio da requisição, o response deverá apresentar a seguinte estrutura:

    • HttpStatusCode 201 CREATED;
    • Um objeto contendo o evento inserido;

    Ex:

    Bloco de código
    languagejs
    {
        "origem": "ORIGEM",
        "codigoOrigem": "CODIGOORIGEM",
        "token": "bf602066-d434-47c6-9930-37fcd6891300",
        "descricaoProcesso": "DESCRICAO",
        "observacao": "OBSERVACAO",
        "codigoProcesso": 1,
        "dataCriacao": "2024-04-24T15:31:10.482",
        "dataAlteracao": "2024-04-24T15:31:10.482",
        "processado": false
    }

    Image Added


    Do contrário, caso algum campo obrigatório não tenha sido informado, o response irá informar HttpStatusCode 400 BAD REQUEST e o seguinte erro:

    Bloco de código
    languagejs
    {
        "code": "WT-CONFIG-000032",
        "message": "Erro ao receber evento",
        "detailedMessage": "Campo Obrigatorio não pode ser nulo. Campo: X",
        "details": []
    }

    Integração com PDV Omnishop

    WSH - Winthor Smart Hub - Integrações


    Informações
    titleIntegrações
    Informações
    titleIntegrações

    Integração com Fulfillment

    Expandir
    titleOmni Fulfillment
    Expandir
    titlePDV Omnishop
    Page Tree
    root