Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(VBScript) UK Vehicle Data VRM LookupDemonstrates how to query the UK Vehicle Data VRM online API's. (See https://ukvehicledata.co.uk/)
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Rest") set rest = CreateObject("Chilkat.Rest") ' Connect using TLS. bAutoReconnect = 1 success = rest.Connect("uk1.ukvehicledata.co.uk",443,1,bAutoReconnect) If (success <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If ' Replace UKVD-API-KEY with your actual API KEY, ' which looks something like "abcdb1234-0abc-1235-abcf-1234c3d1abcd" rest.Authorization = "ukvd-ipwhitelist UKVD-API-KEY" ' Replace "ABCDE" with a real VRM... success = rest.AddQueryParam("key_vrm","ABCDE") ' Add the Content-Type HTTP request header. ' success = rest.AddHeader("Content-Type","application/json; charset=UTF-8"); ' This request gets vehicle data. ' See below for a request to get battery data. jsonResponseStr = rest.FullRequestNoBody("GET","/api/datapackage/vehicledata") If (rest.LastMethodSuccess <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If If (rest.ResponseStatusCode <> 200) Then outFile.WriteLine("Response Status Code = " & rest.ResponseStatusCode) outFile.WriteLine(jsonResponseStr) WScript.Quit End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") success = json.Load(jsonResponseStr) json.EmitCompact = 0 ' Show the JSON response. outFile.WriteLine(json.Emit()) ' A sample vehicledata response will be as shown below. ' To get a few bits of data from the response: outFile.WriteLine("RequestGuid: " & json.StringOf("RequestGuid")) outFile.WriteLine("EngineNumber: " & json.StringOf("DataItems.EngineNumber")) outFile.WriteLine("Vrm: " & json.StringOf("DataKeys.Vrm")) ' { ' "RequestGuid": "xxxxxxxx-cc72-4b63-xxxxxxxxxxxx", ' "StatusCode": 0, ' "StatusMessage": "Success", ' "PackageId": "xxxxxxxx-a4bc-4a84-af22-xxxxxxxxxxxx", ' "PackageVersion": 1, ' "DataKeys": { ' "Vrm": "ABCDE" ' }, ' "DataItems": { ' "DriveAxle": "4x2", ' "Exported": "False", ' "DriverSeatPosition": "RHD", ' "EngineNumber": "LN910940728622", ' "Class": "Sport", ' "ImportedNorthernIreland": "False", ' "HistoryPreviousKeeperAcquisitionDate": "2013-01-12", ' "RoadFundLicenseSixMonth": "�126.50", ' "EnginePowerBhp": "262", ' "SpecDateRangeFrom": "1987-10-01", ' "RegistrationDateUK": "1994-08-03", ' "SoundLevelDriveBy": "0", ' "RoadFundLicenseTwelveMonth": "�235.00", ' "RoadFundLicenseBand": "Not available", ' "Vrm": "J5YVK", ' "TrimCode": "BA", ' "Derivative": "S4", ' "EngineSizeCc": "2174", ' "EngineCylinderCount": "4", ' "HistoryLatestV5cIssueDate": "2015-05-12", ' "Category": "Car", ' "HistoryPreviousKeeperCount": "9", ' "ConditionScrapped": "False", ' "EngineValveCount": "16", ' "WeightUnladen": "0", ' "RoadFundLicenseRenewalDate": "2017-04-01", ' "Model": "Esprit", ' "SpecDateRangeTo": "2003-06-01", ' "RoadFundLicenseCurrentStatus": "Tax not due", ' "BuildYear": "1994", ' "BuildDate": "1994-12-31", ' "VinLast4": "1448", ' "GearCount": "5", ' "SeatCount": "2", ' "Make": "Lotus", ' "Vin": "SCC082910RHA61448", ' "ColourChangeCount": "0", ' "DriveType": "Rear Wheel Drive", ' "WeightGross": "0", ' "EngineCode": "N/A", ' "EnginePowerKw": "193", ' "SoundLevelEngineSpeed": "0", ' "ConditionUnscrapped": "False", ' "HistoryPreviousKeeperDisposalDate": "2014-04-26", ' "EngineAlignment": "Longitudinal", ' "Imported": "False", ' "BodyType": "Coupe", ' "EnginePosition": "Mid", ' "TransmissionType": "Manual", ' "WeightFullyLaden": "0", ' "SoundLevelStationary": "0", ' "FuelType": "Petrol", ' "Colour": "YELLOW", ' "EngineSizeLitre": "2.2", ' "RegistrationDate": "1994-08-03", ' "Co2Emissions": "000", ' "WeightMaxTowingUnbraked": "0", ' "HistoryCurrentKeeperAcquisitionDate": "2015-04-25", ' "WeightMaxTowingBraked": "0", ' "DoorCount": "2", ' "EngineCylinderConfig": "Inline", ' "EngineFuelDelivery": "Turbo Injection" ' } ' } ' ----------------------------------------------------------------------------------- ' Now get battery data... jsonResponseStr = rest.FullRequestNoBody("GET","/api/datapackage/batterydata") If (rest.LastMethodSuccess <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If If (rest.ResponseStatusCode <> 200) Then outFile.WriteLine("Response Status Code = " & rest.ResponseStatusCode) outFile.WriteLine(jsonResponseStr) WScript.Quit End If success = json.Load(jsonResponseStr) ' Show the JSON response containing battery data. outFile.WriteLine(json.Emit()) ' To get a few pieces of information out of the response... numBatteries = json.SizeOfArray("DataItems.BatteryList") i = 0 Do While (i < numBatteries) json.I = i outFile.WriteLine("---- Battery " & i & ":") outFile.WriteLine(" Type = " & json.StringOf("DataItems.BatteryList[I].Type")) outFile.WriteLine(" LayoutImage = " & json.StringOf("DataItems.BatteryList[I].LayoutImage")) outFile.WriteLine(" TerminalCode = " & json.StringOf("DataItems.BatteryList[I].TerminalCode")) i = i + 1 Loop ' The battery data looks like this: ' { ' "RequestGuid": "xxxxxxxx-5030-4b3d-a2ed-xxxxxxxxxxxx", ' "StatusCode": 0, ' "StatusMessage": "Success", ' "PackageId": "xxxxxxxx-9ec2-4fd3-9247-xxxxxxxxxxxx", ' "PackageVersion": 1, ' "DataKeys": { ' "Vrm": "ABCDE" ' }, ' "DataItems": { ' "BatteryList": [ ' { ' "Type": "Primary", ' "UkRef": "075", ' "LayoutCode": "0", ' "LayoutImage": "http://cdn.ukvehicledata.co.uk/battery/layout/0.png", ' "TerminalCode": "T1", ' "TerminalImage": "http://cdn.ukvehicledata.co.uk/battery/terminal/T1.png", ' "HoldDownCode": "B13", ' "HoldDownImage": "http://cdn.ukvehicledata.co.uk/battery/holddown/B13.png" ' } ' ], ' "BatteryCount": "1" ' } ' } outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.