LTL Shipment Cost Compare API
Compare the estimated cost between a less than truckload (LTL) shipment and small package shipping with Shipium's LTL Shipment Cost Compare API.
Get started
To use the LTL Shipment Cost Compare API, you must first configure your account. Guidance can be found in the LTL (Less Than Truckload) Shipments documentation. This document provides instructions for using the API.
The LTL Shipment Cost Compare API assumes you're using one of the authentication mechanisms detailed in our authentication documentation.
Authentication for API Calls
In the cURL example on this page, the environment variable
AUTHSTRING
is used to handle authorization. The recipe below shows how to set it correctly for both API Key and OAuth users.
Test mode
Want to run some examples and not charge any real money against your account?
You can add
testMode
: "true" to the data passed to any label call to retrieve labels without charging money in a carrier-specific manner. Most carriers will mark their labels in a way to make clear that they are void, such as inserting "VOID" throughout the label or using a predefined ID.The examples below contain the
testMode
flag to err on the side of caution – remove it to make production calls.
Compare LTL and small package shipping costs
The endpoint for comparing the estimated cost between LTL and small package shipping is included in the following table.
API type | API endpoint |
---|---|
POST | https://api.shipium.com/api/v1/ltl/shipment/costCompare |
Request and response fields for API calls
The following table provides required and optional fields for calling the LTL Shipment Cost Compare API. You can find additional support in the LTL Shipment Cost Compare API Reference.
Request field | Required/Optional | Field properties | Description |
---|---|---|---|
businessDaysOfTransit | Optional | Integer ($int32) Ex.: 3 | Indicates the number of business days from the ship time by when the shipment needs to be delivered |
currencyCode | Required | String Ex.: usd | ISO-4217 currency code in which all the rates for shipping will be calculated and returned |
desiredDeliveryDate | Optional | String Ex.: 2019-10-31T20:00:00Z | The string representation of either an ISO-8601 date or a local date for desired delivery : yyyy-mm-dd. The date or date-time the package is intended to arrive to the customer. This is used to determine the most appropriate service method when generating a label. |
desiredDeliveryDateOptions .exactDateDelivery | Optional | Booleantrue orfalse | If true , this instructs the carrier to deliver the package on the date provided in the desiredDeliveryDate field. Desired, Exact, & Guaranteed Delivery Dates provides details on exact date delivery. |
desiredDeliveryDateOptions .guaranteedDateDelivery | Optional | Booleantrue orfalse | If true , this indicates that your organization is willing to accept any applicable carrier date certain surcharge to the estimated label cost. Not all carriers support guaranteed date delivery. This restricts carrier selection to service methods that can support guaranteed date delivery . |
desiredDeliveryDateOptions .upgradeCostDeltaMax | Optional | String | If set, this is the maximum amount of additional spend that your organization is willing to pay to upgrade a shipment to the desired delivery date (DDD) if the lowest cost carrier service method is unable to safely meet the DDD. |
desiredDeliveryDateOptions .currencyCode | Optional | String | The ISO-4217 currency code of the upgradeCostDeltaMax |
destinationAddress.name | Optional | String | The name of the contact for the destination address |
destinationAddress .phoneNumber | Optional, but may be required for certain carriers and methods | String | The phone number of the contact for the destination address |
destinationAddress .phoneNumberCountryCode | Optional, but may be required for certain carriers and methods | String | The phone number country code of the contact for the destination address |
destinationAddress .emailAddress | Optional | String | The email address of the contact for the destination address |
destinationAddress.company | Optional | String | The company name for the destination address |
destinationAddress.street1 | Optional | String | The first destination address line |
destinationAddress.street2 | Optional | String | The second destination address line |
destinationAddress.city | Optional | String | The name of the city for the destination address |
destinationAddress.state | Optional | String | The 2-letter postal abbreviation of the state for the destination address |
destinationAddress .countryCode | Required | String | The ISO 3166-1 country code for the destination address |
destinationAddress .postalCode | Required | String | A country-code-appropriate postal code for the destination address |
destinationAddress .addressType | Required | String enumeration Values are: - commercial - residential | The type of location for the destination address |
existingShipmentIds | Optional, but required if no value is provided for either shipments or packedShipments | String | The Shipium or partner shipment IDs that should be included in this LTL shipment; these must be IDs for shipments created using the /api/v1/deliveryexperience/shipment endpoint, or an equivalent endpoint. These cannot be LTL shipments, must have nmfcFreightClass configured, and must have the same ship from and destination addresses as this LTL shipment. This can be used in conjunction with shipments and/or packedShipments. At least one of existingShipmentIds , shipments , and packedShipments must not be empty or null. |
includeEvaluatedService MethodsInResponse | Optional | Booleantrue or false | When true , a request will expand information on the response to include unselected service methods that made it through filtering. |
includeLineItemsInEvaluated ServiceMethods | Optional | Booleantrue or false | When true , a response will include line item information for the returned evaluated service methods, provided that includeEvaluatedServiceMethodsInResponse is also set to true. |
ltlShipmentParameters .billToContact | Optional | Array of billToContact objects | The entity that should be billed for the LTL shipment; by default, the carrier contracts in the fulfillment context will be used for billing. Either the addressLineComponents or the other address fields should be provided. |
ltlShipmentParameters .billToContact.addressType | Optional | String enumeration Values are: - commercial - residential | The type of location for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.city | Optional | String | The name of the city for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.company | Optional | String | The company name for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.countryCode | Required | String | The ISO 3166-1 country code for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.emailAddress | Optional | String | The email address of the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.name | Optional | String | The name of the contact for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.phoneNumber | Optional | String | The phone number of the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact .phoneNumberCountryCode | Optional | String | The phone number country code of the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.postalCode | Required | String | A country-code-appropriate postal code for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.state | Optional | String | The 2-letter postal abbreviation of the state for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.street1 | Optional | String | The first address line for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact.street2 | Optional | String | The second address line for the entity that should be billed for the LTL shipment |
ltlShipmentParameters .billToContact .thirdPartyBillingSetId | Required | String | Either the Shipium-generated or your own unique third party billing set ID; this value is used to look up the account number each LTL carrier uses to determine pricing agreement. Bill a Third Party provides details on third party billing. |
ltlShipmentParameters .carrierServiceMethod AllowList | Optional | String enumeration | A list of carrierServiceMethodIds , Standard Carrier Alpha Code (SCAC) codes, and/or carriers that should be considered for LTL carrier selection; you can find more information in Specify Carrier Service and Method and a list of carrierServiceMethodIds in Supported Carriers. |
ltlShipmentParameters .collectOnDelivery.amount | Optional, but required if including collectOnDelivery | Number ($float) Ex.: 12.34 | The amount of money |
ltlShipmentParameters .collectOnDelivery.currency | Optional, but required if including collectOnDelivery | String Ex.: usd | The ISO-4217 currency code of the amount of money; this is required unless a default currency unit is supplied elsewhere. If this and a default are both supplied, this will take priority. |
ltlShipmentParameters .fulfillmentContextIds | Optional | String | A collection of fulfillment context IDs or fulfillment context aliases to use in the fulfillment context detail search for LTL carrier selection; there must be exactly one fulfillment context that can ship from the origin to the destination, for the specified tenant, regardless of whether or not this list is populated. |
ltlShipmentParameters .fulfillmentType | Optional | String enumeration Values are: - at_large - customer - hundredweight - reship - returns - unknown | The fulfillment methodology of the shipment |
ltlShipmentParameters .hazmatContact.contactName | Optional, but required if including hazmatContact | String | The name of the contact to use as the return-to contact if the package is being returned |
ltlShipmentParameters .hazmatContact.phoneNumber | Optional, but required if including hazmatContact | String | The phone number of the contact to use as the return-to contact if the package is being returned |
ltlShipmentParameters .hazmatContact .phoneNumberCountryCode | Optional | String | The phone number country code of the contact to use as the return-to contact if the package is being returned |
ltlShipmentParameters .hazmatContact.email | Optional | String | The email of the contact to use as the return-to contact if the package is being returned |
ltlShipmentParameters .packagingOptions .loadPackagingType | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | String enumeration Values are: - loose - overboxed - piece - wrapped - pallet | How the packages in the load will be packaged together |
ltlShipmentParameters .packagingOptions .loadPackagingSize.height | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | Number ($float) Ex.: 84 | The maximum height that packages can be stacked within the packaging |
ltlShipmentParameters .packagingOptions .loadPackagingSize.length | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | Number ($float) Ex.: 48 | The longer horizontal dimension that packages can occupy within the packaging |
ltlShipmentParameters .packagingOptions .loadPackagingSize .linearUnit | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | String enumeration Values are: - in (inch)- cm (centimeter) | The unit of measure for linear dimensions (length, width, height) |
ltlShipmentParameters .packagingOptions .loadPackagingSize .maximumWeight | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | Number ($float) Ex.: 850.25 | The maximum weight of packages within the packaging. If not specified, no maximum weight will be used when determining how to pack packages. |
ltlShipmentParameters .packagingOptions .loadPackagingSize .packagingWeight | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | Number ($float) Ex.: 10.125 | The weight of the packaging without any packages |
ltlShipmentParameters .packagingOptions .loadPackagingSize .weightUnit | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | String enumeration Values are: - g (gram)- kg (kilogram)- oz (ounce)- lb (pound) | The unit of measure for maximum weight of packages within the packaging, and the packaging itself |
ltlShipmentParameters .packagingOptions .loadPackagingSize.width | Optional, but required if there are any existingShipmentIds or shipments in the LtlCostRequest | Number ($float) Ex.: 40 | The shorter horizontal dimension that packages can occupy within the packaging |
ltlShipmentParameters .paymentDetails.payerType | Required | String enumeration Values are: - consignee - shipper - thirdParty | The type of entity that is paying the carrier to deliver the shipment |
ltlShipmentParameters .paymentDetails .paymentTerms | Required | String enumeration Values are: - collect - prePaid - thirdParty | The method being used to pay for the shipment |
ltlShipmentParameters .pickupDate | Required | String Ex.: 2024-12-31 | The date when the LTL shipment will be picked up by the carrier |
ltlShipmentParameters .pricingTypes | Optional | String enumeration Values are: - all - contract - contractPallet - dynamic - volume - unknown | The type of pricing for the LTL shipment; the default value is all . |
ltlShipmentParameters .serviceLevels | Optional | String enumeration Values are: - all - guaranteedMorning - guaranteedNoon - guaranteedEndOfDay - standard - unknown | The time-definite delivery options that should be eligible for LTL carrier selection; the default value is standard . |
ltlShipmentParameters .accessorialCodes | Optional | String enumeration Values are: - AIRD , AIRP (airport)- APTD , APTP (appointment required)- CFSD , CFSP (container)- COD (collect on delivery)- FSC (fuel surcharge)- GTD (guaranteed)- HAZ (hazmat)- HCDA , HCPA (high cost)- INS (insurance)- LTDAD , LTDAP (limited access)- MISC (miscellaneous)- MNC (must notify)- OVR (over dimension)- PPD (perishable)- PSN (poisonous)- REP , RES (residential)- SLTDAD , SLTDAP (secured limited access)- SS (single shipment)- WGDL , WGDU (white glove) | Any optional requested accessorial services will be passed to the carrier. |
packedShipments .declaredValue.amount | Optional, but required if including declaredValue | Number ($float) Ex.: 12.34 | The amount of money that should be paid by the recipient upon delivery of the package |
packedShipments .declaredValue.currency | Optional, but required if a currency amount is not provided elsewhere | String Ex.: usd | The ISO-4217 currency code of the amount of money that should be paid by the recipient upon delivery of the package |
packedShipments .loadPackagingType | Optional | String enumeration Values are: - loose - overboxed - piece - wrapped - pallet | How the packages in the load are packaged together |
packedShipments .loadPackagingSize.height | Required | Number ($float) Ex.: 84 | The height that packages are stacked within the packaging |
packedShipments .loadPackagingSize.length | Required | Number ($float) Ex.: 48 | The longer horizontal dimension that packages occupy within the packaging |
packedShipments .loadPackagingSize .linearUnit | Required | String enumeration Values are: - in (inch)- cm (centimeter) | The unit of measure for linear dimensions (length, width, height) |
packedShipments .loadPackagingSize.weight | Required | Number ($float) Ex.: 850.25 | The total weight of packages within the packaging |
packedShipments .loadPackagingSize .weightUnit | Required | String enumeration Values are: - g (gram)- kg (kilogram)- oz (ounce)- lb (pound) | The unit of measure for weight of the packages within the packaging |
packedShipments .loadPackagingSize.width | Required | Number ($float) Ex.: 40 | The shorter horizontal dimension that packages occupy within the packaging |
packedShipments .nmfcFreightClass | Required | String | A string representing the broad class of products being shipped in this load; this should be the largest (i.e., 51 > 50) NMFC class of any of the products in the load. For example, both bricks and steel pipes have an NMFC class of 50. |
partnerLtlCostId | Optional | String Ex.: myCustomPartnerLTLShipmentId123 | An optional unique identifier that may be used for this LTL cost |
returnToAddress.name | Optional | String | The name associated with the address of the location where the package is being returned |
returnToAddress.phoneNumber | Optional | String | The phone number of the contact associated with the address of the location where the package is being returned |
returnToAddress .phoneNumberCountryCode | Optional | String | The phone number country code of the contact associated with the address of the location where the package is being returned |
returnToAddress.emailAddress | Optional | String | The email address of the contact associated with the address of the location where the package is being returned |
returnToAddress.company | Optional | String | The company name associated with the address of the location where the package is being returned |
returnToAddress.street1 | Optional | String | The first address line of the location where the package is being returned |
returnToAddress.street2 | Optional | String | The second address line of the location where the package is being returned |
returnToAddress.city | Optional | String | The city of the location where the package is being returned |
returnToAddress.state | Optional | String | The 2-letter postal abbreviation of the state of the location where the package is being returned |
returnToAddress.countryCode | Optional, but required if including returnToAddress | String | The ISO 3166-1 country code for the address of the location where the package is being returned |
returnToAddress.postalCode | Optional, but required if including returnToAddress | String | A country code appropriate postal code for the address of the location where the package is being returned |
returnToAddress.addressType | Optional | String enumeration Values are: - commercial - residential | The type of location for the address of the location where the package is being returned |
shipFromAddress.name | Optional | String | The name associated with the address from which the package is being shipped |
shipFromAddress.phoneNumber | Optional | String | The phone number of the contact associated with the address from which the package is being shipped |
shipFromAddress .phoneNumberCountryCode | Optional | String | The phone number country code of the contact associated with the address from which the package is being shipped |
shipFromAddress.emailAddress | Optional | String | The email address of the contact associated with the address from which the package is being shipped |
shipFromAddress.company | Optional | String | The company name associated with the address from which the package is being shipped |
shipFromAddress.street1 | Optional | String | The first address line of the location from which the package is being shipped |
shipFromAddress.street2 | Optional | String | The second address line of the location from which the package is being shipped |
shipFromAddress.city | Optional | String | The city of the location from which the package is being shipped |
shipFromAddress.state | Optional | String | The 2-letter postal abbreviation of the state of the location from which the package is being shipped |
shipFromAddress.countryCode | Required | String | The ISO 3166-1 country code for the address of the location from which the package is being shipped |
shipFromAddress.postalCode | Required | String | A country code appropriate postal code for the address of the location from which the package is being shipped |
shipFromAddress.addressType | Optional | String enumeration Values are: - commercial - residential | The type of location for the address of the location from which the package is being shipped |
shippedDateTime | Optional | String ($date-time) Ex.: 2019-10-29T09:12:33.123456Z | The ISO-8601 timestamp for when you (or your fulfillment partner) shipped the product from your (or their) warehouse |
shipments .carrierProcessingId | Optional | String | A carrier-provided identifier, supplied when it is needed to process the shipment |
shipments.deliveryNote | Optional | String | A string passed to carriers for a delivery note |
shipments .partnerReferenceIdentifier | Optional | String | An optional identifier your organization passes to the carrier for reference |
shipments .partnerReference Identifier2 | Optional | String | A second optional identifier your organization passes to the carrier for reference |
shipments .purchaseOrderIdentifier | Optional | String | A string passed to the carrier as a purchase order identifier |
shipments .referenceIdentifier | Optional | String | An optional string identifier passed to the carrier (referenceIdentifier , referenceIdentifier2 , referenceIdentifier3 , referenceIdentifier4 , referenceIdentifier5 ) |
shipments.shipmentTags | Optional | String | A collection of free-form tags that may be added to this shipment |
shipments.orderedDateTime | Optional | String ($date-time) Ex.: 2019-10-29T09:12:33.123456Z | The ISO-8601 timestamp for when the customer placed an order for this product |
shipments.packages .packageReferenceIdentifier | Required | String | Used to correlate packages to label documents from the carrier |
shipments.packages .partnerProvidedPackageId | Optional | String | A custom identifier your organization assigns to the packaging |
shipments.packages .orderItemQuantities .deliveryEstimateId | Optional | String Ex.: 0b3d140a-525b-43a7-896c-cdc381580d61 | A delivery estimate ID associated with the product |
shipments.packages .orderItemQuantities .productId | Optional, but required for shipments containing hazardous materials | String Ex.: RN03947--Z43121 | A product ID for the product being checked (ISBN, UPC, etc.) |
shipments.packages .orderItemQuantities .quantity | Optional, but required for shipments containing hazardous materials | Integer Ex.: 3 | The number of units of the product |
shipments.packages .orderItemQuantities .productDetails | Optional, but required for shipments containing hazardous materials | String Ex.: - limited_quantity (or lq )- ormd (or orm-d )- perishable - bound_printed_matter (or bpm ) | A list of properties that may affect the shipping of the product |
shipments.packages .orderItemQuantities .orderItemReference Identifier | Optional | String Ex.: someIdentifier | An external identifier that can reference the order item that exists in an external order management system; this field will be passed to supported carriers. |
shipments.packages .orderItemQuantities .shipiumOrderId | Optional | String Ex.: 4dc43fff-c3af-4d7b-8a18-e01f2b4cb312 | Identification used to represent the group of delivery estimates purchased |
shipments.packages .orderItemQuantities .partnerOrderId | Optional | String Ex.: myCustomPartnerOrderId123 | A unique identifier supplied by your organization representing this order |
shipments.packages .orderItemQuantities .hazmat | Optional | Booleantrue or false | If true , this indicates that the item is hazardous material (hazmat). The default value is false . For hazmat requirements, you can refer to Hazardous Materials. |
shipments.packages .orderItemQuantities .hazmatInfo.category | Optional, but required if including hazmatInfo | String enumeration Values are: - defined - contains_lithium_ion - packaged_lithium_ion - lithium_ion_battery_only - contains_lithium_metal - packaged_lithium_metal - lithium_metal_battery_only - dry_ice | Hazmat category for this order item; use defined to specify detailed information. |
shipments.packages .orderItemQuantities .hazmatInfo.quantity | Optional, but required if category is defined | Number ($float) Ex.: 2.1 | The amount of quantity type material in quantity units |
shipments.packages .orderItemQuantities .hazmatInfo.quantityType | Optional, but required if category is defined | String enumeration Values are: - gross - net | Determines whether the quantity includes the raw material (net) or also includes the material housing (gross) |
shipments.packages .orderItemQuantities .hazmatInfo.quantityUnits | Optional, but required if category is defined | String enumeration Values are: - g (gram)- kg (kilogram)- lb (pound)- oz (ounce)- ml (milliliter)- l (liter) | The unit of measure for the quantity of hazardous materials specified |
shipments.packages .orderItemQuantities .hazmatInfo.containerType | Optional, but required if category is defined | String enumeration Values are: - fiberboard_box - wooden_box - plastic_jerrican - metal_box - steel_drum - other - plastic_box - plastic_drum - styrofoam_box - cylinder - envirotainer - plywood_box - aluminum_drum - aluminum_cylinder - plastic_pail - plywood_drum - fiber_drum - steel_jerrican - aluminum_jerrican - steel_box - carton - aluminum_box | The material in which the hazardous material is packaged |
shipments.packages .orderItemQuantities .hazmatInfo.hazmatId | Optional, but required if category is defined | String Ex.: UN1755 | The International Air Transport Association (IATA) or U.S. Department of Transportation (DOT) regulatory identifier for the commodity as appropriate |
shipments.packages .orderItemQuantities .hazmatInfo .properShippingName | Optional, but required if category is defined | String Ex.: chromic acid solution | Proper shipping name that is associated with the specified hazmat ID |
shipments.packages .orderItemQuantities .hazmatInfo.packingGroup | Optional | String enumeration Values are: - i - ii - iii | The packing group code for the hazardous material |
shipments.packages .orderItemQuantities .hazmatInfo.transportMode | Optional, but required if category is defined | String enumeration Values are: - ground - passenger_and_cargo_aircraft - cargo_aircraft_only | Declares that a package was prepared according to ground, passenger aircraft, or cargo aircraft only |
shipments.packages .orderItemQuantities .hazmatInfo .packingInstructionCode | Optional | String Ex.: 967 | The packing instruction code used for air transport |
shipments.packages .orderItemQuantities .hazmatInfo.hazardClass | Optional, but required if category is defined | String enumeration Values are: - class_1_explosive - class_2_flammable_gas - class_3_flammable_liquid - class_4_flammable_solid - class_5_organic_peroxide - class_6_poisonous_material - class_7_radioactive - class_8_corrosive_material - class_9_miscellaneous | The hazard class of the hazmat |
shipments.packages .orderItemQuantities .hazmatInfo .subsidiaryClasses | Optional | String Ex.: 8.1 | The appropriate IATA/DOT subsidiary classes associated with the material and the hazard class |
shipments.packages .orderItemQuantities .productTaxCode | Optional | String | The tax code that applies to the given product |
shipments.packages .orderItemQuantities .nmfcCode | Optional | String | Useful for LTL shipments, a string representing the narrow type of product being shipped; for example, bricks have an NMFC code of 32100.2 and steel pipes have an NMFC code of 51200. |
shipments.packages .orderItemQuantities .nmfcFreightClass | Required for LTL shipments | String | Required for LTL shipments, a string representing the broad class of product being shipped; for example, both bricks and steel pipes have an NMFC class of 50. |
shipments.packages .packagingType .packagingMaterial | Optional | String enumeration Values are: - box - envelope - flat_pack - mailing_tube - parcel_pallet | The type of packaging used to create the package for the shipment |
shipments.packages .packagingType .packagingSizeName | Optional | String Ex.: 13x12x10 box | A custom name for the packaging |
shipments.packages .packagingType .packagingTypeId | Optional, but required if linearDimensions is not provided | String Ex.: ebd94f8b-d390-4c9c-987f-b88343f5bf45 | The packagingTypeId that was used for this package; when this value is present, the dimensions pre-configured by your organization are used. When this value is absent, linearDimensions is required. |
shipments.packages .packagingType .linearDimensions .linearUnit | Optional, but required if the packagingTypeId is not included | String enumeration Values are: - cm (centimeter)- in (inch) | The unit in which linear dimensions are provided |
shipments.packages .packagingType .linearDimensions.length | Optional, but required if the packagingTypeId is not included | Number ($float) Ex.: 13 | The longest linear dimension (i.e., the longest side of a box or envelope) |
shipments.packages .packagingType .linearDimensions.width | Optional, but required if the packagingTypeId is not included | Number ($float) Ex.: 12 | The second longest linear dimension (i.e., the second longest side of a box or envelope) |
shipments.packages .packagingType .linearDimensions.height | Optional, but required if the packagingTypeId is not included | Number ($float) Ex.: 10 | The least long linear dimension (i.e., the shortest side of a box or envelope). Note on envelopes: This height should represent the highest product you would reasonably put in this envelope before losing more than 10% of the length of the envelope in other dimensions. |
shipments.packages .packagingType .packagingWeight.weightUnit | Optional | String enumeration Values are: - g (gram)- kg (kilogram)- lb (pound)- oz (ounce) | The unit in which weight values are provided |
shipments.packages .packagingType .packagingWeight.weight | Optional | Number ($float) Ex.: 50 | The value of the weight |
shipments.packages .totalWeight.weightUnit | Optional | String enumeration Values are: - g (gram)- kg (kilogram)- lb (pound)- oz (ounce) | The unit in which weight values are provided |
shipments.packages .totalWeight.weight | Optional | Number ($float) Ex.: 50 | The value of the weight of this type of empty packaging |
shipments.packages .totalDeclaredValue .declaredValue | Optional | Number ($float) | The total monetary amount of the declared value for the package |
shipments.packages .totalDeclaredValue .currencyCode | Optional | String Ex.: usd | The currency code for the declared value |
shipments.packages .deliveredDateTime | Optional | String ($date-time) Ex.: 2019-10-31T10:50:11.123456Z | The ISO-8601 timestamp for when the package was delivered to the customer |
shipments.partnerShipmentId | Optional | String Ex.: myCustomPartnerShipmentId123 | An optional unique identifier that may be used for this shipment |
tenantId | Optional | String | Either the Shipium tenantId or your organization's unique tenantId for the tenant that the shipment is for; if this is not supplied, the shipment will be associated with your organization, and only your network-wide fulfillment contexts will be considered. |
testMode | Optional | Booleantrue or false | If true , a test mode LTL shipment will be created. LTL costing and carrier selection will consider carriers and service methods in test mode, and label generation will generate a test label. |
units.currencyCode | Required | String Ex.: usd | The ISO-4217 currency code in which monetary amounts for all currency units are represented in the response |
units.linearUnit | Required | String enumeration Values are: - in (inch)- cm (centimeter) | The unit in which all linear dimensions are represented in the response |
units.weightUnit | Required | String enumeration Values are: - g (gram)- kg (kilogram)- oz (ounce)- lb (pound) | The unit in which all weights are represented in the response |
packageShipmentParameters .carrierServiceMethodAllow List | Optional | String enumeration | A list of carrierServiceMethodIds and/or carriers that should be considered for package carrier selection; you can find more information in Specify Carrier Service and Method and a list of carrierServiceMethodIds in Supported Carriers. |
packageShipmentParameters .deliverySignatureOption | Optional | String enumeration Values are: - AdultResidentSignature - AdultSignature - None - ResidentSignature - Signature - Unknown | A delivery signature option passed in the API request; the default value is none. |
packageShipmentParameters .deliveryWindow | Optional | String | The delivery timeframe |
packageShipmentParameters .forceThirdPartyBilling | Optional | Booleantrue or false | If true , this indicates that third party billing is a requirement for this shipment. No service method should be selected that does not support third party billing. |
packageShipmentParameters .fulfillmentContextIds | Optional | String | A collection of fulfillment context IDs or fulfillment context aliases to use in the fulfillment context detail search for package carrier selection; there must be exactly one fulfillment context that can ship from the origin to the destination, for the specified tenant, regardless of whether or not this list is populated. |
packageShipmentParameters .fulfillmentType | Optional | String enumeration Values are: - at_large - customer - hundredweight - reship - returns | The fulfillment methodology of the shipment |
packageShipmentParameters .ignoreCarrierMinimum Dimensions | Optional | Booleantrue or false | When true , the minimum dimensions of carriers will effectively be ignored when deciding if a carrier service method is eligible to be considered during carrier selection. The default value is false . |
packageShipmentParameters .ignoreUpgradeSpendLimits | Optional | Booleantrue or false | When true , this indicates that this shipment can ignore all your organization's configured upgrade limits for the potential upgrade required to deliver the shipment by the desired delivery date. The default value is false . |
packageShipmentParameters .includeInjectionProfiles | Optional | Booleantrue or false | When true , service methods from the configured injection profiles will be considered during carrier selection. The default value is true . |
packageShipmentParameters .injectionParameters .injectionProfileId | Optional, but required when including injectionSiteId | String | The Shipium ID or your organization's unique ID for an injection profile that should be considered during carrier selection |
packageShipmentParameters .injectionParameters .injectionSiteId | Optional | String | The Shipium ID or your organization's unique ID for an injection site that should be considered during carrier selection; if an injectionSiteId is specified, it must be accompanied by an injectionProfileId . |
packageShipmentParameters .lastMileDeliveryOptions .deliveryInstruction | Optional | String enumeration Values are: - leave_at_door - meet_at_door | Instructions passed to the carrier on how to handle on delivery |
packageShipmentParameters .lastMileDeliveryOptions .undeliverableInstruction | Optional | String enumeration Values are: - leave_at_door - return - destroy | Instructions passed to the carrier on how to handle packages that go undelivered |
packageShipmentParameters .lastMileDeliveryOptions .tip.type | Optional | String enumeration Values are: - fixed - percentage | The type of tip |
packageShipmentParameters .lastMileDeliveryOptions .tip.value | Optional | Number ($float) | The fixed amount or percentage value for the tip |
packageShipmentParameters .lastMileDeliveryOptions .tip.currency | Optional | String Ex.: usd | The currency of the tip amount |
packageShipmentParameters .lastMileDeliveryOptions .tipForLabelCreate.type | Optional | String enumeration Values are: - fixed - percentage | The type of tip |
packageShipmentParameters .lastMileDeliveryOptions .tipForLabelCreate.value | Optional | Number ($float) | The fixed amount or percentage value for the tip |
packageShipmentParameters .lastMileDeliveryOptions .tipForLabelCreate.currency | Optional | String Ex.: usd | The currency of the tip amount |
packageShipmentParameters .lastMileDeliveryOptions .deliverableActionForLabel Create | Optional | String enumeration Values are: - leave_at_door - meet_at_door - return - discard | Instructions passed to the carrier on the label for how to handle on delivery |
packageShipmentParameters .lastMileDeliveryOptions .undeliverableActionForLabel Create | Optional | String enumeration Values are: - leave_at_door - meet_at_door - return - discard | Instructions passed to the carrier on the label for how to handle packages that go undelivered |
packageShipmentParameters .pickupWindow | Optional | String | The timeframe for the delivery pickup |
packageShipmentParameters .preferredCarrierDelivery DateTime | Optional | String ($date-time) Ex.: 2019-10-31T20:00:00Z | The ISO-8601 date-time the package is intended to arrive to the customer; this will be passed through to the carrier. |
packageShipmentParameters .saturdayDelivery | Optional | Booleantrue or false | If you pass saturdayDelivery , you can specify whether or not you want Saturday delivery to be an option for this package. The default value is false .Note: This does not guarantee a Saturday delivery. |
packageShipmentParameters .serviceMethodPoBoxAllow List | Optional | String | A list of serviceMethodIds that will be considered for USPS PO box delivery that otherwise would be filtered out as they do not support USPS PO box delivery for the shipment. You can find a list of serviceMethodIds in Supported Carriers. |
packageShipmentParameters .shipOption | Optional | String Ex.: standard | A high-level shipping option shown to or selected by a customer; this is only applicable when calculating the package carrier selection for this item. |
packageShipmentParameters .thirdPartyBillingSetId | Optional | String | Either the Shipium third party billing set ID or the third party billing set ID provided by your organization; when present, this is used to indicate the third party billing set that should be used for the billing of the shipment. |
Response attributes
The primary response attributes of the LTL Shipment Cost Compare API are described in the following table. Elements included in the above request table that are also returned in the API response are not included here.
Response attribute | Description |
---|---|
shipiumLtlCostId | The Shipium-generated unique ID of the LTL cost, for reference |
partnerLtlCostId | An optional unique identifier that may be used for this LTL cost |
rawDesiredDeliveryDate | The timestamp passed in by your organization (or your fulfillment partner) for the intended date the package will arrive to the customer; the timestamp must be a valid ISO 8601 timestamp. |
recommendedTransportationType | Whether using LTL or small package shipping will be less expensive, and able to meet the request parameters (ltlTransportation or packageTransportation ) |
recommendedTransportationTypeCost | The cost of using the recommended transportation type for this shipment |
allTransportationTypeCosts .transportationType | The transportation type used for this cost estimate (ltlTransportation or packageTransportation ) |
allTransportationTypeCosts .transportationTypeCost | The cost of using this transportation type for the shipment; this will be zero if no carrier could be found for this shipment. |
ltlCostDetails.loadPackaging | How the packages in the LTL shipment are packaged or should be packaged |
ltlCostDetails.evaluatedCarriers | Information about the other carriers that were considered but were not selected because they either can't meet the desired delivery date, can't carry the shipment, can't pick up the shipment on the requested date, or cost more than the selected carrier. This attribute requires includeEvaluatedServiceMethodsInResponse to be true in the request. |
ltlCostDetails.selectedCarrier | Information about the selected carrier |
ltlCostDetails.totalCost | The least expensive quoted cost of the shipment, using LTL; this will be zero in the case that no carrier could be selected. |
ltlShipmentParameters | Request parameters that informed LTL costing and carrier selection |
packageCostDetails.totalCost | How much it would cost to ship all of the packages individually |
packageCostDetails.packageDetails | Information about each package's carrier selection |
packageCostDetails.status | Summary of what happened during package carrier selection: - success indicates that all packages had a carrier eligible to ship them.- failure indicates that one or more packages had no carriers eligible to ship them.- timeout indicates that one or more carrier selections could not be completed due to the amount of time required to process them. |
packageShipmentParameters | Request parameters that informed package shipments and carrier selection; this information is only present if these parameters were in the cost request. |
packedShipments | The already packed LTL shipments that should be included in this LTL shipment; items in this list are used for LTL costing and do not have their packaging modified, nor are eligible for package carrier selection. Items in this list do not have corresponding Shipium shipments. |
shipments | The shipment IDs of all package shipments in this LTL shipment |
Example cURL call
curl --request POST
--url <<api_url>>/api/v1/ltl/shipment/costCompare
--header 'accept: application/json'
--header $AUTHSTRING
--header 'content-type: application/json'
--data 'INSERT REQUEST BODY FROM BELOW'
Example request
{
"businessDaysOfTransit": 3,
"currencyCode": "usd",
"desiredDeliveryDate": "2019-10-31T20:00:00Z",
"desiredDeliveryDateOptions": {
"exactDateDelivery": true,
"guaranteedDateDelivery": true,
"upgradeCostDeltaMax": 0,
"currencyCode": "usd"
},
"destinationAddress": {
"name": "Rod Runner",
"company": "ACME",
"addressType": "commercial",
"street1": "43 One Way Lane",
"city": "Seattle",
"state": "WA",
"countryCode": "US",
"postalCode": "14410",
"phoneNumber": "206-123-4567",
"phoneNumberCountryCode": "+1"
},
"existingShipmentIds": [
"95502e82-93ff-4355-b37d-75c926aaecff",
"47b68be9-30e9-460f-b8b2-19dfe443d602"
],
"includeEvaluatedServiceMethodsInResponse": true,
"includeLineItemsInEvaluatedServiceMethods": true,
"ltlShipmentParameters": {
"billToContact": {
"addressType": "commercial",
"city": "Albuquerque",
"company": "ACME",
"countryCode": "US",
"emailAddress": "[email protected]",
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"postalCode": "87121",
"state": "NM",
"street1": "123 Main St.",
"street2": "Suite 42",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
},
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"collectOnDelivery": {
"amount": 12.34,
"currency": "usd"
},
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"packagingOptions": [
{
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"maximumWeight": 850.25,
"packagingWeight": 10.125,
"weightUnit": "lb",
"width": 40
}
}
],
"paymentDetails": {
"payerType": "consignee",
"paymentTerms": "collect"
},
"pickupDate": "2024-10-31",
"pricingTypes": "contractPallet",
"serviceLevels": "guaranteedMorning",
"accessorialCodes": "INS"
},
"packedShipments": [
{
"declaredValue": {
"amount": 12.34,
"currency": "usd"
},
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"weight": 850.25,
"weightUnit": "lb",
"width": 40
},
"nmfcFreightClass": "50"
}
],
"partnerLtlCostId": "myCustomPartnerLTLShipmentId123",
"returnToAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"shipFromAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"shippedDateTime": "2024-10-29T09:12:33.123456Z",
"shipments": [
{
"carrierProcessingId": "86420443",
"deliveryNote": "Leave at door",
"partnerReferenceIdentifier": "acme-shipment-123",
"purchaseOrderIdentifier": "PO-78654",
"referenceIdentifier": "acme-3-albq",
"shipmentTags": [
"ALBQ"
],
"orderedDateTime": "2024-10-17T09:12:33.123456Z",
"packages": [
{
"packageReferenceIdentifier": "1of3",
"partnerProvidedPackageId": "mid-aluminum-2",
"orderItemQuantities": [
{
"deliveryEstimateId": "0b3d140a-525b-43a7-896c-cdc381580d61",
"productId": "RN03947--Z43121",
"quantity": 3,
"productDetails": [
"lq"
],
"orderItemReferenceIdentifier": "someIdentifier",
"shipiumOrderId": "4dc43fff-c3af-4d7b-8a18-e01f2b4cb312",
"partnerOrderId": "myCustomPartnerOrderId123",
"hazmat": false,
"productTaxCode": "txcd_99999999",
"nmfcCode": "7318.15.20.10",
"nmfcFreightClass": "50"
}
],
"packagingType": {
"packagingMaterial": "box",
"packagingSizeName": "13x12x10 Box",
"packagingTypeId": "ebd94f8b-d390-4c9c-987f-b88343f5bf45",
"linearDimensions": {
"linearUnit": "in",
"length": 13,
"width": 12,
"height": 10
},
"packagingWeight": {
"weightUnit": "lb",
"weight": 50
}
},
"totalWeight": {
"weightUnit": "lb",
"weight": 50
},
"totalDeclaredValue": {
"declaredValue": 0,
"currencyCode": "usd"
},
"deliveredDateTime": "2024-10-31T10:50:11.123456Z"
}
],
"partnerShipmentId": "myCustomPartnerShipmentId123",
}
],
"tenantId": "acme-tenant34",
"testMode": true,
"units": {
"currencyCode": "usd",
"linearUnit": "in",
"weightUnit": "lb"
},
"packageShipmentParameters": {
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"deliverySignatureOption": "resident_signature",
"deliveryWindow": {
"startWindow": "08:00:11",
"endWindow": "16:00:11",
"timeZone": "America/New_York"
},
"forceThirdPartyBilling": false,
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"ignoreCarrierMinimumDimensions": false,
"ignoreUpgradeSpendLimits": false,
"includeInjectionProfiles": false,
"lastMileDeliveryOptions": {
"deliveryInstruction": "LEAVE_AT_DOOR",
"undeliverableInstruction": "LEAVE_AT_DOOR",
"tip": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"tipForLabelCreate": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"deliverableActionForLabelCreate": "RETURN",
"undeliverableActionForLabelCreate": "RETURN"
},
"pickupWindow": {
"startWindow": "08:00",
"endWindow": "16:00",
"timeZone": "America/New_York"
},
"preferredCarrierDeliveryDateTime": "2024-10-31T20:00:00Z",
"saturdayDelivery": false,
"serviceMethodPoBoxAllowList": [
"ups-standard-service-method""
],
"shipOption": "Standard",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
}
}
Example response
{
"shipiumLtlCostId": "fa2b839c-92e7-48bf-ba09-b0f5a0b0c475",
"partnerLtlCostId": "myCustomPartnerLTLShipmentId123",
"partnerTenantId": "acme-tenant34",
"shipiumTenantId": "469696b8-731e-44bb-82d6-2c437d57f3ce",
"shipFromAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"shipFromTimeZoneId": "mst-gmt-7",
"destinationAddress": {
"name": "Rod Runner",
"company": "ACME",
"addressType": "commercial",
"street1": "43 One Way Lane",
"city": "Seattle",
"state": "WA",
"countryCode": "US",
"postalCode": "14410",
"phoneNumber": "206-123-4567",
"phoneNumberCountryCode": "+1"
},
"destinationTimeZoneId": "cst-gmt-6",
"returnToAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"rawDesiredDeliveryDate": "2024-10-31T10:50:11.123456Z",
"recommendedTransportationType": "ltlTransportation",
"recommendedTransportationTypeCost": 0,
"testMode": true,
"units": {
"currencyCode": "usd",
"linearUnit": "in",
"weightUnit": "lb"
},
"allTransportationTypeCosts": [
{
"transportationType": "ltlTransportation",
"transportationTypeCost": 0
}
],
"ltlCostDetails": {
"loadPackaging": [
{
"details": {
"declaredValue": {
"amount": 12.34,
"currency": "usd"
},
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"weight": 850.25,
"weightUnit": "lb",
"width": 40
},
"nmfcFreightClass": "50"
},
"shipments": [
{
"partnerShipmentId": "myCustomPartnerShipmentId123",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6",
"packageReferenceIdentifier": "1of3"
}
]
}
],
"evaluatedCarriers": [
{
"billableWeight": {
"weightUnit": "lb",
"weight": 50
},
"billToThirdPartyId": "acme-3rd-party-billing-fedex",
"carrier": "fedex",
"carrierAccountId": "acme-fedex-1234",
"carrierServiceMethodId": "fedex-smartpost-service-method",
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true,
"nmfcFreightClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
}
}
],
"loadDeficitCost": {
"amount": 0,
"nmfcClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
},
"rate": 0
},
"pickupDateTime": "2024-10-29T20:47:11.970Z",
"pricingType": "all",
"quoteId": "e635e871-103c-4a6d-9726-128a3ae51253",
"quoteEffectiveDateTime": "2024-10-28T20:47:11.970Z",
"quoteExpirationDateTime": "2024-10-31T20:47:11.970Z",
"scacCode": "fxsp",
"serviceLevel": "standard",
"accessorialCodes": "INS",
"totalCost": 0
}
],
"selectedCarrier": {
"billableWeight": {
"weightUnit": "lb",
"weight": 50
},
"billToThirdPartyId": "acme-3rd-party-billing-ups",
"carrier": "ups",
"carrierAccountId": "ups-1234567",
"carrierServiceMethodId": "ups-ground-service-method",
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true,
"nmfcFreightClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
}
}
],
"loadDeficitCost": {
"amount": 0,
"nmfcClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
},
"rate": 0
},
"pickupDateTime": "2024-10-29T20:47:11.970Z",
"pricingType": "all",
"quoteId": "20df5261-f0bc-492c-9f31-c580f360b8a7",
"quoteEffectiveDateTime": "2024-10-28T20:47:11.970Z",
"quoteExpirationDateTime": "2024-11-09T20:47:11.970Z",
"scacCode": "UPSN-CG",
"serviceLevel": "standard",
"accessorialCodes": "INS",
"totalCost": 0
},
"totalCost": 0
},
"ltlShipmentParameters": {
"billToContact": {
"addressType": "commercial",
"city": "Albuquerque",
"company": "ACME",
"countryCode": "US",
"emailAddress": "[email protected]",
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"postalCode": "87121",
"state": "NM",
"street1": "123 Main St.",
"street2": "Suite 42",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
},
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"collectOnDelivery": {
"amount": 12.34,
"currency": "usd"
},
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"packagingOptions": [
{
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"maximumWeight": 850.25,
"packagingWeight": 10.125,
"weightUnit": "lb",
"width": 40
}
}
],
"paymentDetails": {
"payerType": "consignee",
"paymentTerms": "collect"
},
"pickupDate": "2024-10-31",
"pricingTypes": "contractPallet",
"serviceLevels": "guaranteedMorning",
"accessorialCodes": "INS"
},
"packageCostDetails": {
"totalCost": 0,
"packageDetails": [
{
"status": "success",
"statusDetails": "success",
"carrierSelectionId": "911b488c-c620-4663-a554-bf9628e7ff43",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6",
"partnerShipmentId": "myCustomPartnerShipmentId123",
"partnerId": "acme007",
"carrierAccountId": "acme-ups-01",
"serviceMethodUrn": "string",
"serviceMethodIdentifier": "1f19ca28-9798-42b2-9e8c-f9c3a72c9bab:ZmVkZXgtZXhwcmVzcy1zYXZlci1zZXJ2aWNlLW1ldGhvZDo6OGUzYmIxOGUtMTA3Ni00ODUxLWE4ZTYtZWViZTZmNWUwOTkwOjYyNWRiNjU4LWUwOTEtNGUxYi04ODhhLTMyMTI3MGM4ZTZhZjphOGVjYTRlYS1kMDcwLTRkZWMtOGZiMC0xNGNjMTQxMzJmNWQ6ZmVkZXg6NWExZWE3MjgtNGJhMi00Y2M2LTg5MmMtMWYxMjJmMzUwNzc1Ojo",
"carrier": "ups",
"carrierServiceMethodId": "ups-ground-service-method",
"serviceMethodName": "ground",
"costAdjustConfigId": "331de530-6a92-4238-9d3c-70083b19d94e",
"totalCost": 0,
"carrierCompareCost": 0,
"carrierInvoiceCost": 0,
"operationalCost": 2.7,
"thirdPartyBilling": true,
"carrierSelectionDateTime": "2024-10-27T20:47:11.970Z",
"carrierZoneId": "ups-zone-7",
"calculatedBillableWeight": {
"weightUnit": "lb",
"weight": 50
},
"laneMatch": {
"laneId": "asdqwdq-qwd123ds-123asdwd-123asd",
"partnerLaneId": "custom partner provided id"
},
"evaluatedServiceMethods": [
{
"carrier": "ups",
"carrierServiceMethodId": "ups-ground-service-method",
"serviceMethodName": "ground",
"carrierAccountId": "acme-ups-01",
"totalCost": 0,
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"rateCurrency": "usd",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true
}
]
}
],
"cancellationDateTime": "2024-10-31T10:50:11.123456Z",
"effectiveShipDateTime": "2024-10-30T20:47:11.970Z"
}
],
"status": "success"
},
"packageShipmentParameters": {
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"deliverySignatureOption": "resident_signature",
"deliveryWindow": {
"startWindow": "08:00:11",
"endWindow": "16:00:11",
"timeZone": "America/New_York"
},
"forceThirdPartyBilling": false,
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"ignoreCarrierMinimumDimensions": false,
"ignoreUpgradeSpendLimits": false,
"includeInjectionProfiles": false,
"lastMileDeliveryOptions": {
"deliveryInstruction": "LEAVE_AT_DOOR",
"undeliverableInstruction": "LEAVE_AT_DOOR",
"tip": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"tipForLabelCreate": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"deliverableActionForLabelCreate": "RETURN",
"undeliverableActionForLabelCreate": "RETURN"
},
"pickupWindow": {
"startWindow": "08:00",
"endWindow": "16:00",
"timeZone": "America/New_York"
},
"preferredCarrierDeliveryDateTime": "2024-10-31T20:00:00Z",
"saturdayDelivery": false,
"serviceMethodPoBoxAllowList": [
"ups-standard-service-method"
],
"shipOption": "Standard",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
},
"packedShipments": [
{
"declaredValue": {
"amount": 12.34,
"currency": "usd"
},
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"weight": 850.25,
"weightUnit": "lb",
"width": 40
},
"nmfcFreightClass": "50"
}
],
"shipments": [
{
"partnerShipmentId": "myCustomPartnerShipmentId123",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6"
}
]
}
Retrieve existing LTL and small package shipment cost comparison information
Path
POST
https://api.shipium.com/api/v1/ltl/shipment/costCompare/{ltlCostId}
Required path element: ltlCostId
Example cURL call
curl --request POST
--url <<api_url>>/api/v1/ltl/shipment/costCompare/{ltlCostId}
--header 'accept: application/json'
--header $AUTHSTRING
--header 'content-type: application/json'
Example response
{
"shipiumLtlCostId": "fa2b839c-92e7-48bf-ba09-b0f5a0b0c475",
"partnerLtlCostId": "myCustomPartnerLTLShipmentId123",
"partnerTenantId": "acme-tenant34",
"shipiumTenantId": "469696b8-731e-44bb-82d6-2c437d57f3ce",
"shipFromAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"shipFromTimeZoneId": "mst-gmt-7",
"destinationAddress": {
"name": "Rod Runner",
"company": "ACME",
"addressType": "commercial",
"street1": "43 One Way Lane",
"city": "Seattle",
"state": "WA",
"countryCode": "US",
"postalCode": "14410",
"phoneNumber": "206-123-4567",
"phoneNumberCountryCode": "+1"
},
"destinationTimeZoneId": "cst-gmt-6",
"returnToAddress": {
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"emailAddress": "[email protected]",
"company": "ACME",
"street1": "123 Main St.",
"street2": "Suite 42",
"city": "Albuquerque",
"state": "NM",
"countryCode": "US",
"postalCode": "87121",
"addressType": "commercial"
},
"rawDesiredDeliveryDate": "2024-10-31T10:50:11.123456Z",
"recommendedTransportationType": "ltlTransportation",
"recommendedTransportationTypeCost": 0,
"testMode": true,
"units": {
"currencyCode": "usd",
"linearUnit": "in",
"weightUnit": "lb"
},
"allTransportationTypeCosts": [
{
"transportationType": "ltlTransportation",
"transportationTypeCost": 0
}
],
"ltlCostDetails": {
"loadPackaging": [
{
"details": {
"declaredValue": {
"amount": 12.34,
"currency": "usd"
},
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"weight": 850.25,
"weightUnit": "lb",
"width": 40
},
"nmfcFreightClass": "50"
},
"shipments": [
{
"partnerShipmentId": "myCustomPartnerShipmentId123",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6",
"packageReferenceIdentifier": "1of3"
}
]
}
],
"evaluatedCarriers": [
{
"billableWeight": {
"weightUnit": "lb",
"weight": 50
},
"billToThirdPartyId": "acme-3rd-party-billing-fedex",
"carrier": "fedex",
"carrierAccountId": "acme-fedex-1234",
"carrierServiceMethodId": "fedex-smartpost-service-method",
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true,
"nmfcFreightClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
}
}
],
"loadDeficitCost": {
"amount": 0,
"nmfcClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
},
"rate": 0
},
"pickupDateTime": "2024-10-29T20:47:11.970Z",
"pricingType": "all",
"quoteId": "e635e871-103c-4a6d-9726-128a3ae51253",
"quoteEffectiveDateTime": "2024-10-28T20:47:11.970Z",
"quoteExpirationDateTime": "2024-10-31T20:47:11.970Z",
"scacCode": "fxsp",
"serviceLevel": "standard",
"totalCost": 0
}
],
"selectedCarrier": {
"billableWeight": {
"weightUnit": "lb",
"weight": 50
},
"billToThirdPartyId": "acme-3rd-party-billing-ups",
"carrier": "ups",
"carrierAccountId": "ups-1234567",
"carrierServiceMethodId": "ups-ground-service-method",
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true,
"nmfcFreightClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
}
}
],
"loadDeficitCost": {
"amount": 0,
"nmfcClass": "50",
"weight": {
"weightUnit": "lb",
"weight": 50
},
"rate": 0
},
"pickupDateTime": "2024-10-29T20:47:11.970Z",
"pricingType": "all",
"quoteId": "20df5261-f0bc-492c-9f31-c580f360b8a7",
"quoteEffectiveDateTime": "2024-10-28T20:47:11.970Z",
"quoteExpirationDateTime": "2024-11-09T20:47:11.970Z",
"scacCode": "UPSN-CG",
"serviceLevel": "standard",
"totalCost": 0
},
"totalCost": 0
},
"ltlShipmentParameters": {
"billToContact": {
"addressType": "commercial",
"city": "Albuquerque",
"company": "ACME",
"countryCode": "US",
"emailAddress": "[email protected]",
"name": "Wile E. Coyote",
"phoneNumber": "505-662-7272",
"phoneNumberCountryCode": "+1",
"postalCode": "87121",
"state": "NM",
"street1": "123 Main St.",
"street2": "Suite 42",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
},
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"collectOnDelivery": {
"amount": 12.34,
"currency": "usd"
},
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"packagingOptions": [
{
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"maximumWeight": 850.25,
"packagingWeight": 10.125,
"weightUnit": "lb",
"width": 40
}
}
],
"paymentDetails": {
"payerType": "consignee",
"paymentTerms": "collect"
},
"pickupDate": "2024-10-31",
"pricingTypes": "contractPallet",
"serviceLevels": "guaranteedMorning"
},
"packageCostDetails": {
"totalCost": 0,
"packageDetails": [
{
"status": "success",
"statusDetails": "success",
"carrierSelectionId": "911b488c-c620-4663-a554-bf9628e7ff43",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6",
"partnerShipmentId": "myCustomPartnerShipmentId123",
"partnerId": "acme007",
"carrierAccountId": "acme-ups-01",
"serviceMethodUrn": "c645ea83-d161-4e28-b8cb-39bf1a620cd3:4e14aaa3-198b-4861-b658-faf51031c84c:83fe5227-a765-45b2-bc2a-cb919ddce922:1",
"serviceMethodIdentifier": "1f19ca28-9798-42b2-9e8c-f9c3a72c9bab:ZmVkZXgtZXhwcmVzcy1zYXZlci1zZXJ2aWNlLW1ldGhvZDo6OGUzYmIxOGUtMTA3Ni00ODUxLWE4ZTYtZWViZTZmNWUwOTkwOjYyNWRiNjU4LWUwOTEtNGUxYi04ODhhLTMyMTI3MGM4ZTZhZjphOGVjYTRlYS1kMDcwLTRkZWMtOGZiMC0xNGNjMTQxMzJmNWQ6ZmVkZXg6NWExZWE3MjgtNGJhMi00Y2M2LTg5MmMtMWYxMjJmMzUwNzc1Ojo",
"carrier": "ups",
"carrierServiceMethodId": "ups-ground-service-method",
"serviceMethodName": "ground",
"costAdjustConfigId": "331de530-6a92-4238-9d3c-70083b19d94e",
"totalCost": 0,
"carrierCompareCost": 0,
"carrierInvoiceCost": 0,
"operationalCost": 2.7,
"thirdPartyBilling": true,
"carrierSelectionDateTime": "2024-10-27T20:47:11.970Z",
"carrierZoneId": "ups-zone-7",
"calculatedBillableWeight": {
"weightUnit": "lb",
"weight": 50
},
"laneMatch": {
"laneId": "asdqwdq-qwd123ds-123asdwd-123asd",
"partnerLaneId": "custom partner provided id"
},
"evaluatedServiceMethods": [
{
"carrier": "ups",
"carrierServiceMethodId": "ups-ground-service-method",
"serviceMethodName": "ground",
"carrierAccountId": "acme-ups-01",
"totalCost": 0,
"estimatedDeliveryDate": "2024-10-30T20:47:11.970Z",
"rateCurrency": "usd",
"lineItems": [
{
"name": "base",
"rate": 2.3,
"carrierSurchargeId": "123451239874980",
"lineItemType": "surcharge",
"hiddenFromCarrierCompare": true,
"hiddenFromInvoice": true,
"hiddenFromOperational": true
}
]
}
],
"cancellationDateTime": "2024-10-31T10:50:11.123456Z",
"effectiveShipDateTime": "2024-10-30T20:47:11.970Z"
}
],
"status": "success"
},
"packageShipmentParameters": {
"carrierServiceMethodAllowList": [
"ups-ground-service-method",
"ups-standard-service-method"
],
"deliverySignatureOption": "resident_signature",
"deliveryWindow": "string",
"forceThirdPartyBilling": false,
"fulfillmentContextIds": [
"ca037b83-6c47-4515-867e-aa890222c53b"
],
"fulfillmentType": "customer",
"ignoreCarrierMinimumDimensions": false,
"ignoreUpgradeSpendLimits": false,
"includeInjectionProfiles": false,
"lastMileDeliveryOptions": {
"deliveryInstruction": "LEAVE_AT_DOOR",
"undeliverableInstruction": "LEAVE_AT_DOOR",
"tip": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"tipForLabelCreate": {
"type": "FIXED",
"value": 0,
"currency": "usd"
},
"deliverableActionForLabelCreate": "RETURN",
"undeliverableActionForLabelCreate": "RETURN"
},
"pickupWindow": "string",
"preferredCarrierDeliveryDateTime": "2019-10-31T20:00:00Z",
"saturdayDelivery": false,
"serviceMethodPoBoxAllowList": [
"string"
],
"shipOption": "Standard",
"thirdPartyBillingSetId": "acme-3rd-party-billing-set"
},
"packedShipments": [
{
"declaredValue": {
"amount": 12.34,
"currency": "usd"
},
"loadPackagingType": "overboxed",
"loadPackagingSize": {
"height": 84,
"length": 48,
"linearUnit": "in",
"weight": 850.25,
"weightUnit": "lb",
"width": 40
},
"nmfcFreightClass": "50"
}
],
"shipments": [
{
"partnerShipmentId": "myCustomPartnerShipmentId123",
"shipiumShipmentId": "7bfef4f3-9e5e-4637-9213-5934f9f104e6"
}
]
}
Resources
Your Shipium team member is available to help along the way. However, you might find these resources helpful:
Updated 2 days ago