BSRO Catalog (v 1.2.1)

BSRO Catalog (v 1.2.1)

OVERVIEW

This document describes Output REST API Functions. Main API methods helps to search actual sizes of tires , search tires by vehicle,  etc.

Methods

#

Api method

Url

description

#

Api method

Url

description

1

Size width(cross)

/api/size

Show all AVAILABLE size of catalog

2

Size Height(aspect)

/api/size/{cross}

Show all AVAILABLE size of catalog, linked to pointed cross size

3

Size Rim

/api/size/{cross}/{aspect}

Show all AVAILABLE size of catalog, linked to pointed cross and aspect sizes

4

Vehicle Years

/api/by_vehicle

Year dropdown. Must have only available vehicles

5

Vehicles Makes by year

/api/by_vehicle/{year}

Make name and id dropdown. Must have only available makes by year

6

Vehicles Models by year and makeid

/api/by_vehicle/{year}/{makeId}

Model name and id dropdown. Must have only available Model by year and makeid

7

Vehicle Submodels by year, makeid and model

/api/by_vehicle/{year}/{makeId}/{modelId}

submodel (trim) id and name  dropdown. Must have only available Model by year,modelid and makeid

8

Search tire by Size

/api/search/by_size

Show tires, that available in catalog, search by size.

9

Search tire by Vehicle

/api/search/by_vehicle

Show tires, that available in catalog, by brand and product number.

10

Search tire by tireName and brand

/api/search/by_brand

Show tires, that available in catalog, search by vehicle.

11

Vehicle Makes List

/api/vehicle/reverse

Show the entire distinct vehicle makes.

12

Vehicle Models List by Make

/api/vehicle/reverse/{friendlyMakeName}

Show the entire distinct vehicle models for a given make.

13

Vehicle YearVehicle Years List by Make and Models List by Make and Model

/api/vehicle/reverse/{friendlyMakeName}/{friendlyModelName}

Show the entire distinct vehicle models for a given make and model.

14

Vehicle Trims/Submodels List by Model, Make and Year

/api/vehicle/reverse/{friendlyMakeName}/{friendlyModelName}/{year}

Show the entire distinct vehicle models for a given make, model and year.

15

Vehicle Id (ACES) by Model, Make, Year and Trim/Submodel

/api/vehicle/reverse/{friendlyMakeName}/{friendlyModelName}/{year}/{friendlySubmodelName}

Show the unique Aces vehicle ID for a given year, make and model and submodel friendly names.

16

Size Rims List

/api/size/reverse

Show the entire distinct vehicle rim diameter values.

17

Size Cross and Aspect List By Rim

/api/size/reverse/{rimSize}

Show the entire distinct tire sizes for the given vehicle rim diameter value by size.

18

Vehicle Fitment Details

/api/vehicle/fitment/{acesVehicleId}

Show vehicle fitment details  for the given Aces Vehicle Id.

19

Tires by Category

/api/tire/category/{category}

Show tire models by category.

20

Vehicles by Category

/api/vehicle/category/{category}

Show vehicle make and model list by vehicle type.

Size dictionary must help to know actual sizes from database; it must return known sizes linked one to other;

Search must return known tires, used brand & part number;

Search by size must return size id & founded tires;

 

METHODS DESCRIPTION

 

1. Size Widths (Cross Sections)

Explanation:

Show all available Cross sizes for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/size

EGhttps://bsro.tireconnect.ca/api/size

{ "statusCode": "SUCCESSFUL", "payload": { "cross": [ { "value": "155", "text": "155" }, { "value": "165", "text": "165" }, { "value": "175", "text": "175" }, { "value": "185", "text": "185" }, { "value": "195", "text": "195" }, { "value": "205", "text": "205" }, { "value": "215", "text": "215" }, { "value": "225", "text": "225" }, { "value": "235", "text": "235" }, { "value": "245", "text": "245" }, { "value": "255", "text": "255" }, { "value": "265", "text": "265" }, { "value": "275", "text": "275" }, { "value": "285", "text": "285" }, { "value": "295", "text": "295" }, { "value": "305", "text": "305" }, { "value": "315", "text": "315" }, { "value": "325", "text": "325" }, { "value": "30", "text": "30" }, { "value": "31", "text": "31" }, { "value": "32", "text": "32" }, { "value": "33", "text": "33" }, { "value": "35", "text": "35" }, { "value": "37", "text": "37" } ] } }

Output description

value

path

comment

value

path

comment

statusCode

root.statusCode

=SUCCESSFUL

payload

root.payload

NODE

cross

root.payload.cross

NODE

value

root.payload.cross[].value

This is an integer value represented as string. 9.5 will be 950

text

root.payload.cross[].text

This is a text value. Something, that may be shown in dropdownlistbox.

Note:

 All data actual for our catalog. For example if we do not have any tire with 155 cross size we won’t show it. Output sorted by text.



2. Size Heights (Aspect Ratios)

Explanation:

Show all available Aspect sizes for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/size/cross

EGhttps://bsro.tireconnect.ca/api/size/215

Request Parameters

Parameter(s)

example value and explanation if needed

Required

Parameter(s)

example value and explanation if needed

Required

cross

215 (Cross Section).  input

YES

{ "statusCode": "SUCCESSFUL", "payload": { "aspect": [ { "value": "35", "text": "35" }, { "value": "40", "text": "40" }, { "value": "45", "text": "45" }, { "value": "50", "text": "50" }, { "value": "55", "text": "55" }, { "value": "60", "text": "60" }, { "value": "65", "text": "65" }, { "value": "70", "text": "70" }, { "value": "75", "text": "75" }, { "value": "85", "text": "85" } ] } }

Output description

value

path

comment

value

path

comment

statusCode

root.statusCode

=SUCCESSFUL

payload

root.payload

NODE

aspect

root.payload.aspect

NODE

value

root.payload.aspect[].value

This is an integer value represented as string. 9.5 will be 950

text

root.payload.aspect[].text

This is a text value. Something, that may be shown in dropdownlistbox.

Note:

All data actual for our catalog. For example if we do not have any tire with 70 aspect size we won’t show it.

Exception:

if nothing found : {"statusCode":"VALIDATION_ERROR","message":"Sorry, there is no information available on the requested product."}

3. Size Rims

Explanation:

To show all available Rims sizes for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/size/cross/aspect

EGhttps://bsro.tireconnect.ca/api/size/215/60

Request Parameters

Parameter(s)

example value and explanation if needed

Required

Parameter(s)

example value and explanation if needed

Required

cross

215 (Cross Section).  input

YES

aspect

60 (Aspect Ratio). input

YES

{ "statusCode": "SUCCESSFUL", "payload": { "rim": [ { "value": "15", "text": "15" }, { "value": "16", "text": "16" }, { "value": "17", "text": "17" } ] } }

Output description

value

path

comment

value

path

comment

statusCode

root.statusCode

=SUCCESSFUL

payload

root.payload

NODE

rim

root.payload.aspect

NODE

value

root.payload.rim[].value

This is an integer value represented as string. 9.5 will be 950

text

root.payload.rim[].text

This is a text value. Something, that may be shown in dropdownlistbox.

Note:

 All data actual for our catalog. For example if we do not have any tire with 15 rim size we won’t show it.

Exception:

if nothing found : {"statusCode":"VALIDATION_ERROR","message":"Sorry, there is no information available on the requested product."}

4. Vehicle Years

Explanation:

Show all available vehicle years for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/by_vehicle

EG. https://bsro.tireconnect.ca/api/by_vehicle

{ "statusCode": "SUCCESSFUL", "payload": { "year": [ "2020", "2019", "2018", "2017", "2016", "2015", "2014", "2013", "2012", "2011", "2010", "2009", "2008", "2007", "2006", "2005", "2004", "2003", "2002", "2001", "2000", "1999", "1998", "1997", "1996", "1995", "1994", "1993", "1992", "1991", "1990", "1989", "1988", "1987", "1986", "1985", "1984", "1983" ] } }

Output description

Field name(required data)

path

comment

link

Field name(required data)

path

comment

link

statusCode

root.statusCode

Const = “SUCCESSFUL”

 

payload

root.payload

NODE

 

"year"

root.payload.year

NODE

 

array

root.payload.year[]

model_year

MODEL_YEAR

Note:

Service used to get vehicles model Year. Tire search widget will use this service to populate the year drop down.

 

5. Vehicles Makes by year

Explanation:

To show all available vehicles make by year for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/by_vehicle/{year}

EGhttps://bsro.tireconnect.ca/api/by_vehicle/2010

Request Parameters

Parameter(s)

example value and explanation if needed

Required

Parameter(s)

example value and explanation if needed

Required

year

2010

YES

{ "statusCode": "SUCCESSFUL", "payload": { "make": [ { "makeId": "58", "name": "Acura", "friendlyName": "acura" }, { "makeId": "77", "name": "Aston Martin", "friendlyName": "aston-martin" }, { "makeId": "73", "name": "Audi", "friendlyName": "audi" }, { "makeId": "69", "name": "Bentley", "friendlyName": "bentley" }, { "makeId": "31", "name": "BMW", "friendlyName": "bmw" }, { "makeId": "95", "name": "Bugatti", "friendlyName": "bugatti" }, { "makeId": "45", "name": "Buick", "friendlyName": "buick" }, { "makeId": "46", "name": "Cadillac", "friendlyName": "cadillac" }, { "makeId": "47", "name": "Chevrolet", "friendlyName": "chevrolet" }, { "makeId": "39", "name": "Chrysler", "friendlyName": "chrysler" }, ..................... ] } }

Output description

Field name(required data)

path

comment

link

Field name(required data)

path

comment

link

statusCode

root.statusCode

Const = “SUCCESSFUL”

 

payload

root.payload

NODE

 

"make"

root.payload.make

NODE

 

"makeId"

root.payload.make[].makeId

string

MAKE_ID

"name"

root.payload.make[].name

text

MAKE_NAME

“friendlyName”

root.payload.make[].friendlyName

text

Generated value based on “name”

Note:

Service used to get vehicle make Id’s and Names by year. Tire search widget will use this service to populate the make drop down.

6. Vehicles Models by year and makeId

Explanation:

To show all available vehicles models by year and make for drop down list.

Action: GET

URL: https://bsro.tireconnect.ca/api/by_vehicle/{year}/{makeId}

EGhttps://bsro.tireconnect.ca/api/by_vehicle/2010/47

Request Parameters

Parameter(s)

example value and explanation if needed

Required

Parameter(s)

example value and explanation if needed

Required

year

2010

YES

makeId

47

YES

{ "statusCode": "SUCCESSFUL", "payload": { "model": [ { "modelId": "2857", "makeId": "47", "name": "Avalanche", "friendlyName": "avalanche" }, { "modelId": "2418", "makeId": "47", "name": "Aveo", "friendlyName": "aveo" }, { "modelId": "6804", "makeId": "47", "name": "Aveo5", "friendlyName": "aveo5" }, { "modelId": "432", "makeId": "47", "name": "Camaro", "friendlyName": "camaro" }, ............... ] } }

Output description

Field name(required data)

path

comment

link

Field name(required data)

path

comment

link

statusCode

root.statusCode

Const = “SUCCESSFUL”

 

payload

root.payload

NODE

 

"model"

root.payload.model

NODE

 

"modelId"