SINESP Cidadao API client

This package's canonical repository appears to be gone and the package has been frozen as a result.

dev-master 2018-07-11 18:23 UTC

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.