Skip to content

A PHP library for finding U.S. state automotive inspection reports by a VIN number using various proprietary DMV endpoints.

License

Notifications You must be signed in to change notification settings

amattu2/state-inspection-lookup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

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

State Supported Operations Notes
Maryland Emissions/Smog, Safety Pending further tests, but it appears that MD only keeps the e-inspection record until it expires (6 months)

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

State Portal
Delaware Link
California Link
Virginia Link
Georgia Link
Texas Link

Emissions Inspections

State Portal

Notes

https://haynes.com/en-us/tips-tutorials/what-know-about-vehicle-inspections-all-50-states

Requirements & Dependencies

PHP 7+

About

A PHP library for finding U.S. state automotive inspection reports by a VIN number using various proprietary DMV endpoints.

Topics

Resources

License

Stars

Watchers

Forks

Languages