Integração e-commerce via Web Service com Delphi

15/07/2018

0

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

Artur Jr

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar