Árvore de páginas


CONTEÚDO

01. VISÃO GERAL

A integração do Omni com o Totvs Protheus tem como premissa o Protheus integrado com EAI e o TSS.

  • EAI (Enterprise Application Integration, ou, Integração de aplicações corporativas), que é um conceito que visa a integração entre sistemas corporativos diferentes, por meio da utilização de serviços disponibilizados que compreende a troca de informações do envio e recebimento de mensagens, o registro das mensagens trafegadas e o gerenciamento de filas de execução.
  • TSS (TOTVS Service SOA) é uma aplicação baseada na arquitetura orientada a serviços, em que o objetivo principal é prover os serviços de emissão e manutenção de documentos fiscais eletrônicos como: Nota Fiscal Eletrônica (NFe), Conhecimento de Transporte Eletrônico (CTe), Nota Fiscal de Serviço Eletrônica (NFSe), Capa de Lote eletrônica (CLe), Manifesto de Documentos Fiscais Eletrônicos (MDFe), Nota Fiscal Eletrônica para Consumidor Final (NFCe), Manifesto do destinatário (MDe) e a mensagem de documentos entre produtos homologados.
    Nossa integração com o TSS se conecta exclusivamente para sincronizar as informações e repasse de dados:
    • Pedidos de compra e venda
    • Repassagem de Nota Fiscal Eletrônica 

     Abaixo descreveremos como parametrizar o conector TOTVS Protheus PDV para o site de um cliente, fluxo e procedimentos necessários.

02. PRODUTO, PREÇO e ESTOQUE

O TOTVS Protheus PDV é responsável por enviar os dados de produto, preço e estoque para o Totvs Omni. Os dados são enviado do TOTVS Protheus para o Omni através de uma mensagem padronizada pelo EAI.

OBS: O carregamento das imagens dos produtos são carregados via interface do Totvs Omni. 

03. PEDIDO

O Omni é responsável por enviar os dados do pedido para o Totvs Protheus, para criação do ID do cliente, ID da entrega, Reserva,  RetailSale e Recuperação do xml da nota fiscal. Os dados são enviados do Totvs Omni para o Totvs Protheus, através de uma mensagem padronizada pelo EAI, para recusar o XML da nota fiscal através do TSS.

  1. Na tela de configuração de site, selecionar o ERP como TOTVS Protheus PDV.

    1. Logado no Omni > Configurações > Sites > Selecione o Site Principal do Cliente (Vide Conceito de Sites, Lojas e Estrutura de Pedidos) e clique em Alterar.

    2. No conjunto de configurações Site, selecione TOTVS Protheus PDV da lista de ERPs disponíveis




  2. Preencher os parâmetros do conector TOTVS Protheus PDV.

    1. Logado no Omni > Configurações > Sites > Selecione o Site Principal do Cliente (Vide TOTVS Omni - Estrutura Pedidos Sites e Fluxos) e clique em Alterar.
    2. No conjunto de configurações Propriedades de Configuração, expanda o grupo ERP - TOTVS e preencha os parâmetros conforme abaixo:


Parâmetros do ERP - TOTVS:
OBS: Todos os campos são obrigatórios de preenchimento com o valor True ou False.


Nome do Parâmetro

Descrição

Formato do Parâmetro, Exemplo e Observações

mandatory.invoice.before.logistic

O campo é responsável por habilitar o acionamento do operador logístico depois do faturamento do pedido no Omni, para casos que o transportador necessite emitir o CT-e mediante dados do XML da Nota Fiscal.

Formato: True ou False

Exemplo: True

order.erp.after.accept.confirmation

O campo é responsável por habilitar a criação do pedido no Totvs Protheus depois do aceite de pedido via WOT (Web Order Tools) do Totvs  Omni.

Formato: True ou False

Exemplo: True

    1. No conjunto de configurações Propriedades de Configuração, expanda o grupo Serviço de Endereço e preencha os parâmetros conforme abaixo:

      Necessário para consulta de código de cidade.

Parâmetros do Serviço de Endereço:
OBS: Todos os campos são obrigatórios de preenchimento.


Nome do Parâmetro

Descrição

Formato do Parâmetro, Exemplo e Observações

address.base.url

Url do serviço de endereço

Formato: Texto

Exemplo: https://www30.bhan.com.br:9443

address.authn.clientid

Id do cliente. Dados de autenticação 

Formato: Texto

Exemplo: totvs

address.authn.clientsecretSenha do cliente. Dados de autenticação 

Formato: Texto

Exemplo: 1SenhaForte!

address.authn.granttypeTipo de autenticação. Dados de autenticação 

Formato: Texto

Exemplo: password 

address.authn.usernameUsuário. Dados de autenticação 

Formato: Texto

Exemplo: TotvsOmni

address.authn.passwordSenha. Dados de autenticação 

Formato: Texto

Exemplo: Omni


    1. No conjunto de configurações Propriedades de Configuração, expanda o grupo Conector ERP Pedidos - TOTVS Protheus e preencha os parâmetros conforme abaixo:



      Parâmetros do Conector TOTVS Protheus PDV Pedidos:
      OBS: Todos os campos são obrigatórios de preenchimento, salvo informado ao contrário. Caso seja um array e não tenha valor deve ser passado o valor [].

Nome do Parâmetro

Descrição

Formato do Parâmetro, Exemplo e Observações

protheus.company.id

Identificador da companhia do Protheus.

Informação localizada no Protheus como Grupo, como mostra a imagem a baixo:

Formato: Texto

Exemplo: 01

protheus.reserve.warehouse

De/Para do código da Filial do Protheus que será integrada com TOTVS OMNI.

Informação localizada no Protheus, como mostra a imagem a baixo:

Formato: Object JSON

Exemplo

JSON
[
	{
		"storeId": "1",
		"id": "1"
	},
	{
		"storeId": "2",
		"id": "3"
	}
]
protheus.retailsale.depara.creditCardOperator

De/Para do código da Administradora Financeira utilizada do OMNI para o código cadastrado no Protheus (Tabela SAE)

Formato: Objeto JSON

Exemplo

JSON
[  
	{ "Visa": "007" } 
]
protheus.retailsale.depara.paymentMethodCode

De/Para do código de forma de Pagamento utilizada do OMNI para o código cadastrado no Protheus.

Formato: Objeto JSON

Exemplo

JSON
{ "1": "CC" , "40": "BOL" , "52": "CD", "2": "R$" ,"default": "CC"} 

protheus.operator.by.carriercode

De/Para do código da Transportadora Logística no Omni para o código da Transportadora Logística no Protheus.

Formato: Objeto JSON

Exemplo

JSON
[
	{ "idOperator": 61, "code": "000026" }, 
    { "idOperator": 30, "code": "888" }, 
	{ "idOperator": 87, "code": "000028" }
]
protheus.url

Url do Totvs Protheus.

protheus.tss.entities

Mapa de credenciais baseado em companhia do Protheus aliado com o código da Filial para escolher o código da entidade ( campo "code" ) a ser usado na requisição ao TSS do Protheus e dados de acesso para requisição de token no TSS.

Formato: Objeto JSON

Exemplo: 

JSON
[
	{
		"companyId": "99",
		"branchId": "01",
		"code": "000002",
		"grantType": "client_credentials",
		"clientSecret": "c06d9fac8cab2325bc130a62e4c2",
		"clientId": "b36e951c3790355e81a0ee"
	},
	{
		"companyId": "00",
		"branchId": "01",
		"code": "000002",
		"grantType": "client_credentials",
		"clientSecret": "c06d9fac8cae6a130a62e4c2",
		"clientId": "b36e955274780be981a0ee"
	},
	{
		"companyId": "01",
		"branchId": "33",
		"code": "000002",
		"grantType": "client_credentials",
		"clientSecret": "c06d9fac8cab2325bcc4556a130a62e4c2",
		"clientId": "b36e9552747c3790355e81a0ee"
	},
	{
		"companyId": "01",
		"branchId": "36",
		"code": "000002",
		"grantType": "client_credentials",
		"clientSecret": "c06d9fac8c62c70efe4e6a130a62e4c2",
		"clientId": "b36e9552747804c1d9f0ebe91c37a0ee"
	}
]
protheus.retailsale.depara.operationcodeDe/Para do campo OperationCode na mensagem da RetailSales referente às tabelas de orçamento SL1 e SL2.

Formato: Objeto JSON

Exemplo:

JSON
[
	{ "channel": 23, "code": "E" }
]
protheus.tss.urlUrl do TSS do Protheus

Formato: Texto

Exemplo: http://200.244.178.71:8113/

protheus.tss.usertokenToken de bilhetagem para execução do serviço.

Formato: Texto

Exemplo: PROTHEUS

protheus.tss.diasexclusaoNúmero de dias que este dado deverá ser persistido no TOTVS Service Sped. Caso o valor informado seja zero, não haverá exclusão.

Formato: Número

Exemplo: 0

protheus.retailsale.depara.paymentMethodCodeIDDe/Para do código de forma de Pagamento utilizada do OMNI para o código cadastrado no Protheus

Formato: Objeto JSON

Exemplo

JSON
{"1":"CC" , "40":"BOL" , "52":"CD", "2": "R$" ,"default":"CC"}
protheus.tss.autenticacao

Propriedade para identificar se é para usar autenticação nos métodos do TSS. true = ativado e false = desativado.

Por padrão, a propriedade vai ser assumida como true.

Formato: Texto

Exemplo: true


04. EAI

  1. Importante solicitar ao responsável pelo Protheus e EAI que realize a configuração no EAI para não enviar mensagens para o Omni de pedidos que não tenham vindo dos canais de venda integrados ao Omni.
    Desta forma, mensagens de vendas diretamente na loja não serão processadas, pois estas incorrerão em erro devido ao fato de não achar o numero do pedido ERP no Omni.


05. CACHE

  1. Alteração de Parâmetros e Limpeza de Cache

    Os módulos do Omni trabalham com cacheamento das informações de parâmetros de conector.
    Caso seja necessário alterar um parâmetro e utilizar o novo valor de imediato no conector é necessário a limpeza dos caches dos módulos do Omni.

    Neste caso é necessário realizar a chamada de 2 URLs através de uma tab nova no browser (Logado na interface web do Omni):

    Também é possível aguardar o prazo de 1h a 2hs para que a limpeza agendada dos caches aconteça e o conector acesse os novos valores de parâmetros.



06. VERSÕES DAS MENSAGENS PADRONIZADAS

O Protheus trabalha com várias mensagens padronizadas e cada uma delas é versionada. Atualmente estamos aptos para integrar com as seguintes versões:

  • WHOIS - WHOIS MENSAGEM UNICA - 1.000          
  • PRODUTOXCATEGORIA - PRODUTOXCATEGORIA - 4.007
  • RETAILSALESCANCELLATION - CANCELAMENTO DA VENDA - 1.002
  • RETAILSALES - VENDA - 2.009
  • ITEMRESERVE - RESERVA - 1.000
  • DOCUMENTTRACEABILITYORDERRETAIL - RASTREIO VAREJO - 1.000
  • ITEM - ITEM - 4.007
  • CUSTOMERVENDOR - CLIENTE - 2.005
  • STOCKLEVEL - ESTOQUE - 3.003
  • DOCUMENTTRACEABILITYORDER - RASTREIO - 1.000
  • PRICELISTHEADERITEM - TABELA DE PREÇO - 2.001