Ir para conteúdo
Fórum CódigoFonte.net
aamartins

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

Recommended Posts

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.

1
2
3
4
5
6
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.

1
<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>[email protected]</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>[email protected]</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>


Anexei a Unit importada via WSDL com os métodos do WebService.
Se alguém puder me orientar como consumir essa parte do WS para importar os pedidos eu agradeço desde já!

obrigado!

PedidoWS.pas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...