COBRANÇA SITE Instruções de Instalação e Utilização Manual Técnico do Desenvolvedor Segunda via do Bloqueto Digital
Índice 1. INFORMAÇÕES TÉCNICAS - Windows... 3 1.1 URL DA 2A VIA DO BLOQUETO DIGITAL... 3 1.2 CRIPTOGRAFIA... 3 1.3 CHAMADA À TELA DA 2A VIA DO BLOQUETO DIGITAL... 3 2. LAYOUT DOS CAMPOS... 5 2.1 Layout XML... 5 3. EXEMPLOS DE CÓDIGO... 6 3.1 CRIPTOGRAFIA DOS DADOS CÓDIGO ASP... 6 3.2 CRIPTOGRAFIA DOS DADOS CÓDIGO ASP/XML XSL... 7 3.2.1 Página ASP/XML... 7 3.2.2 Página XSL... 8 4. INFORMAÇÕES TÉCNICAS Unix ou Linux... 11 4.1 URL DA 2A VIA DO BLOQUETO DIGITAL... 11 4.2 CRIPTOGRAFIA... 11 4.3 CHAMADA À TELA DA 2A VIA DO BLOQUETO DIGITAL... 11 5. LAYOUT DOS CAMPOS... 13 5.1 CRIPTOGRAFIA DOS DADOS CÓDIGO... 13 Qualquer dúvida sobre o conteúdo deste manual consulte: Itaú Empresas no Telefone: 0300 100 7575 Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 2
1. INFORMAÇÕES TÉCNICAS - Windows Para a instalação da segunda via do Bloqueto Digital, deve-se executar os passos descritos a seguir. 1.1 URL DA 2A VIA DO BLOQUETO DIGITAL Os dados criptografados deverão ser enviados para a URL abaixo: https://ww2.itau.com.br/2viabloq/pesquisa.asp Caso queira utilizar a tecnologia XML, enviar para a URL abaixo: https://ww2.itau.com.br/2viabloq/2viaxmlwebsvc.asmx/pesquisaxml 1.2 CRIPTOGRAFIA Deverá ser feito o download do Componente Itaú de criptografia Itaucripto.dll - disponível no link http://www.itaushopline.com.br/cadastrado/download/itaucripto.dll. Após este procedimento, deve-se registrar o componente no equipamento que for executar a aplicação e chamar o método geracripto. Os procedimentos para registrá-lo, são: 1 - Menu "Iniciar" ("Start") do WindowsNT 2 - Menu "Executar" ("Run") 3 - Digitar na caixa "Abrir" ("Open") o comando: regsvr32 c:\...\itaucripto.dll 1.3 CHAMADA À TELA DA 2A VIA DO BLOQUETO DIGITAL A página ASP que irá criptografar os dados para enviá-los a 2a via do Bloqueto Digital, deverá seguir as seguintes regras: ( 1 ) Para chamar a tela da 2a via de Bloqueto Digial, a criptografia dos dados deve seguir a ordem abaixo: dadoscripto = obj.geracripto(codemp,codsacado,chave) ( 2 ) Todos os campos são criptografados e enviados pelo lojista, exceto o campo Chave. ( 3 ) Todos os campos são obrigatórios ( 4 ) A página que contiver a URL do Itaú deverá ser desenvolvida em linguagem ASP, e apresentar: Formulário (FORM) com as propriedades: - method= post - action= https://ww2.itau.com.br/2viabloq/pesquisa.asp Campo (INPUT) para os dados criptografados, com as propriedades: - name="dc" - type= hidden - value= Dados Criptografados Campo (INPUT) para informar se deverá (value= S ) ou não (value= N ) ser apresentada no bloqueto a mensagem Emissão de segunda via do bloqueto por solicitação do sacado, com as propriedades: Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 3
- name= msg" - type= hidden - value= S OU value= N EXEMPLO: <FORM action="https://ww2.itau.com.br/2viabloq/pesquisa.asp" method="post" name="form" onsubmit=carregabrw() target="bloqueto"> <INPUT type="hidden" name="dc" value="<%= dadoscripto %>"> <INPUT type="hidden" name= msg" value="s"> <INPUT type="submit" name="bloqueto" value="segunda Via Bloqueto"> </form> ( 5 ) Para o correto funcionamento da 2a via do Bloqueto Digital nos browsers: AOL, Netscape e Internet Explorer versões 4.x ou superior a instância do browser a ser aberto deve possuir o JavaScript abaixo, com as seguintes características: TOOLBAR = YES MENUBAR=YES RESIZABLE = YES STATUS = NO SCROLLBARS = YES WIDTH = 600 (sugestão) HEIGHT = 430 (sugestão) <script language="javascript"> <!-- function carregabrw() { window.open(,'bloqueto', toolbar=yes,menubar=yes,resizable=yes,status=no,scrollbars=yes,left=0, top=0,width=600,height=430 ); //--> </script> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 4
2. LAYOUT DOS CAMPOS Os dados que serão utilizados na Segunda Via do Bloqueto Digital são: Campos Descrição Critério Dados obrigatórios CodEmp Código da empresa Alfanumérico com 26 posições codsacado Código do Sacado Numérico com: - CNPJ - 14 posições (99999999999999) - CPF - 11 posições (99999999999) Chave Chave de criptografia (senha) Alfanumérico com 16 posições em maiúscula. 2.1 Layout XML <SegundaVia> <cedente>string</cedente> <sacado>string</sacado> <erro>string</erro> <ListadeBloquetos> <Bloqueto> <AGENCIA>string</AGENCIA> <CONTA>string</CONTA> <DAC>string</DAC> <NUMERODOCUMENTO>string</NUMERODOCUMENTO> <VENCIMENTO>string</VENCIMENTO> <VALOR>string</VALOR> <NOSSONUMERO>string</NOSSONUMERO> <LINK>string</LINK> </Bloqueto> <Bloqueto> <AGENCIA>string</AGENCIA> <CONTA>string</CONTA> <DAC>string</DAC> <NUMERODOCUMENTO>string</NUMERODOCUMENTO> <VENCIMENTO>string</VENCIMENTO> <VALOR>string</VALOR> <NOSSONUMERO>string</NOSSONUMERO> <LINK>string</LINK> </Bloqueto> </ListadeBloquetos> </SegundaVia> Importante: Em <LINK></LINK> só conterá o parâmetro para emissão do bloqueto. Esse valor deverá ser enviado via post para https://ww2.itau.com.br/2viabloq/frames.asp, como no exemplo abaixo. Ver código exemplo XSL no final deste manual. <form id="f1" name="f1" action="https://ww2.itau.com.br/2viabloq/frames.asp" method="post"> <input id="strtranc" type="hidden" name="strtranc" value="valor RECEBIDO NO CAMPO LINK"> </form> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 5
3. EXEMPLOS DE CÓDIGO 3.1 CRIPTOGRAFIA DOS DADOS CÓDIGO ASP <HTML> <BODY> <CENTER>Exemplo de código ASP</CENTER> <% Dim dadoscripto, obj codemp = "J0123456789012345678901234" 'Coloque aqui o código da empresa Chave = "ABCD123456ABCD12" 'Coloque aqui a chave de criptografia codsacado = request("codsacado") Set obj = server.createobject("itaucripto.cripto") dadoscripto = obj.geracripto(codemp, codsacado, Chave) Set obj = nothing %> <FORM ACTION= https://ww2.itau.com.br/2viabloq/pesquisa.asp METHOD= Post name= form onsubmit= carregabrw() target= BLOQUETO > <INPUT type=hidden name=dc value="<%= dadoscripto %>"> <INPUT type=hidden name=msg value="s"> <INPUT type="submit" name="bloqueto" value="segunda Via Bloqueto"> </form> <script language="javascript"> <!-- function carregabrw() { window.open('','bloqueto', 'toolbar=yes,menubar=yes,resizable=yes,status=no,scrollbars=yes,left=0,top=0,width=600,height=430 '); //--> </script> </BODY> </HTML> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 6
3.2 CRIPTOGRAFIA DOS DADOS CÓDIGO ASP/XML XSL 3.2.1 Página ASP/XML <% Option Explicit Dim xmlhttp Dim vcod_cedente Dim vchave Dim vcod_sacado Dim dadoscripto Dim cripto Dim TimeOut Dim HTMLRead Dim xmlsource Dim ElemRoot Dim currnoderoot Dim xsldoc 'Página XML a Coletar 'Código do cedente 'Chave 'Código do Sacado 'Dados Criptografados para envia 'Objeto Cripto 'Página recebida 'Código XML recebido 'Elemento XML 'Nó do XML 'Doc XSL 'Dados fornecidos pelo Banco Itaú vcod_cedente = "J0123456789012345678901234" vchave = "ABCD123456ABCD12" 'CPF ou CNPJ do SACADO vcod_sacado = request("codsacado") 'Criptografia de dados Set cripto = server.createobject("itaucripto.cripto") dadoscripto = cripto.geracripto(vcod_cedente,vcod_sacado,vchave) Set cripto = nothing 'Envio de dados via post Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.open "POST", "https://ww2.itau.com.br/2viabloq/2viaxmlwebsvc.asmx/pesquisaxml", False xmlhttp.setrequestheader "Content-Type", "application/x-www-form-urlencoded" xmlhttp.send "dados=" & dadoscripto TimeOut = 0 While ((xmlhttp.readystate <> 4) And (TimeOut < 10)) TimeOut = TimeOut + 1 xmlhttp.waitforresponse 1000 Wend Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 7
If Err.Number = 0 Then HTMLRead = xmlhttp.responsetext Else HTMLRead = "" End If Set xmlhttp = Nothing Set xmlsource = CreateObject("MSXML2.DOMDocument") xmlsource.validateonparse = True xmlsource.async = False xmlsource.loadxml HTMLRead Set ElemRoot = xmlsource.getelementsbytagname("segundavia") currnoderoot = ElemRoot.item(0).childNodes.item(0).nodeName 'Recebimento de Erro no XML If Trim(currNodeRoot) = "erro" Then Response.write ElemRoot.item(0).childNodes.item(0).text Response.end End If Set xsldoc = Server.CreateObject("Microsoft.XMLDOM") xsldoc.load(server.mappath("table.xsl")) HTMLRead = xmlsource.transformnode(xsldoc) response.write HTMLRead Set xmlsource = Nothing %> 3.2.2 Página XSL <?xml version="1.0" encoding="iso-8859-1"?> <xsl:template xmlns:xsl="http://www.w3.org/tr/wd-xsl"> <html> <head> <title>segunda Via de Bloquetos - Sua Empresa</title> <script language="javascript"> function envia(tranc) { document.f1.strtranc.value=tranc; document.f1.submit(); </script> <style type="text/css"> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 8
a:link { color:ffffff; text-decoration:none; font-size:9pt; font-weight:bold; fontfamily: arial; a:visited { color:ffffff; text-decoration:none; font-size:9pt; font-weight:bold; fontfamily: arial; a:hover { color:ff6600; text-decoration:underline; font-size:9pt; font-weight:bold; fontfamily: arial; </style> </head> <body bgcolor="#c0c0c0"> <! IMPORTANTE: Form para geração de Bloquetos Itaú --> <form id="f1" name="f1" action="https://ww2.itau.com.br/2viabloq/frames.asp" method="post" target="_blank"> <input id="strtranc" type="hidden" name="strtranc"></input> <input id="s" type="hidden" name="msg"></input> </form> <TABLE border="1" bordercolordark="#0000ff" bordercolorlight="#0000ff" bordercolor="#0000ff" cellpadding="1" cellspacing="0"> <xsl:for-each select="segundavia"> <TR> <TD colspan="3" bordercolordark="#000000"><font face="verdana" size="6" color="#2222ff"><xsl:value-of select="cedente"/></font></td> </TR> <TR> <TD colspan="3" bordercolordark="#000000"><font face="verdana" size="2" color="#2222ff">sacado:<xsl:value-of select="sacado"/></font></td> </TR> </xsl:for-each> <TR> <TD width="33%"><font face="verdana" size="-1">nosso Número</FONT></TD> <TD width="33%"><font face="verdana" size="-1">vencimento</font></td> <TD width="33%"><font face="verdana" size="-1">valor</font></td> </TR> <xsl:for-each select="segundavia/listadebloquetos/bloqueto"> <TR> <TD width="33%"><font face="verdana"><a><xsl:attribute name="href">javascript:envia('<xsl:value-of select="link"/>')</xsl:attribute><xsl:value-of select="nossonumero"/></a></font></td> <TD width="33%"><font face="verdana"><a><xsl:attribute name="href">javascript:envia('<xsl:value-of select="link"/>')</xsl:attribute><xsl:value-of select="vencimento"/></a></font></td> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 9
<TD width="33%"><font face="verdana"><a><xsl:attribute name="href">javascript:envia('<xsl:value-of select="link"/>')</xsl:attribute><xsl:value-of select="valor"/></a></font></td> </TR> </xsl:for-each> </TABLE> </body> </html> </xsl:template> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 10
4. INFORMAÇÕES TÉCNICAS Unix ou Linux Para a instalação da segunda via do Bloqueto Digital, deve-se executar os passos descritos a seguir 4.1 URL DA 2A VIA DO BLOQUETO DIGITAL Os dados criptografados deverão ser enviados para a URL abaixo: https://ww2.itau.com.br/2viabloq/pesquisa.asp 4.2 CRIPTOGRAFIA Deverá ser feito o download do Componente Itaú de criptografia Itaucripto.class: http://www.itaushopline.com.br/cadastrado/download/itaucripto.class. Esta classe utilizará os três parâmetros descritos na tabela abaixo e retornará os dados critografados. Campos Descrição Critérios Dados obrigatórios codemp Código da empresa Alfanumérico com 26 posições codsacado Chave Código do Sacado Chave de criptografia (senha) Numérico com: - CNPJ - 14 posições (99999999999999) - CPF - 11 posições (99999999999) Alfanumérico com 16 posições em Maiúscula Exemplo do código em java: //Inicializa parâmetros necessários ao componente de criptografia String codemp = " J0123456789012345678901234"; String codsacado = "00000000000001"; String chave = "ABCD123456ABCD12"; //Criptografa dados para serem enviados ao WebService Itaucripto cripto = new Itaucripto(); String dadoscriptografados = cripto.geracripto(codemp,dadosbloq,chave); 4.3 CHAMADA À TELA DA 2A VIA DO BLOQUETO DIGITAL A página que irá criptografar os dados para enviá-los a 2a via do Bloqueto Digital deverá seguir as seguintes regras: ( 1 ) Para chamar a tela da 2a via de Bloqueto Digital, a criptografia dos dados deve seguir a ordem abaixo: Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 11
String dadoscriptografados = cripto.geracripto(codemp,dadosbloq,chave); ( 2 ) Todos os campos, com exceção do campo Chave, são criptografados e enviados pelo lojista. ( 3 ) Todos os campos são obrigatórios ( 4 ) A página que contiver a URL do Itaú deverá ser desenvolvida, e apresentar: Formulário (FORM) com as propriedades: - method= post - action= https://ww2.itau.com.br/2viabloq/pesquisa.asp Campo (INPUT) para os dados criptografados, com as propriedades: - name="dc" - type= hidden - value= Dados Criptografados Campo (INPUT) para informar se deverá (value= S ) ou não (value= N ) ser apresentada no bloqueto a mensagem Emissão de segunda via do bloqueto por solicitação do sacado, com as propriedades: - name= msg" - type= hidden - value= S OU value= N ( 5 ) Para o correto funcionamento da 2a via do Bloqueto Digital nos browsers: AOL, Netscape e Internet Explorer versões 4.x ou superior a instância do browser a ser aberto deve possuir o JavaScript abaixo, com as seguintes características: TOOLBAR = YES MENUBAR=YES RESIZABLE = YES STATUS = NO SCROLLBARS = YES WIDTH = 600 (sugestão) HEIGHT = 430 (sugestão) <script language="javascript"> <!-- function carregabrw() { window.open(,'bloqueto', toolbar=yes,menubar=yes,resizable=yes,status=no,scrollbars=yes,left=0, top=0,width=600,height=430 ); //--> </script> Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 12
5. LAYOUT DOS CAMPOS 5.1 CRIPTOGRAFIA DOS DADOS CÓDIGO import java.text.*; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import Itau.Itaucripto; public class ServletCripto2ViaBloq extends HttpServlet { private String codemp; // Código de identificação da empresa private String chave; // Chave de criptografia da empresa private String codsacado; // Código do Sacado - CNPJ/CPF public void destroy() { public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { service(request, response); public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { service(request, response); public void init() { public void service(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getwriter(); String dados; //Armazena os dados criptografados //Inicializa as variáveis // <- Coloque aqui seu Código de Empresa (26 posições) codemp = "J0123412341123412341234123"; // <- Coloque aqui sua chave de criptografia (16 posições) chave = "KEY123412341234R"; // <- Coloque aqui o CNPJ/CPF do sacado codsacado = "10987654321"; Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 13
//Inicializa a classe de criptografia Itaucripto cripto = new Itaucripto(); //Criptografa os dados chamando o método geracripto da classe Itaucripto dados = cripto.geracripto(codemp,dadosbloq,chave); //Inicia a construção da página de resposta response.setcontenttype("text/html"); out.println("<html>"); out.println("<body bgcolor=\"white\">"); out.println("<head>"); out.println("<title> Segunda Via de Bloquetos </title>"); out.println("</head>"); out.println("<body>"); out.println("<form METHOD=\"POST\" ACTION=\"https://ww2.itau.com.br/2viabloq/pesquisa.asp\" name=\"form\" target=\"novajanela\">"); out.println("<input TYPE=\"hidden\" NAME=\"DC\" VALUE=\"" + dados + "\">"); out.println("<input TYPE=\"submit\" name=\"2via\" value=\"segunda via de Bloquetos\">"); out.println("</form>"); out.println("<script language=\"javascript\">"); out.println("<!--"); out.println("function carregabrw() { "); out.println("window.open('','novajanela',\"toolbar=yes,menubar=yes, resizable=yes,status=no,scrollbars=yes, width=675,height=485\"); "); out.println(""); out.println("//-->"); out.println("</script>"); out.println("</body>"); out.println("</html>"); Janeiro 2012 Cobrança Site Manual Técnico do Desenvolvedor 14