PullMonkey Blog


13 Jan

VIN API Examples for PHP and VB .NET


A few of our VIN API customers have been kind enough to take our Ruby and curl examples and come up with .NET and PHP implementations.
Here is a VB .NET example:

Public Function DecodeVIN(ByVal VIN As String, Optional ByVal Complete As Boolean = False) As String
Try
Dim aResponse() As Byte
Dim sResponse As String = ""
Dim oWebclient As New WebClient
Dim oEncoder As New System.Text.ASCIIEncoding
'Call the API
oWebclient = New WebClient
oWebclient.Headers.Add("X-VinApiKey", "APIKEYGOESHERE")
If Complete = True Then
aResponse = oWebclient.DownloadData("http://vinapi.skizmo.com/vins/" & VIN & ".xml?complete=true")
Else
aResponse = oWebclient.DownloadData("http://vinapi.skizmo.com/vins/" & VIN & ".xml")
End If
sResponse = oEncoder.GetString(aResponse)
'Debug.Print(sResponse)
Return sResponse
Catch ex As Exception
End Try
Return Nothing
End Function
view raw gistfile1.bas hosted with ❤ by GitHub

And for PHP, you have this:

<?php
function decodeVIN($vin){
$curl = curl_init();
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_URL, 'http://vinapi.skizmo.com/vins/'.$vin.'.xml');
curl_setopt ($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', 'X-VinApiKey: YOUR_API_KEY_GOES_HERE'));
$result = curl_exec ($curl);
curl_close ($curl);
return $result;
}
$vin = preg_replace("/[^A-Za-z0-9.]/", "", $_GET['vin']);
if(isset($_GET['vin'])){
$decoded_vin = decodeVIN($vin);
echo $decoded_vin;
}
?>
view raw vinapi.php hosted with ❤ by GitHub

Hope this helps and if you have examples for other programming languages, please let us know.


Comments Off on VIN API Examples for PHP and VB .NET Filed under: api, development, projects, tutorials Tags: , , , , , ,
13 Jan

Vin API – Phase II


We've just finished adding A LOT more details to VIN API's result set. This time we've added things like MPG, MSRP, cargo room/volumn, etc. See the full list below, it is very comprehensive.

If you use ruby (look for a future post with .NET and PHP examples), and want the complete dataset, you would setup your ActiveResource like this:

class VinApi < ActiveResource::Base
headers["X-VinApiKey"] = "YOUR_API_KEY_GOES_HERE"
self.site = "http://vinapi.skizmo.com"
self.element_name = "vin"
end
view raw gistfile1.rb hosted with ❤ by GitHub

And then call our API like this:

VinApi.find('1HGCM82633A004352', :params => {:complete => "true"})
view raw gistfile1.rb hosted with ❤ by GitHub

The only change (for those of you who have already implemented phase I) is to send in a "complete" parameter with value of "true" ... upon doing so, VIN API will send you the complete dataset versus the basic (and default) dataset.

The results would look like this (in XML) and be prepared because it is lengthy:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
<telescopic-steering-column>Std.</telescopic-steering-column>
<front-split-bench-seat>N/A</front-split-bench-seat>
<powertrain-warranty-distance>36,000 mile</powertrain-warranty-distance>
<leather-seat>Std.</leather-seat>
<load-bearing-exterior-rack>N/A</load-bearing-exterior-rack>
<front-spring-type>Coil</front-spring-type>
<steel-wheels>N/A</steel-wheels>
<maximum-gvwr>No data lbs</maximum-gvwr>
<rear-wiper>N/A</rear-wiper>
<leather-steering-wheel>Std.</leather-steering-wheel>
<front-brake-type>Disc</front-brake-type>
<rear-brake-type>Disc</rear-brake-type>
<overall-length>187.60 in.</overall-length>
<pickup-truck-bed-liner>N/A</pickup-truck-bed-liner>
<front-side-airbag-with-head-protection>N/A</front-side-airbag-with-head-protection>
<second-row-side-airbag-with-head-protection>N/A</second-row-side-airbag-with-head-protection>
<cd-changer>Std.</cd-changer>
<second-row-folding-seat>Std.</second-row-folding-seat>
<am-fm-radio>Std.</am-fm-radio>
<locking-pickup-truck-tailgate>N/A</locking-pickup-truck-tailgate>
<fog-lights>Opt.</fog-lights>
<maximum-towing>1000 lbs</maximum-towing>
<msrp>$25,900 USD</msrp>
<genuine-wood-trim>N/A</genuine-wood-trim>
<powertrain-warranty-duration>36 month</powertrain-warranty-duration>
<cruise-control>Std.</cruise-control>
<front-power-lumbar-support>N/A</front-power-lumbar-support>
<power-sunroof>Std.</power-sunroof>
<towing-preparation-package>N/A</towing-preparation-package>
<city-mpg>21 miles/gallon</city-mpg>
<pickup-truck-cargo-box-light>N/A</pickup-truck-cargo-box-light>
<front-legroom>43.10 in.</front-legroom>
<first-aid-kit>N/A</first-aid-kit>
<mpg-hwy>30 miles/gallon</mpg-hwy>
<sliding-rear-pickup-truck-window>N/A</sliding-rear-pickup-truck-window>
<cargo-area-tiedowns>Std.</cargo-area-tiedowns>
<wheelbase>105.10 in.</wheelbase>
<electronic-parking-aid>N/A</electronic-parking-aid>
<second-row-side-airbag>N/A</second-row-side-airbag>
<rear-spring-type>Coil</rear-spring-type>
<driveline>FWD</driveline>
<dvd-player>Opt.</dvd-player>
<tow-hitch-receiver>N/A</tow-hitch-receiver>
<track-rear>61.20 in.</track-rear>
<deep-tinted-glass>N/A</deep-tinted-glass>
<maximum-payload>No data lbs</maximum-payload>
<anti-brake-system>4-Wheel ABS</anti-brake-system>
<abs-brakes>Std.</abs-brakes>
<model-year>2003</model-year>
<standard-gvwr>No data lbs</standard-gvwr>
<driver-multi-adjustable-power-seat>Std.</driver-multi-adjustable-power-seat>
<automatic-load-leveling>N/A</automatic-load-leveling>
<power-adjustable-exterior-mirror>Std.</power-adjustable-exterior-mirror>
<keyless-entry>Std.</keyless-entry>
<standard-seating>5</standard-seating>
<heated-exterior-mirror>N/A</heated-exterior-mirror>
<cassette-player>Opt.</cassette-player>
<tilt-steering-column>Std.</tilt-steering-column>
<limited-slip-differential>N/A</limited-slip-differential>
<trunk-anti-trap-device>Std.</trunk-anti-trap-device>
<transmission>5-Speed Automatic Overdrive</transmission>
<depth>No data in.</depth>
<highway-mpg>30 miles/gallon</highway-mpg>
<cargo-net>Std.</cargo-net>
<dealer-invoice>$23,305 USD</dealer-invoice>
<second-row-multi-adjustable-power-seat>N/A</second-row-multi-adjustable-power-seat>
<passenger-volume>88.00 cu.ft.</passenger-volume>
<engine-type>3.0L V6 SOHC 24V</engine-type>
<rear-shoulder-room>55.40 in.</rear-shoulder-room>
<rain-sensing-wipers>N/A</rain-sensing-wipers>
<warranty-duration>36 month</warranty-duration>
<driver-airbag>Std.</driver-airbag>
<interval-wipers>Std.</interval-wipers>
<tank>17.10 gallon</tank>
<remote-ignition>N/A</remote-ignition>
<wind-deflector-for-convertibles>N/A</wind-deflector-for-convertibles>
<warranty-distance>36,000 mile</warranty-distance>
<optional-seating>No data</optional-seating>
<exterior-color>Taffeta White</exterior-color>
<front-headroom>37.50 in.</front-headroom>
<destination-charge>No data USD</destination-charge>
<voice-activated-telephone>Opt.</voice-activated-telephone>
<air-conditioning>Std.</air-conditioning>
<interior-trim>Ivory Leather Interior</interior-trim>
<chrome-wheels>Opt.</chrome-wheels>
<child-safety-door-locks>N/A</child-safety-door-locks>
<second-row-sound-controls>N/A</second-row-sound-controls>
<front-suspension>Ind</front-suspension>
<electronic-brake-assistance>N/A</electronic-brake-assistance>
<cd-player>Std.</cd-player>
<overall-height>55.70 in.</overall-height>
<front-heated-seat>Std.</front-heated-seat>
<track-front>61.10 in.</track-front>
<year>2003</year>
<splash-guards>Opt.</splash-guards>
<locking-differential>N/A</locking-differential>
<cargo-length>No data in.</cargo-length>
<navigation-aid>N/A</navigation-aid>
<model>Accord</model>
<adjustable-foot-pedals>N/A</adjustable-foot-pedals>
<front-power-memory-seat>N/A</front-power-memory-seat>
<front-hip-room>54.20 in.</front-hip-room>
<run-flat-tires>N/A</run-flat-tires>
<power-windows>Std.</power-windows>
<second-row-removable-seat>N/A</second-row-removable-seat>
<alloy-wheels>Std.</alloy-wheels>
<glass-rear-window-on-convertible>N/A</glass-rear-window-on-convertible>
<rear-spoiler>Opt.</rear-spoiler>
<heated-steering-wheel>N/A</heated-steering-wheel>
<tire-pressure-monitor>N/A</tire-pressure-monitor>
<electrochromic-exterior-rearview-mirror>N/A</electrochromic-exterior-rearview-mirror>
<rust-duration>60 month</rust-duration>
<separate-driver-front-passenger-climate-controls>Std.</separate-driver-front-passenger-climate-controls>
<rear-hip-room>46.10 in.</rear-hip-room>
<cargo-volume>12.80 cu.ft.</cargo-volume>
<subwoofer>N/A</subwoofer>
<four_wd-awd>N/A</4wd-awd>
<cargo-area-cover>N/A</cargo-area-cover>
<removable-top>N/A</removable-top>
<ground-clearance>No data in.</ground-clearance>
<rear-suspension>Ind</rear-suspension>
<third-row-removable-seat>N/A</third-row-removable-seat>
<running-boards>N/A</running-boards>
<power-trunk-lid>N/A</power-trunk-lid>
<rear-headroom>36.10 in.</rear-headroom>
<side-head-curtain-airbag>Std.</side-head-curtain-airbag>
<trip-computer>N/A</trip-computer>
<manual-sunroof>Std.</manual-sunroof>
<standard-payload>No data lbs</standard-payload>
<overall-width>71.30 in.</overall-width>
<steering-wheel-mounted-controls>Std.</steering-wheel-mounted-controls>
<turning-diameter>35.40 in.</turning-diameter>
<body-style>COUPE 2-DR</body-style>
<front-shoulder-room>56.10 in.</front-shoulder-room>
<telematics-system>N/A</telematics-system>
<make>Honda</make>
<tachometer>Std.</tachometer>
<vehicle-stability-control-system>N/A</vehicle-stability-control-system>
<width-at-wheelwell>No data in.</width-at-wheelwell>
<second-row-heated-seat>N/A</second-row-heated-seat>
<manufactured-in>UNITED STATES</manufactured-in>
<tires>205/60R16</tires>
<power-door-locks>Std.</power-door-locks>
<automatic-headlights>Std.</automatic-headlights>
<daytime-running-lights>N/A</daytime-running-lights>
<front-air-dam>Std.</front-air-dam>
<electrochromic-interior-rearview-mirror>Opt.</electrochromic-interior-rearview-mirror>
<standard-towing>1000 lbs</standard-towing>
<front-side-airbag>Std.</front-side-airbag>
<curb-weight>No data lbs</curb-weight>
<power-sliding-side-van-door>N/A</power-sliding-side-van-door>
<trim-level>EX V6 coupe AT</trim-level>
<rear-legroom>31.90 in.</rear-legroom>
<passenger-multi-adjustable-power-seat>Std.</passenger-multi-adjustable-power-seat>
<steering-type>R&amp;P</steering-type>
<width-at-wall>No data in.</width-at-wall>
<mpg-city>21 miles/gallon</mpg-city>
<traction-control>Std.</traction-control>
<rust-distance>Unlimited mile</rust-distance>
<vehicle-anti-theft>Std.</vehicle-anti-theft>
<high-intensity-discharge-headlights>N/A</high-intensity-discharge-headlights>
<passenger-airbag>Std.</passenger-airbag>
<skid-plate>N/A</skid-plate>
<full-size-spare-tire>N/A</full-size-spare-tire>
<rear-window-defogger>Std.</rear-window-defogger>
<tilt-steering>Std.</tilt-steering>
<front-cooled-seat>N/A</front-cooled-seat>
</hash>
view raw gistfile1.xml hosted with ❤ by GitHub

That's it, just thought I'd share VIN API's Phase II.