amattu2 / state-inspection-lookup
This is a PHP wrapper for finding U.S. state inspection reports by a VIN number using various proprietary DMV endpoints
This package is not auto-updated.
Last update: 2025-01-13 21:07:15 UTC
README
This is a basic library/wrapper for digital vehicle state safety/emissions inspection record lookups. If you need to check the last date(s) a vehicle was state inspected, and you know the state, this library is for you. A few states also support returning information on the last emissions/smog test. Originally designed for integration within a automotive service management SaaS application.
States Supported
Usage
Install
Using composer
composer require amattu2/state-inspection-lookup
Manually
git clone https://github.com/amattu2/state-inspection-lookup
Files
Composer: Import the autoload
require("vendor/autoload.php");
Manually: Import the core files
require("src/Inspections.php"); require("src/StateInspectionBase.php"); require("src/StateInspectionInterface.php"); require("src/Utils.php");
Functions
Inspections::all
Retrieve all inspection types (smog/safety inspections)
$all = amattu2\Inspections::all("VIN", "STATE_ABBR");
VIN
is the 17 digit VIN number of the vehicle of interest. STATE_ABBR
is the 2 digit ISO-3166-2 state abbreviation.
Returns an array containing Emissions
, Safety
multi-dimensional arrays.
Inspections::safety
Retrieve all state safety (mechanical) inspection reports.
PHPDoc
/** * A endpoint wrapper to return a structured state safety inspection search result * All return attributes are nullable, given that each state returns different information. * * @param string VIN number * @return array Array<Array<?bool result, ?string date, ?string url>, ...> * @return array Structured return result * @throws TypeError * @throws UnsupportedStateOperationException * @author Alec M. <https://amattu.com> * @date 2021-04-07T11:05:27-040 */
Usage
amattu2\Inspections::safety("VIN", "STATE_ABBR");
VIN
is the 17 digit VIN number of the vehicle of interest. STATE_ABBR
is the 2 digit ISO-3166-2 state abbreviation.
Returns the following array:
Array ( [0] => Array ( [date] => ?string (Format: YYYY-MM-DD) [result] => ?bool [url] => ?string ) )
Inspections::emissions
Pull all emissions records for a vehicle.
PHPDoc
/** * A endpoint wrapper to return a structured state emissions test result * All return attributes are nullable, given that each state returns different information. * * @param string VIN number * @return array Array<Array<?string type, ?string date, ?bool result, ?string url>, ...> * @throws TypeError * @throws UnsupportedStateOperationException * @author Alec M. <https://amattu.com> * @date 2021-04-07T14:51:13-040 */
Usage
amattu2\Inspections::emissions("VIN", "STATE_ABBR")
VIN
is the 17 digit VIN number of the vehicle of interest. STATE_ABBR
is the 2 digit ISO-3166-2 state abbreviation.
Returns the following array:
Array ( [0] => Array ( [date] => ?string (Format: YYYY-MM-DD) [result] => ?bool [type] => ?string [url] => ?string ) )
To-Do Integrations
A list of potential integrations with state systems. These require advanced parsing or endpoint manipulation to grab the information.
Safety Inspections
Emissions Inspections
Notes
https://haynes.com/en-us/tips-tutorials/what-know-about-vehicle-inspections-all-50-states
Requirements & Dependencies
PHP 7+