Sample code for 30+ languages & platforms
Tcl

Banco Inter Obtendo uma lista de boletos

See more Banco Inter Examples

Get a list of tickets that match the search criteria.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Implements the following CURL command:

# curl \
#   -X GET \
#   -H "Authorization: Bearer $TOKEN" \
#   --cert <nome arquivo certificado>.crt \
#   --key <nome arquivo chave privada>.key \
#   --get \
#   --data-urlencode "dataInicial=2022-04-01" \
#   --data-urlencode "dataFinal=2022-04-03" \
#   --data-urlencode "situacao=VENCIDO" \
#   --data-urlencode "tipoOrdenacao=ASC" \
#   --data-urlencode "itensPorPagina=10" \
#   --data-urlencode "paginaAtual=2" \
#  https://cdpj.partners.bancointer.com.br/cobranca/v2/boletos

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

set cert [new_CkCert]

set success [CkCert_LoadFromFile $cert "<nome arquivo certificado>.crt"]
if {$success == 0} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkHttp $http
    delete_CkCert $cert
    exit
}

set bdPrivKey [new_CkBinData]

set success [CkBinData_LoadFile $bdPrivKey "<nome arquivo chave privada>.key"]
if {$success == 0} then {
    puts "Failed to load key"
    delete_CkHttp $http
    delete_CkCert $cert
    delete_CkBinData $bdPrivKey
    exit
}

# Note: If your private key file requires a password, then set it here.
# Otherwise pass the empty string.
set privKeyPassword ""
set privKey [new_CkPrivateKey]

set success [CkPrivateKey_LoadAnyFormat $privKey $bdPrivKey $privKeyPassword]
if {$success == 0} then {
    puts [CkPrivateKey_lastErrorText $privKey]
    delete_CkHttp $http
    delete_CkCert $cert
    delete_CkBinData $bdPrivKey
    delete_CkPrivateKey $privKey
    exit
}

set success [CkCert_SetPrivateKey $cert $privKey]
if {$success == 0} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkHttp $http
    delete_CkCert $cert
    delete_CkBinData $bdPrivKey
    delete_CkPrivateKey $privKey
    exit
}

CkHttp_SetSslClientCert $http $cert

set queryParams [new_CkJsonObject]

CkJsonObject_UpdateString $queryParams "dataInicial" "2022-04-01"
CkJsonObject_UpdateString $queryParams "dataFinal" "2022-04-03"
CkJsonObject_UpdateString $queryParams "situacao" "VENCIDO"
CkJsonObject_UpdateString $queryParams "tipoOrdenacao" "ASC"
CkJsonObject_UpdateInt $queryParams "itensPorPagina" 10
CkJsonObject_UpdateInt $queryParams "paginaAtual" 2

# Adds the "Authorization: Bearer $TOKEN" header.
CkHttp_put_AuthToken $http "$TOKEN"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpParams $http "GET" "https://cdpj.partners.bancointer.com.br/cobranca/v2/boletos" $queryParams $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkCert $cert
    delete_CkBinData $bdPrivKey
    delete_CkPrivateKey $privKey
    delete_CkJsonObject $queryParams
    delete_CkHttpResponse $resp
    exit
}

set sbResponseBody [new_CkStringBuilder]

CkHttpResponse_GetBodySb $resp $sbResponseBody

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Failed."
    delete_CkHttp $http
    delete_CkCert $cert
    delete_CkBinData $bdPrivKey
    delete_CkPrivateKey $privKey
    delete_CkJsonObject $queryParams
    delete_CkHttpResponse $resp
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "totalPages": 1,
#   "totalElements": 58,
#   "last": true,
#   "first": true,
#   "size": 100,
#   "numberOfElements": 58,
#   "content": [
#     {
#       "nomeBeneficiario": "nome do beneficiario 1",
#       "cnpjCpfBeneficiario": "CNPJ/CPF beneficiario 1"
#     },
#     {
#       "nomeBeneficiario": "nome do beneficiario 2",
#       "cnpjCpfBeneficiario": "CNPJ/CPF beneficiario 2"
#     },
#     {
#       "nomeBeneficiario": "nome do beneficiario N",
#       "cnpjCpfBeneficiario": "CNPJ/CPF beneficiario N"
#     }
#   ]
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

set totalPages [CkJsonObject_IntOf $jResp "totalPages"]
set totalElements [CkJsonObject_IntOf $jResp "totalElements"]
set last [CkJsonObject_BoolOf $jResp "last"]
set first [CkJsonObject_BoolOf $jResp "first"]
set size [CkJsonObject_IntOf $jResp "size"]
set numberOfElements [CkJsonObject_IntOf $jResp "numberOfElements"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "content"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set nomeBeneficiario [CkJsonObject_stringOf $jResp "content[i].nomeBeneficiario"]
    set cnpjCpfBeneficiario [CkJsonObject_stringOf $jResp "content[i].cnpjCpfBeneficiario"]
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkCert $cert
delete_CkBinData $bdPrivKey
delete_CkPrivateKey $privKey
delete_CkJsonObject $queryParams
delete_CkHttpResponse $resp
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp