Supplier Ordering Integration Guide
- 1 Main settings
- 2 Tire Search
- 3 Supplier Ordering
- 3.1 Authorization
- 3.2 Tire Stock
- 3.3 Supplier fields
- 3.3.1 Single tire
- 3.3.2 Multi-tire
- 3.4 preOrderingInfo
- 3.4.1 Single tire order
- 3.4.2 Multi-tire order
- 3.5 Order create method
- 3.6 Order Status
Main settings
Here is the API key which allows you to test ordering
05198c64d142efd851ef15e54fdd917d
It provides you access to the following location ID:
12674
Also you will need a PIN code to authorize. PIN code is different for every location.
For location mentioned above you can use this one:
416905
*Please note, this pin code needs to be entered by the user, it can not be hardcoded.
Tire Search
You can make any kind of search, for example using search By Size method
Please make sure you are using DEV environment base URL:
https://devdemo.tireconnect.ca
Request Example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/v2/tire/search/bySize?key=05198c64d142efd851ef15e54fdd917d' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'location_id=12674' \
--data-urlencode 'width=195' \
--data-urlencode 'height=65' \
--data-urlencode 'rim=15'
Suppliers connected to location
He highly recommend to use this method to get common information about specific supplier in ordering
array. Please see description below response example.
Request example
curl --request GET 'https://devdemo.tireconnect.ca/api/v2/location/12674/suppliers?key=05198c64d142efd851ef15e54fdd917d'
Response example
{
"notice": "Success",
"data": [
{
"id": "usautoforce",
"name": "U.S. AutoForce",
"cid": "AF",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "per_branch",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": false,
"max_tires_per_order": 25
},
"replenishment": null
},
{
"id": "km",
"name": "K&M",
"cid": "KM",
"is_internal": false,
"calculate_prices": true,
"product_availability": null,
"ordering": {
"ordering_type": "base",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": false,
"max_tires_per_order": 50
},
"replenishment": null
},
{
"id": "tirehub",
"name": "TireHub",
"cid": "TH",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "per_branch",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": true,
"max_tires_per_order": 10
},
"replenishment": null
},
{
"id": "atdntd",
"name": "ATD/NTD",
"cid": "ATD",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "base",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": true,
"max_tires_per_order": 25
},
"replenishment": null
},
{
"id": "communitywholesaletire",
"name": "Community Wholesale Tire",
"cid": "CWTI",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "base",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": false,
"max_tires_per_order": 25
},
"replenishment": null
},
{
"id": "discountgroup",
"name": "Discount Group",
"cid": "LI-TEST",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": null,
"replenishment": null
},
{
"id": "trwholesale",
"name": "TR Wholesale",
"cid": "TR",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "base",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": true,
"max_tires_per_order": 12
},
"replenishment": null
},
{
"id": "wholesaleinc",
"name": "Wholesale Inc",
"cid": "CWTI",
"is_internal": false,
"calculate_prices": false,
"product_availability": null,
"ordering": {
"ordering_type": "disabled",
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"dependence_quantity": false,
"max_tires_per_order": 25
},
"replenishment": null
}
]
}
*Please note that stock method filters accept id
param value.
Useful response parameters
ordering_type | Show it branch should be used in requests | base - branch shouldn’t be used in requests null & disabled - you can’t order from this supplier right now |
---|---|---|
multiple_branch_ordering | Shows if supplier support multiple branch ordering | true - you can send tires from different branches in one order |
multiple_tires_ordering | Shows if you can send several tires in one order | true - you can send several tires in one order |
dependence_quantity | Parameter that tells you that accepted fields or it’s values can depend on tire quantity. | Some suppliers may vary accepted fields and their values based on the tire availability. So in case this param = true we highly recommend calling fields method every time user change quantity. |
max_tires_per_order | Shows you maximum sku quantity that can be placed into single order. null - no limit |
|
Supplier Ordering
Authorization
GET /api/location/auth
To be able to order you should authorize and get token.
Use Location Authorize method (/api/location/auth) which requires location, api key and pin code.
Request Example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/location/auth' \
--header 'Content-Type: application/json' \
--data-raw '{ "dealer_location_id":12674,
"pin_code":416905,
"key":"05198c64d142efd851ef15e54fdd917d"
}'
Request parameters
dealer_location_id | Dealer location |
---|---|
pin_code | Pin Code |
key | API key |
Response Example
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE1NjA1MjY1ODl9.uEjbXiu1EoZ5E9IyXDz4JEVySY4C_C5mYXCC6SsGTwOCXyU3tHJU79FJkh5X2uMUlJttIQwoyC1HqljDl7_zIj-6XxvT-ismKDmdW7z7ZqrsGi6N3VACx9Rt1o3aJvBdDkSw4QfqhE8DZlLsYDH-TIGEOUP6E462Rfxn8bE149g",
"expire": 900
}
Response Parameters
token | Authorisation token |
---|---|
expire | expire time |
*Please note, token will expire in 900 seconds after it was issued. You need to get new token after that time.
Tire Stock
GET /api/supplier/stock
To make order first of all you should check if it supports ordering and which fields you should send additionally when making orders.
Request example
curl --location --request GET 'https://devdemo.tireconnect.ca/api/supplier/stock?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE2NDc4NzM2NDV9.blt_tYp-E4Vt7NtwdRRIJ96BkAqwRuksDJS00e4-nW1SeNqYAwTV5mHU_J-r03VkF-7wdaeE73Eb8Aq2-QbPnY9OvzXJl-bIDQNf_KbGgzfjpFgt4b8O6ia6RdaIK1h8T_5gvviGPNgBRpbSLbY__dYSmdXOujw_pYZ6qtuLt2s&tire_id=S2VsbHl8fDM1Njk5MDA3Nnx8dGlyZWh1Ynx8MTI2NzR8fEI='
Request parameters
token | Authorisation token |
---|---|
tire_id | Tire ID required |
Response example
{
"stock": [
{
"supplier": {
"name": "km",
"nice_name": "K&M",
"dependence_quantity": false,
"dependence_fields": [
"DeliveryMethod"
],
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"has_ordering_fields": true
},
"branches": [
{
"branch": "Alternate",
"id": "Alternate",
"quantity": 5,
"name": "Alternate ",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "National",
"id": "National",
"quantity": 27,
"name": "National",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
}
],
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8a218fDEyNjc0fHxC",
"price": 177,
"quantity": 32,
"is_in_stock": false,
"part_number_original": "003193",
"cost": 152,
"ordering_type": "base"
},
{
"supplier": {
"name": "maxfinkelstein",
"nice_name": "Max Finkelstein",
"dependence_quantity": true,
"dependence_fields": [],
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"has_ordering_fields": true
},
"branches": [
{
"branch": "Local",
"id": "Local",
"quantity": 2,
"name": "Local - Promised Ship Date: 10/12/2023",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "Other_2023_10_12",
"id": "Other_2023_10_12",
"quantity": 6,
"name": "Next Day - Promised Ship Date: 10/12/2023",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
}
],
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8bWF4Zmlua2Vsc3RlaW58fDEyNjc0fHxC",
"price": 139.13,
"quantity": 8,
"is_in_stock": false,
"part_number_original": "003193",
"cost": 139.13,
"ordering_type": "base"
},
{
"supplier": {
"name": "tirehub",
"nice_name": "TireHub",
"dependence_quantity": true,
"dependence_fields": [],
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"has_ordering_fields": true
},
"branches": [
{
"branch": "100",
"id": "100",
"quantity": 9,
"name": "TLC 100 RALEIGH (10/12/2023 05:00pm)",
"ship_data": "a. Local customer - based on next available cut-off (Please see in B2B portal). \nb. Within 200 miles, before 2:30 PM in a local time zone on a business day - next business day.\nc. 300 miles, before 2:30 P.M local time business day 2 business days.\ne. Everything else - 3-5 business days.\n\nFor orders made not on a business day, 1 business day is added to projected delivery. 1 day added for Freight orders on Saturdays",
"address": {
"address1": "900 AVIATION PKWY",
"address2": null,
"postal_code": "27560-9224",
"city": "MORRISVILLE",
"province": "NC",
"country": null
},
"contact": {
"name": null,
"first_name": null,
"last_name": null,
"email": "tlc100raleigh@tirehub.com",
"alt_email": null,
"phone": "919-674-5026",
"alt_phone": null
},
"estimated_delivery_date": "2023-10-12",
"estimated_delivery_time": "17:00:00",
"timezone": null,
"distance": 40,
"distance_unit": "ml"
},
{
"branch": "104",
"id": "104",
"quantity": 3,
"name": "TLC 104 JACKSONVILLE (10/17/2023 05:00pm)",
"ship_data": "a. Local customer - based on next available cut-off (Please see in B2B portal). \nb. Within 200 miles, before 2:30 PM in a local time zone on a business day - next business day.\nc. 300 miles, before 2:30 P.M local time business day 2 business days.\ne. Everything else - 3-5 business days.\n\nFor orders made not on a business day, 1 business day is added to projected delivery. 1 day added for Freight orders on Saturdays",
"address": {
"address1": "4101 BULLS BAY HWY",
"address2": null,
"postal_code": "32219-0000",
"city": "JACKSONVILLE",
"province": "FL",
"country": null
},
"contact": {
"name": null,
"first_name": null,
"last_name": null,
"email": "tlc104JACKSONVILLE@tirehub.com",
"alt_email": null,
"phone": "904-693-8576",
"alt_phone": null
},
"estimated_delivery_date": "2023-10-17",
"estimated_delivery_time": "17:00:00",
"timezone": null,
"distance": 418,
"distance_unit": "ml"
},
{
"branch": "103",
"id": "103",
"quantity": 17,
"name": "TLC 103 TAMPA (10/18/2023 05:00pm)",
"ship_data": "a. Local customer - based on next available cut-off (Please see in B2B portal). \nb. Within 200 miles, before 2:30 PM in a local time zone on a business day - next business day.\nc. 300 miles, before 2:30 P.M local time business day 2 business days.\ne. Everything else - 3-5 business days.\n\nFor orders made not on a business day, 1 business day is added to projected delivery. 1 day added for Freight orders on Saturdays",
"address": {
"address1": "4942 JOANNE KEARNEY BLVD",
"address2": null,
"postal_code": "33619-0000",
"city": "TAMPA",
"province": "FL",
"country": null
},
"contact": {
"name": null,
"first_name": null,
"last_name": null,
"email": "tlc103TAMPA@tirehub.com",
"alt_email": null,
"phone": "813-621-3103",
"alt_phone": null
},
"estimated_delivery_date": "2023-10-18",
"estimated_delivery_time": "17:00:00",
"timezone": null,
"distance": 591,
"distance_unit": "ml"
}
],
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8dGlyZWh1Ynx8MTI2NzR8fEI=",
"price": 137,
"quantity": 29,
"is_in_stock": false,
"part_number_original": "003193",
"cost": 137,
"ordering_type": "per_branch"
},
{
"supplier": {
"name": "trwholesale",
"nice_name": "TR Wholesale",
"dependence_quantity": true,
"dependence_fields": [
"deliveryMethod"
],
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"has_ordering_fields": true
},
"branches": [
{
"branch": "SB",
"id": "SB",
"quantity": 6,
"name": "South Bend, IN",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "MN",
"id": "MN",
"quantity": 6,
"name": "Roseville, MN",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
}
],
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"price": 128.75,
"quantity": 68,
"is_in_stock": false,
"part_number_original": "003193",
"cost": 128.75,
"ordering_type": "base"
}
]
}
Response parameters
supplier |
|
|
---|---|---|
name | Supplier Name |
|
nice_name | Supplier Nice Name |
|
dependence_quantity | Parameter that tells you that accepted fields or it’s values can depend on tire quantity. | Some suppliers may vary accepted fields and their values based on the tire availability. So in case this param = true we highly recommend calling fields method every time user change quantity. |
dependence_fields | List of fields and it’s values that can be changes according to selected values | If some fields returned in this array, fields or its possible values list can be adjusted when you change the value of these fields |
multiple_branch_ordering | Shows if supplier support multiple branch ordering | true - you can send tires from different branches in one order |
multiple_tires_ordering | Shows if you can send several tires in one order | true - you can send several tires in one order |
has_ordering_fields | Shows if you should send some fields in order | true - fields should be send in order |
branches | Array of supplier branches |
|
branch | Branch id | Used for old implementations. Deprecated |
id | Branch id |
|
quantity | Available qty in branch |
|
name | Branch name |
|
ship_data | Some shipping rules provided by the supplier |
|
address | Warehouse address |
|
contact | Warehouse contact details |
|
estimated_delivery_date | Estimated delivery date provided by the supplier |
|
estimated_delivery_time | Estimated delivery time provided by the supplier |
|
timezone | Timezone |
|
distance | Distance from warehouse (provided by the supplier) |
|
distance_unit | Distance unit |
|
tire_id | Tire ID |
|
price | Tire price |
|
quantity | Tire available quantity |
|
is_in_stock | Inner fields, not used for direct ordering |
|
part_number_original | Supplier part number |
|
cost | Tire cost |
|
ordering_type | Show it branch should be used in requests | base - branch shouldn’t be used in requests |
*Please note that stock method will return data for all suppliers that has this tire available. In case you need only one particular you can use supplier filter in this method.
Request example filtered by supplier
curl --location --request GET 'https://devdemo.tireconnect.ca/api/supplier/stock?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE2NDc4Nzk4NTR9.oeJH2c8_kLXta3ZRiKzQJwqGd1tEZj-RiU9LFuIN-juqYdPoQfjfvcYO6fKoh2kJYXJJZc6NyZuYiGptFsaA_aDecw3OvX7u9FnwIKGtooi74rcg7ObVkMXN2iwaWTbobVseqsC0B-iVyIt7dRAm7Yh6uiAJ_xEm_dC5CrdMHvA&tire_id=S2VsbHl8fDM1NjI3MjAzMHx8a218fDEyNjc0fHxC&suppliers=tirehub'
Response example filtered by supplier
{
"stock": [
{
"supplier": {
"name": "trwholesale",
"nice_name": "TR Wholesale",
"dependence_quantity": true,
"dependence_fields": [
"deliveryMethod"
],
"multiple_branch_ordering": false,
"multiple_tires_ordering": true,
"has_ordering_fields": true
},
"branches": [
{
"branch": "SB",
"id": "SB",
"quantity": 6,
"name": "South Bend, IN",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "MN",
"id": "MN",
"quantity": 6,
"name": "Roseville, MN",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "DE",
"id": "DE",
"quantity": 4,
"name": "New Castle, DE",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "AT",
"id": "AT",
"quantity": 7,
"name": "Atlanta, GA",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "SL",
"id": "SL",
"quantity": 12,
"name": "Shreveport, LA",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "GA",
"id": "GA",
"quantity": 5,
"name": "Midway, GA",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "F1",
"id": "F1",
"quantity": 4,
"name": "Davie, FL",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "NV",
"id": "NV",
"quantity": 12,
"name": "McCarran, NV",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
},
{
"branch": "C1",
"id": "C1",
"quantity": 12,
"name": "Santa Fe Springs, CA",
"ship_data": null,
"address": null,
"contact": null,
"estimated_delivery_date": null,
"estimated_delivery_time": null,
"timezone": null,
"distance": null,
"distance_unit": null
}
],
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"price": 128.75,
"quantity": 68,
"is_in_stock": false,
"part_number_original": "003193",
"cost": 128.75,
"ordering_type": "base"
}
]
}
Supplier fields
GET /api/supplier/{supplierName}/fields
Single tire
Request example
curl --location 'https://devdemo.tireconnect.ca/api/supplier/tirehub/fields?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE3MDU2MDI1Nzl9.CzfnKfB5ShTMeokeiEqXgG7QSXyhIFIPvRclGtIvcu9X801XUwKsFcJxUxZS4nPVC1jT5L6aObtrHAs2XvEOgZG-fS810RA5OOF0l6fT95YxvaI2adpLIZwGFk-oKr5IdkDDZX7X_0HswfEaHCUja_BFk6ldvVU7kELUnFVroqQ&tire_id=U3RhcmZpcmV8fDE2MjAwNDAwMXx8dGlyZWh1Ynx8MTI2NzR8fEI%3D&quantity=1&branch=100'
Request parameters
supplierName | Supplier’s name supplier.name from /api/supplier/stock method or supplier.id from api/v2/location/:location_id:/suppliers method |
|
---|---|---|
tire_id | Tire ID |
|
quantity | Tire quantity |
|
branch | Tire branch | Some suppliers may vary accepted fields and their values based on the selected branch. |
Response example
[
{
"tag": "input",
"label": "PO number",
"description": "Purchase Order Number",
"attributes": {
"name": "po_number",
"required": true,
"type": "text",
"maxlength": 20,
"minlength": 3
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "textarea",
"label": "Delivery Instructions",
"description": "Shipping and Delivery Instructions",
"attributes": {
"name": "deliveryInstructions",
"required": false,
"maxlength": 255
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "select",
"label": "Delivery method",
"description": "Delivery Method",
"attributes": {
"name": "deliveryMethod",
"required": true
},
"default": "UPS",
"hidden": false,
"required_for_pricing": true,
"options": [
{
"value": "UPS",
"text": "UPS Ground",
"disabled": false
},
{
"value": "FE2",
"text": "FedEx 2DAY",
"disabled": false
},
{
"value": "2DA",
"text": "UPS 2nd Day Air",
"disabled": false
},
{
"value": "CPU",
"text": "Customer Pick-Up",
"disabled": false
}
]
},
{
"tag": "select",
"label": "Sales person",
"description": null,
"attributes": {
"name": "salesPerson",
"required": false
},
"default": "",
"hidden": false,
"required_for_pricing": false,
"options": [
{
"value": "",
"text": "",
"disabled": false
},
{
"value": "AJ",
"text": "AJ",
"disabled": false
}
]
}
]
Every item of response describes a fields which required for order or can be additionally sent with the order.
NOTE: Also for “select” type of fields, options list was extended, disabled property introduced.
When disabled is true, this option is not allowed to be passed, but we recommend to show it to the user, but as an unavailable option, as soon as for another quantity amount, it could be available. If disabled is false, option is available as earlier.
Response Example
[
{
"tag": "input",
"label": "PO number",
"description": "Purchase Order Number",
"attributes": {
"name": "po_number",
"required": true,
"type": "text",
"maxlength": 20,
"minlength": 3
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "textarea",
"label": "Delivery Instructions",
"description": "Shipping and Delivery Instructions",
"attributes": {
"name": "deliveryInstructions",
"required": false,
"maxlength": 255
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "select",
"label": "Delivery method",
"description": "Delivery Method",
"attributes": {
"name": "deliveryMethod",
"required": true
},
"default": "UPS",
"hidden": false,
"required_for_pricing": true,
"options": [
{
"value": "UPS",
"text": "UPS Ground",
"disabled": false
},
{
"value": "FE2",
"text": "FedEx 2DAY",
"disabled": true
},
{
"value": "2DA",
"text": "UPS 2nd Day Air",
"disabled": true
},
{
"value": "CPU",
"text": "Customer Pick-Up",
"disabled": false
}
]
},
{
"tag": "select",
"label": "Sales person",
"description": null,
"attributes": {
"name": "salesPerson",
"required": false
},
"default": "",
"hidden": false,
"required_for_pricing": false,
"options": [
{
"value": "",
"text": "",
"disabled": false
},
{
"value": "AJ",
"text": "AJ",
"disabled": false
}
]
}
]
Multi-tire
Request example
curl --location 'https://devdemo.tireconnect.ca/api/supplier/tirehub/fields?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE3MDU2MDI1Nzl9.CzfnKfB5ShTMeokeiEqXgG7QSXyhIFIPvRclGtIvcu9X801XUwKsFcJxUxZS4nPVC1jT5L6aObtrHAs2XvEOgZG-fS810RA5OOF0l6fT95YxvaI2adpLIZwGFk-oKr5IdkDDZX7X_0HswfEaHCUja_BFk6ldvVU7kELUnFVroqQ&tire_ids=U3RhcmZpcmV8fDE2MjAwNDAwMXx8dGlyZWh1Ynx8MTI2NzR8fEI%3D%2CUHJpbnh8fDMzMjUyNTA2MDN8fHRpcmVodWJ8fDEyNjc0fHxC&quantities=2%2C2&branches=100%2C100'
Request parameters
supplierName | Supplier’s name
|
---|---|
tire_ids | Tire IDs required |
quantities | Tire quantities optional if dependence_quantity = false |
branches | Tire branches optional if ordering_type not equal to "per_branch" |
Response
[
{
"tag": "input",
"label": "PO number",
"description": "Purchase Order Number",
"attributes": {
"name": "po_number",
"required": true,
"type": "text",
"maxlength": 20,
"minlength": 3
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "textarea",
"label": "Delivery Instructions",
"description": "Shipping and Delivery Instructions",
"attributes": {
"name": "deliveryInstructions",
"required": false,
"maxlength": 255
},
"default": null,
"hidden": false,
"required_for_pricing": false
},
{
"tag": "select",
"label": "Delivery method",
"description": "Delivery Method",
"attributes": {
"name": "deliveryMethod",
"required": true
},
"default": "UPS",
"hidden": false,
"required_for_pricing": true,
"options": [
{
"value": "UPS",
"text": "UPS Ground",
"disabled": false
},
{
"value": "FE2",
"text": "FedEx 2DAY",
"disabled": false
},
{
"value": "2DA",
"text": "UPS 2nd Day Air",
"disabled": false
},
{
"value": "CPU",
"text": "Customer Pick-Up",
"disabled": false
}
]
},
{
"tag": "select",
"label": "Sales person",
"description": null,
"attributes": {
"name": "salesPerson",
"required": false
},
"default": "",
"hidden": false,
"required_for_pricing": false,
"options": [
{
"value": "",
"text": "",
"disabled": false
},
{
"value": "AJ",
"text": "AJ",
"disabled": false
}
]
}
]
preOrderingInfo
POST /api/supplier/order/preOrderingInfo
This method will show you actual tire availability and depending on requested qty/delivery method/requested date/ect
Single tire order
Request example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/supplier/order/preOrderingInfo' \
--header 'Content-Type: application/json' \
--data-raw '{
"tire_id":"R2VuZXJhbHx8MTU1MDI3NjAwMDB8fGttfHwxMjY3NHx8Qg==",
"quantity":1,
"token":"SUBSTITUTE_YOUR_TOKEN_HERE",
"branch": "101"
"supplier_fields": {
"po_number": "TEST PO",
"DeliveryMethod": "Pickup"
}
}'
Request parameters
token string | Authorisation token required |
---|---|
tire_id string | Tire ID required |
quantity | Tire Quantity |
supplier_fields | Array of supplier filelds |
branch | Supplier branch |
Response example
{
"tires": [
{
"tire_id": "UHJpbnh8fDM1MjEyNTA3MDN8fHRpcmVodWJ8fDEyNjc3fHxC",
"branch": "100",
"cost": 50.99,
"fet": null,
"fet_source": "tireconnect",
"quantity": 4,
"quantity_available": 190,
"stock_available": [
{
"branch": "100",
"id": "100",
"branch_type": "primary",
"quantity": 190,
"name": "TLC 100 RALEIGH (04\/01\/2024 03:00pm)",
"ship_data": "a. Local customer - based on next available cut-off (Please see in B2B portal). \nb. Within 200 miles, before 2:30 PM in a local time zone on a business day - next business day.\nc. 300 miles, before 2:30 P.M local time business day 2 business days.\ne. Everything else - 3-5 business days.\n\nFor orders made not on a business day, 1 business day is added to projected delivery. 1 day added for Freight orders on Saturdays",
"address": {
"address1": "900 AVIATION PKWY",
"address2": null,
"postal_code": "27560-9224",
"city": "MORRISVILLE",
"province": "NC",
"country": null
},
"contact": {
"name": null,
"first_name": null,
"last_name": null,
"email": "tlc100raleigh@tirehub.com",
"alt_email": null,
"phone": "919-674-5026",
"alt_phone": null
},
"delivery_date_time": {
"date": "2024-04-01",
"time": "15:00:00",
"timezone": "-04:00",
"notes": null
},
"cutoff": {
"date": "2024-04-01",
"time": "11:00:00",
"timezone": "-04:00"
},
"distance": 40,
"distance_unit": "ml"
}
]
}
],
"cost": 50.99,
"quantity": 4,
"quantity_available": 190,
"stock_available": [
{
"branch": "100",
"id": "100",
"branch_type": "primary",
"quantity": 190,
"name": "TLC 100 RALEIGH (04\/01\/2024 03:00pm)",
"ship_data": "a. Local customer - based on next available cut-off (Please see in B2B portal). \nb. Within 200 miles, before 2:30 PM in a local time zone on a business day - next business day.\nc. 300 miles, before 2:30 P.M local time business day 2 business days.\ne. Everything else - 3-5 business days.\n\nFor orders made not on a business day, 1 business day is added to projected delivery. 1 day added for Freight orders on Saturdays",
"address": {
"address1": "900 AVIATION PKWY",
"address2": null,
"postal_code": "27560-9224",
"city": "MORRISVILLE",
"province": "NC",
"country": null
},
"contact": {
"name": null,
"first_name": null,
"last_name": null,
"email": "tlc100raleigh@tirehub.com",
"alt_email": null,
"phone": "919-674-5026",
"alt_phone": null
},
"delivery_date_time": {
"date": "2024-04-01",
"time": "15:00:00",
"timezone": "-04:00",
"notes": null
},
"cutoff": {
"date": "2024-04-01",
"time": "11:00:00",
"timezone": "-04:00"
},
"distance": 40,
"distance_unit": "ml"
}
],
"total_cost": 203.96,
"total_fet": 0,
"shipping_cost": null,
"vendor_total_order": 214,
"total_order": 203.96,
"delivery_date_time": null
}
Response parameters
tire_id | Tire ID |
---|---|
branch | Branch ID |
cost | Tire Cost |
fet | FET |
quantity | Selected tire quantity |
quantity_available | Available quantity for this tire |
stock_available | List of branches with quantities where this tire currently available |
branch | Branch ID. Deprecated |
id | Branch ID |
quantity | Quantity available in this branch |
name | Branch name |
ship_data | Some shipping rules provided by the supplier |
address | Warehouse address |
contact | Warehouse contact details |
delivery_date_time | Estimated delivery date & time provided by the supplier |
cutoff | Cutoff |
distance | Distance from warehouse (provided by the supplier) |
distance_unit | Distance unit |
cost | Tire cost |
quantity | Selected quantity |
quantity_available | Available quantity |
total_cost | Total cost of tires in order |
total_fet | Total FET |
shipping_cost | Total shipping cost |
vendor_total_order | Total order counted by vendor. Can be null in case vendor don’t provide this information |
total_order | Total order counted by TireConnect |
delivery_date_time | Estimated delivery date & time provided by the supplier |
Multi-tire order
Request example
curl --location 'https://devdemo.tireconnect.ca/api/supplier/order/preOrderingInfo' \
--header 'Content-Type: application/json' \
--data '{
"tires": [
{
"tire_id": "U3RhcmZpcmV8fDE2MjAwNDAwMXx8dGlyZWh1Ynx8MTI2NzR8fEI=",
"quantity": 2
},
{
"tire_id": "UHJpbnh8fDMzMjUyNTA2MDN8fHRpcmVodWJ8fDEyNjc0fHxC",
"quantity": 2
}
],
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyNjc0LCJleHAiOjE3MDU2MDI1Nzl9.CzfnKfB5ShTMeokeiEqXgG7QSXyhIFIPvRclGtIvcu9X801XUwKsFcJxUxZS4nPVC1jT5L6aObtrHAs2XvEOgZG-fS810RA5OOF0l6fT95YxvaI2adpLIZwGFk-oKr5IdkDDZX7X_0HswfEaHCUja_BFk6ldvVU7kELUnFVroqQ",
"supplier_fields": {
"po_number": "TEST PO",
"orderType": "Delivery"
}
}'
Request parameters
token string | Authorisation token required |
---|---|
tires | Array of tires with quantities |
tires.tire_id string | Tire ID required |
tires.quantity | Tire Quantity |
tires.branch | Supplier branch |
supplier_fields | Object with supplier filelds |
Response example
{
"tires": [
{
"cost": 90.39,
"tire_id": "TmV4ZW58fDE1MTQ4TlhLfHxhdGRudGR8fDEyNjcxfHxC",
"branch": null,
"fet": 0,
"fet_source": "vendor",
"quantity": 2,
"quantity_available": 6,
"stock_available": [
{
"branch": "local",
"id": "local",
"branch_type": "primary",
"quantity": 6,
"name": "Local - Same-day delivery (if ordered before cut off time)",
"ship_data": null,
"address": null,
"contact": null,
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null,
"notes": null
},
"cutoff": {
"date": "2024-04-03",
"time": "22:30",
"timezone": "-05:00"
},
"distance": null,
"distance_unit": null
}
],
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null
}
},
{
"cost": 58.39,
"tire_id": "SXJvbm1hbnx8OTg0Njl8fGF0ZG50ZHx8MTI2NzF8fEI=",
"branch": null,
"fet": 0,
"fet_source": "vendor",
"quantity": 2,
"quantity_available": 69,
"stock_available": [
{
"branch": "local",
"id": "local",
"branch_type": "primary",
"quantity": 69,
"name": "Local - Same-day delivery (if ordered before cut off time)",
"ship_data": null,
"address": null,
"contact": null,
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null,
"notes": null
},
"cutoff": {
"date": "2024-04-03",
"time": "22:30",
"timezone": "-05:00"
},
"distance": null,
"distance_unit": null
}
],
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null
}
}
],
"cost": 90.39,
"quantity": 2,
"quantity_available": 6,
"stock_available": [
{
"branch": "local",
"id": "local",
"branch_type": "primary",
"quantity": 6,
"name": "Local - Same-day delivery (if ordered before cut off time)",
"ship_data": null,
"address": null,
"contact": null,
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null,
"notes": null
},
"cutoff": {
"date": "2024-04-03",
"time": "22:30",
"timezone": "-05:00"
},
"distance": null,
"distance_unit": null
}
],
"total_cost": 297.56,
"total_fet": 0,
"shipping_cost": null,
"total_order": 297.56,
"delivery_date_time": {
"date": "2024-04-04",
"time": null,
"timezone": null
}
}
Order create method
POST /api/supplier/order/create
Single tire order (ordering_type = base)
Request example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/supplier/order/create?token="SUBSTITUTE_YOUR_TOKEN_HERE"' \
--header 'Content-Type: application/json' \
--data-raw '{
"tires": [
{
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8a218fDEyNjc0fHxC",
"quantity": 4
}
],
"supplier_fields": {
"po_number": "TEST PO",
"DeliveryMethod": "Pickup"
}
}'
Request parameters (same for single and multi-tire ordering)
tire_id | Tire ID |
---|---|
quantity | Tire quantity |
token | Authorisation token |
supplier_fields | Array of supplier fields |
branch | Supplier branch |
Response example
{
"order_id":16170,
"invoice":"999999999",
"shipping_cost":null,
"vendor_total_order": 312,
"total_order": null,
"tires":[
{
"id":"QnJpZGdlc3RvbmV8fDAwMzE5M3x8a218fDEyNjc0fHxC",
"part_number":"003193",
"quantity_demand":4,
"quantity_ordered":4,
"price":152,
"price_ordered":152,
"status":"Successful",
"message":"Order was placed successfully",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
],
"status":"Successful",
"message":"The order successfully submitted.",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
Response example (same for single and multi-tire ordering)
order_id | Order ID in TireConnect system |
---|---|
invoice | Invoice ID returned by supplier |
shipping_cost | Shipping cost of order |
vendor_total_order | Total order counted by vendor. Can be null in case vendor don’t provide this information |
total_order | Total order counted by TireConnect |
tires | Array of tires |
id | Tire ID |
part_number | Tire part number |
quantity_demand | Requested tire quantity |
quantity_ordered | Ordered tire quantity |
price | Requested tire price |
price_ordered | Ordered tire price |
status | Tire status in order |
message | Message returned by supplier for each tire |
status | Order status |
message | Message returned by supplier for whole order |
delivery_date_time | Estimated Delivery Date & Time provided by the supplier |
Single tire order (ordering_type = per_branch)
Request example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/supplier/order/create?token="SUBSTITUTE_YOUR_TOKEN_HERE"' \
--header 'Content-Type: application/json' \
--data-raw '{
"tires": [
{
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8dGlyZWh1Ynx8MTI2NzR8fEI=",
"quantity": 4,
"branch": "101"
}
],
"supplier_fields": {
"po_number": "TEST PO",
"deliveryInstructions": "Test Instructions",
"orderType": "Pickup"
}
}'
Response example
{
"order_id":16170,
"invoice":"999999999",
"shipping_cost":null,
"tires":[
{
"id":"QnJpZGdlc3RvbmV8fDAwMzE5M3x8a218fDEyNjc0fHxC",
"part_number":"003193",
"quantity_demand":4,
"quantity_ordered":4,
"price":152,
"price_ordered":152,
"status":"Successful",
"message":"Orded was placed successfully",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
],
"status":"Successful",
"message":"The order successfully submitted.",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
Multiple tire order (multiple_branch_ordering = false)
Request example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/supplier/order/create?token="SUBSTITUTE_YOUR_TOKEN_HERE"' \
--header 'Content-Type: application/json' \
--data-raw '{
"tires": [
{
"tire_id": "QnJpZGdlc3RvbmV8fDAxMjAwMXx8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"quantity": 4
},
{
"tire_id": "QnJpZGdlc3RvbmV8fDAwNjA3MHx8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"quantity": 4
}
],
"supplier_fields": {
"po_number": "TEST PO",
"deliveryInstructions": "Test",
"deliveryMethod": "UPS",
"salesPerson": "AJ"
}
}'
Response example
{
"invoice":"7582383",
"shipping_cost":null,
"tires":[
{
"id":"V2VzdGxha2V8fDI0NDYwMDM1fHxhYXx8MTI3MzB8fEI=",
"part_number":"24460035",
"quantity_demand":1,
"quantity_ordered":1,
"price":36,
"price_ordered":0,
"status":"Successful",
"message":"",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
},
{
"id":"VEJDfHw1NTE0MDQwfHxhYXx8MTI3MzB8fEI=",
"part_number":"5514040",
"quantity_demand":1,
"quantity_ordered":1,
"price":39.55,
"price_ordered":0,
"status":"Successful",
"message":"",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
],
"status":"Successful",
"message":"The order successfully submitted."
}
Multiple tire order (multiple_branch_ordering = true)
Request example
curl --location --request POST 'https://devdemo.tireconnect.ca/api/supplier/order/create?token="SUBSTITUTE_YOUR_TOKEN_HERE"' \
--header 'Content-Type: application/json' \
--data-raw '{
"tires": [
{
"tire_id": "QnJpZGdlc3RvbmV8fDAwMzE5M3x8dGlyZWh1Ynx8MTI2NzR8fEI=",
"quantity": 1,
"branch": "101"
},
{
"tire_id": "QnJpZGdlc3RvbmV8fDAwODEzNHx8dGlyZWh1Ynx8MTI2NzR8fEI=",
"quantity": 1,
"branch": "102"
}
],
"supplier_fields": {
"po_number": "TEST PO",
"deliveryInstructions": "Test Instructions",
"orderType": "PickUp"
}
}'
Response example
{
"order_id":16172,
"invoice":"LG30537",
"shipping_cost":135.4,
"tires":[
{
"id":"QnJpZGdlc3RvbmV8fDAxMjAwMXx8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"part_number":"012001",
"quantity_demand":4,
"quantity_ordered":4,
"price":117.75,
"price_ordered":117.75,
"status":"Successful",
"message":"",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
},
{
"id":"QnJpZGdlc3RvbmV8fDAwNjA3MHx8dHJ3aG9sZXNhbGV8fDEyNjc0fHxC",
"part_number":"006070",
"quantity_demand":4,
"quantity_ordered":4,
"price":128.75,
"price_ordered":128.75,
"status":"Successful",
"message":"",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
],
"status":"Successful",
"message":"The order successfully submitted.",
"delivery_date_time":{
"date":"2023-06-25",
"time":"16:45:00",
"timezone":"+02:00"
}
}
Order Status
POST /api/supplier/order/status
This method used for receiving order status from the supplier.
Request Example
curl --location 'https://devdemo.tireconnect.ca/api/supplier/order/status?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJkZWFsZXJfbG9jYXRpb24iOjEyODk1LCJleHAiOjE2OTY0MjI0ODN9.ArHo9GXl_ZrOeN4u9BJKr6N9X3Lzqh_OMSEJg0eMEea7s_laGIk_4vLvthAq1y8swKU1Cc-UHHv43y69tbSh2b62a9lXIM88JdTcMU88ZOfwYbZqtO3VVWQtMPI9eWKH8aPPJPT1r-GLGtjRakyQF1qwPJZK5salFS0kNlSea24' \
--header 'Content-Type: application/json' \
--data '{
"location_id": 12674,
"id": 10471
}'
Request parameters
token | Authorisation token required |
---|---|
location_id | Location ID which was used for placing an order |
id | Order ID |
Response Example
{
"data": {
"items": [
{
"order_id": 10471,
"status": "Successful",
"vendor_status": "Approved"
}
]
}
}
Response parameters
order_id | Order ID |
---|---|
status | Order Status in TC system |
vendor_status | Order Status in Vendor system |