Histórico da Página
Dica | ||
---|---|---|
| ||
Abaixo iremos mostrar como configurar o Processo de Envio Cliente do Protheus para integra-lo com o sistema Totvs Live. Siga o Passo a Passo. |
Aviso | ||
---|---|---|
| ||
É obrigatório a criação do campo A1_MSEXP, para que não ocorra um loop infinito, quando o processo de CLIENTE está ativo para BUSCA e ENVIO no mesmo assinante. |
Cadastrando o Processo de Cliente
Para integrarmos o Cliente com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Cliente foi criado automaticamente no Protheus.
...
2- Aguarde a criação automática do cadastro de processo referente ao InventárioCliente.
3- Verifique se foi criado as Informações abaixo:
...
Chave: A1_FILIAL+A1_COD
Vinculando o Processo de Cliente ao Assinante Live
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
...
Configuração: Preencha esta campo de acordo com a sua URL da API Cliente, como mostra o exemplo abaixo:
Bloco de código |
---|
{ "url": "http://qacorp.brazilsouth.cloudapp.azure.com/PracticoLivexxxxxxx/xxxxxxxx/LiveConnector/FacadeIntegracao.svc?wsdl", "operacao": "ManterClienteLC_Integracao_Xml", "tagretorno": "<LC_Retorno>", } "subsistemasatelite": "" } |
Caso seja necessário enviar os clientes cadastros no Protheus para um sistema satélite diferente, deve-se preencher a tag subsistemasatelite com o código do satelite desejado.
Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.
Obs: Verificar o que deve enviar na TAG <TipoClassificacaoCliente>?<TipoClassificacaoCliente>
Opções: 0 = Indefinido, 1= Cliente, 2= Revendedor
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']:oLive:getSatelite(self) + "</liv:codigoSistemaSatelite> <liv:xmlTicketCliente> < <liv:xmlTicketCliente><![CDATA[<?xml version='1.0'?><LC> <LC_TicketCliente> <Chave>" + self:cToken:oLive:getToken(self) + "</Chave> <CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite']:oLive:getSatelite(self) + "</CodigoSistemaSatelite> <Data>" + DtoS( Date() ) + "</Data> <Hora>" + StrTran(Time(), ':', '') + "</Hora> <Numero>" + FwTimeStampRMITImeStamp(1) + "</Numero> <Documentos> <LC_Cliente> <Documentos> <LC_Cliente> <Apelido>" + self:oPublica['A1_NOME'] + "</Apelido> <CPF_CNPJ>" + (self:cIdRetaguarda := self:oPublica['A1_CGC']) + "</CPF_CNPJ> <DataNascimento>" +dtoc(sTod <DataNascimento>" +IIF(!Empty(self:oPublica['A1_DTNASC']),Substr(self:oPublica['A1_DTNASC'],1,4)+'-'+Substr(self:oPublica['A1_DTNASC'],5,2)+'-'+Substr(self:oPublica['A1_DTNASC'],7,2)) ,'2003-10-30')+ "</DataNascimento> <Inativo>" + IIF(self:oPublica['A1_MSBLQL']=='2','false','true') <Inativo>false</Inativo> <Indicacao></Indicacao> + "</Inativo> <Indicacao/> <Nome_RazaoSocial>" + self:oPublica['A1_NOME'] + "</Nome_RazaoSocial> <Nota>0</Nota> <NumeroSequencia>1</NumeroSequencia> <Nota>0</Nota> <NumeroSequencia>1</NumeroSequencia> <Observacoes>CLIENTE-INTEGRADO-PROTHEUS</Observacoes> <Sexo>0</Sexo> <Sexo>1</Sexo> <TipoCliente>" + IIF(self:oPublica['A1_PESSOA'] == 'F','0','1') + "</TipoCliente> <TipoClassificacaoCliente>2</TipoClassificacaoCliente> <ListaDocumentosCliente> <LC_DocumentoCliente> <TipoClassificacaoCliente>1</TipoClassificacaoCliente> <ListaDocumentosCliente> <LC_DocumentoCliente> <Identificacao>" + self:oPublica['A1_CGC'] + "</Identificacao> <TipoDocumentoCliente>"+IIF(self:oPublica['A1_PESSOA'] <TipoDocumentoCliente>2</TipoDocumentoCliente> == 'F','2','3')+"</TipoDocumentoCliente> </LC_DocumentoCliente> </ListaDocumentosCliente> <ListaEnderecos> <LC_Endereco> </ListaDocumentosCliente> <ListaEnderecos> <LC_Endereco> <Bairro>" + self:oPublica['A1_BAIRRO'] + "</Bairro> <CEP>" + self:oPublica['A1_CEP'] + "</CEP> <Cidade_NumeroMunicipioIBGE>" +RmiRetIBGE(self:oPublica['A1_EST'], self:oPublica['A1_COD_MUN']) + "</Cidade_NumeroMunicipioIBGE> <Complemento>" + self:oPublica['A1_COMPLEM'] + "</Complemento> <Estado>" + self:oPublica['A1_EST'] + "</Estado> <Logradouro>" + self:oPublica['A1_END'] + "</Logradouro> <Numero>0</Numero> <TipoEndereco>0</TipoEndereco> <Numero>0</Numero> <TipoEndereco>0</TipoEndereco> </LC_Endereco> </ListaEnderecos> <ListaEnderecosEletronico> <LC_EnderecoEletronico> <Descricao>" + </ListaEnderecos> <ListaEnderecosEletronico> <LC_EnderecoEletronico> <Descricao>"+ IIF(Empty(self:oPublica['A1_EMAIL'] ),'[email protected]',self:oPublica['A1_EMAIL'])+ "</Descricao> <TipoEnderecoEletronico>0</TipoEnderecoEletronico> <TipoEnderecoEletronico>0</TipoEnderecoEletronico> </LC_EnderecoEletronico> </ListaEnderecosEletronico> <ListaTelefones> <LC_Telefone> <Complemento></Complemento> </ListaEnderecosEletronico> <ListaTelefones> <LC_Telefone> <Complemento/> <DDD>" + self:oPublica['A1_DDD'] + "</DDD> <Numero>" + self:oPublica['A1_TEL'] + "</Numero> <TipoTelefone>0</TipoTelefone> <TipoTelefone>0</TipoTelefone> </LC_Telefone> </ListaTelefones> <ListaLimiteCredito> <LC_LimiteCredito> <Ativo>true</Ativo> <CodigoLoja>01851716000165</CodigoLoja> </ListaTelefones> <ListaLimiteCredito> <LC_LimiteCredito> <Ativo>true</Ativo> <CodigoLoja>"+self:aArrayFil[1][1]+"</CodigoLoja> <LimiteCredito>" + cValToChar(self:oPublica['A1_LC']) + "</LimiteCredito> <LimiteMensal>" + cValToChar(self:oPublica['A1_LC']) + "</LimiteMensal> <NomeContrato>" + self:oPublica['A1_NOME'] + "</NomeContrato> </LC_LimiteCredito> </ListaLimiteCredito> <ListaModalidades> <LC_Modalidade> <Codigo>1</Codigo> <Descricao>Consumidor Final</Descricao> </LC_Modalidade> </ListaModalidades> </LC_Cliente> </Documentos> </LC_TicketCliente>]]> </liv:xmlTicketCliente> </ListaLimiteCredito> <ListaModalidades> <LC_Modalidade> <Codigo>1</Codigo> <Descricao>Consumidor Final</Descricao> </LC_Modalidade> </ListaModalidades> </LC_Cliente> </Documentos> </LC_TicketCliente> ]]></liv:xmlTicketCliente> </liv:ManterClienteLC_Integracao_Xml> </soapenv:Body> </soapenv:Envelope>" |
...
Exemplo da configuração do Processo Inventario Cliente no assinante Live:
Dica | ||
---|---|---|
| ||
Após ter realizado as configurações acima a integração do 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 o envio da publicação sera realizado a distribuição das publicações de Cliente para o Assinante Live na tabela MHR. Com as distribuições realizadas o serviço RMIENVIA realizara o envio de Cliente para o Totvs Live. |