Rust
Rust
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 Rust Downloads
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = chilkat::Http::new();
// 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"
// }
let json = chilkat::JsonObject::new();
let _ = json.update_string("registrationNumber", "ABC1234");
http.set_request_header("Accept", "application/json");
http.set_request_header("x-api-key", "supplied API key");
let resp = chilkat::HttpResponse::new();
if http.http_json("POST", "https://driver-vehicle-licensing.api.gov.uk/vehicle-enquiry/v1/vehicles", &json, "application/json", &resp).is_err() {
println!("{}", http.last_error_text());
return;
}
let sb_response_body = chilkat::StringBuilder::new();
let _ = resp.get_body_sb(&sb_response_body);
let j_resp = chilkat::JsonObject::new();
let _ = j_resp.load_sb(&sb_response_body);
j_resp.set_emit_compact(false);
println!("Response Body:");
println!("{}", j_resp.emit().unwrap_or_default());
let resp_status_code = resp.status_code();
println!("Response Status Code = {}", resp_status_code);
if resp_status_code >= 400 {
println!("Response Header:");
println!("{}", resp.header());
println!("Failed.");
return;
}
// 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
let art_end_date = j_resp.string_of("artEndDate").unwrap_or_default();
let co2_emissions = j_resp.int_of("co2Emissions");
let colour = j_resp.string_of("colour").unwrap_or_default();
let engine_capacity = j_resp.int_of("engineCapacity");
let fuel_type = j_resp.string_of("fuelType").unwrap_or_default();
let make = j_resp.string_of("make").unwrap_or_default();
let marked_for_export = j_resp.bool_of("markedForExport");
let month_of_first_registration = j_resp.string_of("monthOfFirstRegistration").unwrap_or_default();
let mot_status = j_resp.string_of("motStatus").unwrap_or_default();
let registration_number = j_resp.string_of("registrationNumber").unwrap_or_default();
let revenue_weight = j_resp.int_of("revenueWeight");
let tax_due_date = j_resp.string_of("taxDueDate").unwrap_or_default();
let tax_status = j_resp.string_of("taxStatus").unwrap_or_default();
let type_approval = j_resp.string_of("typeApproval").unwrap_or_default();
let wheelplan = j_resp.string_of("wheelplan").unwrap_or_default();
let year_of_manufacture = j_resp.int_of("yearOfManufacture");
let euro_status = j_resp.string_of("euroStatus").unwrap_or_default();
let real_driving_emissions = j_resp.string_of("realDrivingEmissions").unwrap_or_default();
let date_of_last_v5_c_issued = j_resp.string_of("dateOfLastV5CIssued").unwrap_or_default();