Páginas filhas
  • SPC - Boavista

Versões comparadas

Chave

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

...

Permite ao associado consultar informações referentes a : Registros 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 o registro de resposta contendo no campo código de retorno o resultado da transmissão, conforme segue:

...

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.

...

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); 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. 

<?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‘ (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 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 o 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; só tem importância para o******************

     

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 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
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

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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> 
  
</entrada>
 

 

Resposta da Consulta
 
  • Todos os registros contem 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 Consta para os documentos solicitadosDocumentos Solicitados.

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

    1. Erro 999: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA.
Considerações
 
  • Nos casos em que o documento consultado 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 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 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:

    1. ‘description‘ – propriedade da tag “register”, contem a descrição do campo.

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

    3. ‘format‘ – propriedade da tag “register”, contem o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.

    4. ‘register‘ – tag relativa ao nome do campo, escrito em maiúsculas (não necessariamente), como por ex. ‘T111_NOME‘.

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

  • exemplo ‘com‘ um contador… observe que Exemplo 'com‘ contador, retornado pelo SPC: ‘counter=T125_NUMCONSULTASindica quantos registros, se existirem, ‘T125‘ foram retornados pelo SPC.

 
  • 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‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pelo SPC

  • 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 a quantidade de nomes foneticamente iguais ao fornecido. Se não existir nomes iguais, esse tipo não será enviado.

  • ‘Tipo 112‘ (SCPC) – Informa o 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.

    1. 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 documento solicitado.

  • ‘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 outro 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 a 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.

 

Saiba mais