brazil-api

A simple API to handle the most common verifications in forms like CEP, email and others through SSL.

Stars
7
Committers
1

Brazil API

Validação de dados via API usando HTTPS (importante se você estiver usando SSL). Ao invés de você inserir 2 libs pra verificar, você pode fazer um requisição a API. :)

Build Status


Colabore!

Escrevi isto pra ser open-source! Se você tem novas ideias de validações (ou até uma lib JS mínima que faça esses checks - ops!), abra um issue/envie um pull request! Só tenha certeza de que os testes passem (o que significa que você tem que escrever se implementar algo).

Sinta-se livre para fazer o que quiser com o projeto.


O que você vai precisar?

O que eu utilizei pra fazer a API? A lista do que você vai precisar pra rodar é a seguinte:

Se você NÃO conhece ruby nem rails

Se você já conhece Ruby on Rails:

  • Ruby 1.9.3
  • GIT
  • Sinatra

Após instalar Ruby & GIT

  • Clone o repositório: git clone git://github.com/runeroniek/brazil-api e entre no diretório /brazil-api
  • Instale o sinatra: (gem install sinatra)
  • Dentro do diretório da api, rode o comando bundle install
  • Para rodar o servidor, use shotgun api.rb
  • Pronto, a api está rodando no teu servidor local! Cheque a URL (geralmente http://localhost:9393)

Para adicionar novas validações

  • Crie um teste para a validação no diretório spec/, seguindo o seguinte padrão: validator_SUAVALIDACAO_spec.rb
  • Escreva os testes, antes de criar a validação e rode-os (os testes) usando rspec spec.
  • Veja os testes falhar (já que não há implementação ainda) e aí sim: crie seu validador em lib/validators/SUAVALIDACAO.rb
  • Faça um require da sua validação no arquivo lib/validator.rb ( algo como require 'validators/SUAVALIDACAO' )
  • Certifique-se que sua validação possui o método def as_json, siga os exemplos dos outros validadores.
  • Adicione a query string na classe que está em lib/response.rb, seguindo o mesmo formato.
  • Pronto, só fazer a validação na URL. Pode ficar assim: http://localhost:9393/?validacao=SUA_VALIDACAO.

Validações que já foram implementadas

Obs.: Substitua XXX pelo valor que quiser checar

Busca por CEP

Exemplo: Requisição GET para https://brazilapi.herokuapp.com/api?cep=XXX A resposta será um JSON se o CEP for válido e existir (no caso abaixo, utilizei o CEP 78132-500:

[{
  "cep": 
    {
      "valid":true,
      "result":true,
      "data":
        {
          "id": "4785",
          "cidade": "Várzea Grande",
          "logradouro": "Nove",
          "bairro": "Cohab Sete de Maio",
          "cep": "78132-500",
          "tp_logradouro": "Rua",
          "cidade_sem_acento": "varzea grande",
          "uf": "mt"
        },
      "message":""
    }
}]

Validação de CPF Exemplo: Requisição GET para https://brazilapi.herokuapp.com/api?cpf=XXX A resposta será um JSON:

[{
  "cpf":
    {
      "valid": true,
      "value": "11111111111"
    }
  }]

Validação de Email Exemplo: Requisição GET para https://brazilapi.herokuapp.com/api?email=XXX A resposta será um JSON:

[{
  "email":
    {
      "valid": true,
      "value": "[email protected]"
    }
  }]

Verificar todos os anteriores Exemplo: Você pode usar todos os anteriores se quiser validar tudo de uma vez: Requisição GET para ```https://brazilapi.herokuapp.com/api?email=XXXX&cep=XXX&cpf=XXX`

A resposta será um JSON com a união de todos os anteriores:

[
  {
    "email":
      {
        "valid": true,
        "value":"[email protected]"
      }
  },
  
  {
    "cep":
      {
        "valid": true,
        "result": true,
        "data":
          {
            "DADOS DO CEP"
          }
      }
  },
  
  {
    "cpf":
      {
        "valid": true,
        "value": "11111111111"
      }
  }]

Badges
Extracted from project README
Build Status Code Climate