AutoIt
AutoIt
DVLA Vehicle Enquiry Service
See more _Miscellaneous_ Examples
Demonstrates how to make a call to the DVLA Vehicle Enquiry API to get vehicle details of a specified vehicle. It uses the vehicle registration number as input to search and provide details of the vehicle.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oHttp = ObjCreate("Chilkat.Http")
; Implements the following CURL command:
; curl -X POST https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles \
; -H "x-api-key: supplied API key" \
; -H "Accept: application/json" \
; -d '{"registrationNumber": "ABC1234"}'
; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code
; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "registrationNumber": "ABC1234"
; }
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("registrationNumber","ABC1234")
$oHttp.SetRequestHeader "Accept","application/json"
$oHttp.SetRequestHeader "x-api-key","supplied API key"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
ConsoleWrite($oHttp.LastErrorText & @CRLF)
Exit
EndIf
$oSbResponseBody = ObjCreate("Chilkat.StringBuilder")
$oResp.GetBodySb($oSbResponseBody)
$oJResp = ObjCreate("Chilkat.JsonObject")
$oJResp.LoadSb($oSbResponseBody)
$oJResp.EmitCompact = False
ConsoleWrite("Response Body:" & @CRLF)
ConsoleWrite($oJResp.Emit() & @CRLF)
Local $iRespStatusCode = $oResp.StatusCode
ConsoleWrite("Response Status Code = " & $iRespStatusCode & @CRLF)
If ($iRespStatusCode >= 400) Then
ConsoleWrite("Response Header:" & @CRLF)
ConsoleWrite($oResp.Header & @CRLF)
ConsoleWrite("Failed." & @CRLF)
Exit
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "artEndDate": "2025-02-28",
; "co2Emissions": 135,
; "colour": "BLUE",
; "engineCapacity": 2494,
; "fuelType": "PETROL",
; "make": "ROVER",
; "markedForExport": false,
; "monthOfFirstRegistration": "2004-12",
; "motStatus": "No details held by DVLA",
; "registrationNumber": "ABC1234",
; "revenueWeight": 1640,
; "taxDueDate": "2007-01-01",
; "taxStatus": "Untaxed",
; "typeApproval": "N1",
; "wheelplan": "NON STANDARD",
; "yearOfManufacture": 2004,
; "euroStatus": "EURO 6 AD",
; "realDrivingEmissions": "1",
; "dateOfLastV5CIssued": "2016-12-25"
; }
; Sample code for parsing the JSON response...
; Use the following online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
Local $sArtEndDate = $oJResp.StringOf("artEndDate")
Local $iCo2Emissions = $oJResp.IntOf("co2Emissions")
Local $sColour = $oJResp.StringOf("colour")
Local $iEngineCapacity = $oJResp.IntOf("engineCapacity")
Local $sFuelType = $oJResp.StringOf("fuelType")
Local $sMake = $oJResp.StringOf("make")
Local $bMarkedForExport = $oJResp.BoolOf("markedForExport")
Local $sMonthOfFirstRegistration = $oJResp.StringOf("monthOfFirstRegistration")
Local $sMotStatus = $oJResp.StringOf("motStatus")
Local $sRegistrationNumber = $oJResp.StringOf("registrationNumber")
Local $iRevenueWeight = $oJResp.IntOf("revenueWeight")
Local $sTaxDueDate = $oJResp.StringOf("taxDueDate")
Local $sTaxStatus = $oJResp.StringOf("taxStatus")
Local $sTypeApproval = $oJResp.StringOf("typeApproval")
Local $sWheelplan = $oJResp.StringOf("wheelplan")
Local $iYearOfManufacture = $oJResp.IntOf("yearOfManufacture")
Local $sEuroStatus = $oJResp.StringOf("euroStatus")
Local $sRealDrivingEmissions = $oJResp.StringOf("realDrivingEmissions")
Local $sDateOfLastV5CIssued = $oJResp.StringOf("dateOfLastV5CIssued")