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

