Páginas filhas
  • SPC - Boavista

Versões comparadas

Chave

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

...

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=webacspt.acsp.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!

...

 

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

      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 ‘counter=T125_NUMCONSULTAS‘ indica quantos registros, se existirem, ‘T125‘ foram retornados pelo SPC.

      

     

    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

 

 

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

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