Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
# 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 | ||
---|---|---|
| ||
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 language java 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 language html/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 language html/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:
‘description‘ – propriedade da tag “field”, contem a descrição do campo
‘type‘ – propriedade da tag “field”, define o tipo de dado Pure Java, como String, Integer, Double, Date e Boolean.
‘format‘ – propriedade da tag “field”, contem o formato do dado; atualmente, só os dados de datas tem esse campo preenchido.
‘field‘ – tag relativa ao nome do campo, escrito em maiúsculas (não necessariamente), como por ex. ‘TPRESPOSTA‘
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Bloco de código language html/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 language java 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.
- ‘Erro 110‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 210
Nada consta para os documentos solicitados.
- ‘Erro 210:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 999
Mensagem de erro.
- 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:
‘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. ‘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 language html/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 | ||
---|---|---|
| ||
<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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- n = T248_NUMCONSULTAS – contador do número de consultas
‘Tipo 600‘ (SCPC + SCPC | Cheque + SCPC | Score) – resultado do SCPC | Score para o CPF consultado.