Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) UK Vehicle Data VRM LookupDemonstrates how to query the UK Vehicle Data VRM online API's. (See https://ukvehicledata.co.uk/)
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim rest As New Chilkat.Rest ' Connect using TLS. Dim bAutoReconnect As Boolean = True Dim success As Boolean = Await rest.ConnectAsync("uk1.ukvehicledata.co.uk",443,True,bAutoReconnect) If (success <> True) Then Debug.WriteLine(rest.LastErrorText) Exit Sub 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... 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. Dim jsonResponseStr As String = Await rest.FullRequestNoBodyAsync("GET","/api/datapackage/vehicledata") If (rest.LastMethodSuccess <> True) Then Debug.WriteLine(rest.LastErrorText) Exit Sub End If If (rest.ResponseStatusCode <> 200) Then Debug.WriteLine("Response Status Code = " & rest.ResponseStatusCode) Debug.WriteLine(jsonResponseStr) Exit Sub End If Dim json As New Chilkat.JsonObject json.Load(jsonResponseStr) json.EmitCompact = False ' Show the JSON response. Debug.WriteLine(json.Emit()) ' A sample vehicledata response will be as shown below. ' To get a few bits of data from the response: Debug.WriteLine("RequestGuid: " & json.StringOf("RequestGuid")) Debug.WriteLine("EngineNumber: " & json.StringOf("DataItems.EngineNumber")) Debug.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 = Await rest.FullRequestNoBodyAsync("GET","/api/datapackage/batterydata") If (rest.LastMethodSuccess <> True) Then Debug.WriteLine(rest.LastErrorText) Exit Sub End If If (rest.ResponseStatusCode <> 200) Then Debug.WriteLine("Response Status Code = " & rest.ResponseStatusCode) Debug.WriteLine(jsonResponseStr) Exit Sub End If json.Load(jsonResponseStr) ' Show the JSON response containing battery data. Debug.WriteLine(json.Emit()) ' To get a few pieces of information out of the response... Dim numBatteries As Integer = json.SizeOfArray("DataItems.BatteryList") Dim i As Integer = 0 While (i < numBatteries) json.I = i Debug.WriteLine("---- Battery " & i & ":") Debug.WriteLine(" Type = " & json.StringOf("DataItems.BatteryList[I].Type")) Debug.WriteLine(" LayoutImage = " & json.StringOf("DataItems.BatteryList[I].LayoutImage")) Debug.WriteLine(" TerminalCode = " & json.StringOf("DataItems.BatteryList[I].TerminalCode")) i = i + 1 End While ' 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" ' } ' } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.