1. Pré-Requisitos para a implementação:

Programas fontes envolvidos :

O ambiente Protheus ( RPO ) deve possuir esses programas com datas superiores :

LJRETAILWIZ.PRW  
LJRETAILAPP.PRW 

link para o pacote de atualização Protheus 11.8 (clique aqui)

Certificado Digital:

A configuração do certificado digital é obrigatória para utilizar o protocolo seguro (HTTPS) , os detalhes da configuração que deve ser realizado no server do Protheus ( appserver.ini )
está no link
( clique aqui )

É recomendável um serviço ( appserver.ini ) separado para o RetailApp.

Um exemplo de configuração no appserver.ini utilizado :

[SSLConfigure]
TryProtocols=1
HSM=0
SSL2=0
SSL3=0
TLS1=1
BUGS=1
CertificateClient=C:\Protheus\Protheus_data\certificado\000002_all.pem
KeyClient=C:\Protheus\Protheus_data\certificado\000002_key.pem
PassPhrase=( senha de acesso a chave privada ou certificado )


Rotina no Menu:

  1.  No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013)
  2.  Informe as novas opções de menu do Controle de Lojas ( SIGALOJA), conforme instruções a seguir:
 Menu Miscelânea

Submenu

Integração RetailAPP

Nome da Rotina

Setup Inicial

Programa

LJRETAILSI

Módulo

Controle de Lojas
Menu  Miscelânea

Submenu

Integração RetailAPP

Nome da Rotina

Carga Dados

Programa

 LJRETAILDF 

Módulo

Controle de Lojas

 Nesse link você encontra o passo a passo para incluir uma rotina no configurador (apenas exemplo) ( clique aqui )

Parâmetros:

  1. No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017).
  2. Crie os parâmetros o(s) parâmetro(s) a seguir: 

Itens/Pastas

Descrição

Nome

MV_LJRAPP0

Tipo:

Caracter

Cont. Por

Deixar em branco, pois serão preenchidos automaticamente na rotina de carga inicial

Descrição

Esse parâmetro contém as informações sobres os caminhos ( URLs ) de integração com a RetailApp™ , as informações são separadas pela barra vertical pipe ( | ), na

seguinte sequência : URL de login | URL dos dados | URL de cálculo , conforme exemplo abaixo default abaixo 

https://woolton-backend.azurewebsites.net/api/login|https://woolton-backend.azurewebsites.net/api/data|https://woolton-backend.azurewebsites.net/api/calculate   

Itens/Pastas

Descrição

Nome

MV_LJRAPP1

Tipo:

Caracter

Cont. Por

Deixar em branco, pois serão preenchidos automaticamente na rotina de carga inicial.

Descrição

Esse parâmetro contém as informações de setup da integração , as informações são separadas pela barra vertical pipe ( | ) ,

na seguinte sequência : usuário (email) de conexão com o App | senha de conexão | quantidade de dias para o processamento | códigos das TES | minutos de intervalo

para a execução do job de carga ,exemplo de conteúdo default : teste@teste.com.br|teste123|7|501,502|15.

Habilitar Campos

Para realizar a integração, necessário habilitar os campos reservados: F2_MSEXP.

  1. No Configurador acesse  /Base de Dados /Dicionário /Base de Dados.
  2. Selecione a opção Dicionario de Dados,
  3. Selecione a tabela correspondente ( SF2) 
  4. Ao entrar no cadastro através da função, clique em editar.
  5. Selecione a opção Campos.
  6. Na barra superior,(6) clique no botão Campos reservados.
  7. Selecione a opção Ident. Exp. Dados.

(8) Salvar a alteração e (9) atualizar o dicionário.

 

Passo 1 - Efetuando o setup inicial , que monta a estrutura organizacional 

1- Acessar no menu Miscelanea/ RetailApp Integração/Setup Inicial (rotina  LJRETAILSI )  :
2- A primeira tela do Wizard de configuração será para a configuração da estrutura organizacional da empresa, ou seja, todas as lojas que aparecerão no app no nível hierárquico, abaixo temos 2 exemplos de estruturas organizacionais: um exemplo de uma empresa com apenas uma loja e outro exemplo de um grupo com duas empresas e cada empresa com suas lojas:

Exemplo 1:

 

 

Exemplo 2:

 

 

Obs: No campo nível, é possível informar até o quarto nível, ou seja, de 1 a 4.

Importante: É necessário informar todos os níveis para continuar o setup. Apenas no nível 4 deve informar as lojas (Empresa+Filial Protheus).

 

3- Na segunda tela do Wizard é necessário colocar o nome do usuário e e-mail que será o administrador do aplicativo, será utilizado para logar no portal ( https://admin.getretailapp.com ) e também receberá um e-mail cada atualização que for realizada   :

Importante: É necessário informar todos os campos para continuar o setup.

 

4- No ultimo passo é o caminho que será gerado os arquivos de configuração. Esse caminho pode ser alterado conforme a estrutura de cada cliente.

 

5- Será gerado no caminho informado no passo 3 (root path ) que por default seria na Protheus_data\retailapp\inicial_files. Ao final do processamento, é possível também salvar os arquivos, selecionando o caminho local.

6- Para facilitar o envio, compactar a pasta com os arquivos.

7 - Enviar um e-mail para [email protected] com o arquivo .ZIP anexado para que seja criado a estrutura no app e você recebera o usuário com login e senha que será utilizado na próxima etapa da configuração.

Passo 2 - Efetuando carga de dados .

Após receber o e-mail confirmando a estrutura organizacional, o email/login e senhas de acesso para o app é necessário realizar a carga inicial, para isso acessar o menu Miscelanea/ RetailApp Integração/Carga Dados (rotina  LJRETAILDF ) .

Importante:

Antes de realizar a carga inicial, é necessário realizar uma verificação na base de dados com o intuito de não ter caracteres especiais que poderiam causar algum problema na integração.

Para facilitar essa verificação, revisar as seguintes tabelas: SB2 (B2_FILIAL, B2_COD, B2_QATU), SBM (BM_DESC), SA3 (A3_FILIAL, A3_COD, A3_NOME, A3_NREDUZ) 

 

Nesse primeiro passo (Empresas/Filiais), selecionar quais filiais que deverão gerar as cargas, conforme abaixo. Por padrão, todas as filiais que foram cadastradas no Setup Inicial, serão apresentadas nessa tela e marcadas para geração das cargas. É possível desmarcar as filiais que Não forem gerar a carga.

  

Após selecionar as filiais, são apresentadas os endereços de comunicação com o app (Urls RetailApp). Por padrão esses endereços (URL's), já são carregados. Porém caso haja alguma alteração nesses endereços, os mesmos podem ser alterados nesse momento.

No próximo passo (Usuário de Conexão), é possível informar o e-mail (login) e senha do usuário que realiza a conexão com o app. 

Obs: esse usuário foi previamente cadastrado no Setup Inicial.

Além do usuário e senha, deve-se informar todas as TES (códigos de Tipos de Entrada e Saída) que serão consideradas no filtro das vendas.

Obs: Somente as TES de saída são aceitas. Deve-se informar pelo menos um código.

 

Nesse passo (Rotina Automática), é possível realizar a configuração automática da carga das vendas. Para isso, é necessário marcar a opção de rotina automática e é imprescindível informar o tempo (minutos) entre uma execução e outra.

Importante: por padrão esse tempo, não pode ser inferior a 15 minutos.

Após realizar a confirmação, é apresentada uma mensagem de aviso, solicitando a  inclusão dessas informações no arquivo do servidor. Caso tenha outros serviços de rotinas automáticas já configuradas, não será possível deixar incluir esse serviço automático.

Importante: É solicitado que seja configurado um servidor somente para esse serviço de carga (Retailapp). Essa configuração é necessária para que não entre em conflito com os outros serviços automáticos. 

Após a confirmação, serão gravadas no arquivo appserver.ini as configurações necessárias para a rotina automática.

Exemplo:

[RETAILAPP]
Main=LJRetailApp
Environment=RETAIL
nParms=2
Parm1=99
Parm2=01

[ONSTART]
Jobs=RETAILAPP
REFRESHRATE=3600

Importante: quando a estrutura das lojas for por empresa, é necessário a configuração do Job também por empresa:

[RETAILAPP_01]

Main=LJRetailApp
Environment=RETAIL
nParms=2
Parm1=01
Parm2=01

[RETAILAPP_02]

Main=LJRetailApp
Environment=RETAIL
nParms=2
Parm1=02
Parm2=01

[ONSTART]
Jobs=RETAILAPP_01, RETAILAPP_02
REFRESHRATE=3600

No último passo (Período de Carga), é possível realizar a carga inicial ou executar a carga de x dias definido no campo "Dias para Processamento".

Inicialmente a primeira carga deve ser executada. Essa carga vai considerar todas as vendas dos últimos 12 meses.

Importante: Após a carga inicial, pode-se realizar a carga das últimas vendas, definindo a quantidade de dias no campo e clicando no botão "Executar Movimento"