Intro
FedEx REST API is the go-to interface identified by FedEx since 2022. This document outlines the implementation of that FedEx REST API.
Test environment
FedEx test environment can sometimes give generic error due to unavailability, for list of planned outages, see developer announcements
Services Supported
| ServiceCode | Description | Trigger | Region |
|---|---|---|---|
| FEDEX_2_DAY | FedEx 2Day® | ServiceLevel = 2DAY (and not 2DAYAM) | US |
| FEDEX_2_DAY_AM | FedEx 2Day® A.M. | ServiceLevel = 2DAYAM | US |
| FEDEX_CUSTOM_CRITICAL_CHARTER_AIR | FedEx Custom Critical Air | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_AIR_EXPEDITE | FedEx Custom Critical Air Expedite | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_AIR_EXPEDITE_EXCLUSIVE_USE | FedEx Custom Critical Air Expedite Exclusive Use | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_AIR_EXPEDITE_NETWORK | FedEx Custom Critical Air Expedite Network | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_POINT_TO_POINT | FedEx Custom Critical Point To Point | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_SURFACE_EXPEDITE | FedEx Custom Critical Surface Expedite | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_SURFACE_EXPEDITE_EXCLUSIVE_USE | FedEx Custom Critical Surface Expedite Exclusive Use | ServiceLevel = Not mapped | |
| FEDEX_DISTANCE_DEFERRED | FedEx Distance Deferred (Only U.K.) | ServiceLevel = DISTDEF | |
| EUROPE_FIRST_INTERNATIONAL_PRIORITY | FedEx Europe First | ServiceLevel = EUFIRST | EU |
| FEDEX_EXPRESS_SAVER | FedEx Express Saver® | ServiceLevel = SAVER | US & LAC |
| FIRST_OVERNIGHT | FedEx First Overnight® | ServiceLevel = FIRSTON | All |
| FEDEX_FIRST_OVERNIGHT_EXTRA_HOURS | FedEx First Overnight® EH | ServiceLevel = Not mapped | |
| FEDEX_GROUND | FedEx Ground | ServiceLevel = GROUND | US |
| GROUND_HOME_DELIVERY | FedEx Home Delivery® | ServiceLevel = GROUNDHOME | US |
| FEDEX_CARGO_AIRPORT_TO_AIRPORT | FedEx International Airport-to-Airport | ServiceLevel = Not mapped | |
| FEDEX_INTERNATIONAL_CONNECT_PLUS | FedEx International Connect Plus® | ServiceLevel = CONNECTPLS | ? |
| INTERNATIONAL_ECONOMY | FedEx International Economy | ServiceLevel = INTECONOMY | All |
| INTERNATIONAL_ECONOMY_DISTRIBUTION | FedEx International Economy DirectDistributionSM | ServiceLevel = not yet mapped | |
| INTERNATIONAL_FIRST | FedEx International First® | ServiceLevel = INTFIRST | ? |
| FEDEX_CARGO_MAIL | FedEx International MailService® | ServiceLevel = Not mapped | |
| FEDEX_CARGO_INTERNATIONAL_PREMIUM | FedEx International Premium™ | ServiceLevel = Not mapped | |
| INTERNATIONAL_PRIORITY_DISTRIBUTION | FedEx International Priority DirectDistribution® | ServiceLevel = not yet mapped | |
| FEDEX_INTERNATIONAL_PRIORITY_EXPRESS | FedEx International Priority® Express | ServiceLevel = INTPRIOEXP | All |
| FEDEX_INTERNATIONAL_PRIORITY | FedEx International Priority® (New IP Service) | ServiceLevel = INTPRIO | All |
| FEDEX_INTERNATIONAL_PRIORITY_PLUS | FedEx International Priority Plus® | ServiceLevel = INTPRIOPLS | ? |
| PRIORITY_OVERNIGHT | FedEx Priority Overnight® | ServiceLevel = PRIORITYON | US & MEISA |
| PRIORITY_OVERNIGHT_EXTRA_HOURS | FedEx Priority Overnight® EH | ServiceLevel = Not mapped | |
| SAME_DAY | FedEx SameDay® | ServiceLevel = SAMEDAY | US |
| SAME_DAY_CITY | FedEx SameDay® City | ServiceLevel = Not mapped | |
| SMART_POST | FedEx Ground® Economy (Formerly known as FedEx SmartPost®) | ServiceLevel = GROUNDECO | US |
| FEDEX_STANDARD_OVERNIGHT_EXTRA_HOURS | FedEx Standard Overnight® EH | ServiceLevel = Not mapped | US |
| STANDARD_OVERNIGHT | FedEx Standard Overnight® | ServiceLevel = STANDARDON | US & MEISA |
| TRANSBORDER_DISTRIBUTION_CONSOLIDATION | FedEx Transborder Distribution | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_TEMP_ASSURE_AIR | Temp-Assure Air® | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_TEMP_ASSURE_VALIDATED_AIR | Temp-Assure Validated Air® | ServiceLevel = Not mapped | |
| FEDEX_CUSTOM_CRITICAL_WHITE_GLOVE_SERVICES | White Glove Services® | ServiceLevel = Not mapped | |
| FEDEX_REGIONAL_ECONOMY | FedEx Regional Economy® | ServiceLevel = REGECO | EU |
| FEDEX_REGIONAL_ECONOMY_FREIGHT | FedEx Regional Economy® Freight | ServiceLevel = REGECOFRHT | EU |
| INTERNATIONAL_PRIORITY | FedEx International Priority® (Old IP Service) | ServiceLevel = Not mapped | |
| FEDEX_1_DAY_FREIGHT | FedEx 1 Day Freight | ServiceLevel = 1DAYFR | US? |
| FEDEX_2_DAY_FREIGHT | FedEx 2 Day Freight | ServiceLevel = 2DAYFR | US? |
| FEDEX_3_DAY_FREIGHT | FedEx 3 Day Freight | ServiceLevel = 3DAYFR | US? |
| FIRST_OVERNIGHT_FREIGHT | FedEx First Overnight Freight | ServiceLevel = FIRSTONFR | US? |
| FEDEX_NEXT_DAY_AFTERNOON | FedEx Next Day by 12 Noon (Only U.K.) | ServiceLevel = NEXTDAY12 | UK |
| FEDEX_NEXT_DAY_EARLY_MORNING | FedEx Next Day by 9 AM (Only U.K.) | ServiceLevel = NEXTDAY09 | UK |
| FEDEX_NEXT_DAY_END_OF_DAY | FedEx Next Day End of Day (Only U.K.) | ServiceLevel = NEXTDAYEND | UK |
| FEDEX_NEXT_DAY_MID_MORNING | FedEx Next Day by 10 AM (Only U.K.) | ServiceLevel = NEXTDAY10 | UK |
| FEDEX_NEXT_DAY_FREIGHT | FedEx® Next Day Freight (Only U.K.) | ServiceLevel = NEXTDAYFR | UK |
| INTERNATIONAL_ECONOMY_FREIGHT | International Economy Freight | ServiceLevel = INTECOFR | EU |
| INTERNATIONAL_PRIORITY_FREIGHT | International Priority Freight | ServiceLevel = INTPRIOFR | EU |
| FEDEX_FIRST | FedEx International First | ServiceLevel = FFIRST | EU domestic |
| FEDEX_PRIORITY_EXPRESS | FedEx® Priority Express | ServiceLevel = FPRIOEXPR | EU domestic |
| FEDEX_PRIORITY | FedEx® Priority | ServiceLevel = FPRIORITY | EU domestic |
| FEDEX_ECONOMY_SELECT | FedEx® Economy | ServiceLevel = FECOSELECT | EU domestic |
| FEDEX_PRIORITY_EXPRESS_FREIGHT | FedEx® Priority Express Freight | ServiceLevel = FPRIOEXPFR | EU domestic |
| FEDEX_PRIORITY_FREIGHT | FedEx® Priority Freight | ServiceLevel = FPRIOFR | EU domestic |
Note: For Fedex Freight shipments the following freight specific information must be included in de shipment instructions:
- a booking confirmation number must be included in
BOOKING_CONFIRMATION_NUMBER - a shipment load count must be included in
SHIPMENT_LOAD_COUNT
Legacy service level mapping
The above mapping of service levels can be overwritten by the below service level mapping. This is to support the logic of the legacy service level mapping. If the instruction to use the legacy service mapping is turned on, the integration will first check if the service level is mapped in the below table. If it is, it will use the mapped service level. If it is not, it will use the latest service level mapping. If the instruction to use the legacy service mapping is turned off, the integration will only use the latest service level mapping.
Check if the specific service is supported in the region by checking the FedEx developer guide as not all service levels are supported in each region.
FedEx has a difference between freight services and non-freight services.
- The freight services are to be used for shipments with handling units weighing over 68 kilograms or 150lbs.
- The non-freight services are only to be used when a shipment has handling units weighing under 68 kilograms or 150lbs.
Exact value checks
Before doing any logic checks, new servicelevel codes which have been added in both legacy and most recent are unique and always an exact match, hence these are checked first. Below codes should be an exact match, if no exact match is found: it will continue with the next weight & region specific options.
| ServiceCode | Description | Trigger |
|---|---|---|
| FEDEX_FIRST | International Priority Freight | ServiceLevel = FFIRST |
| FEDEX_PRIORITY_EXPRESS | FedEx® Priority Express | ServiceLevel = FPRIOEXPR |
| FEDEX_PRIORITY | FedEx® Priority | ServiceLevel = FPRIORITY |
| FEDEX_ECONOMY_SELECT | FedEx® Economy | ServiceLevel = FECOSELECT |
| FEDEX_PRIORITY_EXPRESS_FREIGHT | FedEx® Priority Express Freight | ServiceLevel = FPRIOEXPFR |
| FEDEX_PRIORITY_FREIGHT | FedEx® Priority Freight | ServiceLevel = FPRIOFR |
The integration will check the weight of the shipment and will only use the freight services when the shipment weight is over 68 kilograms or 150lbs. If the shipment weight is under 68 kilograms or 150lbs, the integration will only use the non-freight services.
US origin mapping
| Service Name | Service Code | Freight Service | Region | Trigger |
|---|---|---|---|---|
| FedEx First Overnight® | FIRST_OVERNIGHT | N | Domestic | ServiceLevel contains FIRST |
| FedEx Priority Overnight® | PRIORITY_OVERNIGHT | N | Domestic | ServiceLevel contains PRIORITY or EXPRESS |
| FedEx Standard Overnight® | STANDARD_OVERNIGHT | N | Domestic | ServiceLevel contains STANDARD, ECONOMY or DEFERRED |
| FedEx 2 Day® | FEDEX_2_DAY | N | Domestic | ServiceLevel contains 2DAY and Servicelevel is not 2DAYAM |
| FedEx 2 Day AM® | FEDEX_2_DAY_AM | N | Domestic | ServiceLevel contains 2DAYAM |
| FedEx Express Saver® | FEDEX_EXPRESS_SAVER | N | Domestic | ServiceLevel contains SAVER |
| FedEx Ground® | FEDEX_GROUND | N | Domestic or Country to = CA | ServiceLevel contains GROUND |
| FedEx Ground® | FEDEX_GROUND | Y | Domestic or Country to = CA | ServiceLevel contains GROUND |
| FedEx 1Day® Freight | FEDEX_1_DAY_FREIGHT | Y | Domestic | ServiceLevel contains 1DAY |
| FedEx 2Day® Freight | FEDEX_2_DAY_FREIGHT | Y | Domestic | ServiceLevel contains 2DAY |
| FedEx 3Day® Freight | FEDEX_3_DAY_FREIGHT | Y | Domestic | ServiceLevel contains 3DAY |
| FedEx International First® | INTERNATIONAL_FIRST | N | International | ServiceLevel contains FIRST |
| FedEx International Priority® | FEDEX_INTERNATIONAL_PRIORITY | N | International | ServiceLevel contains PRIORITY, EXPRESS or IP |
| FedEx International Economy® | FEDEX_INTERNATIONAL_ECONOMY | N | International | ServiceLevel contains STANDARD, ECONOMY, IE or DEFERRED |
| FedEx International Priority® Freight | INTERNATIONAL_PRIORITY_FREIGHT | Y | International | ServiceLevel contains PRIORITY, EXPRESS, FIRST or IPF |
| FedEx International Economy® Freight | INTERNATIONAL_ECONOMY_FREIGHT | Y | International | ServiceLevel contains STANDARD, ECONOMY or IEF |
Canada origin mapping
| Service Name | Service Code | Freight Service | Region | Trigger |
|---|---|---|---|---|
| FedEx First Overnight® | FIRST_OVERNIGHT | N | Domestic | ServiceLevel contains FIRST |
| FedEx Priority Overnight® | PRIORITY_OVERNIGHT | N | Domestic | ServiceLevel contains PRIORITY |
| FedEx 2 Day® | FEDEX_2_DAY | N | Domestic | ServiceLevel contains 2DAY |
| FedEx Ground® | FEDEX_GROUND | N | Domestic or Country to = US | ServiceLevel contains GROUND |
| FedEx First Overnight® | FIRST_OVERNIGHT | Y | Domestic | ServiceLevel contains FIRST |
| FedEx Priority Overnight® | PRIORITY_OVERNIGHT | Y | Domestic | ServiceLevel contains PRIORITY |
| FedEx 2 Day® | FEDEX_2_DAY | Y | Domestic | ServiceLevel contains 2DAY |
| FedEx Ground® | FEDEX_GROUND | Y | Domestic | ServiceLevel contains GROUND |
| FedEx International First® | INTERNATIONAL_FIRST | N | International | ServiceLevel contains FIRST |
| FedEx International Priority® | FEDEX_INTERNATIONAL_PRIORITY | N | International | ServiceLevel contains PRIORITY or IP |
| FedEx International Economy® | FEDEX_INTERNATIONAL_ECONOMY | N | International | ServiceLevel contains ECONOMY, IE, or DEFERRED |
| FedEx International Priority® Freight | INTERNATIONAL_PRIORITY_FREIGHT | Y | International | ServiceLevel contains PRIORITY |
| FedEx International Economy® Freight | INTERNATIONAL_ECONOMY_FREIGHT | Y | International | ServiceLevel contains ECONOMY or IEF |
EU origin mapping
| Service Name | Service Code | Freight Service | Region | Trigger |
|---|---|---|---|---|
| FedEx Europe First International Priority® | EUROPE_FIRST_INTERNATIONAL_PRIORITY | N | Intra EU | Not supported anymore by FedEx |
| FedEx International Economy® | INTERNATIONAL_ECONOMY | N | Intra EU | ServiceLevel contains ECONOMY, IE, DEFERRED or STANDARD |
| FedEx Priority Overnight® | PRIORITY_OVERNIGHT | N | Intra EU | ServiceLevel contains OVERNIGHT |
| FedEx Regional Economy® | FEDEX_REGIONAL_ECONOMY | N | Intra EU | ServiceLevel contains REGECO |
| FedEx International Priority® | FEDEX_INTERNATIONAL_PRIORITY | N | Intra EU | If none of the other domestic servicelevels are triggered |
| FedEx International First® | INTERNATIONAL_FIRST | N | International | ServiceLevel contains FIRST |
| FedEx International Priority® | FEDEX_INTERNATIONAL_PRIORITY | N | International | ServiceLevel contains PRIORITY, EXPRESS, IP or INTPRIO |
| FedEx International Economy® | INTERNATIONAL_ECONOMY | N | International | If none of the other international servicelevels are triggered |
| FedEx Regional Economy Freight® | REGIONAL_ECONOMY_FREIGHT | Y | Intra EU | ServiceLevel contains REGECOFRHT |
| FedEx International Priority® Freight | INTERNATIONAL_PRIORITY_FREIGHT | Y | International | ServiceLevel contains PRIORITY, EXPRESS, FIRST or IP |
| FedEx International Economy® Freight | INTERNATIONAL_ECONOMY_FREIGHT | Y | International | ServiceLevel contains STANDARD, ECONOMY, IEF, DEFERRED |
| FedEx International Priority Express® | FEDEX_INTERNATIONAL_PRIORITY_EXPRESS | N | International | ServiceLevel contains INTPRIOEXP |
Rest of World origin mapping
| Service Name | Service Code | Freight Service | Region | Trigger |
|---|---|---|---|---|
| FedEx International First® | FEDEX_INTERNATIONAL_FIRST | N | International | ServiceLevel contains FIRST |
| FedEx International Priority® | FEDEX_INTERNATIONAL_PRIORITY | N | International | ServiceLevel contains PRIORITY, EXPRESS or IP |
| FedEx International Economy® | FEDEX_INTERNATIONAL_ECONOMY | N | International | If none of the other international non- freight servicelevels are triggered |
| FedEx International Priority® Freight | INTERNATIONAL_PRIORITY_FREIGHT | Y | International | ServiceLevel contains PRIORITY, EXPRESS, FIRST or IPF |
| FedEx International Economy® Freight | INTERNATIONAL_ECONOMY_FREIGHT | Y | International | If none of the other international freight servicelevels are triggered |
Shipment level Special Services
| Service Name | Service Code | Trigger |
|---|---|---|
| FedEx Appointment Home Delivery® | APPOINTMENT | ServiceOptions.AppointmentForDelivery = true |
| Broker Select Option | BROKER_SELECT_OPTION | BrokerAddress.CompanyName is not empty |
| Call Before Delivery | CALL_BEFORE_DELIVERY | ServiceOptions.PreAdviceDelivery.UseDriverPhone = true |
| Collect on Delivery (COD) | COD | ServiceOptions.CashOnDelivery.Value > 0 |
| Custom Delivery Window | CUSTOM_DELIVERY_WINDOW | Not implemented |
| Cut Flowers | CUT_FLOWERS | Not implemented |
| Do Not Break Down Pallets | DO_NOT_BREAK_DOWN_PALLETS | Not implemented |
| Do Not Stack Pallets | DO_NOT_STACK_PALLETS | Automatic when package type contains PAL (pallet) and HandlingUnit.IsStackable = false |
| Dry Ice | DRY_ICE | Automatic when any package contains DangerousGoods.UnNumber = UN1845 or DangerousGoods.Type = dryIce |
| East Coast Special Service | EAST_COAST_SPECIAL | Not implemented |
| Exclude From Consolidation | EXCLUDE_FROM_CONSOLIDATION | Not implemented |
| Extreme Length | EXTREME_LENGTH | Not implemented |
| FedEx Inside Delivery | INSIDE_DELIVERY | ServiceOptions.DeliveryInside = true |
| FedEx Inside Pickup | INSIDE_PICKUP | Not implemented |
| FedEx International Controlled Export | INTERNATIONAL_CONTROLLED_EXPORT_SERVICE | Not implemented |
| FedEx One Rate® | FEDEX_ONE_RATE | Not implemented |
| FedEx Third Party Consignee International Priority service (TPC) | THIRD_PARTY_CONSIGNEE | ServiceOptions.NeutralDelivery = true Note: this service is not about a third party paying transport, this is about hiding the commercial value from the receiver. See FedEx website |
| FedEx® Electronic Trade Documents | ELECTRONIC_TRADE_DOCUMENTS | Either upload customs documents (non-domestic shipments with documents) or enable carrier invoice generation (Configuration.CarrierToGenerateInvoice = true with CommercialInvoice.Lines provided) |
| Food | FOOD | Not implemented |
| Future Day Shipment | FUTURE_DAY_SHIPMENT | Not implemented |
| Hold At Location | HOLD_AT_LOCATION | ServiceOptions.HoldForPickup = true |
| International Traffic in Arms Regulations(ITAR) | INTERNATIONAL_TRAFFIC_IN_ARMS_REGULATIONS | Not implemented |
| LiftGate Delivery | LIFTGATE_DELIVERY | ServiceOptions.LiftGate.Delivery = true |
| LiftGate Pickup | LIFTGATE_PICKUP | Not implemented |
| Limited Access Delivery | LIMITED_ACCESS_DELIVERY | Not implemented |
| Limited Access Pickup | LIMITED_ACCESS_PICKUP | Not implemented |
| Over Length | OVER_LENGTH | Not implemented |
| Pending Shipment | PENDING_SHIPMENT | Not implemented |
| Pharmacy Delivery | PHARMACY_DELIVERY | Not implemented |
| Poison | POISON | Not implemented |
| Premium Home Delivery | HOME_DELIVERY_PREMIUM | Not implemented |
| Protection From Freezing | PROTECTION_FROM_FREEZING | ServiceOptions.EquipmentTemperature = ambient |
| Return Clearance | RETURNS_CLEARANCE | ServiceOptions.Returns.CustomsClearance = true |
| Return Shipment | RETURN_SHIPMENT | ServiceOptions.Returns.IsReturn = true Optional: Return reason taken from ServiceOptions.Returns.Reason |
| Saturday Delivery | SATURDAY_DELIVERY | TimeWindows.Delivery.Requested.OnlySaturday = true |
| Saturday Pickup | SATURDAY_PICKUP | TimeWindows.Pickup.Planned.Start is a Saturday |
| Shipment Event Notification | EVENT_NOTIFICATION | ServiceOptions.PreAdviceDelivery.UseEmail = true |
| Delivery on Invoice Acceptance | DELIVERY_ON_INVOICE_ACCEPTANCE | Not implemented |
| Top Load | TOP_LOAD | Not implemented |
| Freight Guarantee | FREIGHT_GUARANTEE | Not implemented |
Package level Special Services
| Service Name | Service Code | Trigger |
|---|---|---|
| Alcohol | ALCOHOL | Not implemented |
| FedEx Appointment Home Delivery® | APPOINTMENT | Not implemented |
| Battery | BATTERY | Automatic when DangerousGoods.Type = lithiumBatteries (see Dangerous goods section) |
| Collect on Delivery | COD | Not implemented (only used by Fedex Ground) |
| Dangerous Goods | DANGEROUS_GOODS | Automatic when DangerousGoods.Type is set and not dryIce (see Dangerous goods section) |
| Dry Ice | DRY_ICE | Automatic when DangerousGoods.UnNumber = UN1845 or DangerousGoods.Type = dryIce |
| FedEx Priority Alert | PRIORITY_ALERT | Package.ServiceOptions.Monitoring.Fedex.PriorityAlert.PriorityAlertPlus = false |
| FedEx Priority Alert Plus | PRIORITY_ALERT_PLUS | Package.ServiceOptions.Monitoring.Fedex.PriorityAlert.PriorityAlertPlus = true Note: currently only supports Re-icing as content for the Priority Alert Detail. |
| Non Standard Container | NON_STANDARD_CONTAINER | Package.ServiceOptions.AdditionalHandling = true |
| Piece Count Verification | PIECE_COUNT_VERIFICATION | Not implemented |
| Signature Option | SIGNATURE_OPTION | ServiceOptions.SignatureForDelivery is not empty |
| FedEx Evening Home Delivery® | EVENING | Not implemented |
| FedEx Date Certain Home Delivery® | DATE_CERTAIN | Not implemented |
| Saturday Pick Up | SATURDAY_PICKUP | Not implemented |
Return Shipment
There are 2 types of return shipments. (set return type via returns.pickupPolicy)
PRINT_RETURN_LABEL; this will create a return label that the shipper must provide to the returning party. For this type of return only 1 package per shipment is accepted.- trigger by using serviceOptions.returns.pickupPolicy =
prl
- trigger by using serviceOptions.returns.pickupPolicy =
PENDING; a return label will be send to the returning party directly by Fedex. Mandatory fields are:- SenderAddress.ContactPhone
- ReceiverAddress.ContactEmail
- expirationDate for the return order. This can be set via integration instruction XXXXXXXXXX
- trigger by using serviceOptions.returns.pickupPolicy =
erl
Package Types Supported
The integration uses a “contains” match to map ShipItSmarter package type codes to FedEx package codes. The package type code is converted to uppercase and checked if it contains the trigger value.
| Trigger (contains) | Description | FedEx Package Code | Notes |
|---|---|---|---|
| CARTON | Carton | CARTON | |
| CRATE | Crate | CRATE | |
| PACKAGE | Package | PACKAGE | |
| BOX | Box | BOX | |
| CASE | Case | CASE | |
| ENVELOPE | Envelope | ENVELOPE | |
| BAG | Bag | BAG | |
| DRUM | Drum | DRUM | |
| TUBE | Tube | TUBE | |
| BARREL | Barrel | BARREL | |
| ROLL | Roll | ROLL | |
| BUNDLE | Bundle | BUNDLE | |
| BASKET | Basket | BASKET | |
| BUCKET | Bucket | BUCKET | |
| CHEST | Chest | CHEST | |
| CONTAIN | Container | CONTAINER | Matches anything containing “CONTAIN” |
| CYLINDER | Cylinder | CYLINDER | |
| CAGE | Cage | CAGE | |
| HAMPER | Hamper | HAMPER | |
| OTHER | Other | OTHER | Default fallback |
| PAIL | Pail | PAIL | |
| PALLET | Pallet | PALLET | Triggers “Do Not Stack Pallets” special service when IsStackable = false |
| PARCEL | Parcel | PARCEL | |
| REEL | Reel | REEL | |
| SACK | Sack | SACK | |
| SHRINK | Shrinkwrapped | SHRINKWRAPPED | |
| SKID | Skid | SKID | |
| TANK | Tank | TANK | |
| UNIT | Unit | UNIT | |
| TOTEBIN | Totebin | TOTEBIN |
Matching Logic: The integration converts the package type code to uppercase and checks if it contains the trigger value. For example, my-custom-carton-box would match “CARTON” and map to FedEx code CARTON.
Standard FedEx Package Types Supported
FedEx provides standard packaging that can be used for specific services. When using FedEx standard packaging, only one package type can be used per shipment, and the integration will set the shipment packaging type accordingly. If multiple FedEx package types are mixed, or combined with custom packaging, the shipment packaging type defaults to YOUR_PACKAGING.
Important Restrictions:
- These packages can only be used for FedEx Express services (Priority Overnight, Standard Overnight, etc.)
- For EU shipments, only the generic FedEx® Box is supported
- Single package type per shipment (no mixing FedEx standard packages)
| Package Name | FedEx Code | Weight Limit | ShipItSmarter Package Code |
|---|---|---|---|
| Customer Packaging | YOUR_PACKAGING | 150 lbs/68 KG (Express) 70 lbs/32 KG (Ground Economy) | Any non-FedEx standard code |
| FedEx® Letters | FEDEX_ENVELOPE | 1 lbs/0.5 KG | carrier-envelope |
| FedEx® Small Box | FEDEX_SMALL_BOX | 20 lbs/9 KG | carrier-small-box |
| FedEx® Medium Box | FEDEX_MEDIUM_BOX | 20 lbs/9 KG | carrier-medium-box |
| FedEx® Large Box | FEDEX_LARGE_BOX | 20 lbs/9 KG | carrier-large-box |
| FedEx® 10kg Box | FEDEX_10KG_BOX | 22 lbs/10 KG | carrier-10kg-box |
| FedEx® 25kg Box | FEDEX_25KG_BOX | 55 lbs/25 KG | carrier-25kg-box |
| FedEx® Pak | FEDEX_PAK | 20 lbs/9 KG | carrier-pak |
| FedEx® Tube | FEDEX_TUBE | 20 lbs/9 KG | carrier-tube |
Note: FedEx® Box (FEDEX_BOX) and FedEx® Extra Large Box (FEDEX_EXTRA_LARGE_BOX) are not included in the current mapping but may be supported through custom package type configuration.
IncoTerms Supported
| Code | Description |
|---|---|
| FCA/FOB | (Free Carrier/Free On Board): Seller is responsible for all costs of delivering goods to destination. (Default) |
| CIP | (Costs, Insurance Paid): Seller is responsible for miscellaneous charges to destination. |
| CPT | (Carriage Paid To): Buyer is responsible for insurance. |
| EXW | (Ex Works): Seller makes goods available to buyer. Buyer is responsible for delivering goods to destination. |
| DDU | (Delivered Duty Unpaid): Seller is responsible for delivering goods to destination. Buyer is responsible for clearing goods through Bureau of Customs and |
| DDP | (Delivered Duty Paid): Seller is responsible for delivering goods to destination, including duties, taxes, and miscellaneous fees. |
| DAP | (Delivered at Place): Seller pays for carriage to the named place, except for costs related to import clearance, and assumes all risks prior to the point |
| DPU | (Deliver at Place of Unloading) |
Dangerous Goods
| Fedex Code | SIS DG Code | Description | Comment | Trigger |
|---|---|---|---|---|
| HAZARDOUS_MATERIALS | CAO | Cargo Only | Automatic for Regional Economy services or when no other DG type matches | DangerousGoods.Type = cargoAircraftOnly DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
| HAZARDOUS_MATERIALS | PAX OK | Passenger Aircraft Ok | — | DangerousGoods.Type = passengerAircraftOk DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
| LIMITED_QUANTITIES_COMMODITIES | LQ | Limited Quantity | — | DangerousGoods.Type = limitedQuantity DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
| DRY_ICE | DI | Dry Ice | — | DangerousGoods.UnNumber = UN1845 or DangerousGoods.Type = dryIce |
| BATTERY | LB | Lithium Batteries | Automatic when lithium batteries detected | DangerousGoods.Type = lithiumBatteries DangerousGoods.UnNumber = see Lithium Batteries mapping below DangerousGoods.Section = II (for batteryRegulatoryType) DangerousGoods.PackingInstructions = see Lithium Batteries mapping below DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
| ORM_D | — | — | not supported (US Only) | Not implemented |
| REPORTABLE_QUANTITIES | — | — | not supported (US Only) | Not implemented |
| SMALL_QUANTITY_EXCEPTION | EQ | Excepted Quantity | — | DangerousGoods.Type = exceptedQuantity DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
| RADIOACTIVE_MATERIAL | — | Radioactive Material | — | DangerousGoods.Type = radioActiveMaterial DangerousGoods.AircraftAccessibility = accessible or inaccessible (optional) |
Notes:
- The integration automatically determines the leading/highest priority dangerous goods type per package when multiple DG types are present
- DG Type priority order (lowest to highest):
exceptedQuantity<limitedQuantity<lithiumBatteries<dryIce<passengerAircraftOk<cargoAircraftOnly<radioActiveMaterial - For FEDEX_REGIONAL_ECONOMY services, the regulation is automatically set to
ADR(road transport) and defaults toHAZARDOUS_MATERIALSif no other option is specified - Aircraft accessibility (
accessibleorinaccessible) is optional and mapped to the FedExaccessibilityfield when provided - If multiple items have different accessibility settings,
accessibletakes precedence overinaccessible
Lithium Batteries (mapping)
The UN-number is used to determine the batteryMaterialType (Enum).
Lithium-ion Batteries:
UN3480= “LITHIUM_ION” (Lithium-ion batteries)UN3481= “LITHIUM_ION” (Lithium-ion batteries packed with or contained in equipment)
Lithium Metal Batteries:
UN3090= “LITHIUM_METAL” (Lithium metal batteries)UN3091= “LITHIUM_METAL” (Lithium metal batteries packed with or contained in equipment)
The packing instruction code is used to determine the batteryPackingType (Enum).
966or969= “PACKED_WITH_EQUIPMENT”967or970= “CONTAINED_IN_EQUIPMENT”
The batteryRegulatoryType (example: “II”) is taken from field “section” in the DG section of the Commercial invoice rows.
Unit of Measures
The unit of measure mapping is used for the unit of measure for the commercial invoice line items. The integration maps ShipItSmarter UN/CEFACT unit codes to FedEx unit of measure codes. When a unit code is not in the mapping table, it is passed through as-is (which will likely fail at FedEx validation).
| FedEx Unit of Measure code | FedEx Description | ShipItSmarter UN/CEFACT Code | Notes |
|---|---|---|---|
| CM | Centimeter | cmt | Length measurement |
| EA | Each | ea or c62 | Individual units |
| KG | Kilogram | kgm | Weight measurement |
| LTR | Liter | ltr | Volume measurement |
| M | Meter | mtr | Length measurement |
| PCS | Pieces | bx | Quantity measurement |
| LB | Pound | lbr | Weight measurement |
| LFT | Linear Foot | fot | Length measurement |
| SFT | Square Foot | ftk | Area measurement |
| G | Gram | grm | Weight measurement |
| MG | Milligram | mgm | Weight measurement |
| ML | Milliliter | mmt | Volume measurement |
| M2 | Square Meter | mtk | Area measurement |
| YD | Yard | yrd | Length measurement |
Units supported by ShipItSmarter but not supported by FedEx:
4g- Microlitrecmk- Square Centimetersinh- Inchmc- Microgram
Note: If a unit of measure code is sent that is not in the mapping table above, it will be passed through unchanged to FedEx, which will likely result in a validation error.
Trade document upload (Business Rules)
- The valid file types for uploading documents are PDF, TXT, PNG, JPG, GIF, BMP, TIF, RTF, DOC, DOCX, XLS and XLSX.
- Each uploaded trade document or image cannot exceed 5 MB.
- Customs documentation can be electronically uploaded with the following special handling and service options:
- Dry Ice
- Dangerous Goods
- Hazardous Materials
Compatible partner
ShipitSmarter is a FedEx certified integration partner with a direct integration with FedEx to streamline shipping, label generation, and tracking. These solutions offer certified integrations for e-commerce, ERP, and warehouse management systems to automate logistics.