Upload
donga
View
248
Download
0
Embed Size (px)
Citation preview
COBRANÇA SITE Instruções de Instalação e Utilização
Manual Técnico do Desenvolvedor
Segunda via do Bloqueto Digital
Janeiro 2012 Cobrança Site – Manual Técnico do Desenvolvedor 2
Í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 3
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 4
- 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 5
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 6
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 7
3.2 – CRIPTOGRAFIA DOS DADOS – CÓDIGO ASP/XML XSL
3.2.1 – Página ASP/XML
<%
Option Explicit
Dim xmlhttp 'Página XML a Coletar
Dim vCod_cedente 'Código do cedente
Dim vChave 'Chave
Dim vCod_sacado 'Código do Sacado
Dim dadosCripto 'Dados Criptografados para envia
Dim cripto 'Objeto Cripto
Dim TimeOut
Dim HTMLRead 'Página recebida
Dim xmlSource 'Código XML recebido
Dim ElemRoot 'Elemento XML
Dim currNodeRoot 'Nó do XML
Dim xslDoc '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 8
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 9
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 10
<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 11
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 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
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 12
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 13
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 14
//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>");
}
}