Histórico da Página
...
Para o uso direto em testes, usaríamos… (e.g. /home/jboss/intellector).
Bloco de código | ||
---|---|---|
| ||
java -jar -cp. -Dserasa-relato.datadir=/home/jboss/intellector SerasaRelato.jar |
Dica |
---|
Usando a execução acima, não esqueça de colocar no CLASSPATH todas as dependências; e o mesmo para JAVA_OPTS no JBoss. |
Propriedades para o Acesso Seguro (HTTPS)
‘https.properties‘ – arquivos de propriedades do certificado e conexão ‘host-to-host‘ com a SERASA.
Bloco de código | ||
---|---|---|
| ||
# Arquivo de properties para o SERASA PJ # $Revision: 1.2 $ # # Informações de autenticacao e certificados do serasa user.url=sitenet07.serasa.com.br user.root=/Homologa/consultahttps user.jks=lVaxvlqeVH5ugq/rba5vYvSWhu8kYJqO3Q==O63WLqgqpA== user.cert=/home/jboss/intellector-files/serasa.jks #user.serasa.cert=e:/tools/desv/ws_tec/serasa/resources/serasa.jks |
Dica |
---|
Existe no Site do Intellector, uma funcionalidade para configurar os arquivos de propriedades, lá você poderá gerar a senha criptografada. |
Aviso |
---|
Configurando SSL e HTTPS, leia aqui; sem Certificado ’não funciona’ e, entenda bem o conceito, leia sobre isso. Esse certificado é fornecido pela própria entidade, tipo host<->host. |
Auditoria dos dados de Acesso
Para efeitos de auditoria, esse plugin persiste os dados da string de Envio e Retorno do acesso (dados brutos), sendo possível consultar esses dados via web service de Auditoria e verificar ou fazer uso dessas strings. O conteúdo dessa string bruta é composto pelos campos que compõe o layout de entrada e saída, especificada na documentação do SERASA.
Layouts para o Acesso
- Nos Layouts são apresentados dados fixos, que provavelmente não sofrerão alterações; caso haja, a codificação do acesso também deverá ser alterada; basicamente, são dados transacionais.
- Baixe aqui o Layout B49C/L49C.
‘layout_p002.xml‘ – Header do Registro P005 – Parcelas com cheques de Compromisso.
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- layout_p002.xml - Registro P002 - Outras Opcoes de Consulta Pessoa Juridica --> <serasapj> <field> <!-- Tipo de registro TIPO-REG --> <name>P002</name> <size>4</size> <type>S</type> </field> <field> <!-- codigo da 1a opcao para consultar outro produto, feature ou base (ver tabela 30 --> <name>IP20</name> <size>4</size> <type>S</type> </field> <field> <!-- chave de acesso para consultar a 1a opcao se necessario --> <name>Q</name> <size>21</size> <type>S</type> </field> <field> <!-- codigo da 2a opcao para consultar outro produto, feature ou base (ver tabela 30 --> <name> </name> <size>4</size> <type>S</type> </field> <field> <!-- chave de acesso para consultar a 2a opcao se necessario --> <name> </name> <size>21</size> <type>S</type> </field> <field> <!-- codigo da 3a opcao para consultar outro produto, feature ou base (ver tabela 30 --> <name> </name> <size>4</size> <type>S</type> </field> <field> <!-- chave de acesso para consultar a 3a opcao se necessario --> <name> </name> <size>21</size> <type>S</type> </field> <field> <!-- codigo da 4a opcao para consultar outro produto, feature ou base (ver tabela 30 --> <name> </name> <size>4</size> <type>S</type> </field> <field> <!-- chave de acesso para consultar a 4a opcao se necessario --> <name> </name> <size>21</size> <type>S</type> </field> <field> <!-- filler de COMPLEMENTO do registro P002 --> <name> </name> <size>11</size> <type>S</type> </field> </serasapj> |
- Arquivo layout_p006.xml - Opções de consulta do Cadastro Sintético.
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?> <serasapf> <field> <!-- Layout de consulta P006: trata-se de uma sequencia de S/N, para cada registro --> <!-- para uma melhor visualizacao e configuracao, verificar o layout de consulta do P006 --> <name>P006SNSSS9999SSSSSSSN NNNSN</name> <size>27</size> <type>S</type> </field> <field> <!-- filler (7): filler de COMPLEMENTO do registro P006 --> <name> </name> <size>88</size> <type>S</type> </field> </serasapf> |
- Arquivo layoutPJ_b49c.xml - Header transacional para a consulta Pessoa Jurídica.
Bloco de código | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1"?> <serasapj> <field> <!-- header Credit Bureau --> <name>B49C</name> <size>4</size> <type>S</type> </field> <field> <!-- Filler --> <name> </name> <size>6</size> <type>S</type> </field> <field> <!-- NUM_DOC=CPF; está neste XML ilustrando, pois o mesmo é tratado numa --> <!-- tag de entrada, serve como referencia pra substituicao do real CPF --> <name>cpf</name> <size>15</size> <type>N</type> </field> <field> <!-- Tipo Pessoa F=pessoa fisica; J=pessoa juridica --> <name>J</name> <size>1</size> <type>S</type> </field> <field> <!-- Base de consulta --> <name>C</name> <size>6</size> <type>S</type> </field> <field> <!-- Modalidade --> <name>FI</name> <size>2</size> <type>S</type> </field> <field> <!-- valor da consulta --> <name>8888888</name> <size>7</size> <type>N</type> </field> <field> <!-- Centro de custo --> <name> </name> <size>12</size> <type>S</type> </field> <field> <!-- Codificado (S/N) --> <name>N</name> <size>1</size> <type>S</type> </field> <field> <!-- quantidade de registros por transmissao de dados --> <name>99</name> <size>2</size> <type>N</type> </field> <field> <!-- Deseja dialogo de comunicacao (S/N) --> <name>S</name> <size>1</size> <type>S</type> </field> <field> <!-- Funcao: INI,CON,ENC,ERR,TMD,FIM --> <name>INI</name> <size>3</size> <type>S</type> </field> <field> <!-- Tipo de consulta --> <name>A</name> <size>1</size>> <type>S</type> </field> <field> <!-- atualiza dados enviados (S/N) --> <name>N</name> <size>1</size> <type>S</type> </field> <field> <!-- Filler (2) --> <name> </name> <size>42</size> <type>S</type> </field> <field> <!-- quantidade de cheques sequenciais --> <name>00</name> <size>2</size> <type>N</type> </field> <field> <!-- endereço + telefone --> <name>N</name> <size>1</size> <type>S</type> </field> <field> <!-- filler (3) --> <name> </name> <size>8</size> <type>S</type> </field> <field> <!-- conta corrente --> <name>0000000000</name> <size>10</size> <type>N</type> </field> <field> <!-- digito da conta corrente --> <name>0</name> <size>1</size> <type>N</type> </field> <field> <!-- agencia --> <name>0000</name> <size>4</size> <type>N</type> </field> <field> <!-- filler (4) --> <name> </name> <size>61</size> <type>N</type> </field> <field> <!-- quantidade de compromisso encontrados --> <name> </name> <size>2</size> <type>N</type> </field> <field> <!-- tem anotacoes negativas (S/N/B) --> <name> </name> <size>1</size> <type>S</type> </field> <field> <!-- anotacoes de cheques (S/N/B) --> <name> </name> <size>1</size> <type>S</type> </field> <field> <!-- data da consulta --> <name> </name> <size>8</size> <type>S</type> </field> <field> <!-- hora da consulta --> <name> </name> <size>6</size> <type>S</type> </field> <field> <!-- total de registros --> <name> </name> <size>4</size> <type>S</type> </field> <field> <!-- quantidade de registros enviados por transmissao --> <name> </name> <size>4</size> <type>N</type> </field> <field> <!-- numero de controle de atualizacao das tabelas --> <name> </name> <size>4</size> <type>S</type> </field> <field> <!-- filler (5) --> <name> </name> <size>176</size> <type>S</type> </field> <field> <!-- acessou recheque online (S/N) --> <name>N</name> <size>1</size> <type>S</type> </field> <field> <!-- tem ocorrencia de Recheque ultimo ano (S/N) --> <name>N</name> <size>1</size> <type>S</type> </field> <field> <!-- filler (6) --> <name> </name> <size>1</size> <type>S</type> </field> </serasapj> |
Propriedades Configuráveis do Acesso
- As propriedades abaixo podem sofrer alterações, e essas podem ser feitas pelo site do Intellector (veja aqui); muita atenção no preenchimento dessas informações, pois elas definem o acesso ao conteúdo (informações) e, não de conexão ao host da SERASA.
- ‘serasa.properties‘.
Bloco de código | ||
---|---|---|
| ||
# Arquivo de properties para o SERASA PJ # $Revision: 1.2 $ # # type S=string, N=numeric # # Informaçoes de Login no SERASA serasa.login=00186487 serasa.login_size=8 serasa.login_type=N serasa.password=11003344 serasa.pass_size=8 serasa.pass_type=S serasa.newpass= serasa.npass_size=8 serasa.npass_type=S |
...
Esse será o métdo usado pelo reflection da politica.
Bloco de código | ||
---|---|---|
| ||
<!-- metodo de acesso para ser carregado no acesso --> <code name="br.com.tools.acessos.serasa.SerasaPJ"/> |
- ‘Sufixo para as variáveis‘ internas da política; toda vez que você acessar um item de registro, ele só poderá ser acessado acrescentado esse sufixo, e.g., ‘B001_GRAFIAserasapf‘. Isso diferencia os vários acessos disponiveis nas políticas. Será usada apenas pelo Compilador e pela política, mas deve ser informado numa construção do acesso (veja Intellector Developer API).
Bloco de código | ||
---|---|---|
| ||
<!-- esse deverah ser sufixo para ser acrescentado ao nome --> <!-- vindo da politica, entao irei buscar na hash da politica --> <!-- hash.getKey(cnpj_serasa); um de/para para os elementos --> <nome_acesso>serasapj</nome_acesso> |
Exemplo:
...
Exemplo:
Bloco de código | ||
---|---|---|
| ||
serIn.put("CNPJ", "0000000000191"); |
Exception:
Bloco de código | ||
---|---|---|
| ||
throw new LayoutException("Erro preenchendo HashMap " + this.toString()); |
Dica |
---|
Contador’ – sempre existe um atributo no XML nomeado ’counter’ como indexador dos registros |
...
- Para o preenchimento da HashMap de entrada, é imprescindivel entender o layout B49C e, devem conter as seguintes chaves de entrada (UPPERCASE); cada campo contém os seguintes dados, sendo eles validados pelo Compilador:
- ‘description‘ – propriedade da tag “field”, contem a descrição do campo
- ‘type‘ – propriedade da tag “field”, define o tipo de dado Pure Java, como String, Integer, Double, Date e Boolean.
- ‘format‘ – propriedade da tag “field”, contem o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.
- ‘field‘ – tag relativa ao nome do campo, escrito em maiúsculas (não necessariamente), como por ex. ‘TPRESPOSTA‘..
...
Bloco de código | ||
---|---|---|
| ||
<!-- contem os dados necessarios para entrada no serasa PJ --> <entrada> <!-- posso testar pelo valor obrigatorio dentro de cada --> <!-- acesso, ele dever ser "CNPJ" --> <field description="CNPJ da empresa consultada" type="String" format="">CNPJ</field> </entrada> |
...
- Exemplo ‘sem‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pela SERASA.
Bloco de código | ||
---|---|---|
| ||
<saida id="R203" counter="" > <register description="Descrição do Período" type="String" format="">R203_DESCREG</register> <register description="Quantidade do período" type="String" format="">R203_QTDPERIODO</register> <register description="Percentual do Período" type="String" format="">R203_PERPERIODO</register> </saida> |
Dica |
---|
TODOS os registros seguem a mesma lógica e, o ’XML completo com todos os registros do acesso’, importado pelo Compilador, pode ser baixado aqui. |
Registros Disponíveis
- Registro R102 – Relato Endereços
- Registro R103 – Relato Localização
- Registro R104 – Relato Atividade
- Registro R105 – Relato Filiais
- Registro R107 – Relato Controle Societário (Atualização e Capital Social)
- R108 – Relato Controle Societário (Detalhes dos Socios)
- Registro R109 – Relato Quadro Administrativo (atualização)
- Registro R110 – Relato Quadro Administrativo (detalhes)
- Registro R111 – Relato quadro administrativo (Detalhes cont.)
- Registro R114 – Relato Participações (Detalhes Participantes)
- Registro R115 – Relato Participações (Detalhes Participantes continuação)
- Registro R202 – Relato Potencial de Negócios
- Registro R203 – Relato Histórico de Pagamento
- Registro R301 – Relato Controle de Consultas Passagem
- Registro R302 – Relato Últimas Consultas
- Registro R381 – Grafias
- Registro R401 – RELATO – RiskScoring (12 meses)
- Registro R412 – RELATO – Informações do Concentre – Resumo
- n = ‘R412_NUMOCORR‘ – contator do número de ocorrências do Concentre
...