Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

Send POST to Bradesco Platform with Billing Ticket for Registration

See more HTTP Misc Examples

Sends a POST request to the Bradesco platform containing the JSON data of the Billing Ticket for registration.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

'  First build the JSON containing the data to be sent.

'  {
'  "nuCPFCNPJ":"12668",
'  "filialCPFCNPJ":"1",
'  "ctrlCPFCNPJ":"59",
'  "cdTipoAcesso":"2",
'  "idProduto":"9",
'  "nuNegociacao":"262200000000005577",
'  "nuCliente":"SEU_NUM_CLIENTE",
'  "dtEmissaoTitulo":"21.09.2016",
'  "dtVencimentoTitulo":"21.09.2016",
'  "vlNominalTitulo":"888888",
'  "cdEspecieTitulo":"2",
'  "nomePagador":"NOME DO PAGADOR",
'  "logradouroPagador":"ENDERECO DO PAGADOR",
'  "nuLogradouroPagador":"1145",
'  "complementoLogradouroPagador":"APTO 34",
'  "cepPagador":"5588",
'  "complementoCepPagador":"1",
'  "bairroPagador":"BAIRRO PAGADOR",
'  "municipioPagador":"MUNICIPIO PAGADOR",
'  "ufPagador":"SP",
'  "cdIndCpfcnpjPagador":"2",
'  "nuCpfcnpjPagador":"12668000159",
'  "endEletronicoPagador":"PAGADOR@BRADESCO.COM.BR",
'  "nomeSacadorAvalista":"NOME SACADOR AVALISTA",
'  "logradouroSacadorAvalista":"ENDERECO SACADOR AVALISTA",
'  "nuLogradouroSacadorAvalista":"5555",
'  "complementoLogradouroSacadorAvalista":"BLOCO 23",
'  "cepSacadorAvalista":"6182",
'  "complementoCepSacadorAvalista":"160",
'  "bairroSacadorAvalista":"BAIRRO SACADOR AVALISTA",
'  "municipioSacadorAvalista":"MUNICIPIO SACADOR AVALISTA",
'  "ufSacadorAvalista":"SP",
'  "cdIndCpfcnpjSacadorAvalista":"2",
'  "nuCpfcnpjSacadorAvalista":"12668000159",
'  "endEletronicoSacadorAvalista":"SACADOR@BRADESCO.COM.BR",
'  }
'  

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("nuCPFCNPJ", "12668")
json.UpdateString("filialCPFCNPJ", "1")
json.UpdateString("ctrlCPFCNPJ", "59")
json.UpdateString("cdTipoAcesso", "2")
json.UpdateString("idProduto", "9")
json.UpdateString("nuNegociacao", "262200000000005577")
json.UpdateString("nuCliente", "SEU_NUM_CLIENTE")
json.UpdateString("dtEmissaoTitulo", "21.09.2016")
json.UpdateString("dtVencimentoTitulo", "21.09.2016")
json.UpdateString("vlNominalTitulo", "888888")
json.UpdateString("cdEspecieTitulo", "2")
json.UpdateString("nomePagador", "NOME DO PAGADOR")
json.UpdateString("logradouroPagador", "ENDERECO DO PAGADOR")
json.UpdateString("nuLogradouroPagador", "1145")
json.UpdateString("complementoLogradouroPagador", "APTO 34")
json.UpdateString("cepPagador", "5588")
json.UpdateString("complementoCepPagador", "1")
json.UpdateString("bairroPagador", "BAIRRO PAGADOR")
json.UpdateString("municipioPagador", "MUNICIPIO PAGADOR")
json.UpdateString("ufPagador", "SP")
json.UpdateString("cdIndCpfcnpjPagador", "2")
json.UpdateString("nuCpfcnpjPagador", "12668000159")
json.UpdateString("endEletronicoPagador", "PAGADOR@BRADESCO.COM.BR")
json.UpdateString("nomeSacadorAvalista", "NOME SACADOR AVALISTA")
json.UpdateString("logradouroSacadorAvalista", "ENDERECO SACADOR AVALISTA")
json.UpdateString("nuLogradouroSacadorAvalista", "5555")
json.UpdateString("complementoLogradouroSacadorAvalista", "BLOCO 23")
json.UpdateString("cepSacadorAvalista", "6182")
json.UpdateString("complementoCepSacadorAvalista", "160")
json.UpdateString("bairroSacadorAvalista", "BAIRRO SACADOR AVALISTA")
json.UpdateString("municipioSacadorAvalista", "MUNICIPIO SACADOR AVALISTA")
json.UpdateString("ufSacadorAvalista", "SP")
json.UpdateString("cdIndCpfcnpjSacadorAvalista", "2")
json.UpdateString("nuCpfcnpjSacadorAvalista", "12668000159")
json.UpdateString("endEletronicoSacadorAvalista", "SACADOR@BRADESCO.COM.BR")

'  Load out PFX file 
Dim cert As ChilkatCert
cert.Initialize("cert")
success = cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx", "test123")
If success = False Then
    Log(cert.LastErrorText)
    Return
End If


Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
success = crypt.SetSigningCert(cert)
If success = False Then
    Log(crypt.LastErrorText)
    Return
End If


'  Use SHA-256 within the signing..
crypt.HashAlgorithm = "sha256"

'  Use no authenticated attributes
crypt.SigningAttributes = "{}"

json.EmitCompact = True
Dim sigBase64 As String = crypt.OpaqueSignStringENC(json.Emit)
If crypt.LastMethodSuccess = False Then
    Log(crypt.LastErrorText)
    Return
End If


'  Next, we need to send a POST to the following URL where the body of the POST
'  contains the binary PKCS7 signature (which embeds the JSON).
Dim url As String = "https://cobranca.bradesconetempresa.b.br/ibpjregistrotitulows/registrotitulohomologacao"

Dim req As ChilkatHttpRequest
req.Initialize
req.HttpVerb = "POST"
'  This is strange because apparently the server wants a "text/xml" Content-Type,
'  but the content in the body is not actually XML, it's binary PKCS7.
req.ContentType = "text/xml"
req.LoadBodyFromString(sigBase64, "utf-8")

'  We don't actually pass the URL, we set the path here, and the domain is passed below..
req.Path = "/ibpjregistrotitulows/registrotitulohomologacao"

Dim http As ChilkatHttp
http.Initialize("http")
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpSReq("cobranca.bradesconetempresa.b.br", 443, True, req, resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Log("Response status code: " & resp.StatusCode)
Log("Response body:")
Log(resp.BodyStr)