Integração e-commerce via Web Service com Delphi
Olá, pessoal!
Preciso implementar uma integração via web service com uma plataforma de e-commerce, porém, nunca trabalhei com web services no Delphi. Consegui importar via WSDL os métodos e consumir as rotinas para a parte de produtos. Falta agora a parte de importação de pedidos. Existe um método no web service ("PedidosDisponiveis") que traz praticamente todos os dados dos pedidos, exceto os itens vendidos, porém, não sei como manipular o retorno desses dados de forma que possa trabalhar com eles e alimentar meu banco de dados.
Quando executo esse método recebo um XML com os dados dos pedidos disponíveis, porém, sem os itens.
Segue Unit importada via WSDL com os métodos do WebService:
https://drive.google.com/file/d/1DoHnYESiPhym9beF3bno0kpKWI39jXsN/view?usp=sharing
Se alguém puder me orientar como consumir essa parte do WS para importar os pedidos eu agradeço desde já!
obrigado!
Preciso implementar uma integração via web service com uma plataforma de e-commerce, porém, nunca trabalhei com web services no Delphi. Consegui importar via WSDL os métodos e consumir as rotinas para a parte de produtos. Falta agora a parte de importação de pedidos. Existe um método no web service ("PedidosDisponiveis") que traz praticamente todos os dados dos pedidos, exceto os itens vendidos, porém, não sei como manipular o retorno desses dados de forma que possa trabalhar com eles e alimentar meu banco de dados.
var RespostaPedido : RespostaProcessamento; FiltoPedido : PedidoWS.PedidoFiltro; begin FiltoPedido := PedidoWS.PedidoFiltro.Create; FiltoPedido.PedidoID := 1113; RespostaPedido := PedidoWS.GetIPedidoWS(false,'',HTTPRIO2).PedidosDisponiveisComFiltro(FiltoPedido);
Quando executo esse método recebo um XML com os dados dos pedidos disponíveis, porém, sem os itens.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><PedidosDisponiveisComFiltroResponse xmlns="http://tempuri.org/"><PedidosDisponiveisComFiltroResult xmlns:a="http://schemas.datacontract.org/2004/07/EZ.Integration.ServiceModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:Erros/><a:Mensagem>Lista de ordens prontas para integração retornada com sucesso.</a:Mensagem><a:ObjectId/><a:Protocolo>819396d5-373d-4c4d-968b-02c921e2448d</a:Protocolo><a:RespostaProcessamentoLst/><a:Resultado i:type="b:ArrayOfPedido" xmlns:b="http://schemas.datacontract.org/2004/07/EZ.Integration.ServiceModel.Pedido"><b:Pedido><b:AfiliadoID>0</b:AfiliadoID><b:Assinatura i:nil="true"/><b:ClienteID>2</b:ClienteID><b:CodigoPedidoExterno i:nil="true"/><b:ConfirmacaoPagamento><b:CartaoNumero i:nil="true"/><b:CartaoTitular i:nil="true"/><b:CodigoAutorizacao/><b:CodigoErro/><b:DataCaptura i:nil="true"/><b:IdTransacaoBraspag/><b:MensagemErro/><b:NSU i:nil="true"/><b:NumeroAutorizacao/><b:Status>0</b:Status></b:ConfirmacaoPagamento><b:CupomCodigo/><b:CupomTipo i:nil="true"/><b:CupomValorDesconto>0.0000</b:CupomValorDesconto><b:DataVenda>2018-06-27T20:22:11</b:DataVenda><b:ETA>9</b:ETA><b:EnderecoCobranca><b:Bairro>Centro</b:Bairro><b:CEP>86200000</b:CEP><b:Cidade>Ibiporã</b:Cidade><b:Complemento>Centro</b:Complemento><b:ContatoCelular/><b:ContatoEmail>artur@tricolinhas.com.br</b:ContatoEmail><b:ContatoNome>Artur Abreu Martins Jr</b:ContatoNome><b:ContatoTelefone>4399999-9999</b:ContatoTelefone><b:Estado>PR</b:Estado><b:Logradouro>Avenida dos Estudantes</b:Logradouro><b:Numero>606</b:Numero><b:Pais>BR</b:Pais></b:EnderecoCobranca><b:EntregaAgendadaHorario/><b:EntregaBairro>Alto do Pari</b:EntregaBairro><b:EntregaCEP>03022000</b:EntregaCEP><b:EntregaCidade>São Paulo</b:EntregaCidade><b:EntregaComplementoEndereco/><b:EntregaDocumento/><b:EntregaEmail>artur@tricolinhas.com.br</b:EntregaEmail><b:EntregaEstado>SP</b:EntregaEstado><b:EntregaLogradouro>Rua Paulo Andrighetti</b:EntregaLogradouro><b:EntregaNome>Artur Abreu Martins Jr</b:EntregaNome><b:EntregaNumero>1005</b:EntregaNumero><b:EntregaPais>BR</b:EntregaPais><b:EntregaRetiradaLoja>false</b:EntregaRetiradaLoja><b:EntregaTelefone>43991290176</b:EntregaTelefone><b:FormaDePagamento><b:BoletoNumeroBancario i:nil="true"/><b:BoletoVencimento>2018-07-02T00:00:00</b:BoletoVencimento><b:CartaoCodigoAutorizacao/><b:CartaoCodigoSeguranca i:nil="true"/><b:CartaoNomeImpresso i:nil="true"/><b:CartaoNumero i:nil="true"/><b:CartaoQuantidadeParcelas>1</b:CartaoQuantidadeParcelas><b:CartaoValidade i:nil="true"/><b:CodigoIntegracao/><b:FormaPagamentoAlias>Boleto Bancário</b:FormaPagamentoAlias><b:FormaPagamentoID>149</b:FormaPagamentoID><b:Valor>119.4</b:Valor><b:ValorParcela>119.4</b:ValorParcela></b:FormaDePagamento><b:FormaEntregaAlias>04669|3</b:FormaEntregaAlias><b:FormaEntregaCodigoIntegracao i:nil="true"/><b:FormaEntregaID>3</b:FormaEntregaID><b:FormaEntregaNome>Pac</b:FormaEntregaNome><b:FreteCodEnvio>PB7844123BR</b:FreteCodEnvio><b:InscricaoEstadualCliente i:nil="true"/><b:Itens/><b:MaiordisponibilidadeItem>0</b:MaiordisponibilidadeItem><b:NotaFiscalChave/><b:NotaFiscalData i:nil="true"/><b:NotaFiscalLink/><b:NotaFiscalNumero/><b:NotaFiscalSerie/><b:NumeroRegistroCliente>111222333-44</b:NumeroRegistroCliente><b:Observacoes/><b:ObservacoesLoja/><b:OrigemPedido>DESKTOP</b:OrigemPedido><b:PedidoID>1113</b:PedidoID><b:PrazoEnvio>2018-07-14T14:13:49</b:PrazoEnvio><b:PrevisaoEntregaEmDias>9</b:PrevisaoEntregaEmDias><b:Protocolo>eb965594-07b3-4c1f-bde2-eba35906dfaf</b:Protocolo><b:StatusDesc>Enviado</b:StatusDesc><b:StatusID>12</b:StatusID><b:TipoCliente>PF</b:TipoCliente><b:UTMs i:nil="true"/><b:ValorDesconto>0</b:ValorDesconto><b:ValorEmbalagemPresente>0.0000</b:ValorEmbalagemPresente><b:ValorEncargos>0</b:ValorEncargos><b:ValorFrete>19.4000</b:ValorFrete><b:ValorJuros>0.0000</b:ValorJuros><b:ValorTotal>0</b:ValorTotal></b:Pedido></a:Resultado><a:Status>Sucesso</a:Status><a:Tipo>Select</a:Tipo><a:Valor i:nil="true"/></PedidosDisponiveisComFiltroResult></PedidosDisponiveisComFiltroResponse></s:Body></s:Envelope>
Segue Unit importada via WSDL com os métodos do WebService:
https://drive.google.com/file/d/1DoHnYESiPhym9beF3bno0kpKWI39jXsN/view?usp=sharing
Se alguém puder me orientar como consumir essa parte do WS para importar os pedidos eu agradeço desde já!
obrigado!
Artur Jr
Curtidas 0