Abaixo iremos mostrar como configurar o Processo de Cliente no Protheus para integra-lo com o sistema Totvs Live. Siga o Passo a Passo.


Cadastrando o Processo de Cliente

Para integrarmos o Cliente com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Cliente foi criado automaticamente no Protheus.


1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Processos.

2- Ajustar dicionario conforme a documentaçãohttps://tdn.totvs.com/x/WfCnI

3- Aguarde a criação automática do cadastro de processo referente ao Cliente.  

4- Verifique se foi criado as Informações abaixo:

Processo: Cliente 

Tabela: SA1

Chave: A1_FILIAL+A1_COD+A1_LOJA

Vinculando o Processo de Cliente ao Assinante Live


1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.

2- Com o assinante Live previamente cadastrado, posicione no assinante Live e clique em alterar.

3- Na guia Assinantes x Processos, preencha os seguintes campos:

Processo: Cliente 

Ativo: Sim

Tipo Process: Busca

Filiais Proc: Informe o código das filiais que deseja Buscar o Processo

Configuração: Preencha esta campo de acordo com a sua URL da API  Cliente, como mostra o exemplo abaixo:

{
    "url": "http://xxxxxxx/xxxxxxxx/LiveConnector/FacadeIntegracao.svc?wsdl",
    "operacao": "RecuperarClienteLC_Integracao_Xml",
    "tagretorno": "<LC_TicketClienteSaida>",
    "documentoId": "LC_ClienteSaida",
    "ChaveUni": "CPF_CNPJ"
}

Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.

&"<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'>
   <soapenv:Header />
   <soapenv:Body>
      <liv:RecuperarClienteLC_Integracao_Xml>
         <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite>
         <liv:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_Identificacao><Chave>" + self:cToken + "</Chave><CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao>
      </liv:RecuperarClienteLC_Integracao_Xml>
   </soapenv:Body>
</soapenv:Envelope>"

Layout Publicação:  Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG

Obs: Os campos abaixo são configuráveis conforme a sua necessidade após o &. Podendo incluir mais campos e chamada de funções para preenchimento.

{
    "A1_FILIAL": "&xFilial('SA1')",
    "A1_NOME": "&self:oRegistro:_Apelido:Text",
    "A1_TIPO": "F",
    "A1_LOJA": "&SuperGetMV('MV_LOJAPAD',.F., '01')",
    "A1_CGC": "&self:oRegistro:_CPF_CNPJ:Text",
    "A1_NREDUZ": "&SubStr(self:oRegistro:_Nome_RazaoSocial:Text,1,20)",
    "A1_PESSOA": "&IIF(UPPER(Alltrim(self:oRegistro:_TipoCliente:Text)) == 'JURIDICA','J','F')",
    "A1_BAIRRO": "&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_BAIRRO:Text",
    "A1_CEP": "&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_CEP:TEXT",
    "A1_COD_MUN": "&SUBSTR(self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_Cidade_NumeroMunicipioIBGE:Text,3,5)",
    "A1_COMPLEM": "&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_Complemento:Text",
    "A1_EST": "&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_Estado:Text",
    "A1_END": "&self:oRegistro:_LISTAENDERECOSSAIDA:_LC_ENDERECOSAIDA:_LOGRADOURO:Text",
    "A1_DDD": "&self:oRegistro:_LISTATELEFONESSAIDA:_LC_TELEFONESAIDA:_DDD:TEXT",
    "A1_TEL": "&self:oRegistro:_LISTATELEFONESSAIDA:_LC_TELEFONESAIDA:_NUMERO:TEXT"
}


Exemplo da configuração do Processo Cliente no assinante Live:


Após ter realizado as configurações acima a integração do Cliente seguirá o seguinte fluxo:

Com os serviços RMIPUBLICA, RMIDISTRIB e RMIENVIA configurados e ativos, será gerado as publicações na tabela MHQ.

Após a busca da publicação sera realizado a distribuição das publicações de Cliente para o Assinante Live na tabela MHR.

Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Cliente para o Totvs Protheus, após a finalização do serviço RMIENVIA, no campo MHR_ENVIO, será gravado o json que enviamos para o Protheus e no campo MHR_RETORN é gravado a mensagem de retorno do Live, se obteve sucesso ou não na inclusão do Cliente .