API Fields (Rate and Ship External)

This document provides a breakdown of Rate and Shp External API Fields in DesktopShipper.

Base JSON

Description

clientId: Static unique identification number for a DesktopShipper account.

profileId: Static identification number internally generated by Desktopshipper for each profile.

shipMethod: Dynamic value used for mapping order to carrier service/group of services.

returnMethod: Dynamic value used for mapping order to return service/group of return services.

ratingOptionId: Deprecated use shipMethod instead.

carrierMappingMarketId: Static identification number internally generated by Desktopshipper for each order integration. Used for Carrier mapping arguments.

valueAddedTaxInformation: Holds arguments for country specific tax data.

locationId: Static identification number internally generated by Desktopshipper for each location. Pulled from profile if null or missing.

to: Holds arguments for the ship to/recipient address.

from: Holds arguments for the ship from/origin address. Pulled from profile if null or missing.

return: Holds arguments for the address the package should be returned to. Pulled from profile if null or missing.

orderNumber: Value for packageId if no packageId is supplied.

packages: Holds arguments for the box or boxes being shipped.

dateAdvanceDays: How many total days in the future, the requested label(s) should be created for.

testMode: If the user attached to the API token has their test mode unchecked, then this value can change if live postage is generated or test postage.

preferredLabelFormat: Options are: png (default), pdf, or zpl.

zplPrintOptions: Holds arguments for ZPL label settings. Required if label format = zpl.

hostMarketName: Name of the origin of the orders data. Examples: Amazon, eBay, Shopify, Etsy, etc.

sourceChannelLinkId: Static identification number internally generated by Desktopshipper for each order integration. Used for Carrier mapping arguments.

thirdPartyAccountInfo: Holds arguments for billing shipping charges and/or taxes to a third parties carrier account. Carriers Allowed = Fedex, UPS & DHL Express.


valueAddedTaxInformation

Description 

vatNumber: Unique Government or Broker supplied value corresponding to tax account in destination country.

taxType: 0 = VAT, 1 = IOSS

issuerCountry: Country that issued the vatNumber value.


To

Description

avsInformation: Holds arguments for address verification information. For DesktopShipper internal systems to pass values into.

avsInformation.avsServiceUsed: What Desktopshipper service requested the Ship To address to be avs'd.

avsInformation.avsShortResult: What was the outcome of the avs process.

avsInformation.avsErrorMessage: Holds any returned error messages.

avsInformation.avsFailMessage: Holds any returned fail messages.

avsInformation.avsCarrierRt: Alpha-Numeric value corresponding to the AVS carriers route.

avsInformation.avsUPSRuralFlag: Currently returns empty string.

avsInformation.avsResidentialIndicatorFlag: Returns if the address is residential, business, or empty. Possible values are: [R, B, ""].

avsInformation.avsPRUrbanizationFlag: Currently returns empty string.

avsInformation.RecordType: Status of the address after AVS. Possible values are [invalid, valid, error, non-us, unknown].

id: Internal Desktopshipper value, ignored by API.

name: Holds receiver's name.

company: Holds company/business name of the Ship To address.

address1: Holds the addresses street name and building number up to 30-35 characters depending on the carrier.

address2: Holds extra information about the address. Such as apartment or po box numbers.

address3: Holds extra information about the address.

city: Name of the city parcel is to be delivered to.

postalCode: Also known as zip code, 5 or 9 digit value indicating which area of the country the parcel is to be delivered to.

state: 2 letter code corresponding to the State or Province the parcel is to be delivered to.

countryCode: 2-digit ISO code of the country the parcel is to be delivered to.

countryName: Full Name of the country the parcel is to be delivered to.

phone: Contact cell or land line number of the person the parcel is to be delivered to.

email: Email address of the person the parcel is to be delivered to.

avsInfo: Holds arguments for address verification, done ahead of time or by Desktopshipper during processing.

avsInfo.validationState: Tells the system if the ship to address has been validated. Values are: [-1 = Invalid,0 = Unverified,1 = Valid].

avsInfo.isResidential: Residential flag, crucial for services like FedEx Ground vs Home Economy. Values are: true or false.

avsInfo.uspsCarrierRoute: Alpha-Numeric value corresponding to the AVS carriers route.


From

Description

id: Internal DesktopShipper value, ignored by API.

name: Holds shipper's name.

company: Holds company/business name of the Ship From/Origin address.

address1: Holds the addresses street name and building number up to 30-35 characters depending on the Ccarrier.

address2: Holds extra information about the address. Such as building number.

address3: Holds extra information about the address.

city: Name of the city parcel is being shipped from.

postalCode: Also known as zip code, 5 or 9 digit value indicating which area of the country the parcel is being shipped from.

state: 2 letter code corresponding to the State or Province the parcel is to be delivered to.

countryCode: 2-digit ISO code of the country the parcel is being shipped from.

countryName: Full Name of the country the parcel is being shipped from.

phone: Contact cell or land line number of the company the parcel is being shipped from.

email: Email address of the company the parcel is being shipped from.

avsInfo: Holds arguments for address verification, done ahead of time or by Desktopshipper during processing.

avsInfo.validationState: Tells the system if the ship to address has been validated. Values are: [-1 = Invalid,0 = Unverified,1 = Valid].

avsInfo.isResidential: Residential flag, crucial for services like FedEx Ground vs Home Economy. Values are: true or false.

avsInfo.uspsCarrierRoute: Alpha-Numeric value corresponding to the AVS carriers route.


Return

Description

id: Internal DesktopShipper value, ignored by API.

name: Holds shipper's name.

company: Holds company/business name of the Ship From/Origin address.

address1: Holds the addresses street name and building number up to 30-35 characters depending on the Ccarrier.

address2: Holds extra information about the address. Such as building number.

address3: Holds extra information about the address.

city: Name of the city parcel is being shipped from.

postalCode: Also known as zip code, 5 or 9 digit value indicating which area of the country the parcel is being shipped from.

state: 2 letter code corresponding to the State or Province the parcel is to be delivered to.

countryCode: 2-digit ISO code of the country the parcel is being shipped from.

countryName: Full Name of the country the parcel is being shipped from.

phone: Contact cell or land line number of the company the parcel is being shipped from.

email: Email address of the company the parcel is being shipped from.

avsInfo: Holds arguments for address verification, done ahead of time or by Desktopshipper during processing.

avsInfo.validationState: Tells the system if the ship to address has been validated. Values are: [-1 = Invalid,0 = Unverified,1 = Valid].

avsInfo.isResidential: Residential flag, crucial for services like FedEx Ground vs Home Economy. Values are: true or false.

avsInfo.uspsCarrierRoute: Alpha-Numeric value corresponding to the AVS carriers route.


Packages

Description

weightUnit: Desktopshipper internal field will be populated with value LB.

contentWeight: Weight of all the items going into the parcel.

totalWeight: Weight of the entire parcel including packaging.

packaging: Holds arguments for parcel packaging.

packaging.id: Desktopshipper generated static value, unique for each Desktopshipper account, for custom packaging.

packaging.boxID: Customer generated static unique value for custom packaging.

packaging.clientID: Desktopshipper account ID.

packaging.description: Brief description describing custom box.

packaging.length: Length of custom box.

packaging.width: Width of custom box.

packaging.height: Height of custom box.

packaging.cost: Value of custom box, only for record keeping purposes. Doesn't get added to package values or passed to carriers.

packaging.barcode: Box sku barcode, common to be utilized for scanning in packaging during picking.

packaging.dryIceWeightWhenRequired: Value to be added to shipment weight when dry ice is added.

packaging.mailPieceValue: Value used by Desktopshipper internal system for various carrier fields.

packaging.carrier: For reporting/export purposes.

packaging.isSystemBox: True/False object for indicating if packaging is Desktopshipper pre-built carrier packaging or if its customer generated.

packaging.pitneyBowesMailPieceValue: Similar to mailPieceValue, but specific to Pitney Bowes. Type of packaging examples: FLAT, PKG, LETTER, etc.

freightClass: For reporting/export purposes.

value: Value of the entire package including packaging. Used when applying insurance.

serviceFlags: Flags that allow packages to ship out via limited carrier services, accepted values = BPM = Bound Printed Matter, MM = Media Mail, MP = Marketing Parcel.

packageId: Account unique value for each package that allows for quick searching and identifying different packages in Desktopshipper VSB.

customs: Holds arguments for each individual parcel's customs. This object is required for shipping international packages.

customs.contentsDescription: What broad category of items are in the parcel.

customs.originCountry: 2-digit ISO code for the origin country of the item.

customs.signer: Customs form signer at shipping warehouse, often shipping manager or owner.

customs.customsTag: What type of mail is being shipped, accepted values are: "Merchandise", "Donation", "Sample", "Dangerous Goods", "Return Goods", "Documents", "Gift", "Other".

customs.customsTagOtherDesc: If customsTag = "Other" then fill out what type of customs this is.

customs.items: Holds arguments for item custom information, is required for international shipments.

customs.items.itemMarketProductKey: Used as a unique value for the product's database.

customs.items.sku: Used as a unique value for the item's database and throughout the shipping process. Depending on the carrier is passed to the carrier.

customs.items.productSku: Used as a replacement for a blank sku only during shipping.

customs.items.description: Explains what the specific item is.

customs.items.qty: How many of this sku/item is included in the corresponding parcel.

customs.items.value: Retail cost for a single qty of the item, very important for tax purposes.

customs.items.weight: Weight for a single qty of the item.

customs.items.countryOfMfg: Where was the product produced.

customs.items.stateOrProvOfMfg: State or Provice where the product was produced.

customs.items.harmCode: US Customs harmonized code.

customs.items.additionalCustomsItemFields: Internal Desktopshipper field populated by customs information from UPS carrier account settings.

customs.items.additionalCustomsItemFields.value: Populated during the shipping process, used for fields- Export Information, EEI License Code, License Line Value, ECCN Number.

customs.consigneeTaxId: Tax Id for countries that requires importers/recievers tax identification number (similar to SSN).

customs.customerPaidTaxes: How much the customer has already paid in taxes during check out. Used for EPG/RRD & exports from the VSB.

customs.customerPaidDuties: How much the customer has already paid in duties during check out. Used for EPG/RRD & exports from the VSB.

customs.taxType: What type of tax Id is provided. Accepted values: NationalIdNumber = 1, MilitaryIdNumber = 2, PassportNumber = 3, Other = 4.

customs.taxTypeOptions: Allows multiple tax Id types to be passed.

customs.taxTypeOptions.key: Key has limited accepted values, those values are: NationalIdNumber = 1, MilitaryIdNumber = 2, PassportNumber = 3, Other = 4. 

customs.taxTypeOptions.value: Value is what the customer provided for the package.

items: Holds arguments for item information. If shipping international the following is required- customs fields, sku, weight, qty, & value.

items.quantityToShip: How many of an item are included in this shipment.

items.additionalInformation: Holds arguments for attaching information to a line item. Populated by DSX under workstation setting- Advanced Settings.

items.additionalInformation.customValue1Label: Key that is used to look up data field.

items.additionalInformation.customValue1Data: Item custom value for use in exports/reporting.

items.additionalInformation.customValue1Type: Tells the system how to treat the data field. If left blank or null default = string, options: Number, Boolean, Text.

items.additionalInformation.customValue2Label: Key that is used to look up data field.

items.additionalInformation.customValue2Data: Item custom value for use in exports/reporting.

items.additionalInformation.customValue2Type: Tells the system how to treat the data field. If left blank or null default = string, options: Number, Boolean, Text.

items.additionalInformation.customValue3Label: Key that is used to look up data field.

items.additionalInformation.customValue3Data: Item custom value for use in exports/reporting.

items.additionalInformation.customValue3Type: Tells the system how to treat the data field. If left blank or null default = string, options: Number, Boolean, Text.

items.marketProductKey: Used as a unique value for the product's database.

items.marketOrderItemKey: Used as a unique value for the product's database. Populates the same field as marketProductKey.

items.title: Brief description describing the item.

items.quantityOrdered: Total quantity ordered. Can be large than qauntityToShip, but can't be smaller than the amount being shipped. Not required.

items.unitPrice: Retail cost for a single qty of the item, very important for tax purposes.

items.unitTaxPrice: Amount of tax charged for a single qty of this item.

items.unitShippingPrice: Amount of shipping paid broken down to the per unit level. For exporting/reporting purposes only.

items.unitShippingTaxPrice: Amount of tax paid on shipping broken down to the per unit level. For exporting/reporting purposes only.

items.unitCustoms: Used to populate customs value if no other field is populated for customs value.

items.giftMessage: For packslip/reporting purposes. Allows adding an item specific long message to be passed.

items.giftNotes: For packslip/reporting purposes. Allows adding an item specific short message to be passed.

items.giftPrice: Amount paid for the gift. For exporting/reporting and packslip purposes.

items.warehouseLocation: Physical location in the Warehouse sku is stored.

items.height: Height in inches of box the item comes in.

items.length: Length in inches of box the item comes in.

items.width: Width in inches of box the item comes in.

items.sku: Unique sku for the item.

items.brand: Brand that produced the item.

items.manufacturer: Company that physically manufactored the product.

items.upc: Unique upc for the item.

items.asin: Amazon Standard Idenfication Number. Required for Amazon Buy Shipping, also needs Amazon order number in MarketOrdernumber and Ship To = US.

items.harmonizedCode: US Customs harmonized code.

items.countryOfOrigin: Origin country that the item was manufactored in.

items.productImageURL: Url to product image for populating in the VSB and/or packslip.

items.vendor: Vendor for the item.

items.dangerousGoodsCode: Possible codes: 01 - Lithium metal Batteries Contained in Equipment, 02 - Lithium metal Batteries Packed with Equipment, 03 - Lithium metal Batteries Stand-alone, 04 - Lithium-ion Batteries Contained in Equipment, 05 - Lithium-ion Batteries Packed with Equipment, 06 - Lithium-ion Batteries Stand-alone, 08 - ORM-D, 09 - Small Quantity Provision.

items.customsDescription: Brief item description for customs purposes.

items.customsDeclaredValue: What is the value of a single qty of this item, that is being declared. Should include any discounts the purchaser received.

items.unitOfMeasure: The unit of measure for Qty, default and expected value is Each.

items.isBPMFlag: Sets the item as being Bound Printed Matter.

items.isDropShipFlag: Sets the item as being Drop Shipped and won't be included during shipping.

items.isLetterFlag: Sets the item as being a Letter.

items.isMediaFlag: Sets the item as being Media Mail.

items.isOversizeFlag: Sets the item as being Oversized and needing a non-conforming parcel.

items.isPerishableFlag: Sets the item as being Pershiable goods.

items.packSeparateFlag: Sets the item as needing a separate parcel for every qty shipped. Example for sku A qty of 3 = three separate boxes for just sku A.

items.requiresDryIceFlag: Sets the item as needing Dry Ice during shipping.

items.customValue1: Field 1 of 3 for passing custom values to the VSB for the purpose of sending to the Carrier and/or printing on a packslip.

items.customValue2: Field 2 of 3 for passing custom values to the VSB for the purpose of sending to the Carrier and/or printing on a packslip.

items.customValue3: Field 3 of 3 for passing custom values to the VSB for the purpose of sending to the Carrier and/or printing on a packslip.

items.productPacking: Internal array object, do not populate.

items.productPacking.boxRecId: For internal use only.

items.productPacking.sku: For internal use only.

items.productPacking.quantity: For internal use only.

items.productPacking.mappedShipmethod: For internal use only.

items.productPacking.cartonWeight: For internal use only.

items.productPacking.resolvedCarrierCode: For internal use only.

items.productPacking.modifiedState: For internal use only.

items.productPacking.original: For internal use only.

items.dangerousGoodInfo: Holds arguments for shipping UPS Dangerous Goods.

items.dangerousGoodInfo.chemicalDetails: Holds arguments for chemical details.

items.dangerousGoodInfo.chemicalDetails.packageQuantityLimitDetails: Holds arguments for package quantity limit details.

items.dangerousGoodInfo.chemicalDetails.packageQuantityLimitDetails.typeCode: The type of package quantity limit., It will be, returned if applies for a given chemical record., Valid values: CARGO_AIRCRAFT_ONLY = 0, LIMITED_QUANTITY = 1, GROUND = 2, PASSENGER_AIRCRAFT = 3, COMPANY_MATERIAL = 4, COMPANY_MATERIAL_CARGO_AIRCRAFT_ONLY = 5, COMPANY_MATERIAL_LIMITED_QUANTITY = 6, COMPANY_MATERIAL_PASSENGER_AIRCRAFT = 7.

items.dangerousGoodInfo.chemicalDetails.packageQuantityLimitDetails.quantity: The numerical value of the mass capacity of the regulated good., It will be returned if applies for a given chemical record.

items.dangerousGoodInfo.chemicalDetails.packageQuantityLimitDetails.unitOfMeasure:  The unit of measure used for the mass capacity of the regulated good. It will be returned if applies for a given chemical record. Accepted Values: ml = 0, l = 1, g = 2, mg = 3, kg = 4, cylinder = 5, pound = 6, pint = 7, quart = 8, gallon = 9, ounce = 10.

items.dangerousGoodInfo.chemicalDetails.packageQuantityLimitDetails.packagingInstructionCode:The packing instructions related to the chemical record., It will be returned if applies for a given chemical record.

items.dangerousGoodInfo.chemicalDetails.idNumber: This is the ID number (UN/NA/ID) for the specified commodity. UN/NA/ID Identification Number assigned to the specified regulated good. (Include the UN/NA/ID as part of the entry).

items.dangerousGoodInfo.chemicalDetails.properShippingName: The standard technical name to describe the hazard properties and the composition of dangerous goods.

items.dangerousGoodInfo.chemicalDetails.regulationSet: The Regulatory set associated with every regulated shipment. Possible values are ADR, 49CFR, IATA. It will be returned if applies for a given chemical record. ADR = Europe to Europe Ground Movement, 49CFR = HazMat regulated by US Dept. of Transportation within the U.S. or ground shipments to Canada, IATA= Worldwide Air movement. Accepted Values: _49CFR = 0, IATA = 1, ADR = 2, TDG = 3.

items.dangerousGoodInfo.chemicalDetails.classDivisionNumber: This is the hazard class associated to the specified commodity. It will be returned if applies for a given chemical record.

items.dangerousGoodInfo.chemicalDetails.subRiskClass: Secondary hazardous characteristics of a package. (There can be more than one – separate each with a comma). It will be returned if applies for a given chemical record.

items.dangerousGoodInfo.chemicalDetails.packagingGroupType: This is the packing group category associated to the specified commodity. This code represents the potential degree of danger represented by a regulated commodity being transported. It will be returned if applies for a given chemical record. Must be shown in Roman Numerals. Valid values are: I, II, III, blank.

items.dangerousGoodInfo.chemicalDetails.tunnelRestrictionCode: Defines what is restricted to pass through a tunnel. Example: (B),(D),(E),(B/D),(B/E),(C, D),(C/E),(D/E),Blank.

items.dangerousGoodInfo.chemicalDetails.transportCategory: Code representing a category of transportation, assigned by a regulation set for each regulated commodity. Each value of this category is associated with a multiplier that is used to calculate a value. This value is then used to determine the placarding to be place on the vehicle or container that holds the related regulated commodity. Values: NO_MULTIPLIER = 0, MULTIPLIER_OF_50 = 1, MULTIPLIER_OF_3 = 2, MULTIPLIER_OF_1 = 3, MULTIPLIER_OF_0 = 4.

items.dangerousGoodInfo.chemicalDetails.chemicalType: A set of chemical records in HMMS that correspond to a subset of chemicals for a regulation set, or the entire set of chemicals for a regulation set. Accepted Values: _49CFR = 0, IATA_INTERNATIONAL_AIR = 1, ADR = 2, TDG = 3, IATA_US_DOMESTIC_AIR = 4, FREIGHT = 5.

items.dangerousGoodInfo.idNumber: UN/NA/ID Identification Number assigned to the specified regulated good.

items.dangerousGoodInfo.properShippingName: The standard technical name to describe the hazard properties and the composition of dangerous goods.

items.dangerousGoodInfo.technicalName: The technical name (when required) for the specified commodity. Required if CommodityRegulatedLevelCode = LQ or FR and if the field applies to the material by regulation.

items.dangerousGoodInfo.departmentOfTransportationSpecialPermit: The chemical shipped under 49CFR requires DOT special permit.

items.dangerousGoodInfo.commodityRegulatedLevel: Indicates the type of commodity. Accepted Values: FULLY_REGULATED = 0, LIMITED_QUANTITY = 1, EXCEPTED_QUANTITY = 2, LIGHTLY_REQULATED = 3.

items.dangerousGoodInfo.quantity: Amount of the substance being shipped.

items.dangerousGoodInfo.qauntityUnitOfMeasure: Required if CommodityRegulatedLevelCode = LQ or FR. The unit of measure used for the mass capacity of the regulated good. Accepted Values: ml = 0, l = 1, g = 2, mg = 3, kg = 4, cylinder = 5, pound = 6, pint = 7, quart = 8, gallon = 9, ounce = 10.

items.dangerousGoodInfo.packagingType: The package type code identifying the type of packaging used for the commodity (Ex: Fiberboard Box). Required if commodityRegulatedLevelCode = LQ or FR. Package Type must be specified when the package is not part of All Packed in One.

items.dangerousGoodInfo.harzardLabel: Defines the type of label that is required on the package for the commodity. Not applicable if CommodityRegulatedLevelCode = LR or EQ. Accepted Values: TOXIC = 0, POISON = 1, DANGEROUS_WHEN_WET = 2.

items.orderRootId: Set by Desktopshipper, will hold account unique order Id also known as client unique sequence internally.

items.id: Do not use, used for associating items to an order.

items.quantityShipped: The quantity of a sku being shipped.

reference1: Package level reference field.

reference2: Package level reference field.

reference3: Package level reference field.

additionalReferences: Accepts up to 10 comma seperated arguments. These values will be tied to AdditionalReference1 = value1, AdditionalReference2 = value2, AdditionalReference3 = value3 etc up to value10. These values can be used to map to carriers and/or packslips.

resolvedDangerousGoodsCode: Pass through field for dangerous goods code at the package level.


ZPL Print Options


thirdPartyAccountInfo

type: What type of carrier billing account this is. See below for values.
USPSEVS = 0,
Endicia = 1,
PitneyBowes = 2,
DHLeCommerce = 3,
RRDonnelley = 5,
DHLPickupAccount = 4,
UPSMIDomestic = 6,
UPSMIInternational = 7,
ASENDIA = 8,
APC = 9,
UPS = 10,
FedEx = 11,
OnTrac = 12,
OSM = 14,
NewgisticsPB = 15,
UPSMIMaster = 16,
DHLExpress = 17,
IMEX = 18,
AccessWorldWide = 19,
USPSPermit = 20,
PostageOne = 21,
Globegistics = 26,
FirstMile = 27,
Passport = 28,
Aramex = 31,
OrangeDS = 32,
Visible = 33,
GLS = 34,
CBDS = 35,
ILS = 36,
PCF = 37,
BorderGuru = 38,
FedExCrossborder = 39,
PBPresort = 40,
SENDLE = 41,
DHLAPI = 42,
Landmark = 43,
FlavorCloud = 44,
Parcll = 45,
UDS = 46,
EPostGlobal = 50,
Mode = 55,
GlobalE = 99,
UPSThirdPartyBilling = 100,
Amazon = 107,
AmazonShippingUS = 108,
FedExThirdPartyBilling = 110,
DHLExpressThirdPartyBilling = 120,
AsendiaAPISubdivision = 208,
LandmarkSubAccount = 243
AmazonEU = 254,
Wizmo = 350,
CanadaPost = 400,
LFLogistics = 450,
DSGeneric = 500

accountNumber: Number for the account to be billed.

billingAddress: Holds arguments for the billing address tied to the account number.

billingAddress.company: Name of the company on the billing address.

billingAddress.name: Name of the cotact on the billing address.

billingAddress.phone: Phone number on the billing address.

billingAddress.street1: Address line 1 or Street line 1 of the billing address.

billingAddress.street2: Address line 2 or Street line 2 of the billing address.

billingAddress.city: Name of the city on the billing address.

billingAddress.postalCode: Also known as Zip Code of the billing address.

billingAddress.stateOrProvinceCode: 2-digit code for the state or province of the billing address.

billingAddress.countryCode: 2-digit ISO code of the country on the billing address.

transportationChargeTypes: Values: [0 = PrePaid, 1 = ThirdpartyBilling, 2 = Recipient, 3 = Collect].

dutiesChargeType: Values: [0 = Sender, 1 = Thirdparty, 2 = Recipient].


DS NEW Logo (LinkedIn Banners)-3