Frequently Asked Questions

Frequently Asked Questions

FedEx Developer Resource Center

Get the answers you need to integrate FedEx® solutions into your business.

The customer’s applications communicate to the FedEx processing systems by passing real-time information over the internet.

FedEx Web Services contains functionality that can assist in order entry, customer service, reverse logistics, and billing, as well as shipping operations. As an example affecting “Order Entry,” the address verification transaction can be used within a shopping cart or by phone-based personnel to verify the “Ship-To Address” in order to avoid address correction charges. This capability is completely separate from the act of shipping.

Additionally, FedEx Web Services for Office and Print is now available. These services enhance business processes by enabling easy access to FedEx Office document print and finishing services.

It depends on multiple factors, such as: How many functionalities will be implemented? How many programmers are assigned? Where does the FedEx Web Services project fall on your priority list? Are your programmers already fluent in implementing FedEx Web Services? It can take as little as a few weeks to several months, depending on the factors above.

No, FedEx Web Services is a set of technical schematics provided to a customer, from which the customer’s IT resources can incorporate numerous FedEx functionalities into their internal systems.

Unfortunately, not. Since the programming is being done on a customer's internal systems and not FedEx provided hardware, programming support is not an option. FedEx can provide assistance in the understanding of the FedEx Web Service WSDLs, error messages, etc.

No. Since this solution is simply a set of technical schematics, there are no revenue requirements.

FedEx Web Services for Shipping is a collection of FedEx Web Services used for shipping-centric implementations designed to rate, ship, track and return packages. FedEx Web Services for Office and Print is the collection of FedEx Web Services used for document-centric implementations designed to create, configure and submit FedEx Office digital print orders.

Yes. All that is necessary for the implementation of FedEx Web Services is a connection to the Internet and programming resources. The existence of a web site or shopping cart is not mandatory.

Many of the functionalities within FedEx Web Services do not require certification such as rating, tracking. For those activities that generate a shipping label (ship, call tag, email return label), the customer will be required to submit labels for evaluation by the FedEx Label Certification teams. Completion of a FedEx End User License Agreement is also required.

Yes. FedEx Web Services is a global solution that works well outside of the United States. For availability in your region please check Web Services Documentation.

There are two levels of assistance available. General support is available via the FedEx Help Desk at 877-339-2774. If you would like for a FedEx Consultant to work with you during your entire implementation effort, FedEx has the Web Integrated Solutions Consultation team to assist you.

The WISC team will explain what the solution is capable of, the technical schematics of the solution, including the WSDLs, and the certification requirements. The WISC team cannot perform actual programming for the customer.

The label buffer is returned encoded because the Zebra or Eltron Printer Language contains symbols that are illegal in XML. If the buffer is not encoded the XML message would fail.

PHP, and C# (to name a few) provide a decoder object. The easiest approach is to assign a variable the printer buffer, decode it and assign the decoded printer buffer to another variable. Here’s an example in PHP:

$LB = $_POST['LB'];
$pbuffer = base64_decode($LB);

In this example we have a variable, $LB, that is assigned the encoded label buffer which it got from a web form. 
A second variable, $pbuffer, is assigned the decoded label buffer that was assigned to the variable, $LB. 
Decoding was accomplished by simply calling base64_decode() and passing it the variable, $LB, as a single parameter.

The easiest way to print a label buffer is to share the printer. This way you can use a simple DOS Copy command to send the buffer to that printer.

First, share the label printer. In this example, the share name will be: \\\\JOHN-PC\\ZebraLP2844.
Now, the rest is simply the following lines of code:

$file = "c:\labelbuffer.txt";

$handle = fopen($file, 'w');
fwrite($handle, $pbuffer);

$CopyCmd = "copy ".$file." "."\\\\JOHN-PC\\ZebraLP2844";
$PrintResult = shell_exec($CopyCmd);
print $PrintResult;
$KillFile = unlink($file);

In the code we first focus on some simple file operations.
First, we assign a file path to the variable, $file: $file = "c:\labelbuffer.txt";
This file will contain the contents of the decoded print buffer.
Next we assign a file handle to the variable, $handle: $handle = fopen($file, 'w');
The handle will take care of the file operations such as Open, Write and Close.
After that we write the contents to the file: fwrite($handle, $pbuffer);
Lastly, we close the file: fclose($handle);

Next, we focus on the actual printing of the label buffer.
As previously mentioned, we will use the DOS Copy command to accomplish this:
$CopyCmd = "copy ".$file." "."\\\\JOHN-PC\\ZebraLP2844";
The first thing we did is assign the command line to a variable, $CopyCmd.
Next, we will execute the command in a shell and assign the results to the variable, $PrintResult:
$PrintResult = shell_exec($CopyCmd);
To determine if the operation was successful we use the print command to display the results on the screen: print $PrintResult;
Finally, we simply perform some housecleaning by deleting the label buffer file: $KillFile = unlink($file);
Although deleting the label buffer file is not required, it is a good idea to do this to avoid read/write issues with a DOS session.

Yes. The following steps outline how to use a command prompt to print a thermal label to a USB port.

  1. First you must share your USB printer. It helps to give it a very simple name. In this example it is called Zebra.
  2. Then save a label file to the root of your pc. A shorter path is easier to type correctly into the command line. In this example the file is called test.txt and contains the ZPL (or EPL) value.
  3. In Windows go to "start menu" and select "run". Then type in "cmd"
  4. Once at the command prompt type in: copy c:\\file name \\computer_name\printer_share_name 
    For this example the proper syntax is: copy c:\\test.txt \\mycomputername\Zebra 
    (be sure to have a space between the file name and the printer path)
  5. A label should be produced from your printer.

This can also be accomplished if your unshared printer is on an LPT or com port. In this example the label file is named test.txt and it's on the root of the pc.

If the printer is on lpt1, at the command prompt type: copy c:\\test.txt lpt1
If the printer is on a com port, at the command prompt type: copy c:\\test.txt com1

Unfortunately, no. The quality of a faxed label is below the acceptable evaluation standards performed by FedEx. It is critical that all labels are on paper on the thermal labels that they will be printed. Faxed labels will not be evaluated for approval.

In those and possibly other programming languages you must refresh the reference in your project. That ensures that the correct URL is referenced when sending your requests.

No. Each package requires a ship transaction. However you are able to tie packages together with a master tracking number.

Yes. You can track up to 30 shipments in a single transaction by using batch tracking.

Yes, with the current Web Services you can now rate an MPS domestic and International package in a single transaction.

This is not currently supported via FedEx, however a custom Java applet can be created to handle that process.

This is a customized solution that can be accomplished by using the PAPER_4x6 png or the PAPER_7x4.75 label stock types. That format can be printed on an 8.5x11 piece of paper. It only uses a portion of that sheet. The rest can be used for whatever purpose you desire.

Yes. Use the CustomerSpecifiedDetails elements in the WSDL. Using those you can place custom graphics And text on your label. This does not apply to the 4x6 thermal label stock types.

There are four reference fields available. Reference, Invoice, Dept, and PO Number. On the test server FedEx reserves the right to return a fixed value in the reference field to reduce attempts to use the label for shipping. The other three reference fields are available for testing your values.

The sample code was written using Visual Studio 2005. It will automatically be converted when it is opened in a newer version of Visual Studio. The error appears at this point due to the way WSDL.exe handles certain type of nodes in the WSDL file. For more information see

To resolve the error if using
After the conversion completes, use Ctrl-H to open the Find/Replace dialog box. Search for a double set of parentheses and replace them with a single set.
Find: ()()
Replace with: ()
Look in: Entire Project or Current Solution

To resolve the error if using C#:
After the conversion completes, use Ctrl-H to open the Find/Replace dialog box. Search for a double set of brackets and replace them with a single set.
Find: [][]
Replace with: []
Look in: Entire Project or Current Solution

FedEx Ship Manager Server (FSMS) is a hardware and software solution for high-volume shippers, giving customers the speed and convenience of a dedicated shipping solution for FedEx. While shipment transactions are processed locally on the server using FedEx Ship Manager Server, an internet connection is required to transmit shipment data to FedEx. FedEx Ship Manager Server will run on a variety of hardware configurations and several different versions of Microsoft Windows. Please refer to the Technical System Requirements for more information.

Use of FedEx Ship Manager Server is free to high-volume FedEx customers. To find out if your organization qualifies, contact your FedEx Account Executive directly or e-mail us to request an appointment.

While there is no limit to the amount of accounts that can be set up one server, we do notice a decrease in performance based on how many meters/accounts a system has configured. We recommend no more than 50 meters. If you have a large number of locations all sending transactions to one FedEx Ship Manager Server, you should stagger the close transactions and use a backup server.

Yes, but you should still download tracking numbers to the server. You should then send a transaction to the server to get the next tracking number. Actual package tracking is not available.

Using TCP/IP and a dedicated connection between your location(s) and FedEx operations, it bypasses the internet and its real-world traffic jams completely. The speed for each customer will depend on network speed, network load, network message priorities, desired response time, security and client code.

You have a couple options in regards to your shipping label. You can create, format and print a FedEx-certified custom label and add custom fields, if needed. Or, you can use a label transfer option, allowing you to print labels to a FedEx thermal printer attached to your network.

Yes. You will need to work with your Customer Integration Consultant (CIC) to implement a custom label solution.

Yes. For example, you can print the courier report in the shipping area and print the invoice report on the accounting department printer.

No. FedEx recommends that each meter be used only one server at a time. You can have many meters per account, and FedEx recommends that you request a new meter instead of adding the same meter to more than one server running FSMS.

You should have a backup server or a disaster recovery plan if the availability of the FedEx Ship Manager Server is considered mission critical to your fulfillment process. You will need to coordinate with your Customer Integration Consultant (CIC) regarding the implementation of a viable failover solution or a backup and recovery plan in case of an outage.

FedEx Ship Manager Server Software Support Lifecycle is the name of the FedEx support model that determines which versions of software will no longer be distributed, updated, or otherwise maintained or supported by FedEx.

The Software Support Lifecycle will help FedEx continue to deliver high-quality software with benefits, features, and functionality that our customers value.

As widely used third-party platforms are updated and older versions retired, systems using the outdated platforms no longer receive updates or "patches." This leaves FedEx customers using outdated operating systems increasingly vulnerable to security breaches beyond our control. FedEx is working to align with industry standard software migration practices and to remain current with Windows® operating system migration plans.

Customers who do not upgrade their software by the end of the support date will no longer receive updates or other maintenance or support.

There are no additional incentives available for this program.

All customers using FedEx Ship Manager Server software are affected by the Software Support Lifecycle.

Times will vary depending on the number of meters to upgrade, the use of third party or FedEx® Compatible providers, and the complexity of the integration.

The Software Support Lifecycle will be an ongoing process. FedEx recommends customers upgrade their software regularly so they are always running one of the three most recent versions. This ensures customers have access to the most current features and functionality.

Please contact your Account Executive; they will help outline the process for you.

Please contact your IT department, FedEx Sales Account Executive, FedEx Compatible provider and/or your FedEx Customer Technologies field support personnel for more information about the upgrade process.

Yes. The model for the Software Support Lifecycle is global.

FedEx Office Integrator ID is a data element assigned by FedEx to identify the integrator executing an operation. This element is required within each FedEx Web Services for Office and Print transaction. Following development of your solution, you will be assigned an ID as part of the FedEx Web Services for Office and Print certification process. This element is required when requesting a Production Key.

Yes. Web Service credentials can be configured for use with both FedEx Web Services for Shipping and FedEx Web Services for Office and Print implementations where appropriate.

No. You must execute an HTTP POST operation using the Upload URL returned by FedEx Office within the Upload Location reply.

No. Currently, only one file may be associated with each FedEx Web Services for Office and Print transaction.

Yes. FedEx Web Services for Office and Print test credentials enable you to test your Print Online Web Service implementation’s ability to connect to FedEx, upload the target file and launch FedEx Office Print Online. However, any print orders that are configured and submitted via FedEx Office Print Online will be processed and billed as production orders.