Vamos lá!
Olá, através dessa documentação vamos te ajudar a fazer algumas configurações no Protheus através do modulo Configurador que são pré-requisitos para a integração entre TOTVS Protheus e TOTVS OMNI, sendo elas:
Cadastro de Rota
Antes de iniciar
Você deve estar se perguntando o que é uma Rota e pra que serve, certo?
A Rota é apenas um Endpoint ou seja o endereço do sistema que vai se comunicar com o TOTVS Protheus.
Esse cadastro de Rota é necessário para que o TOTVS Protheus possa enviar dados ao TOTVS OMNI é necessário que seja informado o endereço HTTP do TOTVS OMNI.
Onde posso conseguir a Rota/Endereço do TOTVS OMNI?
Essa informação deve ser solicitada para o time de serviços responsável pelo projeto.
Agora que já sabe o que é uma Rota e esta com ela em mãos, o que deve fazer?
- No módulo Configurador(SIGACFG) na opção Atualizações\ Schedule\ Cadastro de Rotas EAI, acesse a rotina Cadastro de Rotas EAI
- Pressione o botão Incluir para cadastrar a rota do sistema TOTVS OMNI, no vídeo abaixo o exemplo de um cadastro de Rota.
Auxílio no preenchimento dos campos
Produto : Deve conter o nome do Produto com o qual o PROTHEUS irá ser integrado. Deve-se obrigatoriamente usar a palavra: OMNI
Aplicação : Deve ser o nome do Produto utilizado na integração (obs.: Quando recepcionamos uma mensagem da OMNI, o sistema verifica este campo que deve estar de acordo com a TAG <SourceApplication> ) Deve-se obrigatoriamente usar a palavra: OMNI
Url : É o caminho ou endereço do servidor de destino ex: http://XXXXXXXX/OMNI/. A URL deve ser solicitada para o time de serviços responsável pela implantação do TOTVS OMNI.
Client WS : É o tipo do cliente utilizado. Padrão: WSEAISERVICE.
Metodo : É o método do utilizado para a integração. Padrão: receiveMessage.
Usuário : Usuário utilizado caso o destino obrigue a ter um usuário padrão, caso obrigue essa informação deve ser solicitada para o time de serviços responsável pela implantação do TOTVS OMNI.
Senha : Palavra chave para a validação e liberação dos acesso no destino , caso este precise de validação deve ser solicitada para o time de serviços responsável pela implantação do TOTVS OMNI.
Canal Env : Especificamos o tipo da integração que para o TOTVS OMNI deve ser 2-REST
Cadastro de Agent
Dica!
O que é, e para que serve?
Para que o envio das mensagens assíncronas seja realizado, é necessário efetuar o cadastro de duas rotinas no Schedule Protheus, sendo elas:
- FWEAISEND : Esta rotina é exclusiva para o envio das mensagens da fila do EAI. O agendamento desta rotina é realizado por Empresa cadastrada no sistema. No envio da mensagem, um canal de comunicação é aberto com o webservice do produto integrado, e esta comunicação é encerrada após o recebimento da mensagem de retorno (no caso das Mensagens Única Totvs, após o recebimento da ReceiptMessage, indicando que que o processo ocorreu corretamente) ou por timeout (mensagem com status de falha).
- FWEAIRECE : Esta rotina é exclusiva para o recebimento das mensagens do EAI Protheus. Quando configurada esta rotina inicia o processamento das mensagens disponíveis para processamento na fila do EAI Protheus.
Inclusão do Agent:
- No Configurador ( SIGACFG) acesse Schedule / Agent.
- Essa tela lista todos os agentes cadastrados e as tarefas atribuídas a cada um. Aqui é possível inicializar ou parar os agentes (todos ou de cada vez) através da seguinte barra de opções:
- Para criar um novo agent, clique na opção “Cadastro”
Auxilio no preenchimento dos campos
- Código: Valor sequencial que representa o identificador único desse agente no sistema. Ele é preenchido automaticamente;
Nome: Nome que identifica o agente. O preenchimento é livre e, sugere-se que indique o tipo de tarefa executada nos agendamentos;
IP: Endereço IP do servidor do Protheus no qual o agente se conectará para executar as tarefas agendadas é interessante sempre informar o IP do servidor;
Porta: Porta do serviço do Protheus no IP informado. Essas informações são indispensáveis para que o agente consiga se conectar corretamente;
Ambiente: Ambiente do Protheus utilizado para a conexão. Automaticamente, o sistema já traz o ambiente em que o usuário que está fazendo a manutenção está autenticado;
Empresa: Qual a empresa em que o Agente irá se logar no sistema. Embora exista essa informação no cadastro, nada impede que o desenvolvedor utilize funções específicas para abrir o ambiente de execução da função em outra empresa;
Nome da Empresa: Nome da empresa, de acordo com a instalação do Protheus (sigamat.emp – SM0). Valor preenchido automaticamente através do código da empresa informado anteriormente;
Número de Threads: Quantidade de instâncias do Protheus que esse agente irá utilizar quando ativado. Esse controle é muito importante pois impacta diretamente na quantidade de licenças que serão consumidas durante a execução;
Habilitado:Flag que indica se o Agente está ativo no momento ou não. Lembrando que as rotinas atreladas a um Agente só serão executadas caso ele esteja ativo, não importando o horário e data para o qual estão agendadas.
Importante!
Após cadastrar corretamente um Agente, não se esqueça de ativá-lo.
Para bases TOTVS CLOUD o IP a ser configurado deve ser o IP interno.
Para mais detalhes, acesse o link A camada do EAI
Cadastro do Agendamento FWEAISEND:
Inclusão da rotina de Recebimento das Mensagens do EAI Protheus: FWEAISEND
- Para incluir um novo agendamento, clique no item “Cadastro”
- Essa tela irá apresentar uma listagem dos agendamentos já cadastrados e, na parte inferior, uma área de manutenção dos agendamentos:
Auxilio no preenchimento dos campos
- Código: Valor sequencial que representa o identificador único desse agente no sistema. Ele é preenchido automaticamente.
Usuário: Usuário do Protheus que será utilizado para inicializar o processo.
Nome do usuário: Nome do usuário no sistema. É preenchido à partir do Usuário selecionado no campo anterior.
Rotina: FWEAISEND( Rotina recebimento de mensagens do EAI Protheus).
Data: Qual a data da execução do agendamento.
Hora: Qual a hora em que a função será executada.
- Empresa/Filial: Qual empresa e filial será aberta no momento da execução. Novamente, repare que esses campos não invalidam funcionalidades que abram e utilizem um ambiente diferente.
- Módulo: Qual o módulo do Protheus que será utilizado na execução do agendamento. Essa informação é importante pois interfere na forma como o Protheus irá consumir as licenças disponíveis para a execução do job.
- Nome do Módulo: O nome do módulo selecionado no campo anterior e é preenchido automaticamente.
- Habilitada:Flag que determina se a execução do agendamento está habilitada ou não.
- Descrição: Descrição livre sobre o agendamento.
Cadastro do Agendamento FWEAIRECE:
Inclusão da rotina de Recebimento das Mensagens do EAI Protheus: FWEAIRECE
- Para incluir um novo agendamento, clique no item “Cadastro”
- Essa tela irá apresentar uma listagem dos agendamentos já cadastrados e, na parte inferior, uma área de manutenção dos agendamentos:
Auxilio no preenchimento dos campos
- Código: Valor sequencial que representa o identificador único desse agente no sistema. Ele é preenchido automaticamente;
Usuário: Usuário do Protheus que será utilizado para inicializar o processo;
Nome do usuário: Nome do usuário no sistema. É preenchido à partir do Usuário selecionado no campo anterior;
Rotina: FWEAIRECE ( Rotina recebimento de mensagens do EAI Protheus).
Data: Qual a data da execução do agendamento.
Hora: Qual a hora em que a função será executada.
- Ambiente: Qual o ambiente que será inicializado na execução;
Empresa/Filial: Qual empresa e filial será aberta no momento da execução. Novamente, repare que esses campos não invalidam funcionalidades que abram e utilizem um ambiente diferente;
Módulo: Qual o módulo do Protheus que será utilizado na execução do agendamento. Essa informação é importante pois interfere na forma como o Protheus irá consumir as licenças disponíveis para a execução do job;
Nome do Módulo: O nome do módulo selecionado no campo anterior e é preenchido automaticamente;
Habilitada:Flag que determina se a execução do agendamento está habilitada ou não;
- Descrição: Descrição livre sobre o agendamento;
Importante!
Após o cadastro da rotina FWEAIRECE é necessário realizar a inicialização do Schedule como mostra no vídeo acima.
Cadastro de De/Para de Empresas
Dica!
O que é um cadastro de De/Para de Empresas?
Como a integração é realizada entre dois sistemas e nem sempre o código de Empresa e Filiais são iguais, neste caso torna-se necessário o cadastro de De/Para com o objetivo de receber e enviar mensagens entre as empresas e filiais corretas.
- No modulo Configurador (SIGACFG), acesse Ambientes/Schedule/Emp.Fil.Msg.Unica.
- Cadastre o De/Para de Empresas e Filiais de acordo com sua necessidade como mostra o exemplo abaixo:
Auxilio no preenchimento dos campos
- Referência: OMNI
- Empresa : Código da Loja/Empresa OMNI a integrar. Importante caso não tenha essa informação pode ser o código da empresa Protheus, como mostra o vídeo acima.
- Filial: Código da Filial do OMNI, esta informação pode ser obtida através desta pagina. (.Beatriz irá enviar o link.)
- Grupo Emp. Protheus: Código da Empresa no Protheus a integrar com o sistema OMNI.
- Fil. Protheus: Código da Filial no Protheus a integrar com o sistema OMNI.
Configurando os parâmetros utilizados na integração
Dica!
Abaixo os parâmetros e pontos de entrada utilizados na integração entre TOTVS Protheus e TOTVS OMNI.
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017).
- Configure\Crie os parâmetros abaixo:
Parâmetro/PE | Tipo | Descrição | Exemplo de Conteúdo | Observação |
---|---|---|---|---|
MV_LJECOMO | L | E-commerce CiaShop .T. (Ativo) .F. (Desativado)
| .F. | Colocar obrigatoriamente falso (.F.) |
MV_LJECOMM | L | Identifica que o sistema utiliza E-commerce .T. (Ativo) .F. (Desativado)
| .F. | Colocar obrigatoriamente falso (.F.) |
MV_TABPAD | C | Preço Padrão para digitação de vendas | 001 | Deve possuir o código cadastrado na tabela de preços DA0 para referência. Importante: Esse parâmetro não define regras de preço para o E-commerce, o preço recebido via integração não é modificado, esse parâmetro é necessário por regras do módulo SIGALOJA. |
MV_RESEST | L | Indica se o estoque deve ser reservado para clientes que possuem bloqueio de credito. | .T. | Recomenda-se habilitar esse parâmetro com integração VTEX para gerar a liberação do pedido e reservar o estoque mesmo quando o crédito estiver bloqueado (Boleto por exemplo). |
MV_LJIFPLI | C | Define as formas de pagamento para geração de pedido de venda liberado para faturamento, ou seja, sem nenhum tipo de bloqueio financeiro. | FI|CC|R$ | Importante: Somente informar as formas que tem confirmação de pagamento na camada do e-commerce. Exemplo: Caso utilize boleto sem a confirmação de pagamento pela VTEX, não deverá informar o boleto nesse parâmetro, caso isso ocorra, um pedido que ainda não teve o boleto pago, poderá ser liberado para o faturamento após a integração. |
MV_LJGERSC | N | Se utiliza o conceito de gerar Solicitação de Compras para reserva sem estoque. | 4 | Para MarketPlace como o Pedido já vem fechado recomenda-se o uso deste parâmetro = 4 (Permite reserva sem estoque e não gera solicitação de compras) para permitir reservar mesmo sem o estoque. Obs: As configurações para geração automática de solicitação de compra não são compatíveis para a integração do e-commerce |
MV_LJTESPE | C | Define qual o TES será utilizado para a geração do Pedido de Venda por meio da rotina Venda Assistida. O parâmetro pode ser macro-executado. | 501 | Para utilização da TES Inteligente, esse parâmetro deverá estar em branco. |
MV_LJPEDVE | L | Define a utilização da emissão de Pedidos de Venda através da rotina de Venda Assistida. | .T. | O parâmetro deve ficar obrigatoriamente .T. para emissão do pedido de venda, essa configuração é padrão para seguir o fluxo de pedido com entrega no módulo de Venda Assistida. (SIGALOJA 0196 Como habilitar a emissão de pedido de venda na Rotina Venda Assistida?) |
MV_LJCONDP | C | Determina a Condição de Pagamento que será utilizada para a emissão do Pedido de Venda através da rotina de Venda Assistida. Esta condição de pagamento é meramente informativa pois o TES utilizado não pode gerar movimento financeiro. | 001 | Importante: É necessário verificar se existe Condição de Pagamento cadastrada na tabela SE4 - Condições de Pagamento, para informar no parâmetro. (SIGALOJA 0196 Como habilitar a emissão de pedido de venda na Rotina Venda Assistida?) Obs: Os pagamentos contidos no XML enviado a SEFAZ são com base os pagamentos do orçamento (Tabela SL4 ), sendo assim, a condição de pagamentos contida no pedido de venda está presente apenas para preencher uma obrigatoriedade do pedido de venda, não sendo utilizada para a geração do XML. |
MV_LJTPFRE | C | Tipo de frete para o processo de integração de venda via mensagem padronizada RetailSales. | F | O parâmetro pode ser macro-executado. Para isso, ele deve iniciar com & e em seguida com a função a ser chamada. Exemplo: &U_EXEMPLO(). Caso não seja eleito um Tipo de Frete diferente do permite no campo será informado uma critica e não integrará a orçamento/venda. Para maiores informações acesse: https://tdn.engpro.totvs.com.br/display/public/PROT/MV_LJTPFRE |
MV_VALCNPJ | C | Parâmetro do módulo de Faturamento, define se permite ter mais de um cliente com o mesmo CNPJ | 1 | Esse parâmetro é importante para a integração VTEX para permitir múltiplos endereços, mais informações no link: https://tdn.totvs.com/display/public/PROT/DSERFAT-20178+DT+EAI+Adapter+CustomerVendor+-+Clientes |
MV_VALCPF | C | Parâmetro do módulo de Faturamento, define se permite ter mais de um cliente com o mesmo CPF | 1 | Esse parâmetro é importante para a integração VTEX para permitir múltiplos endereços, mais informações no link: https://tdn.totvs.com/display/public/PROT/DSERFAT-20178+DT+EAI+Adapter+CustomerVendor+-+Clientes |
MV_LJE1NUM | C | Define padrão de número na geração do título financeiro | 1 | Para mais informações: DT_MV_LJE1NUM |
MV_LJTDESI | N | Para controlar o tipo de desconto na integração RetailSales 0 = desligado padrão, 1 = desconto no campo Indenização. | 0 | Parâmetro usado para desconto no total da venda, onde muda o desconto no pedido de venda para o campo Indenização (C5_DESCONT). |
MV_LJCTRES | L | Verifica se controla quantidade reservada para o cliente que efetuou a compra. | .T. | Na criação da reserva a quantidade é empenhada no estoque, caso houver necessidade de cancelamento o empenho é retornado ao estoque. |
LJI701O1 | PE | Ponto de entrada para customizar os dados recebidos na integração. Seu uso não é obrigatório e o conteúdo customizado não é avaliado pelo time de produto, conforme ocorre com demais pontos de entrada do Protheus. Somente deverá ser utilizado se houver a necessidade de customizar algum dado recebido pela camada da VTEX. Ele permite alterar o valor das tags dos itens que foram recebidas pela mensagem única RetailSales. | Documentação: Ponto de entrada LJI701O1 | |
LJI701O2 | PE | Ponto de entrada para liberação da alteração do pedido de venda, gerados pela mensagem única RetailSales | Documentação: Ponto de entrada LJI701O2 | |
LJDEPSE1 | PE | Este Ponto de Entrada é acionado na finalização do Venda Assistida após a gravação do título a receber na tabela SE1, possibilitando que sejam realizadas gravações complementares no titulo inserido. O registro inserido fica posicionado para uso no Ponto de Entrada. | Documentação: LJDEPSE1 - Ponto de entrada após a gravação do título a receber (SE1) | |
MV_DTLIMIT | N | Parâmetro para determinar a validade de um orçamento com ou sem reserva. | Documentação: https://centraldeatendimento.totvs.com/hc/pt-br/articles/115015439487-MP-SIGALOJA-Como-determinar-a-validade-de-um-or%C3%A7amento-com-ou-sem-reserva | |
MV_LJCFPDP | N | Determina se a funcionalidade de Confirmar Pedido Pendente esta ativa: 0 = Desabilitado 1 = Habilitado 2 = Automático | 0 | Documentação: DT Venda Assistida com opção Confirma Pedido Pendente Para pedidos tipo retira posterior deverá habilitar o parâmetro. 1 = Habilitado |
Próximo passo
Vamos lá!
Após realizar os procedimentos acima no configurador do Protheus, vamos para o próximo passo, iniciando a integração