Direct Furniture Integrations Guide

AI Tools

Furniture shippers can take advantage of the uShip API to instantly get competitive listing prices based on the dimensions of a single item or a multi-item shipment with the same origin and destination.

For the endpoint-specific documentation on our listing endpoints, please see our Furniture Integrations API reference.

How it works

  1. Create a UI test account in our sandbox site.

  2. Generate your sandbox API key here - Use key in headers as Bearer {value}

  3. Get your fixed price based on your item's dimensions and weight with POST https://apisandbox.uship.com/v2/fixedprice

  4. Create your listing with POST https://apisandbox.uship.com/v2/listings (ListingID found in Response Headers under "Location")

  5. Add images to your listing with POST https://apisandbox.uship.com/v2/listings/{listingid}/images

  6. Retrieve your listing with GET https://apisandbox.uship.com/v2/listings/{listingid}

  7. Track your listing with GET https://apisandbox.uship.com/v2/listings/{listingid}/track

Rates and Price Correlation ID

In order to obtain a rate, you will need to POST /v2/fixedprice using the Bearer token you retrieved here. For details on these fields, their values and examples, please see our reference guide here.

Once you have successfully posted your rate request, you will receive a response with your price and the price correlation ID. Please ensure that your price correlation ID is included in your listing creation API. For an example of how to do so, please see the "referenceNumbers" value at the end of the Sample Listing Request Body below.

For more information on reference numbers in general, please see Reference Numbers.

Rating Best Practice

When using Fixed Price Endpoint for customer facing rates and listing, the following is suggested.

When exposing rates to your customer we suggest using the "Price" field as this field will incorporate the uShip Fee. If uShip Protection Plan has been selected you'd add the premium amount as well (Price + insurance.premium.amount)

When creating the listing on uShip we suggest using the "nypAmount" returned in the fixed rate response. This price does NOT contain the uShip fee. When finalizing the booking on uShip the uShip fee will be added and you'll be able to add the uShip Protection Plan.

For any questions about this, please reach out to apisupport@uship.comapi-support@uship.com


Sample Rating Request/Response Body

{ "destinationPostalCode":"30060", "items":[ { "heightInMeters":1.27, "lengthInMeters":1.778, "unitCount":1, "weightInGrams":100967, "widthInMeters":1.27 } ], "originPostalCode":"94965", "source":"apitest" }
{ "price": 264.48, "nypAmount": 239.49, "priceCorrelationId": "6a8a7b9d-68e3-4ebc-9f26-4b3bfa7688b5" }

Sample Rating Request/Response Body with uShip Protection

{ "destinationPostalCode": "78336", "items": [ { "heightInMeters": 1.27, "lengthInMeters": 1.778, "unitCount": 1, "weightInGrams": 100967, "widthInMeters": 1.27 } ], "originPostalCode": "78758", "source": "Test Integrator", "originCountryCode": "US", "destinationCountryCode": "US", "commodity": "Furniture", "insurance": { "coverageAmount": { "amount": 4000.00, "currencyType": "USD", "commodity": "Furniture" } } }
{ "price": 398.24449999999996, "nypAmount": 370.46, "priceCorrelationId": "5d11fe6b-1fe4-429d-a578-66f7f3c20f98", "insurance": { "premium": { "amount": 51.0, "currencyType": "USD" }, "coverageAmount": { "amount": 4000.00, "currencyType": "USD" } } }

Sample Listing Request Body

POST[https://api.ushipsandbox.com/v2/listings/](https://api.ushipsandbox.com/v2/listings/)

{ "title": "Required (Furniture Listing) Title", "description": "Provide optional details about the furniture listing.", "route": { "items": [{ "address": { "streetAddress": "10155 Montague St", "alternateStreetAddress": "Building 2, Suite 100", "majorMunicipality": "Tampa", "postalCode": "33626", "stateProvince": "FL", "country": "US", "latitude": 28.056858, "longitude": -82.605871, "type": "Residence", "timeZone": "America/New_York" }, "timeFrame": { "earliestArrival": "2014/08/08", "latestArrival": "2014/08/10", "timeFrameType": "between" }, "contact": { "name": "Jeremy Clinton", "companyName": "Furniture LLC", "phoneNumber": "25678345678", "email": "google@gmail.com", "firstName": "Cody", "lastName": "Holdin" } }, { "address": { "streetAddress": "1614 E Riverside Dr", "majorMunicipality": "Austin", "postalCode": "78741", "stateProvince": "TX", "country": "US", "latitude": 30.234123, "longitude": -97.718296, "type": "BusinessWithLoadingDockOrForklift", "timeFrame": "America/Chicago" }, "timeFrame": { "earliestArrival": "2014/08/11", "latestArrival": "2014/08/12", "timeFrameType": "before" }, "contact": { "name": "Mark Campbell", "companyName": "Furniture LLC", "phoneNumber": "25678905678", "email": "mark@gmail.com", "firstName": "Mark", "lastName": "Campbell" } }] }, "pricing": { "namedPrice": { "amount": 300, "currencyType": "USD" } }, "items": [ { "Title" : "Title of the specific item especially if there are multiple items.", "Commodity" : "Furniture", "widthInMeters" : 1.524, "lengthInMeters" : 1.397, "heightInMeters" : 1.041, "weightInGrams" : 38100, "unitCount" : 2, "Description" : "Details about the furniture item." }], "attributes": { "crated": true, "stackable": true, "palletized": true }, "serviceTypes": [ "BlanketWrap", ], "referenceNumbers": [ { "number": "6a8a7b9d-68e3-4ebc-9f26-4b3bfa7688b5", "type": 10 //don't change type text, 10 designates price correlation id }] }

Retrieving Your Listing

GET https://api.ushipsandbox.com/v2/listings/{listing_id}

Sample Response

{ "status": { "value": "Active", "label": "Active", "shortLabel": "Active" }, "namedPrice": { "value": 60.01, "label": "$60.01", "shortLabel": "$61", "currencyType": { "value": "USD", "label": "US Dollar", "shortLabel": "US Dollar" } }, "offerPrice": { "offerType": { "value": "Offer", "label": "", "shortLabel": "" }, "value": 60.01, "label": "$60.01", "shortLabel": "$61", "currencyType": { "value": "USD", "label": "US Dollar", "shortLabel": "US Dollar" } }, "commodity": "Furniture", "parentCommodity": "Household Goods", "topLevelCommodity": "Household Goods", "expiresOn": "2019-09-24T04:59:59Z", "imageUrl": "https://staging.uship.com/public/images/icons/categories/114x138/1_114x138.png", "isDefaultImage": true, "checksum": "f28c5bd1a0181247", "createdOn": "2019-09-23T20:38:31Z", "activatedOn": "2019-09-23T20:38:31Z", "lastUpdatedOn": "2019-09-23T20:38:31Z", "minimumBidAmount": { "value": 19.99, "label": "$19.99", "shortLabel": "$20", "currencyType": { "value": "USD", "label": "US Dollar", "shortLabel": "US Dollar" } }, "quoteRequestId": "5d892d47528015110051961a", "commodityType": { "value": "Furniture", "label": "Furniture", "shortLabel": "Furniture" }, "parentCommodityType": { "value": "HouseholdGoods", "label": "Household Goods", "shortLabel": "Household Goods" }, "topLevelCommodityType": { "value": "HouseholdGoods", "label": "Household Goods", "shortLabel": "Household Goods" }, "serviceTypes": [ { "value": "BlanketWrap", "label": "Blanket Wrap", "shortLabel": "Blanket Wrap" } ], "listingId": 185798798, "title": "Marble Top Side Table B-5940546", "description": "**PLEASE CONFIRM YOU HAVE READ THESE DETAILS IN BID**:\r\n- Pickup is between 10:00 AM-5:00 PM Mon-Fri \r\n- Pickup is from a warehouse, ground level, no loading dock. \r\n- You MUST be able to load and unload the item(s) without the assistance of our employees or our customers. \r\n- You MUST use the BOL which can be found in My Shipments under the Assigned Tab. Print the BOL and fill out the necessary information. \r\n- You MUST make contact with the delivery customer at least 24 hours in advance. If you deliver an item less than 24 hours from pickup without the customer’s approval, you will not be paid in full. \r\n- Items can not be left outside unless consent is given from the customer. \r\n- Customers should be contacted between 7:30am-8:30pm based on the delivery timezone. \r\n- An enclosed trailer, box truck, or sprinter van is required for ALL deliveries.\r\n- Threshold delivery.\r\n- IF ANY OF THESE REQUIREMENTS ARE NOT MET, WE WILL NO LONGER BE ABLE TO WORK TOGETHER.\r\n*(please note that all weights are estimated)", "route": { "distance": { "kilometers": 53.1082, "label": "33 mi.", "shortLabel": "33 mi." }, "items": [ { "address": { "streetAddress": "20 Terry Ave", "alternateStreetAddress": "", "majorMunicipality": "Burlington", "postalCode": "01803", "stateProvince": "MA", "stateProvinceLabel": "Massachusetts", "country": "US", "countryLabel": "United States", "latitude": 42.508545, "longitude": -71.201304, "label": "Burlington, MA 01803 US", "shortLabel": "Burlington, MA 01803 US", "type": { "value": "BusinessWithoutLoadingDockOrForklift", "label": "Business (without loading dock or forklift)", "shortLabel": "Business (without loading dock or forklift)" } }, "contact": { "name": "", "phoneNumber": "" }, "timeFrame": { "label": "Between 9/23/2019 - 9/23/2019", "shortLabel": "9/23 - 9/23", "earliestArrival": "2019-09-23T05:00:00Z", "latestArrival": "2019-09-23T05:00:00Z", "timeFrameType": { "value": "between", "label": "Between", "shortLabel": "Between" }, "timeZone": "America/New_York" }, "accessorials": [] }, { "address": { "streetAddress": "28 E Nashua Rd", "majorMunicipality": "Windham", "postalCode": "03087", "stateProvince": "NH", "stateProvinceLabel": "New Hampshire", "country": "US", "countryLabel": "United States", "latitude": 42.801406, "longitude": -71.303561, "label": "Windham, NH 03087 US", "shortLabel": "Windham, NH 03087 US", "type": { "value": "Residence", "label": "Residence / Home Business", "shortLabel": "Residence / Home Business" } }, "contact": { "name": "Jami Vetter jamie.vetter@gmail.com", "phoneNumber": "+17038357821" }, "timeFrame": { "label": "Between 9/23/2019 - 9/23/2019", "shortLabel": "9/23 - 9/23", "earliestArrival": "2019-09-23T05:00:00Z", "latestArrival": "2019-09-23T05:00:00Z", "timeFrameType": { "value": "between", "label": "Between", "shortLabel": "Between" }, "timeZone": "America/New_York" }, "accessorials": [] } ] }, "lister": { "userId": 121568292, "displayName": "test500 K.", "profileUrl": "/profile/121568292", "feedback": {}, "aboutMe": "Hi, I am a shipper.", "dateCreated": "2018-07-30T16:12:16Z", "companyLocation": {}, "links": [ { "rel": "Item", "verb": "GET", "href": "/v2/users/121568292/profile", "title": "profile" } ] }, "items": [ { "title": "Marble Top Side Table 19BOS018-042", "commodity": { "value": "Furniture", "label": "Furniture", "shortLabel": "Furniture" }, "attributes": { "lengthInMeters": { "title": "Length", "value": 0.457, "label": "1 ft 6 in.", "shortLabel": "1 ft 6 in." }, "widthInMeters": { "title": "Width", "value": 0.660, "label": "2 ft 2 in.", "shortLabel": "2 ft 2 in." }, "heightInMeters": { "title": "Height", "value": 0.558, "label": "1 ft 10 in.", "shortLabel": "1 ft 10 in." }, "weightInGrams": { "title": "Weight", "value": 40820.0, "label": "90 lbs", "shortLabel": "90 lbs" }, "unitCount": { "title": "Quantity", "value": 1, "label": "1", "shortLabel": "1" } } } ], "totalWeightInGrams": { "value": 40820.0, "label": "90 lbs", "shortLabel": "90 lbs" }, "attributes": { "crated": { "title": "Crated", "value": false, "label": "No", "shortLabel": "No" }, "stackable": { "title": "Stackable", "value": false, "label": "No", "shortLabel": "No" }, "palletized": { "title": "Palletized", "value": false, "label": "No", "shortLabel": "No" } }, "links": [ { "rel": "List", "verb": "GET", "href": "/v2/listings/185798798/attachments", "title": "listingAttachments" }, { "rel": "Update", "verb": "PUT", "href": "/v2/listings/185798798/pickup", "title": "pickup" }, { "rel": "Update", "verb": "PUT", "href": "/v2/listings/185798798/delivery", "title": "delivery" }, { "rel": "List", "verb": "GET", "href": "/v2/listings/185798798/conversations", "title": "listingconversations" }, { "rel": "Delete", "verb": "DELETE", "href": "/v2/listings/185798798", "title": "deleteListing" }, { "rel": "Update", "verb": "PUT", "href": "/v2/listings/185798798", "title": "updateListing" }, { "rel": "Create", "verb": "POST", "href": "/v2/listings/185798798?marketId=0", "title": "listSimilarShipment" }, { "rel": "Item", "verb": "GET", "href": "/v2/listings/185798798", "title": "viewListing" }, { "rel": "Update", "verb": "PUT", "href": "/v2/listings/185798798/pricingstatus", "title": "unlist" } ] }

Tracking Shipment

GET https://api.ushipsandbox.com/v2/{listingId}/track

{ "listingGeneratedId": 256521587, "listingTitle": "Large Dresser", "commodityCode": "Antiques", "shipmentTrackingSummaryModel": { "originAddress": { "latitude": 30.3870686, "longitude": -97.7036561, "label": " Austin, TX US", "shortLabel": " Austin, TX US" }, "destinationAddress": { "latitude": 28.0205733, "longitude": -97.0544341, "label": " Rockport, TX US", "shortLabel": " Rockport, TX US" }, "pickupTimeframe": { "date1": "2023-04-18T11:29:07", "date2": "2023-04-28T11:29:07", "date1Offset": "2023-04-18T11:29:07-05:00", "date2Offset": "2023-04-28T11:29:07-05:00", "delay": 10, "timeFrameType": { "value": "Relative", "label": "Relative", "shortLabel": "Relative" }, "timeZone": "America/Chicago", "label": "Between 4/18/2023 - 4/28/2023", "shortLabel": "4/18 - 4/28", "shortLabelWithYear": "4/18/2023 - 4/28/2023" }, "deliveryTimeframe": { "date1": "2023-04-18T11:29:07", "date2": "2023-05-13T11:29:07", "date1Offset": "2023-04-18T11:29:07-05:00", "date2Offset": "2023-05-13T11:29:07-05:00", "delay": 15, "timeFrameType": { "value": "Relative", "label": "Relative", "shortLabel": "Relative" }, "timeZone": "America/Chicago", "label": "Between 4/18/2023 - 5/13/2023", "shortLabel": "4/18 - 5/13", "shortLabelWithYear": "4/18/2023 - 5/13/2023" }, "currentTransitStatus": { "value": "PickedUp", "label": "Picked Up", "shortLabel": "Picked Up" } }, "carrierContactModel": { "name": "Dalia Garcia", "companyName": "Garcia Trucking LLC", "username": "garciatrucking", "phone": "(800) 698-7447", "email": "teambnbcarrier+dgarcia@gmail.com", "secondaryEmail": "", "user": { "userId": 623606071, "displayName": "Garcia Trucking LLC", "profileUrl": "/service-provider/623606071-garcia-trucking-llc", "feedback": {}, "aboutMe": "", "dateCreated": "2022-06-24T17:40:12Z", "companyLocation": { "majorMunicipality": "Austin", "stateProvince": "Texas" }, "directoryCategories": [ { "value": "HouseholdGoods", "label": "Household Goods", "shortLabel": "Household Goods" }, { "value": "HouseholdOfficeMoves", "label": "Household & Office Moves", "shortLabel": "Household & Office Moves" }, { "value": "Vehicles", "label": "Vehicles", "shortLabel": "Vehicles" }, { "value": "Boats", "label": "Boats", "shortLabel": "Boats" }, { "value": "SpecialCareItems", "label": "Special Care Items", "shortLabel": "Special Care Items" }, { "value": "Pets", "label": "Pets", "shortLabel": "Pets" }, { "value": "FoodAgriculturalGoods", "label": "Food & Agricultural Goods", "shortLabel": "Food & Agricultural Goods" }, { "value": "MotorcyclesPowerSports", "label": "Motorcycles & Power Sports", "shortLabel": "Motorcycles & Power Sports" }, { "value": "HeavyEquipment", "label": "Heavy Equipment", "shortLabel": "Heavy Equipment" }, { "value": "BusinessIndustrialGoods", "label": "Business & Industrial Goods", "shortLabel": "Business & Industrial Goods" }, { "value": "LTL", "label": "Less Than Truckload", "shortLabel": "Less Than Truckload" }, { "value": "HorsesLivestock", "label": "Horses & Livestock", "shortLabel": "Horses & Livestock" }, { "value": "FullTruckloadFreight", "label": "FTL Freight", "shortLabel": "FTL Freight" }, { "value": "Other", "label": "Other", "shortLabel": "Other" } ], "links": [ { "rel": "Item", "verb": "GET", "href": "/v2/users/623606071/profile", "title": "profile" } ] } }, "shipmentTrackingStatuses": [ { "status": "ReadyForDispatch", "punctuality": { "value": "NotApplicable", "label": "Not Applicable", "shortLabel": "n/a" }, "recorded": "2023-04-18T16:29:07Z" }, { "status": "PickedUp", "punctuality": { "value": "OnTime", "label": "On time", "shortLabel": "On time" }, "recorded": "2023-04-26T13:46:52Z" } ] }