Páginas filhas
  • ACIPA - Descontinuado

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
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:

...

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


 

Bloco de código
languagejava
#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.

 

Bloco de código
languagehtml/xml
<!-- 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.  


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

  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
languagejava
<!-- 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.
 


Bloco de código
languagejava
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  
    1. ‘Erro 110‘: TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 120
  • Nada consta para os documentos solicitados.
    1. ‘Erro 120:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 210
  • Nada consta para os documentos solicitados.
    1. ‘Erro 210:‘ TRATADO POR EXCEÇÃO DE INFRAESTRUTURA
Tipo 240
  • Mensagem de erro.
    1. 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:
    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_NUMOCORRENCIAS‘ indica quantos registros, se existirem, ‘T125‘ foram retornados pelo SPC. 
Bloco de código
languagehtml/xml
<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.
 


Bloco de código
languagehtml/xml
<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. 

 

  •