Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Varejo
Módulo:SigaLoja - Controle de Loja
Função:

RmiBuscaObj - Classe responsável por buscar informações

RmiBusLiveObj- Classe responsável por buscar informações com particularidades do Totvs Live.

02. SITUAÇÃO/REQUISITO

Permitir que o serviço RMIBUSCA efetue a busca de Cliente no Assinante Live.

03. SOLUÇÃO

Atualizado serviço RmiBusca, permitindo realizar a busca dos Clientes cadastrados no TOTVS LIVE e publica-los na tabela MHQ - Mensagens Publicadas.

Este serviço será executado com base na configuração de Assinantes.

Neste exemplo o processo CLIENTE está configurado como busca para o assinante Live utilizando a operação RecuperarClienteLC_Integracao_Xml.


Definição dos principais campos para efetuar a busca:

  • Tipo Process - Tipo de Execução do Processo

2=Busca


  • Configuração do Assinante - Para acessar o WebSevice do LiveConector
{
    "url_token":"http://caminho/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl",   	(Url para acessar o LiveConector)
    "operacao":"ObterChaveAcessoLC_Integracao", 											(Operação para buscar token)
    "sistemasatelite":"123456789", 															(código do sistema satélite)
    "usuario":"[email protected]", 														(nome do usuário)
    "senha":"senha" 																		(senha do usuário)
}


  • Configuração do Processo - Necessário para executar a operação RecuperarClienteLC_Integracao_Xml
{
    "url": "http://caminho/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl", 			(Url para acessar o LiveConector)
    "operacao": "RecuperarClienteLC_Integracao_Xml",
    "tagretorno": "<LC_TicketClienteSaida>",
    "documentoId": "LC_ClienteSaida",    
    "ChaveUni": "CPF_CNPJ"
}


  • Layout Envio - Body que o LiveConector precisa para retornar as vendas
&"<?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>"

Observação:

& - Este carácter define que deve macro executar tudo o quem depois em tempo de execução.

A1_FILIAL - O campo de Filial da tabela SA1 deve ser compartilhado.

A1_COD - O campo de código do cliente no Protheus ( A1_COD ) segue a mesma regra da rotina padrão (MATA030) verificando se existe Inicializador Padrão para o preenchimento caso não exista deve incluir.


  • Layout Publi - Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG
{
    "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"
}

Observação:

& - Este carácter define que deve macro executar tudo o quem depois em tempo de execução.

self:oRegistro - Possibilita o acesso a todas as TAGs retornadas pela operação RecuperarClienteLC_Integracao_Xml do LiveConector,  definido por uma venda por vez. 
Caso seja necessário receber mais algum campo deve ser incluído no layout acima.


Exemplo de geração do mensagem publicada (MHQ_MENSAG):

{
	"A1_COD":"",
	"A1_LOJA":"01",	
	"A1_CEP": "02039010",
	"A1_PESSOA": "F",
	"A1_DTNASC": "20010101",
	"A1_EST": "PB",
	"A1_END": "Rua Teste23/03/2020 16:55:17",
	"A1_DDD": "65",
	"A1_FILIAL": "        ",
	"A1_COMPLEM": "Complemento23/03/2020 16:55:17",
	"A1_COD_MUN": "2507507",
	"A1_CGC": "14315476382",
	"A1_NOME": "Apelido 23/03/2020 16:55:17",
	"A1_NREDUZ": "Cliente 23/03/2020 16:55:17",
	"A1_TEL": "763526188",
	"A1_BAIRRO": "B23/03/2020 16:55:17"
}


Neste serviço serão utilizadas as seguintes tabelas:

MHP - Assinantes x Processos

MHQ - Mensagens Publicadas

04. DEMAIS INFORMAÇÕES

Não há.

05. ASSUNTOS RELACIONADOS

Dúvidas Frequentes - Varejo

Guia da Integração RMI - Retail Integration Management