Utilizo Delphi Tokyo e estou implementando a integração de pedidos entre o ERP e a VTex, porém ao chamar o GET, dá o seguinte erro: "Error connecting with SSL. EOF was observed that violates the protocol"

Segue meu código para avaliação, se alguém puder me ajudar eu agradeço.

procedure TfrmMain.TimerPedidosTimer(Sender: TObject); var sResponse : TStringStream; begin TimerPedidos.Enabled := False; sResponse := TStringStream.Create(''); LURL :='https://'+trim(edtDominio.Text)+'.'+trim(edtAmbiente.Text)+'.com.br/api/oms/pvt/orders/?f_status=ready-for-handling'; IdHTTP1.Request.Clear; idHttp1.Request.CustomHeaders.FoldLength := 500; idHTTP1.Request.CustomHeaders.AddValue('x-vtex-api-appkey',trim(edtUsuario.Text)); idHTTP1.Request.CustomHeaders.AddValue('x-vtex-api-apptoken',trim(EdtToken.text)); idHTTP1.Request.ContentType := 'application/json'; IdHTTP1.Request.Accept := 'application/json'; idHTTP1.Request.CharSet := 'utf-8'; try idHTTP1.Get(LURL, sresponse); // captura pedidos novos Memo1.Lines.LoadFromStream(sresponse); except on E: Exception do memo1.Lines.add('Recupera Pedidos Demanda: Error on request: '#13#10 + e.Message); end; LblUltExecEnvPed.Visible := True; LblUltExecEnvPed.Caption := FormatDateTime('DD/MM/YYYY HH:NN',Now); TimerPedidos.Enabled := True; end;

Me parece que o seu sistema não está preparado para atender a requisições https.

Desculpe Nathan, mas não entendi. Que tipo de requisições precisariam atender, além das informações que estão no guia da VTex?

Poderia, por gentileza, exemplar?

Obrigado.

Já tentou jogar as mesmas infos no postman?

Porque usar um search se o correto seria o feed ou hook?

Toda vez que você consulta uma api(endpoint) é uma requisição.

Me parece que a biblioteca que você utiliza para realizar as requisições não está reagindo bem com endpoints HTTPS... acredito que você vai precisar consultar essa biblioteca.

Outro ponto que notei foi que na sua linha 11, a variavel idhttp está em caixa baixa.

Pessoal, no Delphi, a caixa baixa para idhttp ou IDHTTP tanto faz, porque é um componente como um edit, combobox, etc.

Testei no postman, deu ok.

sobre a frase: "Porque usar um search se o correto seria o feed ou hook?" Desculpe mas não entendi.

Eu utilizo esse mesmo método no Delphi para várias API's, talvez eu tenha pulado uma etapa, por exemplo, para entrar me autenticar no servidor ou algo do tipo. Essa é a primeira chamada de GET que estou fazendo ao começar o meu integrador. Será que preciso me autenticar antes? Se sim, qual a URL que devo passar para autenticação?

Reveja a sua integração, pois o correto seria configurar o feed:

https://help.vtex.com/tutorial/how-the-orders-management-feed-v3-works--5SzSKee2f666YCoWkm0eQC

segue a outra dll

Parceiros, antes de mais nada, obrigado pelo apoio.

Consegui resolver o problema, acontece que o Delphi necessita de .dll's para os componentes e as minhas estavam desatualizadas para lerem o protocolo TSL 1.2 exigido pela VTex.

Se mais alguém tiver com o mesmo problema, vou deixar aqui as DLL's para atualizarem.

Obrigado.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.