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
Guia da Integração RMI - Retail Integration Management