![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Banco Inter OAuth2 Client CredentialsGenerate an OAuth2 access token needed to consume the Inter APIs. Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://developers.bancointer.com.br/reference/token-3
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) DECLARE @success int SELECT @success = 0 -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- First load the certificate and private key, and set as the HTTP object's client certificate. DECLARE @cert int EXEC @hr = sp_OACreate 'Chilkat.Cert', @cert OUT EXEC sp_OAMethod @cert, 'LoadFromFile', @success OUT, '<nome arquivo certificado>.crt' IF @success = 0 BEGIN EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert RETURN END DECLARE @bdPrivKey int EXEC @hr = sp_OACreate 'Chilkat.BinData', @bdPrivKey OUT EXEC sp_OAMethod @bdPrivKey, 'LoadFile', @success OUT, '<nome arquivo chave privada>.key' IF @success = 0 BEGIN PRINT 'Failed to load <nome' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey RETURN END DECLARE @privKey int EXEC @hr = sp_OACreate 'Chilkat.PrivateKey', @privKey OUT EXEC sp_OAMethod @privKey, 'LoadAnyFormat', @success OUT, @bdPrivKey, '' IF @success = 0 BEGIN EXEC sp_OAGetProperty @privKey, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey RETURN END EXEC sp_OAMethod @cert, 'SetPrivateKey', @success OUT, @privKey IF @success = 0 BEGIN EXEC sp_OAGetProperty @cert, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey RETURN END EXEC sp_OAMethod @http, 'SetSslClientCert', @success OUT, @cert IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey RETURN END DECLARE @req int EXEC @hr = sp_OACreate 'Chilkat.HttpRequest', @req OUT EXEC sp_OASetProperty @req, 'HttpVerb', 'POST' EXEC sp_OASetProperty @req, 'Path', '/oauth/v2/token' EXEC sp_OASetProperty @req, 'ContentType', 'application/x-www-form-urlencoded' EXEC sp_OAMethod @req, 'AddParam', NULL, 'grant_type', 'client_credentials' -- Requested scopes in OAuth2 are typically SPACE separated. EXEC sp_OAMethod @req, 'AddParam', NULL, 'scope', 'boleto-cobranca.read boleto-cobranca.write' EXEC sp_OAMethod @req, 'AddHeader', NULL, 'accept', 'application/json' DECLARE @resp int EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT EXEC sp_OAMethod @http, 'HttpReq', @success OUT, 'https://cdpj.partners.bancointer.com.br/oauth/v2/token', @req, @resp IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp RETURN END DECLARE @jResp int EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT EXEC sp_OAMethod @resp, 'GetBodyJson', @success OUT, @jResp EXEC sp_OASetProperty @jResp, 'EmitCompact', 0 PRINT 'Response Body:' EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT PRINT @sTmp0 DECLARE @respStatusCode int EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT PRINT 'Response Status Code = ' + @respStatusCode IF @respStatusCode >= 400 BEGIN PRINT 'Response Header:' EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT PRINT @sTmp0 PRINT 'Failed.' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @jResp RETURN END EXEC sp_OAMethod @jResp, 'WriteFile', @success OUT, 'qa_data/tokens/banco_inter_client_credentials.json' IF @success = 0 BEGIN PRINT 'Failed to save JSON access token file.' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @jResp RETURN END PRINT 'Success.' EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @cert EXEC @hr = sp_OADestroy @bdPrivKey EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @req EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @jResp END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.