Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Processo: Cliente

Ativo: Sim

Tipo Process: BuscaEnvia

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

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

Bloco de código
{
    "url_token": "http://caminhoqacorp.brazilsouth.cloudapp.azure.com/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl",
    "operacao": "ManterClienteLC_Integracao_Xml",
  (Url para "tagretorno": "<LC_Retorno>"
}

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

Bloco de código
&"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'>
    <soapenv:Header/>
    <soapenv:Body>
        <liv:ManterClienteLC_Integracao_Xml>
            <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite>
  acessar o LiveConector)
    "operacao":"RecuperarInventarioLC_Integracao_Xml",          <liv:xmlTicketCliente>
                <![CDATA[<?xml version='1.0'?><LC_TicketCliente>
          <Chave>" (Operação para buscar token)
+ self:cToken + "</Chave>
          <CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite":"123456789",'] + "</CodigoSistemaSatelite>
          <Data>" + DtoS( Date() ) + "</Data>
          <Hora>" + StrTran(Time(), ':', '') + "</Hora>
          <Numero>" + FwTimeStamp(1) + "</Numero>
          <Documentos>
            <LC_Cliente>
       (código do sistema satélite)
    "usuario":"[email protected]",  <Apelido>" + self:oPublica['A1_NOME'] + "</Apelido>
              <CPF_CNPJ>" + self:oPublica['A1_CGC'] + "</CPF_CNPJ>
              <DataNascimento>" +dtoc(sTod(self:oPublica['A1_DTNASC'])) + "</DataNascimento>
              <Inativo>false</Inativo>
              <Indicacao></Indicacao>
        (nome do usuário)
    "senha":"senha"<Nome_RazaoSocial>" + self:oPublica['A1_NOME'] + "</Nome_RazaoSocial>
              <Nota>0</Nota>
              <NumeroSequencia>1</NumeroSequencia>
              <Observacoes>CLIENTE-INTEGRADO-PROTHEUS</Observacoes>
              <Sexo>0</Sexo>
              <TipoCliente>" +  (senha do usuário)
}

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

Bloco de código
&"<?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:RecuperarInventarioLC_Integracao_Xml>
IIF(self:oPublica['A1_PESSOA'] == 'F','0','1') + "</TipoCliente>
              <TipoClassificacaoCliente>2</TipoClassificacaoCliente>
              <ListaDocumentosCliente>
                <LC_DocumentoCliente>
                  <Identificacao>" + self:oPublica['A1_CGC'] + "</Identificacao>
                  <TipoDocumentoCliente>2</TipoDocumentoCliente>
                </LC_DocumentoCliente>
              </ListaDocumentosCliente>
              <ListaEnderecos>
                <LC_Endereco>
                  <liv:codigoSistemaSatelite><Bairro>" + self:oConfAssinoPublica['sistemasateliteA1_BAIRRO'] + "</liv:codigoSistemaSatelite>
Bairro>
                  <CEP>" + <livself:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_Identificacao><Chave>oPublica['A1_CEP'] + "</CEP>
                  <Cidade_NumeroMunicipioIBGE>" + self:oPublica['A1_COD_MUN'] + "</Cidade_NumeroMunicipioIBGE>
                  <Complemento>" + self:oPublica['A1_COMPLEM'] + "</Complemento>
                  <Estado>" + self:cTokenoPublica['A1_EST'] + "</Chave><CodigoSistemaSatelite>Estado>
                  <Logradouro>" + self:oConfAssinoPublica['sistemasateliteA1_END'] + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao>
Logradouro>
                  <Numero>0</Numero>
                  <TipoEndereco>0</TipoEndereco>
                </LC_Endereco>
              </liv:RecuperarInventarioLC_Integracao_Xml>
ListaEnderecos>
              <ListaEnderecosEletronico>
                <LC_EnderecoEletronico>
                  <Descricao>" + self:oPublica['A1_EMAIL'] + "</Descricao>
                  <TipoEnderecoEletronico>0</TipoEnderecoEletronico>
                </soapenv:Body>
</soapenv:Envelope>"

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

Bloco de código
{  
    "B7_FILIAL":"&RmiDePaRet('LIVE', 'SM0',self:oRegistro:_INVENTARIO:_CNPJLoja:Text,.F.)",
    "B7_DOC":"&self:oRegistro:_INVENTARIO:_CodigoInventario:Text",
    "B7_DATA":"&DtoS(CtoD(SubStr(self:oRegistro:_INVENTARIO:_DataFechamento:Text,1,10)))",
    "SB7": [
LC_EnderecoEletronico>
              </ListaEnderecosEletronico>
              <ListaTelefones>
                <LC_Telefone>
                  <Complemento></Complemento>
                  <DDD>" + self:oPublica['A1_DDD'] + "</DDD>
                  <Numero>" + self:oPublica['A1_TEL'] + "</Numero>
                  <TipoTelefone>0</TipoTelefone>
                </LC_Telefone>
              </ListaTelefones>
              <ListaLimiteCredito>
                <LC_LimiteCredito>
                  <Ativo>true</Ativo>
                  {
<CodigoLoja>01851716000165</CodigoLoja>
                  "B7_COD":"&RmiDePaRet('LIVE', 'SB1',self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto[nItem]:_CodigoProduto:text,.F.)",
<LimiteCredito>" + cValToChar(self:oPublica['A1_LC']) + "</LimiteCredito>
                  "B7_LOCAL": "01",
<LimiteMensal>" + cValToChar(self:oPublica['A1_LC']) + "</LimiteMensal>
                  "B7_QUANT":"&self:oRegistro:_INVENTARIO:_ProdutosLista:_Produto[nItem]:_QtdEstoquePosicaoAtual:text",<NomeContrato>" + self:oPublica['A1_NOME'] + "</NomeContrato>
                </LC_LimiteCredito>
              </ListaLimiteCredito>
              <ListaModalidades>
            "B7_CONTAGE": "1",
        <LC_Modalidade>
                    <Codigo>1</Codigo>
                      <Descricao>Consumidor Final</Descricao>
                "B7_ORIGEM": "LOJAINT"
</LC_Modalidade>
              </ListaModalidades>
            </LC_Cliente>
          }</Documentos>
        </LC_TicketCliente>]
}]>
            </liv:xmlTicketCliente>
        </liv:ManterClienteLC_Integracao_Xml>
    </soapenv:Body>
</soapenv:Envelope>"

Exemplo da Configuração do campo de exportação A1_MSEXP via Configurador:


Image Added


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

Image RemovedImage Added


Dica
titleFluxo de integração

Após ter realizado as configurações acima a integração do Inventário  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 o envio da publicação sera realizado a distribuição das publicações de Inventários Cliente para o Assinante Live na tabela MHR.

Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Inventário 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 Inventário Cliente para o Totvs Live.