Objetivo
Permite ao associado consultar as informações referentes a Registros de Débitos(comprador / avalista), Títulos Protestados, Consultas Anteriores (ACIPA), 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 (SPC | Cheque), Nome e Endereço da Agência Bancária, Síntese Cadastral e Confirmação de Telefone.
Registros
- ‘CSR50‘ – Solicitação de Consulta: permite solicitar à ACIPA as consultas SCPC + SCPC | Cheque ou SCPC + SCPC | Cheque + SCPC | Score fornecendo os parâmetros necessários
- ‘CSR51‘ – Resposta da Consulta: será transmitido pela ACIPA, contendo as informações correspondentes aos parâmetros fornecidos, podendo ser sintética ou analítica
- Fluxo Transacional
Procedimentos
- Transmitir à ACIPA o registro de Solicitação de Consulta fornecendo os parâmetros necessários. Após a validação das informações, será transmitido pela ACIPA o 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 única, com o envio de todas os registros.
Propriedades Configuráveis do Acesso
Nas propriedades do acesso deverão ser informadas as configurações para acessar o Órgão como IP, Porta, Usuário.
Exemplo dessas configurações:
#Parametros de acesso para solicitacao da Consulta SPC ACIPA ACIPA.TRANSACAO = CSR50 ACIPA.VERSAO = 08 ACIPA.RESERVADO_SOLICITANTE = ACIPA.RESERVADO_ACIPA = ACIPA.IP = 200.246.58.2 ACIPA.PORTA = 9164 ACIPA.CODIGO = 5530 ACIPA.SENHA = 317799 ACIPA.SOCKET_TIMEOUT = 3000 #Consulta -> "CIN"(INTEGRADA - SCPC + CHEQUE) / "SPC"(SCPC) / "CHEQUE"(CHEQUE) ACIPA.CONSULTA = CIN #Codigo da cidade. Obs: Tabela fornecida pela ACIPA ACIPA.LOCALIDADEORIGEM = #Tipo de Resposta -> 1 = SINTÉTICA / 2 = ANALÍTICA ACIPA.TPRESPOSTA = 1 #Tipo de Documento -> 1 = CPF ACIPA.TPDOCUMENTO = 1 #Tipo de Transmissão de Resposta -> C = CONVERSACIONAL(EM BLOCOS) / T = TRANSACIONAL(ÚNICA) ACIPA.TPTRANSMISSAORESPOSTA = T
Onde as Propriedades representam:
- ACIPA.TRANSACAO - Código que será utilizado para especificar o serviço utilizado
- ACIPA.VERSAO - Versão do serviço utilizado
- ACIPA.RESERVADO_SOLICITANTE – Para uso do solicitante
- ACIPA.RESERVADO_ACIPA – Para uso da Acipa
- ACIPA.IP – IP que será configurado para acessar o orgão
- ACIPA.PORTA – Porta que será utilizada para o acesso
- ACIPA.CODIGO – Código do operador
- ACIPA.SENHA – Senha do operador
- ACIPA.CONSULTA – Tipo de consulta “CIN” (INTEGRADA – SCPC + CHEQUE) / “SPC” (SCPC) / “CHEQUE”(CHEQUE)
- ACIPA.LOCALIDADEORIGEM – Localidade de origem, tabela fornecida pela Acipa
- ACIPA.TPRESPOSTA – Tipo de resposta, valores ’1′ para consultas Sintéticas e ’2′ para Analíticas
- ACIPA.TPDOCUMENTO – Tipo de Documento, para acipa sempre informar ’1′ pois representa ‘CPF’
- ACIPA.TPTRANSMISSAORESPOSTA – Tipo de transmissão da resposta, ‘C’ – Conversacional (transmissão em blocos) ou ‘T’ – Transacional(Transmissão Única).
Preenchimento da HashMap de Entrada
Método de acesso no XML
Esse será o método usado pelo reflection da política.
<!-- metodo de acesso para ser carregado no acesso --> <code name="br.com.tools.acessos.acipa.Acipa"/>
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.
<!-- esse deverah ser sufixo para ser acrescentado ao nome --> <!-- vindo da politica, entao irei buscar na hash da politica --> <!-- hash.getKey(cpf_acipa); um de/para para os elementos --> <nome_acesso>acipa</nome_acesso>
Dados de Entrada do Acesso
Para o preenchimento da hashMap de entrada, é imprescindível 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‘.
<!-- contem os dados necessários para entrada no ACIPA/CSR51 --> <entrada> <field description="CPF do cliente consultado" type="String" format="">CPF</field> <field description="RG do cliente consultado" type="String" format="">RG</field> <field description="Outro documento do cliente consultado" type="String" format="">OUTRODOCUMENTO</field> <field description="Nome do cliente consultado" type="String" format="">NOME</field> <!-- Data de nascimento; deverah vir DDMMAAAA --> <field description="Data de nascimento do cliente consultado" type="Date" format="ddmmyyyy">DTNASCIMENTO</field> <!-- tipo de credito; "CH"=cheque,... --> <field description="Tipo de crédito do cliente consultado" type="String" format="">TPCREDITO</field> <!-- valor do credito com 2 casas decimais (00000.00) --> <field description="Valor do crédito do cliente consultado" type="Double" format="">VLRCREDITO</field> <field description="Endereço do cliente consultado" type="String" format="">ENDERECO</field> <!-- data do cheque; DDMMAAAA --> <field description="Data do cheque do cliente consultado" type="Date" format="ddmmyyyy">DTCHEQUE</field> <!-- quantidade de dias do cheque --> <field description="Quantidade de dias para o cheque" type="Integer" format="">DIAS</field> <!-- identificador do request (origem) --> <!-- >field type="String" format="">ORIGEM</field--> <!-- "C"= CMC7; qualquer outra coisa eh cheque;simplesmente pego o CMC7 --> <field description="CMC7 do cheque consultado" type="String" format="">CMC7</field> <!-- TRATAREMOS AS INFOS DO CHEQUE SEPARADAMENTE --> <!-- numero do banco --> <field description="Banco do cliente consultado" type="String" format="">BANCO</field> <!-- numero da agencia --> <field description="Agência do cliente consultado" type="String" format="">AGEN</field> <!-- numero da conta corrente --> <field description="Conta corrente do cliente consultado" type="String" format="">CTACORRENTE</field> <!-- digito da conta corrente --> <field description="Dígito da conta corrente do cliente consultado" type="String" format="">DIGITOCTA</field> <!-- numero do cheque --> <field description="Número do cheque do cliente consultado" type="String" format="">NUMEROCHEQUE</field> <!-- digito do cheque --> <field description="Dígito do cheque do cliente consultado" type="String" format="">DIGITOCHEQUE</field> <!-- FIM DADOS DO CHEQUE --> <!-- DADOS COMUNS NO ENVIO --> <!-- quantidade de cheques entre 01 e 24 --> <field description="Quantidade de cheques do cliente consultado" type="Integer" format="">QTDCHEQUES</field> <!-- valor do cheque, nao dos cheques - decimal (000000.00) --> <field description="Valor do cheque do cliente consultado" type="Double" format="">VLRCHEQUE</field> <!-- CEP de origem da consulta do cheque; formato NNNNNCCC --> <field description="CEP de Origem" type="String" format="">CEPORIGEM</field> <!-- numero do DDD --> <field description="DDD do cliente consultado" type="String" format="">DDD</field> <!-- numero do telefone --> <field description="Telefone do cliente consultado" type="String" format="">TEL</field> <!-- origem das informações caso informado CMC7 os dados bancarios serão retirados do CMC7 --> <field description="Origem das informações bancárias" type="String" format="">ORIGEMINFORMACOES</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.
DEBUG [main] (2008-08-04 14:19:04,819) - >> tipo110() DEBUG [main] (2008-08-04 14:19:04,819) - >> Erro 110: TRATADO POR EXCECAO DE INFRAESTRUTURA << DEBUG [main] (2008-08-04 14:19:04,819) - << tipo110() 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: 110* DATA DO CHEQUE INVALIDA
Tipo 110
Indica que não existem informações para os documentos solicitados
‘Erro 110‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 120
- Nada consta para os documentos solicitados.
- ‘Erro 120:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 210
- Nada consta para os documentos solicitados.
- ‘Erro 210:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 240
- Mensagem de erro.
- Erro 240: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
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_NUMOCORRENCIAS‘ indica quantos registros, se existirem, ‘T125‘ foram retornados pelo SPC.
<saida id="T125" counter="T125_NUMOCORRENCIAS" > <register type="String" format="">T125_TPOCORR_</register> <register type="String" format="">T125_CONTRATO_</register> <register type="Date" format="ddmmyyyy">T125_DATAOCORR_</register> <register type="Date" format="ddmmyyyy">T125_DATADISPO_</register> <register type="String" format="">T125_MOEDA_</register> <register type="Double" format="">T125_VALOR_</register> <register type="String" format="">T125_SITUACAO_</register> <register type="String" format="">T125_INFORMANTE_</register> </saida>
- Exemplo ‘sem‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pelo SPC.
<saida id="T211" counter="" > <register type="String" format="">T211_CPF</register> <register type="String" format="">T211_NOME</register> <register type="String" format="">T211_TOTALNOMES</register> <register type="String" format="">T211_TOTALDEVOLUCOES</register> <register type="String" format="">T211_MOTIVO12</register> <register type="String" format="">T211_MOTIVO13</register> <register type="String" format="">T211_MOTIVO14</register> <register type="String" format="">T211_MOTIVO99</register> </saida>
Registros Disponíveis
- “‘Tipo 111′” (ACIPA) – Informa a quantidade de Nomes foneticamente iguais ao fornecido. Se não existir nomes iguais, esse tipo não será enviado.
- “‘Tipo 112′” (ACIPA) – Nome + Documentos.
- “‘Tipo 113′”‘ (ACIPA) – indica a quantidade de ocorrências, Protestos, Consultas Anteriores e Central de Crédito existentes.
- “‘Tipo 120′” (ACIPA) – indica que Não existem informações para os Documento Solicitado.
- “‘Tipo 121′” (ACIPA) – Relaciona os Nomes foneticamente iguais ao fornecido. Se não existir nomes iguais, esse tipo não será enviado.
- “‘Tipo 122′” (ACIPA) – Nome + Documentos.
- “‘Tipo 123′” (ACIPA) – Informa o Nome do Cônjuge e/ou Naturalidade. Se não existir, não será enviado.
- “‘Tipo 124′” (ACIPA) – Relaciona as Informações Complementares. Se não existir, não será enviado.
- “‘Tipo 125′” (ACIPA) – Relaciona as Ocorrências de Débitos e Títulos Protestados. Se não existir, não será enviado.
- “‘Tipo 126′” (ACIPA) – 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.
- “‘Tipo 127′” (ACIPA) – Relaciona os Créditos Concedidos. Se não existir, não será enviado.
- “‘Tipo 128′” (ACIPA) – Cidade/UF de origem da Ocorrência.
- “‘Tipo 211′” (ACIPA | 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 212′” (ACIPA | Cheque) – Informa a quantidade de Cheques Sustados.
- “‘Tipo 213′” (ACIPA | Cheque) – Informa a quantidade de Cheques Sustados para o Banco, Agência, C/C e cheque com CPF/CNPJ diferente do informado.
- “‘Tipo 214′” (ACIPA | Cheque) – Talões sustados para o Documento, Banco e Agência informados.
- “‘Tipo 215″‘ (ACIPA | Cheque) – Talões sustados para o Banco, Agência e C/C com CPF/CNPJ diferente do informado.
- “‘Tipo 216′” (ACIPA | 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 217′” (ACIPA | Cheque) – Consultas Anteriores.
- “‘Tipo 218′” (ACIPA | Cheque) – Síntese Cadastral – Pessoa Física Nome, Documento e Data de Nascimento.
- “‘Tipo 219′” (ACIPA | Cheque) – Síntese Cadastral – Pessoa Física Nome da mãe e Título de Eleitor.
- “‘Tipo 220′” (ACIPA | Cheque) – Confirmação de Telefone – Nome.
- “‘Tipo 221′” (ACIPA | Cheque) – Confirmação de Telefone – Endereço.
- “‘Tipo 222′” (ACIPA | Cheque) – Confirmação de Telefone – Bairro, CEP, Cidade e UF.
- “‘Tipo 223′” (Cheque) – Cheques Sustados pelo motivo 21 (Contra-ordem ou Oposição ao Pagamento) Estas informações não são desabonadoras ao cliente.
- “‘Tipo 224′” (Cheque) – Resumo das consultas de Cheques – Total de período Estas informações não são desabonadoras ao cliente.
- “‘Tipo 225′” (Cheque) – Resumo das Consultas anteriores de cheques – quantidade e mês.
- “‘Tipo 226′” (ACIPA | Cheque) – Consta para o Banco, Agência e Conta Corrente informados outros documentos.
- “‘Tipo 228′” (ACIPA | Cheque) – Endereço da Agência Bancária – Nome.
- “‘Tipo 229′” (ACIPA | Cheque) – Endereço da Agência Bancária – Endereço e Bairro.
- “‘Tipo 230′” (ACIPA | Cheque) – Endereco da Agência Bancária – Cidade, UF, CEP e praça.
- “‘Tipo 241′” (ACIPA | Cheque) – Informa o Nome, Data de Nascimento e Documentos existentes.
- “‘Tipo 242′” (ACIPA | 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′” (ACIPA | Cheque) – Indica Cheque sustado para o Documento, Banco, Agência e Cheque informado.
- “‘Tipo 244′” (ACIPA | Cheque) – Indica cheque sustado para o banco, agência C/C e cheque com CPF/CNPJ diferente do informado.
- “‘Tipo 245′” (ACIPA | Cheque) – Talão sustado para o Documento, Banco e Agencia Informados.
- Tipo “’246′” (ACIPA | Cheque) – Indica Cheque Sustado para o Banco, Agência C/C e Cheque com CPF/CNPJ diferente do Informado.
- “‘Tipo 247′” (ACIPA | Cheque) – Relaciona as Informações Complementares. Se não existir, não será enviado.
- “‘Tipo 248′” (ACIPA | Cheque) – Indica Cheque Sustado para o Documento, Banco, Agência e Cheque Informado
- “‘Tipo 249′” (ACIPA | 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.
- “‘Tipo 250′” (ACIPA | Cheque) – Síntese Cadastral – Pessoa Física Nome, Documento e Data de Nascimento.
- “‘Tipo 251′” (ACIPA | Cheque) – Síntese Cadastral – Pessoa Física Nome da Mãe e Título de Eleitor.
- “‘Tipo 252′” (ACIPA | Cheque) – Confirmação de Telefone – Nome.
- “‘Tipo 253′” (ACIPA | Cheque) – Confirmação de Telefone – Endereço.
- “‘Tipo 254′” (ACIPA | Cheque) – Confirmação de Telefone – Bairro, CEP, Cidade e UF.
- “‘Tipo 255′” (ACIPA | Cheque) – Indica Cheque Sustado para o Documento, Banco, Agência e Cheque Informado.
- “‘Tipo 256′” (ACIPA | Cheque) – Resumo das Consultas Anteriores de Cheques Total e Período.
- “‘Tipo 257′” (Cheque) – Resumo das Consultas Anteriores de Cheques – Qtde./mês.
- “‘Tipo 258′” (ACIPA | 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 260′” (ACIPA | Cheque) – Nome da Agência Bancária.
- “‘Tipo 261′” (ACIPA | Cheque) – Endereço da Agência Bancária.
- “‘Tipo 262′” (ACIPA | Cheque) – Endereço da Agência Bancária Cidade, UF, CEP e Praça.