hashcorptech / sinesp
SINESP Cidadao API client
This package's canonical repository appears to be gone and the package has been frozen as a result.
Requires
- php: ^7.1
- ext-curl: *
- ext-libxml: *
- ext-xml: *
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is not auto-updated.
Last update: 2024-02-24 07:10:03 UTC
README
SINESP Cidadão é uma base de dados pública de veículos brasileiros muito útil para identificar carros ou motos roubados ou suspeitos.
Sinesp PHP API Client
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.
Informações Disponíveis
Se um veículo com a placa especificada for encontrado, o servidor irá retornar com as seguintes informações:
- codigoRetorno: código de retorno da consulta
- mensagemRetorno: mensagem de retorno da consulta
- codigoSituacao: código da situação do veículo
- situacao: mensagem da situação do veículo
- modelo: modelo do veículo
- marca: marca do veículo
- cor: cor do veículo
- ano: ano de fabricação do veículo
- anoModelo: ano do modelo do veículo
- placa: placa consultada
- data: data e hora da consulta
- uf: estado ou unidade federativa do veículo
- municipio: município ou cidade do veículo
- chassi: chassi do veículo
Essas informações estarão disponíveis por meio de um array associativo
ou como atributo
do objeto.
Requisitos
- PHP 7.1+
- cURL
- libxml / XML
Instalação
Instale a versão mais recente com:
composer require hedcler/sinesp
Utilização
Abaixo um exemplo simples e geral de utilização da biblioteca:
<?php require 'vendor/autoload.php'; use Sinesp\Placa; $veiculo = (new Placa('CQK-6061'))->search(); print_r($veiculo);
O método search()
é empregado para localizar informações do veiculo com a placa informada.
Ainda, ao invés de utilizar todo o array retornado pelo método, pode-se também recuperar uma informação isoladamente acessando-a como atributo do objeto:
echo 'O municipio do veiculo é ', $veiculo['municipio'];
Proxy
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.
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:
$veiculo = (new Placa('CQK-6061')) ->proxy(['ip'=>'177.54.144.208', 'port'=>'80']) // Com proxy, esse metodo deve ser chamado antes do metodo search() ->search(); print_r($veiculo);
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()
:
$client = new Placa; $veiculo = $client->search('GWW-6471', ['ip' => '177.54.144.208', 'porta' => '80']); // a consulta usara o proxy especificado print_r($veiculo);
Agradecimentos
Agradecimentos também ao @ricardotominaga por disponibilizar a secret key.