Wellington Vieira Posted April 13, 2022 Report Share Posted April 13, 2022 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. , Quote Link to comment Share on other sites More sharing options...
rochinha Posted April 18, 2022 Report Share Posted April 18, 2022 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 ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.