Objetivo


Este documento tem por objetivo explicitar os objetos responsáveis por realizar as consultas nacionais de CNPJ.


Namespaces


O desenvolvimento foi distribuído nos seguintes namespaces:

  • Cbanet.Server.Core.ConsultasNacionais.CNPJ
  • Cbanet.Server.Models.ConsultasNacionais.CNPJ


V.O.s


O objeto ResultadoConsultaVO é o V.O. principal da consulta .


Este objeto possui a propriedade filha Endereco que corresponde a conversão da seguinte estrutura JSON gerada pelo provedor:

{
  "info": {
    "resultado": 1,
    "cep": "",
    "logradouro": "",
    "bairro": "",
    "cidade": "",
    "uf": "",
    "pais": "",
    "lat": -15.0,
    "lng": -56.0,
    "cod_gia": "",
    "link_mapa": "",
    "img_mapa": "",
    "embed_mapa": "",
    "ecapital": "S",
    "capital": "",
    "ddd": "",
    "cod_ibge_estado": 0,
    "cod_ibge_municipio": "",
    "area_municipio": "",
    "populacao_homens": "",
    "populacao_mulheres": "",
    "populacao_total": "",
    "densidade": "",
    "gentilico": "",
    "regiao": "",
    "mesorregiao": "",
    "microregiao": "",
    "rendimento_medio_mensal_rural": "",
    "rendimento_medio_mensal_urbana": "",
    "bioma": "",
    "fundada": ""
  }
}


As propriedades referentes a Data, o provedor sempre disponibilizará no formato DD/MM/YYYY.


Business


Todas as regras de consulta estão concentradas no objeto ConsultadorCep.


Este objeto possui dependência com as interfaces IWebClient, IBairroBusiness e ICidadeBusiness.


Ele possui apenas uma função pública chamada Consultar que sempre retorna um objeto do tipo ResultadoConsultaVO.


Regras


A função de consulta exige apenas um parâmetro chamado cep.


  • Este CEP deve ser válido e ter exatamente 8 dígitos.
  • A função aceita CEP formatado ou sem formato;
  • Ela cadastra automaticamente tanto o bairro quanto a cidade, quando os mesmos não existirem;
  • A consulta sempre retornará uma instância válida;
  • Quando ocorrerem erros de conversão JSON ou Timeout de comunicação com o provedor, o resultado da consulta terá a propriedade Status igual a falso;
  • Ocorrendo a conversão corretamente, o sistema irá gerar a propriedade Endereco com uma instância válida;