1.1.0
1.1.0.0SINESP Cidadao API client
MIT
The Requires
- php >=5.4.0
- ext-curl *
- ext-xml *
- ext-libxml *
- ramsey/uuid ^3.7
by Rod Elias
veiculos seguranca sinesp sinesp-client placa governo utilidade
SINESP Cidadao API client
[SINESP Cidadão][1] é uma base de dados pública de veículos brasileiros muito útil para identificar carros ou motos roubados ou suspeitos., (*3)
Infelizmente, o governo não mantém uma API pública para realizar esse tipo de consulta. Até então, a única maneira de visualizar as informações de um determinado veículo era através do site do Sinesp respondendo a perguntas de verificação (captchas
) para cada uma das requisições. Assim, houve a necessidade de desenvolver uma API de modo a facilitar o acesso a essas informações., (*4)
Se um veículo com a placa especificada for encontrado, o servidor irá retornar com as seguintes informações:, (*5)
Essas informações estarão disponíveis por meio de um array associativo
ou como atributo
do objeto., (*6)
Instale a versão mais recente com:, (*7)
composer require chapeupreto/sinesp
Abaixo um exemplo simples e geral de utilização da biblioteca:, (*8)
<?php require 'vendor/autoload.php'; use Sinesp\Sinesp; $veiculo = new Sinesp; try { $veiculo->buscar('GWW-6471'); if ($veiculo->existe()) { print_r($veiculo->dados()); echo 'O ano do veiculo eh ' , $veiculo->anoModelo, PHP_EOL; } } catch (\Exception $e) { echo $e->getMessage(); }
O método buscar()
deve ser o primeiro método a ser invocado. Esse método é empregado para localizar informações do veiculo com a placa informada., (*9)
Após a chamada ao método buscar()
, o método dados()
irá retornar um array associativo contendo todas as informações do veículo., (*10)
Ainda, ao invés de utilizar todo o array retornado pelo método dados()
, pode-se também recuperar uma informação isoladamente acessando-a como atributo do objeto:, (*11)
echo 'O municipio do veiculo é ', $veiculo->municipio;
O SINESP pode bloquear conexões vindas de fora do país.
Caso a consulta não retorne resultados por erro de conexão (por exemplo, erro de timeout
), pode-se realizar uma consulta usando proxy., (*12)
Existem diversos proxy gratuitos (e.g., http://proxylist.hidemyass.com/
) que podem ser encontrados facilmente na Internet. Um exemplo de utilização com proxy encontra-se abaixo:, (*13)
$veiculo = new Sinesp; $veiculo->proxy('177.54.144.208', '80'); // Com proxy, esse metodo deve ser chamado antes do metodo buscar() $veiculo->buscar('GWW-6471'); print_r($veiculo->dados());
Opcionalmente, ao invés de usar o metodo proxy($ip, $porta)
, pode-se utilizar um array associativo com as chaves ip
e porta
como segundo argumento do método buscar()
:, (*14)
$veiculo = new Sinesp; $veiculo->buscar('GWW-6471', ['ip' => '177.54.144.208', 'porta' => '80']); // a consulta usara o proxy especificado print_r($veiculo->dados());
Uma implementação em linguagem Python
encontra-se disponível no seguinte repositório: https://github.com/victor-torres/sinesp-client/, (*15)
Agradecimentos ao @victor-torres e seus contribuidores por disponibilizar a implementação em Python da API, a qual serviu como base para o surgimento desta em linguagem PHP., (*16)
Agradecimentos também ao @ricardotominaga por disponibilizar a secret key., (*17)
SINESP Cidadao API client
MIT
veiculos seguranca sinesp sinesp-client placa governo utilidade