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
(Tcl) UK Vehicle Data VRM LookupDemonstrates how to query the UK Vehicle Data VRM online API's. (See https://ukvehicledata.co.uk/)
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set rest [new_CkRest] # Connect using TLS. set bAutoReconnect 1 set success [CkRest_Connect $rest "uk1.ukvehicledata.co.uk" 443 1 $bAutoReconnect] if {$success != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest exit } # Replace UKVD-API-KEY with your actual API KEY, # which looks something like "abcdb1234-0abc-1235-abcf-1234c3d1abcd" CkRest_put_Authorization $rest "ukvd-ipwhitelist UKVD-API-KEY" # Replace "ABCDE" with a real VRM... CkRest_AddQueryParam $rest "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. set jsonResponseStr [CkRest_fullRequestNoBody $rest "GET" "/api/datapackage/vehicledata"] if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest exit } if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts "Response Status Code = [CkRest_get_ResponseStatusCode $rest]" puts "$jsonResponseStr" delete_CkRest $rest exit } set json [new_CkJsonObject] CkJsonObject_Load $json $jsonResponseStr CkJsonObject_put_EmitCompact $json 0 # Show the JSON response. puts [CkJsonObject_emit $json] # A sample vehicledata response will be as shown below. # To get a few bits of data from the response: puts "RequestGuid: [CkJsonObject_stringOf $json RequestGuid]" puts "EngineNumber: [CkJsonObject_stringOf $json DataItems.EngineNumber]" puts "Vrm: [CkJsonObject_stringOf $json 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... set jsonResponseStr [CkRest_fullRequestNoBody $rest "GET" "/api/datapackage/batterydata"] if {[CkRest_get_LastMethodSuccess $rest] != 1} then { puts [CkRest_lastErrorText $rest] delete_CkRest $rest delete_CkJsonObject $json exit } if {[CkRest_get_ResponseStatusCode $rest] != 200} then { puts "Response Status Code = [CkRest_get_ResponseStatusCode $rest]" puts "$jsonResponseStr" delete_CkRest $rest delete_CkJsonObject $json exit } CkJsonObject_Load $json $jsonResponseStr # Show the JSON response containing battery data. puts [CkJsonObject_emit $json] # To get a few pieces of information out of the response... set numBatteries [CkJsonObject_SizeOfArray $json "DataItems.BatteryList"] set i 0 while {$i < $numBatteries} { CkJsonObject_put_I $json $i puts "---- Battery $i:" puts " Type = [CkJsonObject_stringOf $json {DataItems.BatteryList[I].Type}]" puts " LayoutImage = [CkJsonObject_stringOf $json {DataItems.BatteryList[I].LayoutImage}]" puts " TerminalCode = [CkJsonObject_stringOf $json {DataItems.BatteryList[I].TerminalCode}]" set i [expr $i + 1] } # 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" # } # } delete_CkRest $rest delete_CkJsonObject $json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.