NOTE: - FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
- if any of the shipment commodities’ Country of Manufacture is CN/HK
This API enables you to create an Open Shipment and allows to add packages to the shipment over a period of time rather than entering all the shipment and package information all at once. The shipment remains open for a five-day period and allows package additions and modifications during that time. Once the shipment is confirmed, the shipping paperwork such as labels, AWB or reports can be generated. At the end of the fifth day, the shipment must be confirmed, or it will be purged.
Note: The Open Shipments will be purged if they are not confirmed within the end of fifth day from the shipment creation.
Open Ship API is used when you want to add multiple packages to a shipment over a period of time and you are unsure on how many packages you plan to add or when the shipment will be completed. This gives you a flexible way to prepare your shipment throughout the day until you are ready to ship.
Open Ship shipments are often multiple-piece shipments but can also be single package shipments, referred to as single-piece shipments.
To ship a multiple-piece shipment (MPS) to a single consignee, use Open Ship API and add individual packages to the shipment or add multiple packages if they are going to the same recipient.
Following are the services associated with Open Shipment:
Following are the features associated with Open Ship API:
Manage Open Shipments
This feature allows the shippers to create, modify, delete Open Shipments, and can retrieve the already created Open Shipment for review or verification purposes. It allows to confirm the completed shipment to transfer shipment data to FedEx and to generate appropriate shipment paperwork. It also identifies and reports the errors if any in the transaction and provides appropriate status.
The key information in this feature are accountNumber, Shipment Data, groupPackageCount, index to denote the master package in the shipment. The result of this feature will ensure shipment data is uploaded to the FedEx systems and appropriate tracking numbers, labels and shipment reports are generated.
Manage Open Shipment Packages
This feature allows you to add, modify and delete packages in the already created Open Shipment. One can also retrieve the existing package for an existing Open Shipment.
Get Open Shipment Results (Asynchronous)
This feature allows to retrieve confirmed shipment results asynchronously. When an Open Shipment with 40 or more packages is confirmed, the API processes the shipment asynchronously.
When the shipment is asynchronously processed, the reply to this request only confirms that the request is queued successfully though the shipment might or might not be successfully processed. As a response, it returns jobId to retrieve the result later. This feature uses jobId to retrieve the OpenShipment Results (CREATE, MODIFY & CONFIRM) which could be labels, shipment reports. It also identifies and reports the errors if any in the shipment and provides appropriate status.
Note: If there are errors in the asynchronous shipment response, fix the errors and submit a new shipment request.
This section describes in detail workflow of Open Ship API. The Open Ship workflow is managed in two ways or using two processing options:
Workflow for 40 or less packages
This Confirm Open Shipment endpoint is the final endpoint in this flow which validates the shipment and package information and successfully generates labels and all other reports for the shipment. It also provides the error details returned during validation. These errors can be fixed using the endpoints Modify Open Shipment or Modify Open Shipment Packages and confirming the shipment again for successful request.
Workflow for more than 40 packages
The Get Open Shipment Results endpoint is the final endpoint in this flow which retrieves the confirmed Open Shipment results such as labels and all other reports for the confirmed Open Shipment. If error details are returned in the response, then these errors can be fixed using the endpoints Modify Open Shipment or Modify Open Shipment Packages, then confirm the shipment using endpoint Confirm Open Shipment and finally use endpoint Get Open Shipment Results to retrieve the confirmed Open Shipment results for the successful request.
Following are the functions associated with Open Ship API:
Create Open Shipment
Use this endpoint to create an Open Shipment with required shipment information and at least define one package in the shipment.
Following are the required input information for creating the Open Shipment:
The successful response to this request will process the shipment and generate tracking number which is a Master Tracking number for the first package. Note that no labels will be generated in the response.
Add Open Shipment Packages
Use this endpoint to add one or more packages to the existing Open Shipment request before the shipment is confirmed. You can send a separate Add Package request for each of your packages as you prepare your shipment throughout the day. You can also send in multiple pieces within the Add Package request.
Note: The total number of packages for the shipment must not exceed the Open Shipping package limit.
Following are the required input information for Adding packages to the Open Shipment:
The successful response to this request will generate tracking number for the newly added package.
Modify Open Shipment Packages
Use this endpoint to modify one or more package details from an already existing Open Ship shipment before the shipment is confirmed. This includes the master package as well, which is the first package added to the Open Shipment.
Following are the required input information associated with this request:
Please note that when entering decimal values for length, width, or height in Web Services, only the whole number portion is used for rate calculations. For example, if you enter 9.4, the system will use 9 in the calculation.
The successful request will update the intended packages and returns the updated shipment details.
Delete Open Shipment Packages
Use this endpoint to delete one or more packages from the already created Open Shipment before the shipment is confirmed.
Following are the required input information associated with this request:
The successful request will delete the intended packages and will return the status for the element deletedPackagesFromOpenshipment as true in the output.
Note: If the master package is deleted in the shipment, the next package in sequence becomes the master package and master tracking number is reassigned to it and the sequence of numbers are decreased by the number of deleted packages.
Retrieve Open Shipment Package
Use this endpoint to retrieve one or more packages from the already created Open Shipment to review or verify.
Following are the required input information associated with this request:
The successful request will retrieve the intended packages.
Modify Open Shipment
Use this endpoint to modify an Open Shipment request with the required shipping information before the shipment is confirmed.
Following are the required input information associated with this request:
The successful request will update the shipment details to the already created Open Shipment and will return the tracking number for the modified package(s) and updated transaction shipment details as an output.
Retrieve Open Shipment
Use this endpoint to retrieve the already created Open Shipment to review or verify.
Following are the required input information associated with this request:
The successful request will retrieve the intended Open Shipment details.
Delete Open Shipment
Use this endpoint to delete the Open Shipment request before the shipment is confirmed.
Following are the required input information associated with this request:
The successful request will delete Open Shipment and all the associated packages and will return the status in the element deletedOpenshipment as true in the output.
Confirm Open Shipment
Use this endpoint to validate and upload the Open Ship shipment data to FedEx Systems once all packages are added in the Shipment request.
Following are the required input information associated with this request:
Successful confirmation response for 40 or less packages will upload shipment data to FedEx systems and generate Package labels and all other shipment reports.
Successful confirmation response for more than 40 packages confirms that the request is queued successfully and returns jobId to retrieve the result later.
Note: A minimum of one package should be included in Open Shipment before you can confirm the shipment.
Get Open Shipment Results
Use this endpoint to get confirmed Open Ship shipment data. This endpoint should only be used when the shipment has more than 40 packages and jobId is returned in the Open Shipment confirmation.
Following are the required input information associated with this request:
Successful response for this request will return the confirmed Open Shipment results such as Package labels and all other shipment reports for the confirmed Open Shipment. If the error details are returned in the response then these errors can be fixed using the endpoints Modify Open Shipment or Modify Open Shipment Packages, then confirm the shipment using endpoint Confirm Open Shipment and finally use endpoint Get Open Shipment Results to retrieve the confirmed Open Shipment results for the successful request.
A multiple-piece Open Shipment (MPS) consists of two or more packages shipped to the same recipient addresses. The first package in the shipment request is considered the master package.
To create a multiple-piece shipment:
After the shipment confirmation, one of the below processing options is used:
Synchronous Shipment Processing
Synchronous processing is one of the optimal processing methods, which is used internally when a shipment has either 40 or less packages (total package count/grouppackagecount<=40) with limited commodities in the shipment.
Shipment request with 40 or less packages when confirmed will be processed synchronously and the labels, shipment documents/reports will be generated instantaneously. This process is optimal for shippers, if there is a time constraint and if the labels must be printed immediately upon shipment confirmation.
Note: The maximum 40 package limit is indicative and is not a fixed limit. The limit is also dependent on the combination of packages and commodities in the shipment. For more information, contact your FedEx support team.
Example: Your Open Shipment request consists of 10 packages. When you confirm the shipment after adding all 10 packages, the shipment will be processed synchronously. In the response, 10 labels will be created, and either label URLs or encoded labels as requested is provided in the response.
The following high-level workflow demonstrates synchronous Open Shipment processing:
Note:
Asynchronous Shipment Processing
The API internally processes shipment asynchronously, when the total number of packages exceeds 40 (i.e., totalPackageCount>40). This is a very convenient method, when your package volume is large, and you want to submit the bulk shipments periodically. This bulk shipment submission uses various expensive FedEx resources & operations, when submitted at once. With this processing option, FedEx internally ensures that these bulk shipments are processed easily, and you can also get the label data periodically.
When the shipment is asynchronously processed, the reply to this request only confirms that the request is queued successfully though the shipment might or might not be successfully processed and returns jobId to retrieve the result later.
Note: This process requires some time for the shipment to be processed successfully before you retrieve the result.
For retrieving the asynchronous shipment results, use endpoint Get Open Shipment Results and provide jobId and accountNumber details in the request. The response to this request will either return shipment result data with label details or the shipment error details.
Example: Your shipment consisting of 45 packages, when confirmed will be processed asynchronously. In the response, a jobId will be returned. You should then use endpoint Get Open Shipment Results to retrieve the shipment results and label data.
The following high-level workflow demonstrates asynchronous shipping processing:
Note:
Print As You Go (PASGO)
The Print As You Go (PASGO) feature enables you to create and add packages to PASGO MPS open shipments, allowing you to print labels instantly as you add each package. This means you can print your labels as you go without waiting for the shipment to be closed.
Important Notes:
FedEx API supports a wide variety of labels. FedEx API supports three types of label options, including thermal, plain paper, and customizable labels. You can use the Open Ship API endpoints to produce a wide variety of labels.
FedEx offers 2 label formats to support shipping services:
Thermal Labels
FedEx API allows you to print shipping labels for all shipping types, such as FedEx Express®, FedEx Ground®, and FedEx International Ground® using a variety of thermal label printers.
The following thermal label sizes are supported by FedEx API:
The label stock types 4"X8.5” and 4"X10.5” includes an added doc tab with identical barcodes. One barcode is displayed on the main label and the other one on the doc tab. This label stock type value is helpful for tire packages as one label can be positioned on the tire’s tread and the additional doc tab label with a duplicate copy of the barcode and operational instructions for the sidewall of the tire. Using these label stock types reduces tire relabels and increased dimensional scans optimizes recovery. For more information on label stock refer to Label Stock Types.
Note: Doc-Tab is a removable sticky tab with additional shipping information which can be selected for a label stock, while printing shipping labels using a thermal printer.
Thermal Label Elements
Thermal shipping labels contain three basic elements:
Key Information to generate a Thermal Label
The following are the key information required to generate a thermal label:
Valid values:
ImageType: Required to format the thermal label for the printer you use; provides the type of data stream or bitmap to be returned.
Valid values:
Note: All labels required for a shipment are generated and returned in a single buffer.
Supported Thermal Printers
The following thermal printers are recommended with FedEx API:
Note: These printers are all compatible with the ASCII Eltron Programming Language (EPL2) page mode. Thermal printers are supported both as a direct write to the printer connected to a system serial port, and as a native Windows installed printer for LPT, Serial, or USB connections. The firmware versions of FedEx provided printers may vary by region.
Number of Thermal Labels Printed Per Service
The following table indicates the number of each type of label needed for a specific special service. All the necessary labels are generated by a call to the FedEx Common Label Server (CLS), and CLS returns a single buffer with the exception of the C.O.D. Return labels.
Number of Thermal Labels Printed Per U.S. Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express U.S. |
1 Shipping label |
FedEx Ground U.S. / FedEx Home Delivery |
1 Shipping label |
Number of Thermal Labels Printed Per U.S. Export International Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express U.S. Export International |
1 Shipping label 2 Recipient labels |
FedEx Express U.S. Export International Broker Select Option |
1 Shipping label 2 Recipient labels |
FedEx Ground U.S. Export International |
1 Shipping label |
FedEx Ground U.S. Export International C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Thermal Labels Printed Per Intra-Canada Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express intra-Canada |
Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
FedEx Ground intra-Canada |
1 Shipping label |
FedEx Ground intra-Canada C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Thermal Labels Printed Per Canada Export International Service
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
FedEx Express Canada Export International |
Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping label |
Number of Thermal Labels Printed Per Philippines and Thailand inbound shipments
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
Philippines inbound shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed 3 Commercial Invoice copies |
Thailand inbound commodity shipments |
3 Shipping labels with account number printed 1 Recipient label without account number printed |
Thailand inbound document shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed |
Doc-Tab
If you print shipping labels using a thermal printer, you may choose label stock that includes a Doc-Tab, a removable sticky tab with additional shipping information. You can configure this shipping information from your shipping data or choose to print configurable data that is specific to your shipping needs.
Laser Labels
FedEx API supports label printing with a laser printer. These labels are usually printed on U.S. Letter or A4 paper and folded in half to fit in to the standard FedEx label pouch. Labels that are printed with a laser printer are generated in PDF format and do not need to be scaled or resized. For more information on label stock refer to Label Stock Types.
Prerequisites
The following requirements apply to PDF labels:
The PDF label option eliminates the need to specify the image orientation parameter (width and height) or the screen resolution to display the label properly in the browser.
Laser Label Elements
Laser shipping labels contain three basic elements:
Key Information to generate a Laser Label
The following FedEx API elements are required to generate a laser label:
Valid values are:
Note: If you request a plain paper label, the data returned is a Base64 encoded label image, which must be Base64 decoded prior to displaying the label file.
Supported Laser Printers
Most laser printers are supported for this label type; however, labels will not be accepted if they are printed on an ink jet printer.
Note: If you are using a color laser printer, the color definition should be set to black, even if the printer only has a black cartridge installed.
Number of Laser Labels Required Per Service
The following table indicates the number of each type of label needed for a specific special service. All the necessary labels are generated by a call to the FedEx Common Label Server (CLS), and CLS returns a single buffer with the exception of the C.O.D. Return labels.
Number of Laser Labels Printed Per U.S. Service
Service Type |
Laser Label - PDF Format |
FedEx Ground / FedEx Home Delivery U.S. |
1 Shipping label |
Number of Laser Labels Printed Per U.S. Export International Service
Service Type |
Laser Label - PDF Format |
FedEx Express U.S. Export International |
1 Shipping label in the reply; a minimum of 3 labels must be printed – 1 label on the package and 2 in the document pouch. |
FedEx Express U.S. Export International Broker Select |
1 Shipping label in the reply; a minimum of 3 labels must be printed – 1 label on the package and 2 in the document pouch. |
FedEx Ground U.S. Export International |
1 Shipping label |
FedEx Ground U.S. Export International C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Laser Labels Printed Per Intra-Mexico Service
Service Type |
Laser Label - PDF Format |
FedEx Express Intra-Mexico |
FedEx Express Intra-Mexico Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
Number of Laser Labels Printed Per Intra-Canada Service
Service Type |
Laser Label - PDF Format |
FedEx Express Intra-Canada |
FedEx Express Intra-Canada Non-DG (Dangerous Goods)/Dry ice shipment: 1 Shipping label |
FedEx Ground Intra-Canada |
1 Shipping label |
FedEx Ground Intra-Canada C.O.D. |
1 Shipping label 2 C.O.D. Return labels |
Number of Laser Labels Printed Per Canada Export Int'l Service
Service Type |
Laser Label - PDF Format |
FedEx Express Canada Export International |
FedEx Express Canada Export International Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
FedEx Express Canada Export International Broker Select Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping Label |
Number of Laser Labels Printed Per Canada Export Int'l Service
Service Type |
Laser Label - PDF Format |
FedEx Express Canada Export International |
FedEx Express Canada Export International Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Express Canada Export International Broker Select |
FedEx Express Canada Export International Broker Select Non-DG/Dry ice shipment: 1 Shipping label 2 Recipient labels |
FedEx Ground Canada (CA) Export International |
1 Shipping Label |
Number of Laser Labels Printed Per Philippines and Thailand inbound shipments
Service Type |
Thermal Labels (FedEx CLS will return the appropriate number of labels in the response) |
Philippines inbound shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed 3 Commercial Invoice copies |
Thailand inbound commodity shipments |
3 Shipping labels with account number printed 1 Recipient label without account number printed |
Thailand inbound document shipments |
2 Shipping labels with account number printed 1 Recipient label without account number printed |
Custom Label
FedEx allows customizing of the FedEx generated label. You may add text pertaining to your business and choose the type of barcode (symbology) used on FedEx documents and labels in the custom portion of thermal labels.
To support your shipping application, FedEx Open Ship API provide two options for customizing your shipping label:
Note: The label's human readable content and barcode in the common portion of the label cannot be altered.
Custom Validator Label
You can create non-shipping custom labels at both package-level and shipment-level by specifying what custom information is desired, how to format that information, and where to place it on the custom label. Custom labels are limited to the thermal label format.
Customize a Thermal Label
FedEx API provides two thermal label formats that you can customize with either a graphic or text file to prevent the need for creating a custom label. These labels support all FedEx shipping services. These formats are:
These label types provide a two-inch customizable section. This feature is applicable to the thermal label printed on a thermal printer set to 203 DPI or 300 DPI.
Rules for Custom Label
Rules for using the label formats are:
Note: Only single bit color images should be added since labels will print in black and white.
Custom Label Graphic Entries Elements
API provides PNG (Portable Network Graphic) images for FedEx Express, and FedEx Ground labels. The PNG label graphic is a replica of the thermal or plain paper labels supported by API. This label option allows you to place the PNG label graphic on your label stock to prevent the need for creating a custom label.
The following requirements apply when using the 4'' x 6'' PNG graphic embedded in your shipping document:
Label Stock
4'' x 6'' PNG labels should only be used with peel-and-stick label stock. The FedEx Ground and FedEx Express label validation teams will reject 4'' x 6'' PNG labels that are not on peel-and-stick label stock, including any labels printed on plain paper.
Printer
Laser printers are recommended for printing labels. Ink jet printers should not be used because of their inconsistency in creating scannable barcodes. The 4'' x 6'' PNG label cannot be printed using a color printer unless the color definition is set to black, even if the printer only has a black cartridge installed. This setting is necessary to achieve the correct barcode definition for scanning at the FedEx hubs.
Scaling
The image returned in your shipping transaction is 200 dots per inch (DPI) and measures 4'' (W) x 6'' (H) or 800 x 1200 pixels. This label has a vertical orientation and is designed to print in a 4'' x 6'' label area. When printed, the label should measure 4'' x 6''.
To produce the label and barcodes in the required DPI, you must scale (or resize) the image before printing. How you scale the image depends on the application you are using to view and print the label. To scale the PNG image for a 4'' x 6'' label in inches: use 4'' width and 6'' length exactly.
Label Review Checklist
All Barcodes
Required for validation:
Print Quality
Common problems that cause labels to be rejected:
Human Readable details for Ground Labels
For the Human Readable for FedEx Ground Labels, the following are required for validation:
Human Readable details for Express Labels
The following elements must be printed on the label to pass validation:
The following rules apply to Open Ship API:
Response