- A configuração dos acessos externos SERASA
...
...
...
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
-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 | ||||
---|---|---|---|---|
| ||||
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. |
‘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 |
RELATO # # Informações de autenticacao e certificados do serasa user.url= |
sitenethomologa.serasa.com.br user.root=/Homologa/consultahttps user.jks=lVaxvlqeVH5ugq/rba5vYvSWhu8kYJqO3Q==O63WLqgqpA== user.cert=/home/jboss/intellector-files/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 |
...
: sem Certificado ’não funciona’ e, entenda bem o conceito, leia sobre isso. Esse certificado é fornecido pela própria entidade, tipo host<->host. |
...
...
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.
...
...
...
‘layout_p002.xml‘ – Header do Registro
...
P002 – IP20(RELATO)/P8GL.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="ISO-8859-1"?> |
...
<!-- layout_p002.xml - Registro P002 - Outras Opcoes de Consulta Pessoa Juridica -->
|
...
<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 --> |
...
<id>P002_COD2</id> <value>P8GL</value> <size>4</size> |
...
<type>S</type> |
...
|
...
</field> |
...
|
...
<field> |
...
<!-- chave de acesso para consultar a |
...
2a opcao se necessario --> |
...
<id>P002_CHAVE2</id> <value> </value> <size>21</size> <type>S</type> </field> <field> <!-- codigo da |
...
3a opcao para consultar outro produto, feature ou base (ver tabela 30 --> |
...
<id>P002_COD3</id> <value> </value> <size>4</size> <type>S</type> </field> <field> <!-- chave de acesso para consultar a |
...
3a opcao se necessario --> |
...
<id>P002_CHAVE3</id> <value> </value> <size>21</size> <type>S</type> </field> <field> <!-- codigo da |
...
4a opcao para consultar outro produto, feature ou base (ver tabela 30 --> |
...
<id>P002_COD4</id> <value> </ |
...
value> <size>4</size> |
...
<type>S</type> |
...
|
...
</field> |
...
|
...
<field> |
...
<!-- chave de acesso para consultar a |
...
4a opcao se necessario --> |
...
<id>P002_CHAVE4</id>
<value> </value>
<size>21</size>
<type>S</type>
</field>
<field>
<id>P002_FILLER</id>
<value> </value>
<size>11</size>
<type>S</type>
</field>
</serasa-relato> |
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> |
...
...
language | html/xml |
---|
...
<!-- 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> |
...
...
...
language | html/xml |
---|
...
<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> |
...
...
...
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
# 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 |
...
Esse será
...
o método usado pelo reflection da politica.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<!-- metodo de acesso para ser carregado no acesso -->
<code name="br.com.tools.acessos.serasa. |
SerasaRelato"/> |
...
...
...
...
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>serasa_relato</nome_acesso> |
Exemplo:
1
Exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
serIn.put(" |
...
B49C_NUM_DOC", "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 |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
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> |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
<!-- 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> |
...
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. |
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 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
Dica |
---|
...
A variável abaixo deverá ser preenchida com total valor, somente se a discriminação for ’PROTESTO’; caso contrário, |
...
virá ’zera |
...
...