Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Objetivo

Permite ao associado consultar informações referentes a Registros às Famílias de Débitos (comprador/avalista), Títulos Protestados, Consultas Anteriores (SCPC), Central de Crédito, Devoluções informadas pelo CCF – Cadastro de Cheques sem Fundos e pelos Associados, Cheques Sustados, Cheques Sustados pelo motivo 21, Histórico do Cheque e da Conta Corrente consultada, Consultas Anteriores (SCPC | Cheque), Nome e Endereço da Agência Bancária, Síntese Cadastral e Confirmação de Telefone.

Registros
 

...

‘CSR60‘ – Solicitação de Consulta: permite solicitar à ACSP as consultas SCPC + SCPC | Cheque ou SCPC + SCPC | Cheque + SCPC | Score fornecendo os parâmetros necessários.

‘CSR61‘ – Resposta da Consulta: será transmitido pela ACSP, contendo as informações correspondentes aos parâmetros fornecidos, podendo ser sintética ou analítica.

 Procedimentos
 
  •  Transmitir à ACSP o registro de solicitação de consulta fornecendo os parâmetros necessários. Após a validação das informações, será transmitido pela ACSP registro de resposta contendo no campo Código de Retorno o Resultado da Transmissão, conforme segue:

“0″ – Consulta Concluída.

“1″ – Indica que existem mais registros a serem Transmitidos.

“9″ – Consulta Não Efetuada.

Para acesso via Renpac/Socket: Quando Tipo de Transmissão da Resposta for “C” (Conversacional), se o código de retorno for “1″, enviar a função <enter> para receber o próximo registro. Quando Tipo de Transmissão da Resposta for “T” (Transacional), será Transmissão Unica, com o envio de todos os registros. 

Configurações

Existem poucos arquivos de configurações para o Acesso, citados abaixo com suas anotações.

Propriedades para o Acesso Seguro (HTTPS)
 
  • ‘https.properties‘ – Arquivos de propriedades do certificado e conexão host-to-host usando HTTPS com o SPC

  • Devido ao SPC usar protocolos diferentes para Homologação e Produção, a variável de ambiente ‘spc.accessmode‘ para a JVM deve ser configurada; os possíveis valores são ‘http‘ ou ‘https' – a ‘não informação‘ dessa variável assume protocolo ‘https‘, portanto, acesso à Produção.

Bloco de código
languagejava
# Arquivo de properties HTTPS para o SCPC/SP - CSR60
# $Revision: 1.2 $
# $Date: 2008-11-19 19:39:11 $

# Informações de autenticacao e certificados do spc
user.url=bvsntt.bvsnet.com.br
user.root=/cgi-bin/db2www/netpo028.mbr/string
user.jks=1B8ebFGol4yeii/2BYzFxU2nTEUJMwylig==S+VCf4zgqg==
# workspace tools
user.cert=/home/jboss/intellector-files/acsp.jk
  • http.properties‘ – Arquivos de Propriedades para Conexão host-to-host usando HTTP com o SPC.
Bloco de código
languagejava
# Arquivo de properties HTTPS para o SCPC/SP - CSR60
# $Revision: 1.2 $
# $Date: 2008-11-19 19:39:11 $

# Informações de autenticacao e certificados do spc
user.url=bvsntt.bvsnet.com.br
user.root=/cgi-bin/db2www/netpo028.mbr/string
Aviso

As configurações acima são para o ambiente de testes; para produção, esses dados DEVEM ser alterados. O timeout de retrying do WSDL ao SPC é de 180 segundos!

 Layout para o Acesso
 
  • ‘layout_CSR60v8.xml‘ – neste arquivo, 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.   
Bloco de código
languagehtml/xml
Propriedades Configuráveis do Acesso
As propriedades abaixo podem sofrer alterações, e essas podem ser feitas pelo site do ‘Intellector-NG‘ (veja aqui); Atenção no preenchimento dessas informações, elas definem Acesso ao Conteúdo(informações) e, não de conexão ao host do SPC. 

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- arquivo layout_CSR6v8.xml                                     -->
<!-- <name> contem o conteudo do campo do layout; pode ser branco  -->
<!-- <size> representa o tamanho do campo do layout; se o conteudo -->
<!-- for menor que size, entao ele serah completado por tipo       -->
<!-- <type> representa o tipo do campo do layout S=brancos; N=0    -->
<spc> 
    <field> 
        <!-- Transacao -->
        <name>CSR60</name> 
        <size>8</size> 
        <type>S</type> 
    </field> 
    <field> 
        <!-- Versao -->
        <name>04</name> 
        <size>2</size> 
        <type>S</type> 
    </field> 
    <field> 
        <!-- Reservado - Uso do solicitante -->
        <name>Tools</name> 
        <size>10</size> 
        <type>S</type> 
    </field> 
    <field> 
        <!-- Reservado ACSP - Uso da ACSP   -->
        <name> </name> 
        <size>20</size> 
        <type>S</type> 
    </field> 
</spc>
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 do SPC.  

Bloco de código
languagejava
Baixe aqui o layout do SCPC Integrado CSR60. # Arquivo de properties para o spc PF 
# $Revision: 1.2 $ 
# 
# type S=string, N=numeric 
# 
# LOGIN - codigo de servico 
spc.login=00000045 
spc.login_size=8 
spc.login_type=N 
# SENHA - senha de acesso 
spc.password=TOO123    
spc.pass_size=8 
spc.pass_type=S 
# Tipos da Consultas                                        
# pode ser alterado os tipos de consultas, conforme layout  
# "CIN"=(SCPC + Cheque);                                    
# "CIN06"=(SCPC + Cheque + Score 06 meses)                  
# "CIN57"=(SCPC + Cheque + Score Cheque)                    
# "CIN18"=(SCPC + Cheque + Score 18 meses)                  
spc.tipo_consulta=CIN 
spc.tcons_size=8 
spc.tcons_type=S 
# Localidade de Origem                                   
# Codigo da cidade de origem da consulta para fins de    
# repasse as entidades de outros municipios              
# Tabela de codigos serah fornecida pela ACSP            
spc.localidade=    
spc.local_size=4 
spc.local_type=S

 Baixe aqui layout do SCPC Integrado CSR60.

...

Preenchimento da HashMap de Entrada
Método de Acesso no XML

Esse será o método usado pelo Reflection da Política.  

Produtos DEFINE (CNPJ) e ACERTA (Consulta CPF).

Famílias de Produtos




Saiba mais
Bloco de código
languagehtml/xml
<!-- metodo de acesso para ser carregado no acesso -->
<code name="br.com.tools.acessos.spc.Spc"/>
Sufixo do Acesso
 
  • ‘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., ‘T111_NOMEspc‘. Isso diferencia os vários acessos disponíveis nas políticas. Será usada apenas pelo Compilador e pela política, mas deve ser informado na construção do acesso (veja Intellector API).  

Bloco de código
languagehtml/xml
<!-- esse deverah ser sufixo para ser acrescentado ao nome   -->
<!-- vindo da politica, entao irei buscar na hash da politica    -->
<!-- hash.getKey(cpf_spc); um de/para para os elementos  -->
<nome_acesso>spc</nome_acesso>
Dados de Entrada do Acesso
 
  • Para o preenchimento da hashMap de entrada, é imprescindivel entender o layout CSR60 e, devem conter as seguintes chaves de entrada (UPPERCASE); cada campo contém os seguintes dados, sendo eles validados pelo Compilador:
    1. ‘description‘ – Propriedade da tag “field”, contem a descrição do campo
    2. ‘type‘ –           Propriedade da tag “field”, define o tipo de dado Pure Java, como StringIntegerDoubleDate e Boolean.
    3. ‘format‘ –        Propriedade da tag “field”, contem o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.
    4. ‘field‘ –           Tag relativa ao nome do campo, escrito em maiúsculas (não necessariamente), como por ex. ‘TPRESPOSTA‘ .  
Bloco de código
languagehtml/xml
<!-- contem os dados necessarios para entrada no SPC/CSR61       -->
<entrada> 
    <!-- Tipo de Resposta: "1" - Sintética; "2" - Analitica      -->
    <field description="Tipo de Resposta: 1=Sintética; 2=Analitica" type="String" format="">TPRESPOSTA</field> 
    <!-- posso testar pelo valor obrigatorio dentro de cada     -->
    <!-- acesso,  ele dever ser "CPF"                -->
    <field description="CPF para consulta" type="String" format="">CPF</field> 
    <field description="Nome para consulta" type="String" format="">NOME</field> 
    <!-- Data de nascimento; deverah vir DDMMAAAA -->
    <field description="Data de nascimento; deverá ser DDMMAAAA" type="Date" format="ddmmyyyy">DTNASC</field> 
    <!-- Tipo de credito; "CH"=cheque,...  -->
    <field description="Tipo de credito; CH=cheque; CP=Credito Pessoal,..." type="String" format="">TIPOCREDITO</field>  
    <!-- valor do credito com 2 casas decimais (00000.00)        -->
    <field description="Valor do crédito com 2 casas decimais (00000.00)" type="Double" format="">VLRCREDITO</field> 
    <field description="Endereço" type="String" format="">ENDERECO</field> 
    <!-- data do cheque; DDMMAAAA -->
    <field description="Data do cheque; DDMMAAAA" type="Date" format="ddmmyyyy">DTCHEQUE</field> 
    <!-- quantidade de dias do cheque -->
    <field description="Quantidade de dias do cheque" type="Integer" format="">QTDDIAS</field> 
    <!-- identificador do request (origem) -->
    <field description="Código da cidade de origem" type="String" format="">ORIGEM</field> 
  
    <!-- "C"= CMC7; qualquer outra coisa eh cheque;simplesmente pego o CMC7 -->
    <field description="C= CMC7; qualquer outra coisa é cheque" type="String" format="">CMC7</field> 
  
    <!-- TRATAREMOS AS INFOS DO CHEQUE SEPARADAMENTE             -->
    <!-- numero do banco -->
    <field description="Número do banco" type="Integer" format="">BANCO</field> 
    <!-- numero da agencia -->
    <field description="Número da agência" type="Integer" format="">AGENCIA</field> 
    <!-- numero da conta corrente -->
    <field description="Número da conta corrente" type="Integer" format="">CC</field> 
    <!-- digito da conta corrente -->
    <field description="Dígito da conta corrente" type="Integer" format="">DIGITOCC</field> 
    <!-- numero do cheque -->
    <field description="Número do cheque" type="Integer" format="">NRCHEQUE</field> 
    <!-- digito do cheque -->
    <field description="Dígito do cheque" type="Integer" format="">DIGITOCHQ</field> 
    <!-- FIM DADOS DO CHEQUE -->
  
    <!-- DADOS COMUNS NO ENVIO                           -->
    <!-- quantidade de cheques entre 01 e 24                     -->
    <field description="Quantidade de cheques entre 01 e 24" type="Integer" format="">QTDCHEQUES</field> 
    <!-- valor do cheque, nao dos cheques - decimal (000000.00)  -->
    <field description="Valor do cheque, nao dos cheques - decimal (000000.00)" type="Double" format="">VLRCHEQUE</field> 
    <!-- CEP de origem da consulta do cheque; formato NNNNNCCC   -->
    <field description="CEP de origem da consulta do cheque; formato NNNNNCCC" type="String" format="">CEPORIGEM</field> 
    <!-- numero do DDD                               -->
    <field description="Número do DDD" type="Integer" format="">DDD</field> 
    <!-- numero do telefone -->
    <field description="Número do telefone" type="Integer" format="">TELEFONE</field> 
    <!-- origem das informacoes; "C" - quando for CMC7 -->
    <field description="Origem das informacoes; 'C'=CMC7" type="String" format="">ORIGEM</field> 
    <!-- codigo do facilitador -->
    <field description="Código do facilitador" type="String" format="">FACILITADOR</field> 

  

Resposta da Consulta
 
  • Todos os Registros contém seus respectivos espaços, se houverem; não existe “trim()” nos blocos lidos.

  • Podem haver Registros tratados por Exceptions de InfraEstrutura.  

Bloco de código
languagejava
DEBUG [main] (2008-08-04 14:19:04,819) - >> tipo999() 
DEBUG [main] (2008-08-04 14:19:04,819) - >> Erro 999: TRATADO POR EXCECAO DE INFRAESTRUTURA << 
DEBUG [main] (2008-08-04 14:19:04,819) - << tipo999() 
 INFO [main] (2008-08-04 14:19:04,819) - retCode[0]: Consulta Concluida 
ERROR [main] (2008-08-04 14:19:04,820) - java.lang.Exception: 999* DATA DO CHEQUE INVALIDA                                                                       
    at br.com.tools.acessos.spc.util.SpcUtil.builderHashOut(SpcUtil.java:113) 
    at br.com.tools.acessos.spc.Spc.execute(Spc.java:60) 
    at br.com.tools.acessos.spc.testes.TesteSpc.process(TesteSpc.java:89) 
    at br.com.tools.acessos.spc.testes.TesteSpc.execute(TesteSpc.java:47) 
    at com.toolssoftware.framework.app.MainApp.run(MainApp.java:377) 
    at br.com.tools.acessos.spc.testes.TesteSpc.main(TesteSpc.java:38
 
Tipo 110 (SCPC)
 
  • Indica que não existem informações para os Documentos Solicitados.
    1. ‘Erro 110‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA.
Tipo 210
 
  • Nada Consta para os Documentos Solicitados.

    1. ‘Erro 210:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA.
Tipo 999
 
  • Mensagem de Erro.

    1. Erro 999: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA.
Considerações
 
  • Nos casos em que o Documento Consultado possuir mais de um Nome Cadastrado no Sistema, será transmitido um Registro do ‘Tipo 112‘ (SCPC) e ‘Tipo 241‘ (Cheque), correspondente a cada Nome.

Dados de Saída dos Acessos
 
  • A HasMap de saída dos acessos, seguem o mesmo princípio da entrada, exceto pelo fato de que os dados de  determinados 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”, contém a descrição do campo.

...

‘type‘ –             Propriedade da tag “register”, define o tipo de dado Pure Java, como StringIntegerDoubleDate e Boolean.

...

‘format‘ –          Propriedade da tag “register”, contém o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.

...

  • Abaixo o XML de saída com o ‘contador‘: 

  • Exemplo 'com‘ contador, retornado pelo SPC: ‘counter=T125_NUMCONSULTAS‘. Indica a quantidade de registros(se existir).  

Bloco de código
languagehtml/xml
counter="T125_NUMCONSULTAS" > 
<register description="Tipo do Crédito" type="String" format="">T125_TPCREDITO_</register> 
<register description="Data do Crédito" type="Date" format="ddmmyyyy">T125_DTCREDITO_</register> 
<register description="Moeda" type="String" format="">T125_MOEDA_</register> 
<register description="Valor" type="Double" format="">T125_VALOR_</register>  
<register description="Informante" type="String" format="">T125_INFORMANTE_</register> 
  • Exemplo ‘sem‘ contador retornado pelo SPC: ‘counter="" ' . Indica somente um registro (se existir). 

Bloco de código
languagehtml/xml
<saida id="T122" counter="" > 
    <register description="Conjugue" type="String" format="">T122_CONJUGUE</register> 
    <register description="Naturalidade" type="String" format="">T122_NATURALIDADE</register> 
    <register description="UF" type="String" format="">T122_UF</register> 
</saida>
Registros Disponíveis
 
  • ‘Tipo 111‘ (SCPC) – Informa quantidade de Nomes Foneticamente Iguais ao fornecido. Se não existir nomes iguais, esse tipo não será enviado.

  • ‘Tipo 112‘ (SCPC) – Informa Nome, Data de Nascimento e Documentos existentes.

  • ‘Tipo 113‘ (SCPC) – Indica a quantidade de Ocorrências, Protestos, Consultas Anteriores e Central de Crédito existentes.

  • ‘Tipo 121‘ (SCPC) – Relaciona os Nomes Foneticamente Iguais ao fornecido. Se não existir nomes iguais, esse tipo não será enviado.

  • ‘Tipo 122‘ (SCPC) – Informa o Nome do Cônjuge e/ou Naturalidade. Se não existir, não será enviado.

  • ‘Tipo 123‘ (SCPC) – Relaciona as Informações Complementares. Se não existir, não será enviado.

  • TIPO 123 NAO IMPLEMENTADO
  • ‘Tipo 124‘ (SCPC) – Relaciona as Ocorrências de Débitos e Títulos Protestados. Se não existir, não será enviado.

    1. n = T124_NUMOCORRENCIAS – Contador do número de Ocorrências.
  • ‘Tipo 125‘ (SCPC) – Relaciona as Consultas Anteriores. Se não existir, não será enviado. Caso existam, serão enviadas, independente da existência de Débitos no SCPC.

    1. n = T125_NUMCONSULTAS – Contador do número de Consultas.
  • ‘Tipo 126‘ (SCPC) – Relaciona os Créditos Concedidos. Se não existir, não será enviado Tipo 210 (SCPC | Cheque): indica que não existem informações para os Documentos solicitados.

  • ‘Tipo 210

  • Erro 210 TRATADO POR EXCEÇÃO DE INFRAESTRUTURA.
  • ‘Tipo 211‘ (SCPC | Cheque) – Indica que para o Documento, Banco, Agência, Conta Corrente e Número do Cheque informados, consta Cheque Sustado. Se não existir informações, não será enviado

  • ‘Tipo 212‘ (SCPC | Cheque) – Indica que para o Banco, Agência e Conta Corrente Informados, Consta outro Documento diferente do informado. Se não existir informações, não será enviado.

  • ‘Tipo 214‘ (SCPC | Cheque) – Informa a quantidade de Devoluções Informadas pelo CCF – Cadastro de Cheques sem Fundo. Se não existir informações, não será enviado

  • ‘Tipo 215‘ (SCPC | Cheque) – Indica a existência de Devoluções informadas pelos Associados e/ou Informações Complementares. Não existindo nenhum dos dois tipos de informações, não será enviado.

  • ‘Tipo 216, 217 e 218‘ (SCPC | Cheque) – Indica a existência de Cheques sustados pelo motivo 21 (Contra-ordem ou Oposição ao pagamento). Se não existir, não serão enviados. Estas informações não são desabonadoras ao cliente.

  • ‘Tipo 216, 217 e 218‘ (SCPC | Cheque) – Indica a existência de cheques sustados pelo motivo 21 (Contra-ordem ou Oposição ao pagamento). Se não existir, não serão enviados. Estas informações não são desabonadoras ao cliente.

  • ‘Tipo 216, 217 e 218‘ (SCPC | Cheque) – Indica a existência de cheques sustados pelo motivo 21 (Contra-ordem ou Oposição ao pagamento). Se não existir, não serão enviados. Estas informações não são desabonadoras ao cliente.

  • ‘Tipo 219‘ (SCPC | Cheque) – Indica que o Cheque Informado já foi consultado e/ou a Conta Corrente informada já foi consultada com Documento diferente do informado. Se não existir, não será enviado. Estas informações não           são desabonadoras ao cliente.

    1. n = T219_NUMOCORRENCIAS – Contador do número de Ocorrências.
  • ‘Tipo 220‘ (SCPC | Cheque) – Indica quantidade de Consultas Anteriores, totalizadas por Tipo de Informação: Cheques Anteriores; Cheques no Dia; Cheques pré-Datados, quando as informações pertencerem ao próprio consulente. Se não existir não será enviado.

  • ‘Tipo 221‘ (SCPC | Cheque) – Confirmação de Dados Cadastrais de Pessoa Física, para o documento informado. Se não existir informações, não será enviado.

  • ‘Tipo 223‘ (SCPC | Cheque) – Confirmação dos Dados de Instalação do Telefone Informado. Se não existir informações, não será enviado.

  • ‘Tipo 224‘ (SCPC | Cheque) – Apresenta o Nome, Endereço da Agência Bancária e Telefones para o Código da Agência informado. Se não existir informações, não será enviado.

  • ‘Tipo 241‘ (SCPC | Cheque) – Informa o Nome, Data de Nascimento e Documentos existentes.

  • ‘Tipo 242‘ (SCPC | Cheque) – Relaciona as Devoluções Informadas pelo CCF – Cadastro de Cheques sem Fundo. Se não existir informações, não será enviado.

  • ‘Tipo 243‘ (SCPC | Cheque) – Relaciona as Informações Complementares. Se não existir, não será enviado.

  • ‘Tipo 244‘ (SCPC | Cheque) – Relaciona as Devoluções informadas pelos associados e os Cheques Sustados pelo motivo 21, informados pelo próprio consulente. Se não existir, não será enviado.

    1. n = T244_NUMOCORRENCIAS – Contador do número de ocorrências.
  • ‘Tipo 245‘ (SCPC | Cheque) – Relaciona os Cheques Sustados pelo motivo 21 (Contra-Ordem ou Oposição ao Pagamento). Se não existir informações, não será enviados. Esta informação não é desabonadora ao cliente.

    1. n = T245_NUMOCORRENCIAS – Contador do número de Ocorências.
  • ‘Tipo 246‘ (SCPC | Cheque) – Relaciona a Data, Hora e se pertence ao próprio consulente, os Cheques já Consultados. Se não existir informações, não será enviado. Esta informação não é desabonadora ao cliente.

    1. n = T246_NUMCHEQUES – Contador do número de ocorrências.
  • ‘Tipo 247‘ (SCPC | Cheque) – Relaciona os Documentos, diferente do informado, que já consultaram a Conta Corrente informada. Se não existir informações, não será enviado. Esta informação não é desabonadora ao cliente.

    1. n = T247_NUMHISTORICO – Contador do número de Ocorrências de Histórico.
  • ‘Tipo 248‘ (SCPC | Cheque) – Relaciona as Consultas Anteriores, totalizadas por Tipo de Informação: Cheques Anteriores; Cheques no Dia; Cheques pré-Datados, quando as informações pertencerem ao próprio consulente. Se não existir não será enviado.

    1. n = T248_NUMCONSULTAS – Contador do número de Consultas.
  • ‘Tipo 600‘ (SCPC + SCPC | Cheque + SCPC | Score) – Resultado do SCPC | Score para o CPF consultado.

Layout de Acesso disponível para Validação

Download Solicite o manual 0117V10.03 - Consulta SCPC INTEGRADO - CSR60.pdf à Boavista Serviços. 

Saiba mais
Associação Comercial de São Paulo