Registros disponíveis no Credit Bureau – B49C para Pessoas Jurídicas.
Configurando acesso ao SERASA
...
RELATO
- A configuração dos acessos externos SERASA PJ RELATO deve inicialmente passar por uma indicação para a JVM do path do arquivo de properties, do certificado e do log4j; veja abaixo o setting para a JVM (‘-D option‘):
...
Bloco de código |
---|
language | html/xmljava |
---|
linenumbers | true |
---|
|
-Dserasa-relato.datadir=/home/jboss/intellector
-Dlog4j.configuration=/home/jboss/intellector
-Daccess.ssl=/home/jboss/intellector/ssl |
Para o uso direto em testes, deve usaríamos(e.g. /home/jboss/intellector).
Bloco de código |
---|
language | java |
---|
linenumbers | true |
---|
|
java -jar -cp. -Dserasa-relato.datadir=/home/jboss/intellector SerasaRelato.jar |
Aviso |
---|
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 |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
# Arquivo de properties para o SERASA PJ RELATO
# $Revision: 1.2 $
#
# Informações de autenticacao e certificados do serasa
user.url=sitenet07sitenethomologa.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 Solicite à Serasa Experian o layout B49C/L49C.
‘layout_p002.xml‘ – Header do Registro
P005 – Parcelas com cheques de Compromisso. P002 – IP20(RELATO)/P8GL.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<?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<serasa-relato>
<field>
<id>P002_REGISTRO</id>
<value>P002</value>
<size>4</size>
<type>S</type>
</field>
<field>
<id>P002_COD1</id>
<value>IP20</value>
<size>4</size>
<type>S</type>
</field>
<field>
<id>P002_CHAVE1</id>
<value>Q</value>
<size>21</size>
<type>S</type>
<!-- chave de acesso para consultar a 1a opcao se necessario -->
</field>
<field>
<!-- codigo da 2a opcao para consultar outro produto, feature ou base (ver tabela 30 -->
<name>IP20</name>
<id>P002_COD2</id>
<value>P8GL</value>
<size>4</size>
<type>S</type>
</field>
<field>
<!-- chave de acesso para consultar a 1a2a opcao se necessario -->
<name>Q</name>
<size>21</size>
<type>S</type>
</field>
<field>
<id>P002_CHAVE2</id>
<value> </value>
<size>21</size>
<type>S</type>
</field>
<field>
<!-- codigo da 2a3a opcao para consultar outro produto, feature ou base (ver tabela 30 -->
<id>P002_COD3</id>
<name> </name>
<value> </value>
<size>4</size>
<type>S</type>
</field>
<field>
<!-- chave de acesso para consultar a 2a3a opcao se necessario -->
<name>
<id>P002_CHAVE3</id>
<value> </name>
value>
<size>21</size>
<type>S</type>
</field>
<field>
<field>
<!-- codigo da 3a4a opcao para consultar outro produto, feature ou base (ver tabela 30 -->
<name> </name>
<size>4</size>
<type>S</type>
</field>
<field>
<id>P002_COD4</id>
<value> </value>
<size>4</size>
<type>S</type>
</field>
<field>
<!-- chave de acesso para consultar a 3a4a opcao se necessario -->
<id>P002_CHAVE4</id>
<name> </name>
<value> </value>
<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
<field>
<id>P002_FILLER</id>
<value> </value>
<size>11</size>
<type>S</type>
</field>
</serasa-relato> |
- Arquivo layout_p009.xml - Opções de Monitoramento.
- Verificar no layout as opções para montagem do registro.
- Arquivo layoutPJ_b49c.xml - Header Transacional para a Consulta Pessoa Jurídica.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<serasapj>
<field>
<!-- header Credit Bureau -->
<name> <<name>B49C</name>
<size>21<<size>4</size>
<type>S</type>
</field>
<field>
<field>
<!-- filler de COMPLEMENTO do registro P002Filler -->
<name> </name>
<size>11<<size>6</size>
<type>S</type>
</field>
</serasapj> |
- Arquivo layout_p006.xml - Opções de Consulta do Cadastro Sintético.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<serasapf> <field>
<!-- NUM_DOC=CPF; está neste XML ilustrando, pois o mesmo é tratado numa -->
|
<field>
LayoutconsultaP006: trata-se de uma sequencia de S/N, para cada registro serve como referencia pra substituicao do real CPF -->
|
<!--paraumamelhor visualizacao e configuracao, verificar o layout de consulta do P006 -->
<name>P006SNSSS9999SSSSSSSN NNNSN<<size>27<<type>S<<type>N</type>
</field>
<field>
<!-- |
filler (7): filler de COMPLEMENTO do registro P006 Tipo Pessoa F=pessoa fisica; J=pessoa juridica -->
|
<name> <<size>88<<size>1</size>
<type>S</type>
</field>
|
</serasapf>
- Arquivo layoutPJ_b49c.xml - Header Transacional para a Consulta Pessoa Jurídica.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<serasapj>
<field>
<!-- headerBase Creditde Bureauconsulta -->
<name>B49C<<name>C</name>
<size>4<<size>6</size>
<type>S</type>
</field>
<field>
<<!-- FillerModalidade -->
<name> <<name>FI</name>
<size>6<<size>2</size>
<type>S</type>
</field>
<field>
<!-- NUM_DOC=CPF; está neste XML ilustrando, pois o mesmo é tratado numavalor da consulta -->
<!-- tag de entrada, serve como referencia pra substituicao do real CPF --><name>8888888</name>
<size>7</size>
<name>cpf<<type>N</name>type>
<size>15</size>
<type>N</type>
</</field>
<field>
<!-- TipoCentro Pessoa F=pessoa fisica; J=pessoa juridica de custo -->
<name> <name>J<</name>
<size>1<<size>12</size>
<type>S</type>
</field>
<field>
<!-- Base de consulta Codificado (S/N) -->
<name>C<<name>N</name>
<size>6<<size>1</size>
<type>S</type>
</field>
<field>
<!-- Modalidade -->
quantidade de registros por transmissao de dados -->
<name>FI<<name>99</name>
<size>2</size>
<type>S<<type>N</type>
</field>
<field>
<!-- Deseja valordialogo de da consultacomunicacao (S/N) -->
<name>8888888<<name>S</name>
<size>7<<size>1</size>
<type>N<<type>S</type>
</field>
<field>
<!-- Centro de custo Funcao: INI,CON,ENC,ERR,TMD,FIM -->
<name> <<name>INI</name>
<size>12<<size>3</size>
<type>S</type>
</field>
<field>
<!-- Codificado (S/N)Tipo de consulta -->
<name>N<<name>A</name>
<size>1</size>size>>
<type>S</type>
</field>
<field>
<!-- quantidadeatualiza dedados registros por transmissao de dadosenviados (S/N) -->
<name>99<<name>N</name>
<size>2<<size>1</size>
<type>N<<type>S</type>
</field>
<field>
<!-- Deseja dialogo de comunicacao (S/NFiller (2) -->
<name>S<<name> </name>
<size>1<<size>42</size>
<type>S</type>
</field>
<field>
<!-- Funcao: INI,CON,ENC,ERR,TMD,FIM quantidade de cheques sequenciais -->
<name>INI<<name>00</name>
<size>3<<size>2</size>
<type>S<<type>N</type>
</field>
<field>
<!-- Tipoendereço de+ consultatelefone -->
<name>A<<name>N</name>
<size>1</size>>size>
<type>S</type>
</field>
<field>
<!-- atualizafiller dados enviados (S/N) (3) -->
<name>N<<name> </name>
<size>1<<size>8</size>
<type>S</type>
</field>
<field>
<!-- Fillerconta (2)corrente -->
<name> <<name>0000000000</name>
<size>42<<size>10</size>
<type>S<<type>N</type>
</field>
<field>
<!-- quantidadedigito deda chequesconta sequenciaiscorrente -->
<name>00<<name>0</name>
<size>2<<size>1</size>
<type>N</type>
</field>
<field>
<!-- endereço + telefoneagencia -->
<name>N<<name>0000</name>
<size>1<<size>4</size>
<type>S<<type>N</type>
</field>
<field>
<!-- filler (34) -->
<name> </name>
<size>8<<size>61</size>
<type>S<<type>N</type>
</field>
<field>
<!-- conta correntequantidade de compromisso encontrados -->
<name>0000000000<<name> </name>
<size>10<<size>2</size>
<type>N</type>
</field>
<field>
<!-- digitotem daanotacoes conta correntenegativas (S/N/B) -->
<name> <name>0<</name>
<size>1</size>
<type>N<<type>S</type>
</field>
<field>
<!-- agencia anotacoes de cheques (S/N/B) -->
<name>0000<<name> </name>
<size>4<<size>1</size>
<type>N<<type>S</type>
</field>
<field>
<!-- data fillerda (4)consulta -->
<name> </name>
<size>61<<size>8</size>
<type>N<<type>S</type>
</field>
<field>
<!-- quantidadehora deda compromisso encontradosconsulta -->
<name> </name>
<size>2<<size>6</size>
<type>N<<type>S</type>
</field>
<field>
<!-- temtotal anotacoesde negativas (S/N/B) registros -->
<name> </name>
<size>1<<size>4</size>
<type>S</type>
</field>
<field>
<!-- anotacoesquantidade de registros enviados cheques (S/N/B)por transmissao -->
<name> </name>
<size>1<<size>4</size>
<type>S<<type>N</type>
</field>
<field>
<!-- data da consultanumero de controle de atualizacao das tabelas -->
<name> </name>
<size>8<<size>4</size>
<type>S</type>
</field>
<field>
<!-- horafiller da(5) consulta -->
<name> </name>
<size>6<<size>176</size>
<type>S</type>
</field>
<field>
<!-- totalacessou recheque de registrosonline (S/N) -->
<name> <<name>N</name>
<size>4<<size>1</size>
<type>S</type>
</field>
<field>
<!-- tem quantidadeocorrencia de registrosRecheque enviadosultimo por transmissao ano (S/N) -->
<name> <<name>N</name>
<size>4<<size>1</size>
<type>N<<type>S</type>
</field>
<field>
<!-- numerofiller de controle de atualizacao das tabelas (6) -->
<name> </name>
<size>4<<size>1</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.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
# 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 |
Preenchimento da HashMap de Entrada
- ‘Método de acesso no XML‘
Esse será o método usado pelo reflection da politica.
Propriedades Configuráveis do Acesso
- As propriedades abaixo podem sofrer alterações, e essas podem ser feitas pelo site do Intellector : 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.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
# Arquivo de properties para o SERASA RELATO
#
# 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 |
Preenchimento da HashMap de Entrada
- ‘Método de acesso no XML‘
Esse será o método usado pelo reflection da politica.
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<!-- metodo de acesso para ser carregado no acesso -->
<code name="br.com.tools.acessos.serasa.SerasaRelato |
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<!-- 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 acessos disponíveis nas políticas. Será usada apenas pelo Compilador e pelo Compilador e pela política, mas deve ser informado numa construção do acesso (veja Intellector Developer API).
...
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<!-- 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<acesso>serasa_relato</nome_acesso> |
Exemplo:
...
Bloco de código |
---|
language | html/xmljava |
---|
linenumbers | true |
---|
|
serIn.put("CNPJB49C_NUM_DOC", "0000000000191"); |
Exception:
Bloco de código |
---|
language | html/xmljava |
---|
linenumbers | true |
---|
|
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, é imprescindível 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 |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<!-- 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> |
Resposta da Consulta
Dados de Saída do Acessos
- A HasMap de saída dos acessos, seguem o mesmo princípio da entrada, exceto pelo fato de que os dados de um determinado registros, podem se repetir, nesse caso, há a presença de um ‘contador‘ para um eventual looping de tratamento pelas aplicações clientes. Cada campo contém os seguintes dados, sendo eles validados pelo Compilador:
...
- Exemplo ‘com‘ um contador… observe que ‘counter=R104_NUMRELAT‘ indica quantos registros, se existirem, ‘R104‘ foram retornados pelo SERASA.
...
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<!-- Obs.: quando counter=alguma_coisa, entao todo o bloco -->
<!-- abaixo sofrerah um looping baseado nesse counter -->
<saida id="R104" counter="R104_NUMRELAT" >
<register description="Data da Fundação" type="Date" format="yyyymmdd">R104_DATAFUNDACAO_</register>
<register description="Data do CNPJ" type="Date" format="yyyymmdd">R104_DATACNPJ_</register>
<register description="Número de Filiais" type="String" format="">R104_NUMEROFILIAIS_</register>
<register description="Código SERASA" type="String" format="">R104_CODIGOSERASA_</register>
</saida> |
- Exemplo ‘sem‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pela SERASA.
...
Bloco de código |
---|
language | html/xml |
---|
linenumbers | true |
---|
|
<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 Sócios)
- 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 R401 – RELATO – RiskScoring (12 meses)
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 Sócios)
- 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 R401 – RELATO – RiskScoring (12 meses)
- Registro R412 – RELATO – Informações do Concentre – Resumo
- Registro R430 – P8GL– Parecer de Crédito Padrão
Variáveis
Variável | Descrição | Tipo | Formato |
---|
R430_SUBTPREG_ | Subtipo do registro | String |
|
R430_DTCALCLIM_ | Data cálculo limite crédito | Date | yyyyMMdd |
R430_HRCALCLIM_ | Hora cálculo limite crédito | Integer |
|
R430_VLCALCLIM_ | Valor cálculo limite crédito | Double |
|
R430_OBSERV_ | Observação | String |
Registro R412 – RELATO – Informações do Concentre – Resumo
- 1.n = ‘R412_NUMOCORR‘ – contator do número de ocorrências do Concentre
Dica |
---|
A variável abaixo deverá ser preenchida com total valor, somente se a discriminação for ’PROTESTO’; caso contrário, virá ’zera |
...
...