Árvore de páginas

Integrando Cliente

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.

Importante

É 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.

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

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

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

Processo: Cliente

Tabela: SA1

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.

2- Com o assinante Live previamente cadastrado, posicione no assinante Live e clique em alterar.

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

Processo: Cliente

Ativo: Sim

Tipo Process: Envia

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

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

{
	"url": "http://xxxxxxx/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

&"<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:oLive:getSatelite(self) + "</liv:codigoSistemaSatelite>
			<liv:xmlTicketCliente><![CDATA[<?xml version='1.0'?>
				<LC_TicketCliente>
					<Chave>" + self:oLive:getToken(self) + "</Chave>
					<CodigoSistemaSatelite>" + self:oLive:getSatelite(self) + "</CodigoSistemaSatelite>
					<Data>" + DtoS( Date() ) + "</Data>
					<Hora>" + StrTran(Time(), ':', '') + "</Hora>
					<Numero>" + RMITImeStamp() + "</Numero>
					<Documentos>
						<LC_Cliente>
							<Apelido>" + self:oPublica['A1_NOME'] + "</Apelido>
							<CPF_CNPJ>" + (self:cIdRetaguarda := self:oPublica['A1_CGC']) + "</CPF_CNPJ>
							<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>
							<Indicacao/>
							<Nome_RazaoSocial>" + self:oPublica['A1_NOME'] + "</Nome_RazaoSocial>
							<Nota>0</Nota>
							<NumeroSequencia>1</NumeroSequencia>
							<Observacoes>CLIENTE-INTEGRADO-PROTHEUS</Observacoes>
							<Sexo>1</Sexo>
							<TipoCliente>" + IIF(self:oPublica['A1_PESSOA'] == 'F','0','1') + "</TipoCliente>
							<TipoClassificacaoCliente>1</TipoClassificacaoCliente>
							<ListaDocumentosCliente>
								<LC_DocumentoCliente>
									<Identificacao>" + self:oPublica['A1_CGC'] + "</Identificacao>
									<TipoDocumentoCliente>"+IIF(self:oPublica['A1_PESSOA'] == 'F','2','3')+"</TipoDocumentoCliente>
								</LC_DocumentoCliente>
							</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>
								</LC_Endereco>
							</ListaEnderecos>
							<ListaEnderecosEletronico>
								<LC_EnderecoEletronico>
									<Descricao>"+ IIF(Empty(self:oPublica['A1_EMAIL']),'[email protected]',self:oPublica['A1_EMAIL'])+ "</Descricao>
									<TipoEnderecoEletronico>0</TipoEnderecoEletronico>
								</LC_EnderecoEletronico>
							</ListaEnderecosEletronico>
							<ListaTelefones>
								<LC_Telefone>
									<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>"+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>
		</liv:ManterClienteLC_Integracao_Xml>
	</soapenv:Body>
</soapenv:Envelope>"

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




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


Fluxo de integração

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.