API URL: https://api.autosyncstudio.com/
API keys may be generated in the portal: https://portal.autosyncstudio.com/
1. Legend
URL query parameter prefixes:
f-
- (filter) denotes a parameter that narrows down the result set or specifies preferred records, e.g. f-year
i-
- (include) denotes a parameter that adds optional data to the result, e.g. i-colors
p-
- (page) denotes a parameter that pertains to pagination, e.g. p-number
s-
- (sort) denotes a parameter that orders a collection by a specified field, e.g. s-price
2. Authorization
All vehicle and wheel endpoints require a valid key to pass authorization. Each key determines access to resources.
Append key
parameter to a URL to specify a key:
Code Block |
---|
/vehicles/years?key=secret |
If key
parameter is not specified or a provided key is invalid, the API will return the following response for endpoints requiring authorization:
Code Block |
---|
|
{
"Error": "Invalid API key"
} |
/keys/validate
To test if an API key is valid, you can query the following endpoint:
Code Block |
---|
/keys/validate?key=secret |
A successfully validated key passed to the endpoint will result in the following response:
Code Block |
---|
|
{
"Status": "OK"
} |
3. Segments
The endpoints are divided into the following segments:
Accessories
Tires
Vehicles
Wheels
Each set of endpoints is guarded by a permission. An attempt to access an endpoint without appropriate permission assigned to an API key will result in the following error:
Code Block |
---|
|
{
"Error": "Unauthorized access to segment: tires"
} |
If you see the error and believe this is a mistake, please contact AutoSync.
4. API Key Configuration
/keys/config
Configuration set for an API key. This includes theming and filtering.
Code Block |
---|
/keys/config?key=secret |
Sample response for a valid key:
Code Block |
---|
|
{
"BrandIds": [130],
"Locations": [{
"Id": 100,
"Name": "Vancouver Premium Tire",
"Country": "Canada",
"Address": "2452 52 Ave",
"City": "Vancouver",
"State": "BC",
"Zip": "V2Y 4B4",
"Phone": "(604) 333-4444",
"Coordinates": [
45.133904,
-122.584391
]
},
...
],
"MakeIds": [],
"Segments": [
"tires",
"vehicles",
"wheels"
],
"VehicleTypes": [],
"Visualizer": {
"AlignHomeContentToTop": true,
"BgImg": "",
"BgImgOpacity": 1,
"BrandColor": "#ae1016",
"BrandLogo": "https://vvs.autosyncstudio.com/static/icons/Autosync-logo-grey.png",
"Ga4Key": "UA-213519920-3",
"ListVehicleModelsByYear": true,
"PaginationSize": 24,
"ScrollIntoView": true,
"TireLogo": "https://vvs.autosyncstudio.com/static/clients/11/product_logo.071c7.webp",
"VehicleLogo": "https://vvs.autosyncstudio.com/static/vehicles.png",
"VehicleThumbnails": "color",
"WheelLogo": "https://vvs.autosyncstudio.com/static/clients/11/product_logo.071c7.webp"
}
} |
BrandIds
- IDs of allowed brands
Locations
- a list of locations assigned to a retailer or manufacturer; empty if none specified
MakeIds
- if vehicle makes are filtered, this array will list IDs of allowed makes; otherwise it will be empty
Segments
- see “3. Segments” for more information
VehicleTypes
- if vehicle types are filtered, this array will list allowed types; otherwise it will be empty
Visualizer
- configuration for visualizers
AlignHomeContentToTop
- home page content should be placed right at the top of the content container
BgImg
- home page background image URL
BgImgOpacity
- home page background image opacity
BrandColor
- theme accent color
BrandLogo
- URL of the brand logo shown on the home page
Ga4Key
- Google Analytics key for tracking events
ListVehicleModelsByYear
- Separate vehicle models by year
PaginationSize
- default pagination size
ScrollIntoView
- scroll container into the viewport on user input when the embedded on a page with more content
TireLogo
- “Shop by Tire” image URL
VehicleLogo
- “Shop by Vehicle” image URL
VehicleThumbnails
- either color
or mono
WheelLogo
- “Shop by Wheel” image URL
/keys/config
Update API key configuration. Propagating changes may take up to 5 minutes.
Data must be submitted in the body and be JSON-encoded:
Code Block |
---|
|
{
"vehicleModels": {
"use": "include",
"modelIds": [44, 45, 46, 47]
}
} |
where (
- required):
-
vehicleModels
- vehicle models filter-
use
- include
or exclude
to either -
modelIds
- an array of vehicle model IDs; empty array disables the filter
Example 1. JavaScript code for sending a sample request for quote:
Code Block |
---|
|
const data = {
vehicleModels: {
use: "include",
modelIds: [44, 45, 46]
}
};
const resp = await fetch(API_URL + '/keys/config?key=' + API_KEY, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
console.log(await resp.json()); |
Response:
Code Block |
---|
|
{
"Status": "OK"
} |
5. Errors
In case of an error, HTTP status will be different than 200
and an error message will be included.
Example 1. Invalid path:
Code Block |
---|
/wheels/unknown |
Response (HTTP status 404
):
Code Block |
---|
|
{
"Error": "Unknown endpoint"
} |
Example 2. Invalid parameter value:
Code Block |
---|
/vehicles/makes?f-year=99999 |
Response (HTTP status 400
):
Code Block |
---|
|
{
"Error": "Invalid value for query parameter: f-year"
} |
Example 3. Implementation error that needs to be addressed by AutoSync (response HTTP status 500
):
Code Block |
---|
|
{
"Error": "Query error"
} |
HTTP status 200
and no error
property signify a successful response.
Every endpoint returning a single collection includes pagination information:
By default, collections are limited to 10 records per page.
Example 1. The first page of 10 Ford models (out of 51 in total):
Code Block |
---|
|
/vehicles/models?f-make=Ford |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 8791,
"Make": "Ford",
"Model": "Bronco"
}, {
"Id": 8070,
"Make": "Ford",
"Model": "E-150"
},
...
],
"MoreItems": true
} |
All endpoints may include query parameters for specifying pagination settings:
p-number
- page number beginning at 1
p-size
- page size, i.e the number of collection items to be fetched (1-500)
Example 2. The last of three 25-item pages of Ford’s models:
Code Block |
---|
|
/vehicles/models?f-make=Ford&p-size=25&p-number=2 |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 33175,
"Make": "Ford",
"Model": "F-150 Lightning"
},
...
]
} |
Endpoints containing objects with multiple collections, e.g. /wheels/filters
, do not include pagination information.
Example 3. No page indicators for collections under filters (models and diameters):
Code Block |
---|
|
/wheels/filters?i-models&i-diameters&f-brand=Vision |
Response:
Code Block |
---|
|
{
"Filters": {
"Models": ["Daytona", "Wizard", "Rage", ...],
"Diameters": [15, 17, 20, ...]
}
} |
7. Rate Limiting
The maximum permitted request rate is 20 requests per second per API key. If the rate limit is exceeded, a 429 Too Many Requests
response will be returned.
8. Vehicle Endpoints
Info |
---|
All endpoints in this section require authorization. For more information see “2. Authorization”. |
/vehicles/years
A list of all supported vehicle years.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/years
Results are sorted by year in ascending order.
Info |
---|
Supported vehicle types: |
Example 1. All supported years (page size increased to 100 to include all results):
Code Block |
---|
|
/vehicles/years?p-size=100 |
Response:
Code Block |
---|
|
{
"Years": [2000, 2001, 2002, ...]
} |
Example 2. Years for Audi A4 Sport:
Code Block |
---|
|
/vehicles/years?f-make=Audi&f-model=A4&f-submodel=Sport |
Response:
Code Block |
---|
|
{
"Years": [2010, 2011, 2012, 2013, 2014, 2015, 2016]
} |
/vehicles/makes
A list of vehicle makes.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/makes
Results are sorted by make in ascending order.
Info |
---|
For more information on how to filter vehicle models by vehicle types, see /vehicles/years . |
Example 1. A list of all makes:
Code Block |
---|
|
/vehicles/makes |
Response:
Code Block |
---|
|
{
"Makes": [{
"Make": "Acura"
}, {
"Make": "Alfa Romeo"
},
...
]
} |
Example 2. A list of Truck or Van makes:
Code Block |
---|
|
/vehicles/makes?f-types=Truck,Van |
Response:
Code Block |
---|
|
{
"Makes": [{
"Make": "Buick"
}, {
"Make": "Cadillac"
},
...
]
} |
Example 3. A list of makes that manufactured vehicles in 2012 with their logos and the total number of vehicles released that year:
Code Block |
---|
|
/vehicles/makes?f-year=2012&i-logos&i-vehicleCount |
Response:
Code Block |
---|
|
{
"LogoUrlBase: "https://storage.googleapis.com/autosync-brand-logos/vehicles/",
Makes: [{
Make: "Audi",
Logo: "Audi.png",
VehicleCount": 49
},
...
]
} |
Appending Logo
to LogoUrlBase
composes a complete logo image URL, for example:
Code Block |
---|
https://storage.googleapis.com/autosync-brand-logos/vehicles/Audi.png |
Note |
---|
Do not hardcode LogoUrlBase or parts of it as it may change. |
/vehicles/models
A list of vehicle models.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/models
Results are sorted by make and model in ascending order.
Info |
---|
For more information on how to filter vehicle models by vehicle types, see /vehicles/years . |
Example 1. A list of models by year and make:
Code Block |
---|
|
/vehicles/models?f-year=2012&f-make=Audi |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 2778,
"Make": "Audi",
"Model": "A3"
}, {
"Id": 4365,
"Make": "Audi",
"Model": "A3 Quattro"
},
...
]
} |
Example 2. Mustang models:
Code Block |
---|
|
/vehicles/models?f-query=Mustang |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 1164,
"Make": "Ford",
"Model": "Mustang"
}, {
"Id": 7857,
"Make": "Ford",
"Model": "Mustang Mach-E"
}
]
} |
Example 3. 2018 Mazda models with body types:
Code Block |
---|
|
/vehicles/models?f-year=2018&f-make=Mazda&i-body |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 2487,
"Make": "Mazda",
"Model": "3",
"Body": "Hatchback"
}, {
"Id": 2487,
"Make": "Mazda",
"Model": "3",
"Body": "Sedan"
},
...
]
} |
Example 4. 2009 Hummer H2 models with vehicle types:
Code Block |
---|
|
/vehicles/models?f-query=2009 Hummer H2&i-type |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 6700,
"Make": "Hummer",
"Model": "H2",
"Type": "SUV"
}, {
"Id": 6700,
"Make": "Hummer",
"Model": "H2",
"Type": "Truck"
}
]
} |
Example 4. Ford Freestyle model split by year:
Code Block |
---|
|
/vehicles/models?f-query=Ford Freestyle&i-year |
Response:
Code Block |
---|
|
{
"Models": [{
"Id": 2619,
"Make": "Ford",
"Model": "Freestyle",
"Year": 2007
}, {
"Id": 2618,
"Make": "Ford",
"Model": "Freestyle",
"Year": 2006
},
...
]
} |
Example 5. Filter by year (2016), make (“BMW”) and include images in the default color for each model together with the years of the vehicles in the images:
Code Block |
---|
|
/vehicles/models?f-year=2016&f-make=bmw&i-img032&i-imgYear |
Response:
Code Block |
---|
|
{
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/",
"Models": [{
"Id": 2316,
"Make": "BMW",
"Model": "228i",
"ImgYear": 2016,
"Img032": {
"240": "10631/10631_240_032_B45.webp",
"350": "10631/10631_350_032_B45.webp",
"640": "10631/10631_640_032_B45.webp",
"960": "10631/10631_960_032_B45.webp",
"2400": "10631/10631_2400_032_B45.webp"
},
...
]
} |
Appending image path to ImgUrlBase
composes a complete image URL, for example:
Code Block |
---|
https://storage.googleapis.com/autosync-vehicles/10631/10631_2400_032_B45.webp |
Note |
---|
Do not hardcode ImgUrlBase or parts of it as it may change. |
/vehicles/submodels
A list of vehicle sub models.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles/submodels
Results are sorted by make, model and sub model in ascending order.
Info |
---|
For more information on how to filter vehicle sub models by vehicle types, see /vehicles/years . |
Example 1. A list of 2012 Audi A4 sub models:
Code Block |
---|
|
/vehicles/submodels?f-year=2012&f-make=Audi&f-model=A4 |
Response:
Code Block |
---|
|
{
"Submodels": [{
"Make": "Audi",
"Model": "A4",
"Submodel": "Base"
}
]
} |
Example 2. A list of 2010 Honda Civic sub models:
Code Block |
---|
|
/vehicles/submodels?f-year=2010&f-make=Honda&f-model=Civic&i-body |
Response:
Code Block |
---|
|
{
"Submodels": [{
"Make": "Honda",
"Model": "Civic",
"Submodel": "DX",
"Body": "Coupe"
}, {
"Make": "Honda",
"Model": "Civic",
"Submodel": "DX",
"Body": "Sedan"
},
...
]
} |
Example 3. Full-text search results for “2020 jag I-Pace“:
Code Block |
---|
|
/vehicles/submodels?f-query=2020%20jag%20I-Pace |
Response:
Code Block |
---|
|
{
"Submodels": [{
"Make": "Jaguar",
"Model": "I-Pace",
"Submodel": "HSE"
},
...
]
} |
Example 4. A list of Ford F-150 sub models manufactured in 2020 with 032 angle images 960 px wide in the default color:
Code Block |
---|
|
/vehicles/submodels?f-year=2020&f-make=Ford&f-model=F-150&i-img032 |
Response:
Code Block |
---|
|
{
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/",
"Submodels": [{
"Make": "Ford",
"Model": "F-150",
"Submodel": "King Ranch",
"Img032": {
"240": "14114/14114_240_032_N1-D1.webp",
"350": "14114/14114_350_032_N1-D1.webp",
"640": "14114/14114_640_032_N1-D1.webp",
"960": "14114/14114_960_032_N1-D1.webp",
"2400": "14114/14114_2400_032_N1-D1.webp"
},
...
]
} |
Appending image path to ImgUrlBase
composes a complete image URL, for example:
Code Block |
---|
https://storage.googleapis.com/autosync-vehicles/14112/14112_2400_032_JS.webp |
Note |
---|
Do not hardcode ImgUrlBase or parts of it as it may change. |
/vehicles
A list of vehicles.
For a complete list of query parameters please visit the API reference:
https://api.autosyncstudio.com/docs/#get-/vehicles
Results are sorted by year in descending order.
Info |
---|
For more information on how to filter vehicles by types, see /vehicles/years . |
A. Filtering Vehicles
Example 1. Vehicles filtered by year, make, model, and sub model:
Code Block |
---|
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring |
Response:
Code Block |
---|
|
{
"Vehicles": [{
"Bed": "",
"Body": "Hatchback",
"Doors": null,
"Drw": false,
"Id": 11693,
"Make": "Mazda",
"Model": "3",
"Submodel": "Touring",
"Type": "Car",
"Year": 2018
}, {
"Bed": "",
"Body": "Sedan",
"Doors": null,
"Drw": false,
"Id": 11695,
"Make": "Mazda",
"Model": "3",
"Submodel": "Touring",
"Type": "Car",
"Year": 2018
}
]
} |
Example 2. Vehicles filtered by year, make, model, sub model, and body type:
Code Block |
---|
/vehicles?f-year=2018&f-make=Mazda&f-model=3&f-submodel=Touring&f-body=Sedan |
Response:
Code Block |
---|
|
{
"Vehicles": [{
"Bed": "",
"Body": "Sedan",
"Doors": null,
"Drw": false,
"Id": 11695,
"Make": "Mazda",
"Model": "3",
"Submodel": "Touring",
"Type": "Car",
"Year": 2018
}
]
} |
B. Fetching Vehicle by ID
Example. Vehicle with ID equal to 3635:
Code Block |
---|
/vehicles?f-id=3635 |
Response:
Code Block |
---|
|
{
"Vehicles": [{
"Bed": "",
"Body": "Sedan",
"Doors": null,
"Drw": false,
"Id": 3635,
"Make": "Dodge",
"Model": "Charger",
"Submodel": "SRT Hellcat Widebody",
"Type": "Car",
"Year": 2021
}
]
} |
C. Image URLs
Supported sizes (width in pixels):
2400
– 2400 px × 1250 px
960
- 960 px × 522 px
640
- 640 px × 348 px
350
- 350 px × 190 px
240
- 240 px × 130 px
Example. Including images of angles 001 and 014:
Code Block |
---|
|
/vehicles?f-id=5851&i-img001&i-img014 |
Response:
Code Block |
---|
|
{
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/",
"Vehicles": [{
"Bed": "",
"Body": "Coupe",
"Doors": null,
"Drw": false,
"Id": 5851,
"Img001": {
"240": "13780/13780_240_001_E7.webp",
"350": "13780/13780_350_001_E7.webp",
"640": "13780/13780_640_001_E7.webp",
"960": "13780/13780_960_001_E7.webp",
"2400": "13780/13780_2400_001_E7.webp"
},
"Img014": {
"240": "13780/13780_240_014_E7.webp",
"350": "13780/13780_350_014_E7.webp",
"640": "13780/13780_640_014_E7.webp",
"960": "13780/13780_960_014_E7.webp",
"2400": "13780/13780_2400_014_E7.webp"
},
"ImgColorId": 130664,
"Make": "Ford",
"Model": "Mustang",
"Submodel": "Shelby GT350R",
"Type": "Car",
"Year": 2019
}
]
} |
Appending image path to ImgUrlBase
composes a full resource URL, for example:
https://storage.googleapis.com/autosync-vehicles/13780/13780_2400_001_E7.webp
If an image in a given size is not available, null
value will be returned.
Note |
---|
Do not hardcode ImgUrlBase or parts of it as it may change. |
ImgColorId
indicates which color was selected for the images.
D. Selecting a Preferred Color
Image URL query parameters may be combined with f-colorId
in order to specify a desired color.
Example. Vehicle ID 5851 in color ID 130664 (“Velocity Blue”):
Code Block |
---|
|
/vehicles?f-id=5851&i-img032&f-colorId=130664 |
Response:
Code Block |
---|
|
{
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/",
"Vehicles": [{
"Bed": "",
"Body": "Coupe",
"Doors": null,
"Drw": false,
"Id": 5851,
"Img032": {
"240": "13780/13780_240_032_E7.webp",
"350": "13780/13780_350_032_E7.webp",
"640": "13780/13780_640_032_E7.webp",
"960": "13780/13780_960_032_E7.webp",
"2400": "13780/13780_2400_032_E7.webp"
},
"ImgColorId": 130664,
"Make": "Ford",
"Model": "Mustang",
"Submodel": "Shelby GT350R",
"Type": "Car",
"Year": 2019
}
]
} |
If f-colorId
is not specified, the default color of a vehicle will be selected.
E. Available colors
To include a list of available colors for each vehicle, append i-colors
parameter with no value.
Example. A vehicle with a list of its colors:
Code Block |
---|
|
/vehicles?f-id=5851&i-colors |
Response:
Code Block |
---|
|
{
"SwatchUrlBase": "https://storage.googleapis.com/autosync-colors/",
"Vehicles": [{
"Bed": "",
"Body": "Coupe",
"Colors": [{
"Id": 130662,
"Code": "AJ",
"Name": "Need For Green",
"ShortName": "Green",
"Rgb1": "1E7038",
"Rgb2": "",
"Swatch": "1E7038.png",
"Img001": true,
"Img014": true,
"Img032": true
},
...
]
}
]
} |
Appending Swatch
to SwatchUrlBase
composes a complete color swatch URL, e.g.:
Code Block |
---|
https://storage.googleapis.com/autosync-colors/5E5D63.png |
Each object under Colors
includes Img001
, Img014
, and Img032
properties. They signify whether a vehicle image is available for a given angle and in the color.
F. Fitment Data
Info |
---|
See Tire Endpoints section for the definitions of the nomenclature. |
Appending i-fitments
and i-optionalFitments
to the URL includes OE and OE optional fitments. i-fitments
also adds the following fields:
BoltCircle
Bore
BoreRear
- null
if the same as Bore
DefaultChassisId
- if multiple chassis are mapped to the vehicle, this value will represent the closest match
LoadRating
- minimum tire load rating
LoadRatingRear
- null
if the same as LoadRating
LugCount
MaxWheelLoad
- maximum weight the vehicle would exert on each wheel while in operation
Staggered
- use StaggeredWidth and StaggeredDiameter insteadStaggeredWidth
- the vehicle is commonly fitted with staggered width wheels and tires
StaggeredDiameter
- the vehicle is commonly fitted with staggered diameter (and width) wheels and tires
i-tags
includes tags, and niche tags.
Niche tags identify wheels (and their corresponding vehicles) that are made for specific vehicles only. They are used primarily for replica wheels made for specific vehicles.
Each OE fitment is compatible with the vehicle without a need for vehicle modifications (e.g. lift kits).
In addition to OE fitments, plus sizes may be requested with i-plusSizes
parameter. Plus sizes will only be returned if fitments are requested. Plus sizes are intended for the tuning market. They can be used to show the aftermarket wheel fitment sizes, and tire sizes for that wheel size. Plus size notes provide information on special requirements.
Note. Plus sizes must be matched with fitments by ChassisId
.
Each fitment is identified by Id
, has ChassisId
, and is often described by Name
to differentiate it from other options. Typically, a vehicle would have a few fitments sharing the same chassis and multiple plus size for each chassis. Some vehicles may have fitments coming from chassis. This is because sub model alone doesn’t uniquely identify vehicle chassis. For example, vehicle ID 83184 has two chassis:
"ChassisId": 70429, "Name": "19\""
- 2 fitments, 14 plus sizes
"ChassisId": 92428, "Name": "Ceramic Brake Package"
- 1 fitment, 9 plus sizes
Depending on which OE fitment is selected by the end user, either the 14 or the 9 plus sizes may be offered with additional wheel/tire sizes.
Example. A vehicle with OE fitments and plus sizes:
Code Block |
---|
|
/vehicles?f-id=160890&i-fitments&i-plusSizes&i-tags |
Response:
Code Block |
---|
|
{
"Vehicles": [{
"Bed": "",
"Body": "Coupe",
"BoltCircle": 120,
"Bore": 67.1,
"BoreRear": null,
"DefaultChassisId": 90851,
"Doors": null,
"Drw": false,
"Fitments": [{
"AspectRatio": 50,
"AspectRatioRear": null,
"ChassisId": 69829,
"Diameter": null,
"DiameterRear": null,
"Format": "M",
"Id": 69830,
"InchWidth": null,
"InchWidthRear": null,
"MaxOffset": 45,
"MaxOffsetRear": null,
"MinOffset": 32,
"MinOffsetRear": null,
"Name": "",
"Offset": 38,
"OffsetRear": null,
"RimDiameter": 18,
"RimDiameterRear": null,
"RimWidth": 8.5,
"RimWidthRear": null,
"SectionWidth": 245,
"SectionWidthRear": null,
"SpeedRating": "V",
"SpeedRatingRear": null,
"TireSize": "245/50R18",
"TireSizeRear": null
}
],
"Id": 160890,
"LugCount": 5,
"Make": "Chevrolet",
"MaxWheelLoad": 595,
"Model": "Camaro",
"NicheTag": "Camaro",
"PlusSizes": [{
"AspectRatio": 55,
"ChassisId": 69829,
"Diameter": null,
"Format": "M",
"InchWidth": null,
"MaxOffset": 42,
"MinOffset": 35,
"Notes": [],
"RimDiameter": 17,
"RimWidth": 7,
"SectionWidth": 245,
"TireSize": "245/55R17",
"Type": "FR"
},
...
],
"StaggeredStaggeredDiameter": false,
"StaggeredWidth": true,
"Submodel": "LS",
"Tags": [
"Luxury",
"Replica"
],
"Type": "Car",
"Year": 2022
}
]
} |
Format
identifies tire format:
M
- metric, e.g. “245/70R17”; SectionWidth
, AspectRatio
, and RimDiameter
will be specified
F
- flotation, e.g. “37x12.50R17”; Diameter
, RimWidth
, and RimDiameter
will be specified.
Notes
will take a form of an empty array if there are no special requirements for the fitment. Otherwise, a list of strings will be returned, for example:
Code Block |
---|
|
"Notes": [
"Check fitment, possible clearance issues"
], |
Staggered
indicates StaggeredDiameter
and StaggeredWidth indicate whether a vehicle is commonly fitted with staggered wheels (is a staggered fitment candidate). For example 2022 Chevrolet Camaro LS does not come with factory staggered wheels, but is often upgraded to staggered fitment.
G. Wheel coordinates
To include wheel coordinates append i-coordinates=<agnles>
to the URL where <angles>
is a comma-separated list of one or more of the following values:
001
- side angle
014
- rear angle
032
- front angle
Example. A vehicle with coordinates for angles 014 and 032:
Code Block |
---|
|
/vehicles?f-id=10030&i-coordinates=014,032 |
Response:
Code Block |
---|
|
{
"Vehicles": [{
"Bed": "",
"Body": "Sedan",
"Coordinates014": [
[0.46637, 0.54876, 0.54435, 0.76919],
[0.81365, 0.52738, 0.86377, 0.70683]
],
"Coordinates032": [
[0.44379, 0.54001, 0.5214, 0.76462],
[0.79236, 0.51067, 0.84276, 0.69037]
],
"Doors": null,
"Drw": false,
"Id": 10030,
"InImageWheelDiameters": {
"Front": 18,
"FrontMax": 20,
"Rear": 18,
"RearMax": 20
},
"Make": "Audi",
"Model": "A4 Quattro",
"Rotations014": [2, 1],
"Rotations032": [2, 1],
"Submodel": "Ultra sport",
"Type": "Car",
"WheelAngles014": ["0100", "0100"],
"WheelAngles032": ["0100", "0200"],
"Year": 2020
}
]
} |
Wheel coordinates include two sets of four values in the following order:
x1
- top left corner’s x
value
y1
- top left corner’s y
value
x2
- bottom right corner’s x
value
y2
- bottom right corner’s y
value
Each value is expressed in percents, counting vehicle image’s top-left corner as the starting point.
Overlayed front and rear wheel images match original rims best when slightly rotated. Each set of coordinates (for each vehicle angle) will have a corresponding set of rotation values (in degrees):
Code Block |
---|
"Rotations001": [-10, 10],
"Rotations014": [2, 1],
"Rotations032": [2, 1], |
In the example above, the left wheel should be rotated by -10 deg (counterclockwise) and the right wheel should be rotated by 10 deg (clockwise) for vehicle angle 001
.
Wheel angles specify preferred wheel angles for each vehicle angle and each wheel. For example:
Code Block |
---|
|
"WheelAngles032": ["0100", "0200"] |
indicates that the vehicle, when shown in angle 032
, should have wheel angle 0100
layered on top of the first (counting from left to right) wheel and angle 0200
over the second wheel (on the right).
Exceptions:
Dually trucks, being an exception, and will return 0300Front
and 0300Rear
wheel angles for 001
vehicle angle (instead of 0300
for non-dually vehicles):
Code Block |
---|
|
"WheelAngles001": ["0300Front", "0300Rear"] |
Some vehicles my have externally-mounted full size spare wheels. In their case, an additional set of coordinates and associated data will be returned for angle 014
at the end of each array (3rd place):
Code Block |
---|
"Coordinates014": [
[0.48934, 0.63067, 0.55902, 0.84323], - left
[0.82157, 0.60554, 0.86866, 0.7867], - right
[0.16631, 0.35318, 0.23623, 0.56862] - spare
],
"Rotations014": [2, 1, 1.2],
"WheelAngles014": ["0100", "0100", "0200"], |
InImageWheelDiameters
is a list of wheel diameters corresponding with vehicle images:
Front
- front wheel diameter as visible in the vehicle image
FrontMax
- maximum front wheel diameter visually fitting the vehicle image
Rear
- rear wheel diameter as visible in the vehicle image
RearMax
- maximum rear wheel diameter visually fitting the vehicle image
Wheel coordinates are set for Front
and FrontMax
diameters and need to be proportionally scaled up for diameters between Front
and FrontMax
, and between Rear
and RearMax
.
If information for InImageWheelDiameters
is not available, a null
value will be returned:
Code Block |
---|
|
"InImageWheelDiameters": null |
H. Sample Positioning Implementation
Having the following values returned from /vehicles
endpoint:
Code Block |
---|
"ImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/"
...
"Img032": {
...
"2300": "11360/11360_2400_032_CI.webp"
}
...
"Coordinates032": [
[0.44425, 0.5158, 0.5272, 0.74908],
[0.79188, 0.48561, 0.84501, 0.67501]
],
"Rotations032": [2, 1], |
and the following data returned from /wheels
endpoint:
Code Block |
---|
"ImgUrlBase": "https://storage.googleapis.com/autosync-wheels/"
...
"Img0100": "TSW/Blanchimont_Semi-Gloss_Black_5-lug_0100.png",
"Img0200": "TSW/Blanchimont_Semi-Gloss_Black_5-lug_0200.png" |
we can overlay the wheels on top of the vehicles with the following HTML and CSS code:
Code Block |
---|
|
<div class="wrapper">
<img class="vehicle-image" src="https://storage.googleapis.com/autosync-vehicles/11360/11360_2400_032_CI.webp">
<img class="left-wheel" src="https://storage.googleapis.com/autosync-wheels/TSW/Blanchimont_Semi-Gloss_Black_5-lug_0100.png">
<img class="right-wheel" src="https://storage.googleapis.com/autosync-wheels/TSW/Blanchimont_Semi-Gloss_Black_5-lug_0200.png">
</div> |
Code Block |
---|
|
.wrapper {
position: relative;
}
.vehicle-image {
width: 100%;
}
.left-wheel {
position: absolute;
left: 44.425%;
top: 51.58%;
width: calc(52.72% - 44.425%);
height: calc(74.908% - 51.58%);
transform: rotate(2deg);
}
.right-wheel {
position: absolute;
top: 48.561%;
left: 79.188%;
width: calc(84.501% - 79.188%);
height: calc(67.501% - 48.561%);
transform: rotate(1deg);
} |
Live CodePen example:
https://codepen.io/m-autosync/pen/BapjrqY /vehicles/vehicle/
[vehicleId]/accessories
Panel |
---|
panelIconId | atlassian-warning |
---|
panelIcon | :warning: |
---|
bgColor | #FFF0B3 |
---|
|
Beta Functionality – available in development only. |
A list of accessories for a requested vehicle.
Required URI parameters:
Optional query parameters:
Data
i-imgVov
- include accessory VoV images for selected angles together with coordinates and rotation angles; a comma-separated list of one or more of the following values:001
, 014
, 032
i-vehicleImg
- include vehicle images for selected angles; a comma-separated list of one or more of the following values:001
, 014
, 032
i-commonMinScale
- some accessories may require different vehicle scales to fit them on top of vehicle images; the scales may differ not only between vehicles but also vehicle angles (for example a hitch bike rack may require a smaller scale for angle 001
); this parameter includes at least one scale that is the same for all vehicle angles (001
, 014
, 032
) for a given vehicle and accessory; it takes effect only if i-imgVov
is specified
Filters
f-vehicleColorId
- specify vehicle color by ID; takes precedence over f-vehicleColor
f-vehicleColor
- specify vehicle image color: rand
– random color (default), mono
– prefer monochromatic color; f-vehicleColorId
parameter takes precedence if both are specified
Example 1. List accessories with their coordinates and images for all angles for vehicle ID 38050 (2021 Ford F-150 XL Extended Cab):
Code Block |
---|
|
/vehicles/vehicle/38050/accessories?i-imgVov=32&i-vehicleImg=32 |
Response:
Code Block |
---|
|
{
"AccessoriesImgUrlBase": "https://storage.googleapis.com/autosync-accessories/",
"Vehicle": {
"Accessories": [{
"BaseAccessoryIds": [
14
],
"Coordinates032": [{
"Coordinates": [
0.5581,
0.23113,
0.72682,
0.38212
],
"Scale": 0.9
}, {
"Coordinates": [
0.56455,
0.20126,
0.75202,
0.36902
],
"Scale": 1
}
],
"Description": "Racks and Carriers by THULE - Cargo Basket, Rack-Mounted With Net",
"Id": 3,
"ImgVov032": [
"pcw7PhX5J50kfmKFruzyew__.webp",
null
],
"PartNumber": "VJT4Z7855100C",
"Rotation032": 0
}
},
...
]},
"Img032": {
"240": "14890/14890_240_032_E7.webp",
"350": "14890/14890_350_032_E7.webp",
"640": "14890/14890_640_032_E7.webp",
"960": "14890/14890_960_032_E7.webp",
"2400": "14890/14890_2400_032_E7.webp"
}
},
"VehicleImgUrlBase": "https://storage.googleapis.com/autosync-vehicles/"
} |
Base Accessories
Accessories can depend on other accessories to be properly visualized. For example a cargo box may require a roof rack. BaseAccessoryIds
provide a list of IDs of alternative accessories required by the main accessory. Any one from the list may be selected.
Code Block |
---|
|
"BaseAccessoryIds": [
14
], |
The image above shows an accessory (green rectangle) with its dependent accessory (orange rectangle).
Coordinates
Visualizing accessories may require scaling down vehicle images. For each angle (001
, 014
or 032
), there may be a set of different vehicle scales. The biggest, is the maximum scale for which the accessory stays within the canvas of the requested vehicle image. Smaller scales are provided to match other accessories that require smaller scales.
Code Block |
---|
|
"Coordinates001": [{
"Coordinates": [
0.57587,
0.25752,
0.62611,
0.4054
],
"Scale": 0.8
}, {
"Coordinates": [
0.58536,
0.22721,
0.64188,
0.39358
],
"Scale": 0.9
}, ...
], |
In the example above, the accessory requires scaling the vehicle image down to 90% or less. 0.8
coordinates are provided because another accessory returned in the response requires 80% scale. When two accessories are overlaid on a vehicle, the highest common scale should be used.
The values are adjusted for each scale.
Coordinates are provided in four-element arrays: x1, y1, x2, y2:
Code Block |
---|
|
{
"Coordinates": [ - coordinates for vehicle image when scaled to 90%
0.58536, - x1
0.22721, - y1
0.64188, - x2
0.39358 - y2
],
"Scale": 0.9 - vehicle image scale
} |
Top left corner of a vehicle image is the (0,0) point.
In some cases, vehicle scales may be different for different vehicle angles. For example Yakima - Hitch Mounted Snow Sport requires a smaller scale on angle 001
.