B4X Requires Chilkat v11.0.0+
B4X
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
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)