Histórico da Página
Objetivo
Esse acesso permite que se consulte o CDL-BH trazendo dados pessoais e fazendo uma análise de risco.
Registro
- “SPC100″ – Solicitação de Consulta: permite solicitar ao SPC-BRASIL as consultas SPC Mix (Spc+Cheque)
Configurando o acesso
Para a execução desse acesso externo a partir da linha de comando, deve-se informar inicialmente, por indicação à JVM, o path onde é encontrado o arquivo de propriedades e o arquivo de configuração do log4j.
A linha de comando para a execução do acesso é:
Aviso |
---|
Usando a execução acima, não esqueça de colocar no CLASSPATH todas as dependências. |
Propriedades do acesso
Inicialmente o Arquivo de Propriedade 'cdlbh.properties‘ contido dentro do ‘.jar‘ do arquivo já está configurado corretamente, porém essas informações podem ser alteradas pelo órgão.
Conteúdo inicial do arquivo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
##listar o arquivo de propriedades com os dados que serão consultados #cdlbh.ip=200.189.1.62 #cdlbh.porta=3339 cdlbh.ip=200.189.1.62 cdlbh.porta=28001 # timeout do socket (da conexao) em milisegundos cdlbh.socket_timeout=30000 ##Configuracoes do acesso cdlbh.codtransacao=SPC100 cdlbh.codestacao= cdlbh.versao=011 cdlbh.meioacesso=20 cdlbh.codoperador=0001080074 cdlbh.senha=02022012 cdlbh.codproduto=03 cdlbh.tpresposta=A |
Onde as Propriedades representam:
- cdlbh.ip = IP que será configurado para acessar o órgão
- cdlbh.porta = porta que será utilizada para o acesso
- cdlbh.codestacao = Código que será utilizado para especificar o serviço utilizado
- cdlbh.versao = versão do serviço utilizado
- cdlbh.meioacesso = Meio de acesso. Informado pelo SPC Brasil
- cdlbh.codoperador = Código do operador que acessará o órgão
- cdlbh.senha = Senha do operador
- cdlbh.codproduto = Código do produto que será utilizado. (Produto do SPC-BRASIL)
- cdlbh.tpresposta = Tipo de resposta (A – Analítica ou S – Sintética )
As duas Propriedade IP e Porta representam o meio de acesso ao Órgão.
Entrada e Saída do Acesso
Variáveis de Entrada
- TPDOCUMENTO – Tipo de Documento (1 – CPF ou 2 – CNPJ)
- RG – RG do cliente consultado
- ORIGEMCHEQUE – Tipo de entrada dos dados do Cheque (C – Dados CMC7 D – Dados do Cheque)
- CODBANCO – Codigo do banco a ser consultado
- CODAGENCIA – Codigo da agencia a ser consultada
- NUMCC – Numero da conta corrente a ser consultada
- DIGITOCC – Digito da Conta corrente a ser consultada
- NUMCHEQUEINICIAL- Numero do primeiro cheque as ser consultado
- DIGITOCHEQUEINICIAL – Digito do primeiro cheque a ser consultado
- CMC7 – CMC7 do cheque inicial
- QUANTCHEQUES – Quantidade de Cheques a serem consultados sequencialmente
- VALORGARANTIA – Valor da Garantia/Entrada
- TPCREDITO – Utilizado para registro de Credito Concedido
- INTERVALOPARCELAS – Intervalo entre as parcelas
- DTVENCIMENTOPRIMEIRAPARCELA – Data de vencimento da 1. Parcela / Data deposito (Garantia de cheque)
- QTPARCELAS – Quantidade de parcelas/cheques
- VALORTOTALOPERACAO – Valor Total da Compra ou da Operação
- CEPORIGEM – CEP de origem da consulta
- DDD – DDD Telefone a ser consultado
- TELEFONE – Numero do Telefone a ser consultado
- DTABERTURACC – Data Abertura da Conta Corrente
- PRACACOMPENSACAOCHEQUE – Praça Compensação do cheque
- NUMAUTORIZACAOCHEQUE – Numero da autorização da Garantia de Cheque
- CODCANCELAMENTOCHEQUE – Código do motivo de cancelamento da Garantia de Cheque
Resposta da Consulta
Código de Serviço 05
- Indica que a descrição da base se encontra indisponível.
- ‘COD05‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Código de Serviço 99
- Mensagem de Erro
- ‘COD99‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
- Código de erro =
- 01 – String de Consulta Inválida.
- 02 – Acesso não permitido.
- 03 – Erro na Consulta ao Produto.
- 04 – Erro na formatação da resposta.
- 05 – Nova senha é de fácil dedução. Senha não alterada.
- 06 – Banco Inválido.
- 07 – Conta corrente ou dígito inválido.
- 08 – Problema na inclusão do Crédito Concedido.
- 09 – Número de autorização de garantia inexistente.
- 10 – Garantia já cancelada.
- 11 – Código de motivo de cancelamento inexistente.
- 12 – Cancelamento de garantia não permitido.
- 13 – Opção não disponível para esse operador.
- 14 – Operador Bloqueado. Excesso tentativa senha inválida
- 70 – Cheque ou digito inválido
- 71 – Agencia inválida
- 72 – DDD inválido
- 73 – Telefone inválido
- 74 – DDD não informado
- 75 – Telefone não informado
- 76 – Banco não informado
- 77 – Agencia não informada
- 78 – Conta corrente não informada
- 79 – Cheque inicial não informado
- 80 – CMC7 Invalido
- 81 – Conta Corrente pertence a outro CPF/CNPJ
Registros Disponíveis
- 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:
- ‘description‘ – Propriedade da tag “register”, contem a descrição do campo
- ‘type‘ – Propriedade da tag “register”, define o tipo de dado Pure Java, como String, Integer, Double, Date e Boolean.
- ‘format‘ – Propriedade da tag “register”, contem o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.
- ‘register‘ – Tag relativa ao nome do campo, escrito em maiúsculas (não necessariamente), como por ex. ‘REG01_NOME‘.
- Abaixo o XML de saída com o ‘contador‘.
- Exemplo ‘com‘ um contador… observe que ‘counter=REG86_NUMOCORRENCIAS‘ indica quantos registros, se existirem, ‘REG86‘ foram retornados pelo CDL-BH.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<saida id="REG86" counter="REG86_NUMOCORRENCIAS" > <register description="Codigo de servico" type="String" format="">REG86_CODSERVICO_</register> <register description="Endereco" type="String" format="">REG86_ENDERECO_</register> <register description="Complemento" type="String" format="">REG86_COMPLEMENTO_</register> <register description="Bairro" type="String" format="">REG86_BAIRRO_</register> <register description="Cidade" type="String" format="">REG86_CIDADE_</register> <register description="CEP" type="String" format="">REG86_CEP_</register> <register description="UF" type="String" format=""> REG86_UF_</register> </saida> |
- Exemplo ‘sem‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pela CDL-BH.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<saida id="REG80" counter="" > <register description="Codigo de servico" type="String" format="">REG8O_CODSERVICO</register> <register description="Nome do Assinante" type="String" format="">REG8O_ASSINANTE</register> <register description="Tipo de Logradouro" type="String" format="">REG8O_TPLOGRADOURO</register> <register description="Endereco" type="String" format="">REG8O_ENDERECO</register> <register description="Numero" type="String" format="">REG8O_NUMERO</register> <register description="Cidade" type="String" format="">REG8O_CIDADE</register> <register description="Bairro" type="String" format="">REG8O_BAIRRO</register> <register description="CEP" type="String" format="">REG8O_CEP</register> <register description="UF" type="String" format="">REG8O_UF</register> </saida> |
- ‘Código de serviço 06‘ – Resposta de Grafia PJ.
- ‘Código de serviço 10‘ – Resposta de SPC.
- n = REG10_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 20‘ – Resposta de Cheque.
- n = REG20_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 25‘ – Resposta de Banco, Agencia, Conta Corrente com Documento Diferente do Consultado.
- n = REG25_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 26‘ – Resposta de Dados da Agência Bancária do Cheque Consultado.
- n = REG26_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 27‘ – Resposta de informação on-line da Instituição Financeira – mensagem.
- n = REG27_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 28‘ – Resposta de informação on-line da Instituição Financeira – Cheque Sustado.
- n = REG28_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 30‘ – Resposta de Protestos.
- n = REG30_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 40‘ – Resposta de Ações.
- n = REG40_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 50‘ – Resposta de Credito Concedido.
- n = REG50_NUMCONSULTAS – contador do número de ocorrências
- ‘Código de serviço 60‘ – Resposta de Alerta
- n = REG60_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 70‘ – Resposta de Consultas Realizadas (Passagens).
- n = REG70_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 80‘ – Resposta de Dados Telefônicos.
- n = REG80_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 84‘ – Resposta de Telefones Vinculados ao Documento Consultado.
- n = REG84_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 85‘ – Resposta de Dados Telefônicos Informados Anteriormente para o documento consultado.
- n = REG85_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 86‘ – Resposta de Dados de Últimos Endereços Informados para o documento consultado.
- n = REG86_NUMCONSULTAS – contador do número de ocorrências
- ‘Código de serviço 88‘ – Resposta de Contra-Ordem a Cheques com Agências Diferentes da Consultada.
- n = REG88_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 89‘ – Resposta de Contra-Ordem a Cheques com Agência/Conta Diferentes da Consultada.
- n = REG89_NUMCONSULTAS – contador do número de ocorrências
- ‘Código de serviço 90‘ – Resposta de Contra-Ordem a Cheques com Documentos Diferente do Consultado.
- n = REG90_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 92‘ – Resposta de Cheque Sustado p/Motivo 21 => Contumácia – máximo de 10 ocorrências Esta informação não é desabonadora ao cliente.
- n = REG92_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 95‘ – Resposta de Síntese Cadastral.
- ‘Código de serviço 96‘ – Sócios Proprietários da Pessoa Jurídica.
- n = REG96_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 97‘ – Participação Societária da Pessoa Física.
- n = REG97_NUMCONSULTAS – contador do número de ocorrências.
- ‘Código de serviço 98‘ – Reposta da Garantia de Cheque.
- n = REG98_NUMCONSULTAS – contador do número de ocorrências.
- n = REG98_NUMCONSULTAS – contador do número de ocorrências.
Exemplo de código fonte
Bloco de código | ||||
---|---|---|---|---|
| ||||
HashMap<String, Object> in = new HashMap<String, Object>(); HashMap<String, Object> out = new HashMap<String, Object>(); ConsultaCdlBh cdl = new ConsultaCdlBh(); in.put("TPDOCUMENTO","1"); in.put("CPFCNPJ","07607413790"); in.put("RG"," "); in.put("ORIGEMCHEQUE"," "); in.put("CODBANCO","000"); in.put("CODAGENCIA","0000"); in.put("NUMCC"," "); in.put("DIGITOCC"," "); in.put("NUMCHEQUEINICIAL" , "000000"); in.put("DIGITOCHEQUEINICIAL","0"); in.put("CMC7","000000000000000000000000000000"); in.put("QUANTCHEQUES",00); in.put("VALORGARANTIA" ,Double.parseDouble("000000000000")) ; in.put("TPCREDITO"," "); in.put("INTERVALOPARCELAS" ,Integer.parseInt("000")); Date data= UtilData.getDate("01/01/1900", UtilData.SHORTDATE); in.put("DTVENCIMENTOPRIMEIRAPARCELA", data); in.put("QTPARCELAS",0); in.put("VALORTOTALOPERACAO", Double.valueOf("000000000000")); in.put("CEPORIGEM","00000000"); in.put("DDD" , "000"); in.put("TELEFONE","0000000000"); in.put("DTABERTURACC",data); in.put("PRACACOMPENSACAOCHEQUE","000"); in.put("NUMAUTORIZACAOCHEQUE","00000000"); in.put("CODCANCELAMENTOCHEQUE","00"); try { out = ConsultaCdlBh.execute(in); Iterator<String> ele = out.keySet().iterator(); while (ele.hasNext()) { String valueHash = (String) ele.next(); String msg = "[" + valueHash + "] >> [" + out.get(valueHash) + "]"; log.info(msg); } }catch (InfraException e) { log.error("O serviço da CDL-BH encontra-se indisponível"); log.debug(e.getMessage()); } catch (LayoutException e) { log.error("Existe diferença entre o layout enviado a CDL-BH e o esperado pelo órgão"); log.debug(e.getMessage()); } catch (ConfigException e) { log.error("Existe um erro na configuração do serviço: " + e.getMessage()); log.debug(e.getMessage()); }catch(Exception e){ log.error("Existe um erro na configuração do serviço: " + e.getMessage()); log.debug(e.getMessage()); } finally { log.debug("<<TesteCDL-BH.process()"); log.info("Finalizou a execução do acesso a CDL-BH"); } |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas