Árvore de páginas

Versões comparadas

Chave

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

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

Cadastrando o Processo de

...

Produto

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

...

2- Aguarde a criação automática do cadastro de processo referente ao InventárioProduto.  

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

Processo: Cliente Produto

Tabela: SA1 SB1

Chave: A1B1_FILIAL+A1B1_COD  COD  

Vinculando o Processo de

...

Produto ao Assinante Live

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

...

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

Processo: ClienteProduto

Ativo: Sim

Tipo Process: Envia

...

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

Bloco de código
{
    "url": "http://qacorpXXXX.brazilsouthXXXX.cloudappXXXX.azureXXX.com/PracticoLive/LiveConnector/FacadeIntegracao.svc?wsdl",
    "operacao": "ManterClienteLCManterProdutoLC_Integracao_Xml",
    "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:ManterClienteLCManterProdutoLC_Integracao_Xml>
            <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite>
            <liv:xmlTicketCliente>xmlTicketProduto>
                <![CDATA[
                    <?xml version='1.0'?><LC_TicketCliente>
' encoding='utf-8'?>
                    <LC_TicketProduto>
                        <Chave>" + self:cToken + "</Chave>
                        <CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite>
                        <Data>" + DtoS( Date() ) + "</Data>
                        <Hora>" + StrTran(Time(), ':', '') + "</Hora>
                        <Numero>" + FwTimeStamp(1) + "</Numero>
          <Documentos>
            <LC_Cliente>
  <Documentos>
            <Apelido>" + self:oPublica['A1_NOME'] + "</Apelido>
              <CPF<LC_CNPJ>"Produto>
 + self:oPublica['A1_CGC'] + "</CPF_CNPJ>
              <DataNascimento>" +dtoc(sTod(self:oPublica['A1_DTNASC'])) + "</DataNascimento>
              <Inativo>false<<NumeroSequencia>1</Inativo>NumeroSequencia>
              <Indicacao></Indicacao>
              <Nome_RazaoSocial>" + self:oPublica['A1_NOME'] + "</Nome_RazaoSocial><Ativo>true</Ativo>
              <Nota>0</Nota>
              <NumeroSequencia>1</NumeroSequencia>
    <CNPJFornecedor>" + Posicione('SA2', 1, self:oPublica['B1_PROC'] + self:oPublica['B1_LOJPROC'], 'A2_CGC')   <Observacoes>CLIENTE-INTEGRADO-PROTHEUS</Observacoes>+ "</CNPJFornecedor>
              <Sexo>0</Sexo>
                  <TipoCliente><CEST>" + IIF(self:oPublica['A1B1_PESSOACEST'] == 'F','0','1') + "</TipoCliente>
CEST>
                    <TipoClassificacaoCliente>2</TipoClassificacaoCliente>
            <CNAE>"  <ListaDocumentosCliente>
  + self:oPublica['B1_CNAE'] + "</CNAE>
              <LC_DocumentoCliente>
                  <Identificacao><CodigoAlternativo>" + IIF(Empty(self:oPublica['A1_CGC']B1_ALTER']), self:oPublica['B1_COD'], self:oPublica['B1_ALTER']) + "</Identificacao>CodigoAlternativo>
                  <TipoDocumentoCliente>2</TipoDocumentoCliente>
              <CodigoClassificacaoFiscal>" + self:oPublica['B1_CLASFIS'] + "</LC_DocumentoCliente>CodigoClassificacaoFiscal>
              </ListaDocumentosCliente>
                <ListaEnderecos>
  <CodigoItemServico/>
              <LC_Endereco>
                  <Bairro><CodigoPadrao>" + self:oPublica['A1B1_BAIRROCOD'] + "</Bairro>CodigoPadrao>
                  <CEP>" + self:oPublica['A1_CEP'] + "</CEP>
                  <Cidade_NumeroMunicipioIBGE><CodigoPrincipal>" + self:oPublica['A1B1_COD_MUN'] + "</Cidade_NumeroMunicipioIBGE>
CodigoPrincipal>
                       <Complemento>         <CodigoProdutoPorFornecedor>" + self:oPublica['A1B1_COMPLEMCODBAR'] + "</Complemento>CodigoProdutoPorFornecedor>
                    <Estado>" + self:oPublica['A1_EST'] + "</Estado>
        <DescontoMaximo>99.99</DescontoMaximo>
          <Logradouro>" + self:oPublica['A1_END'] + "</Logradouro>
                  <Numero>0<<DescontoVendaPromocao>99.99</Numero>DescontoVendaPromocao>
                  <TipoEndereco>0</TipoEndereco>
              <Descricao>" + self:oPublica['B1_DESC'] + "</LC_Endereco>
Descricao>
                    </ListaEnderecos>
            <DescricaoResumida>"  <ListaEnderecosEletronico>
  + self:oPublica['B1_DESC'] + "</DescricaoResumida>
              <LC_EnderecoEletronico>
                  <Descricao><DescricaoTipoProduto>" + FwGetSX5("02", self:oPublica['A1B1_EMAIL'TIPO'])[1][4] + "</Descricao>DescricaoTipoProduto>
                   <TipoEnderecoEletronico>0</TipoEnderecoEletronico>
             <IPPT>" + self:oPublica['B1_IPPT'] + "</LC_EnderecoEletronico>IPPT>
               </ListaEnderecosEletronico>
               <ListaTelefones>
  <IndicadorArredondamento>true</IndicadorArredondamento>
              <LC_Telefone>
                  <Complemento><<InserirClassificacao>true</Complemento>
InserirClassificacao>
                                <DDD><PesoBruto>" + cValToChar(self:oPublica['A1B1_DDDPESO']) + "</DDD>
PesoBruto>
                                <Numero><PesoLiquido>" + cValToChar(self:oPublica['A1B1_TELPESO']) + "</Numero>PesoLiquido>
                  <TipoTelefone>0</TipoTelefone>
              <PrecoCentralizado>true</PrecoCentralizado>
  </LC_Telefone>
              </ListaTelefones>
              <ListaLimiteCredito>
  <QuantidadeCasaDecimal>2</QuantidadeCasaDecimal>
              <LC_LimiteCredito>
                  <Ativo>true<<QuantidadeCasaDecimalValor>2</Ativo>QuantidadeCasaDecimalValor>
                  <CodigoLoja>01851716000165</CodigoLoja>
              <QuantidadeMultiplaCompra>2</QuantidadeMultiplaCompra>
          <LimiteCredito>" + cValToChar(self:oPublica['A1_LC']) + "</LimiteCredito>
                  <LimiteMensal><SiglaUnidadeMedida>" + cValToChar(self:oPublica['A1B1_LCUM']) + "</LimiteMensal>
SiglaUnidadeMedida>
                            <NomeContrato>" + self:oPublica['A1_NOME'] + "<<SituacaoTributariaOrigem>0</NomeContrato>SituacaoTributariaOrigem>
                  </LC_LimiteCredito>
              <<SituacaoVenda>true</ListaLimiteCredito>SituacaoVenda>
              <ListaModalidades>
                  <UnidadesNegocio/>
  <LC_Modalidade>
                    <Codigo>1</Codigo>
          <ProdutoFornecedores/>
            <Descricao>Consumidor Final</Descricao>
                </LC_Modalidade>
Produto>
                        </ListaModalidades>Documentos>
                    </LC_Cliente>TicketProduto>
          </Documentos>
        </LC_TicketCliente>]]>
            </liv:xmlTicketCliente>xmlTicketProduto>
        </liv:ManterClienteLCManterProdutoLC_Integracao_Xml>
    </soapenv:Body>
</soapenv:Envelope>"

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


Image AddedImage Removed


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

Image RemovedImage Added


Dica
titleFluxo de integração

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

Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Cliente  Produto para o Totvs Live.