A simple API to handle the most common verifications in forms like CEP, email and others through SSL.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
lib
public
spec
views
.gitignore
.rspec
.travis.yml
Gemfile
Gemfile.lock
README.md
api.rb
config.ru

README.md

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

Build Status Code Climate


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": "exemplo@provedor.com.br"
    }
  }]

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":"exemplo@provedor.com.br"
      }
  },
  
  {
    "cep":
      {
        "valid": true,
        "result": true,
        "data":
          {
            "DADOS DO CEP"
          }
      }
  },
  
  {
    "cpf":
      {
        "valid": true,
        "value": "11111111111"
      }
  }]