VBScript
VBScript
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 VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' 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",
' }
'
set json = CreateObject("Chilkat.JsonObject")
success = json.UpdateString("nuCPFCNPJ","12668")
success = json.UpdateString("filialCPFCNPJ","1")
success = json.UpdateString("ctrlCPFCNPJ","59")
success = json.UpdateString("cdTipoAcesso","2")
success = json.UpdateString("idProduto","9")
success = json.UpdateString("nuNegociacao","262200000000005577")
success = json.UpdateString("nuCliente","SEU_NUM_CLIENTE")
success = json.UpdateString("dtEmissaoTitulo","21.09.2016")
success = json.UpdateString("dtVencimentoTitulo","21.09.2016")
success = json.UpdateString("vlNominalTitulo","888888")
success = json.UpdateString("cdEspecieTitulo","2")
success = json.UpdateString("nomePagador","NOME DO PAGADOR")
success = json.UpdateString("logradouroPagador","ENDERECO DO PAGADOR")
success = json.UpdateString("nuLogradouroPagador","1145")
success = json.UpdateString("complementoLogradouroPagador","APTO 34")
success = json.UpdateString("cepPagador","5588")
success = json.UpdateString("complementoCepPagador","1")
success = json.UpdateString("bairroPagador","BAIRRO PAGADOR")
success = json.UpdateString("municipioPagador","MUNICIPIO PAGADOR")
success = json.UpdateString("ufPagador","SP")
success = json.UpdateString("cdIndCpfcnpjPagador","2")
success = json.UpdateString("nuCpfcnpjPagador","12668000159")
success = json.UpdateString("endEletronicoPagador","PAGADOR@BRADESCO.COM.BR")
success = json.UpdateString("nomeSacadorAvalista","NOME SACADOR AVALISTA")
success = json.UpdateString("logradouroSacadorAvalista","ENDERECO SACADOR AVALISTA")
success = json.UpdateString("nuLogradouroSacadorAvalista","5555")
success = json.UpdateString("complementoLogradouroSacadorAvalista","BLOCO 23")
success = json.UpdateString("cepSacadorAvalista","6182")
success = json.UpdateString("complementoCepSacadorAvalista","160")
success = json.UpdateString("bairroSacadorAvalista","BAIRRO SACADOR AVALISTA")
success = json.UpdateString("municipioSacadorAvalista","MUNICIPIO SACADOR AVALISTA")
success = json.UpdateString("ufSacadorAvalista","SP")
success = json.UpdateString("cdIndCpfcnpjSacadorAvalista","2")
success = json.UpdateString("nuCpfcnpjSacadorAvalista","12668000159")
success = json.UpdateString("endEletronicoSacadorAvalista","SACADOR@BRADESCO.COM.BR")
' Load out PFX file
set cert = CreateObject("Chilkat.Cert")
success = cert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
If (success = 0) Then
outFile.WriteLine(cert.LastErrorText)
WScript.Quit
End If
set crypt = CreateObject("Chilkat.Crypt2")
success = crypt.SetSigningCert(cert)
If (success = 0) Then
outFile.WriteLine(crypt.LastErrorText)
WScript.Quit
End If
' Use SHA-256 within the signing..
crypt.HashAlgorithm = "sha256"
' Use no authenticated attributes
crypt.SigningAttributes = "{}"
json.EmitCompact = 1
sigBase64 = crypt.OpaqueSignStringENC(json.Emit())
If (crypt.LastMethodSuccess = 0) Then
outFile.WriteLine(crypt.LastErrorText)
WScript.Quit
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).
url = "https://cobranca.bradesconetempresa.b.br/ibpjregistrotitulows/registrotitulohomologacao"
set req = CreateObject("Chilkat.HttpRequest")
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"
success = 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"
set http = CreateObject("Chilkat.Http")
set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpSReq("cobranca.bradesconetempresa.b.br",443,1,req,resp)
If (success = 0) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
outFile.WriteLine("Response status code: " & resp.StatusCode)
outFile.WriteLine("Response body:")
outFile.WriteLine(resp.BodyStr)
outFile.Close