Jump to content
Fivewin Brasil

Enviar método POST


Wellington Vieira

Recommended Posts

Boa tarde,

Preciso consumir API do ITAÚ para a emissão de boleto bancário de forma on-line, consegui fazer isso utilizando o PHP, mas acredito que possa ser feito em Five Win, só não tenho certeza de onde partir. Acredito que usando a lib hbcur.lib e o oHTTP, mas não estou sabendo por onde começar, abaixo a construção que fiz em PHP. Se alguém souber como fazer esta mesma construção em PHP só que em FIVE, agradeço o auxílio.

EM PHP.
 

<?php
$Client_certificado_crt = $_GET['Client_certificado_crt'];
$Client_certificado_key = $_GET['Client_certificado_key'];
$Cliente_Token = $_GET['Cliente_Token'];
$Client_ID_envia = $_GET['Client_ID_envia'];
$Cliente_Field = $_GET['Cliente_Field'];

$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.itau.com.br/cash_management/v2/boletos',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_SSLCERT,$Client_certificado_crt,
  CURLOPT_SSLKEY,$Client_certificado_key,
  CURLOPT_CAINFO,$Client_certificado_crt,
  CURLOPT_POSTFIELDS => $Cliente_Field,
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'x-itau-apikey: ' + $Client_ID_envia,
	'x-itau-correlationID: 2',
    'Authorization: Bearer ' + $Cliente_Token
  ),
));
$response = curl_exec($curl);
$info =curl_errno($curl)>0 ? array("curl_error_".curl_errno($curl)=>curl_error($curl)) : curl_getinfo($curl);
echo("<pre>");
print_r($info);
curl_close($curl);
echo $response;
echo("</pre>");
?>

Com a contribuição do EMOTTA, no post  consegui desenvolver os envios do json,  header's,  token, id_cliente, o problema é que tenho que passar as informações abaixo que estão em PHP.

 CURLOPT_SSLCERT
//( NOME DO CERTIFICADO COM A EXTENSÃO .CRT)  - O nome de um arquivo que contém um certificado formatado em CRT.

CURLOPT_SSLKEY
//( NOME DO CERTIFICADO COM A EXTENSÃO.KEY)  - O nome de um arquivo que contém uma chave SSL privada.

E NO FIVE COMO SERIA.
 

,

Link to comment
Share on other sites

Amiguinhos,

Dê uma adaptada neste código e busque mais informações sobre SetOption()

cUrlWS := "https://api.itau.com.br/cash_management/v2/boletos"

oServerWS := Win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0" )

With Object oServerWS
     // Certificado que vamos usar do armazem de certificados de Windows.
     :setOption( 2, 13056 )     
     :SetOption( 3, "Nome do certificado" )

     :Open( "POST", cUrlWS, .F. )

     :SetRequestHeader( "Content-Type", "application/json" )
     :SetRequestHeader( "x-itau-apikey", $Client_ID_envia )
     :SetRequestHeader( "x-itau-correlationID", "2" )
     :SetRequestHeader( "Authorization", "Bearer " + $Cliente_Token )

     :SetRequestHeader( "cache-control", "no-cache" )  

     :Send( $Cliente_Field )
     Do While :readyState != 4
        :WaitForResponse( 500 )
     Enddo
End 

Troque:

Citar

:SetOption( 2, ...
:SetOption( 3, ...

por:

Citar

:SetOption( HB_CURLOPT_SSLCERT, $Client_certificado_crt )
:SetOption( HB_CURLOPT_SSLKEY, $Client_certificado_key )

 

Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

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

Loading...
×
×
  • Create New...