Frequently Asked Questions
Find answers to common questions and concerns.
How does FedEx Web Services work?
The customer’s applications communicate to the FedEx processing systems by passing real-time information over the Internet.
Aside from Shipping, how can FedEx Web Services help my company?
FedEx Web Services contains functionality that can assist in order entry, customer service, reverse Logistics, 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.
How long does it take to implement FedEx Web 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 Web Services? It can take as little as a few weeks to several months depending on the factors above.
Is FedEx Web Services and "off-the-shelf" solution?
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.
Can FedEx do the programming for me, if I do not have any programming resources?
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.
Are there any FedEx revenue requirements associated with the user of FedEx Web Servies?
No. Since this solution is simply a set of technical schematics, there are no revenue requirements.
What is the difference between FedEx Web Services for Shipping and FedEx Web Services for Office and Print?
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.
Does FedEx have a testing environment for our programmers to use while developing the application?
What if my business does not have an Internet presence, such as a Web Site or a shopping cart? Can FedEx Web Services still work for me?
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.
What certification requirements are involved with FedEx Web Services?
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.
I have business units that operate outside of the United States. Will this solution still work?
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.
If my programming department needs assistance with implementing FedEx Web Services, what help is there from FedEx?
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.
What services can the Web Integrated Solutions Consultation Team provide?
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.
Why does FedEx Web Services return the label buffer in a Base 64 Encoding?
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.
How do I decode the label buffer?
PHP, VB.net 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.
How do I print the label buffer?
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');
$CopyCmd = "copy ".$file." "."\\\\JOHN-PC\\ZebraLP2844";
$PrintResult = shell_exec($CopyCmd);
$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.
Can I use a command prompt to print a thermal label to a USB port?
Yes. The following steps outline how to use a command prompt to print a thermal label to a USB port.
- First you must share your USB printer. It helps to give it a very simple name. In this example it is called Zebra.
- 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.
- In Windows go to "start menu" and select "run". Then type in "cmd"
- 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)
- 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
Is it acceptable to fax my labels to the FedEx Label Certification Team?
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.
If I choose to use the HTTPS POST rather than SOAP to send transactions do I need a SSL certificate?
No, you do not need to purchase a SSL certificate to use the HTTPS POST
Why is my VB.NET or C# project still sending transactions to the test server after I've changed the URL in the WSDLs to print to production?
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.
Can I ship multiple packages with a single request?
No. Each package requires a ship transaction. However you are able to tie packages together with a master tracking number.
Can I track multiple tracking numbers with a single request?
Yes. You can track up to 30 shipments in a single transaction by using batch tracking.
Can I rate multiple shipments with a single transaction?
Yes, with the current Web Services you can now rate an MPS domestic and International package in a single transaction.
Can I print a thermal label with my Laser printer?
This is not currently supported via FedEx, however a custom Java applet can be created to handle that process.
How can I print my pick ticket on the same paper as my FedEx shipping label?
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.
Can I print a custom text or a logo on my FedEx label?
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.
Is it possible to have my own verbiage appear in the Reference Field on a test label?
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.
I am using wsdl.exe from Microsoft to generate code and I get an error CS0029: Cannot implicitly convert type 'fedexreq.ParsedElement' to 'fedexreq.ParsedElement'.
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 http://support.microsoft.com/kb/891386.
To resolve the error if using VB.net:
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.
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.
Replace with: 
Look in: Entire Project or Current Solution
What is FedEx Ship Manager Server?
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.
How do you qualify for FedEx Ship Manager Server?
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.
Is there a limit to the number of customer accounts that can be set up on one FedEx Ship Manager Server?
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.
Can you pre-assign tracking numbers with FedEx Ship Manager 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.
How fast is FedEx Ship Manager Server?
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.
What shipping label options are available with FedEx Ship Manager Server?
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.
Does FedEx Ship Manager Server support custom labels? How do I implement and use custom labels with FedEx Ship Manager Server?
Yes. You will need to work with your Customer Integration Consultant (CIC) to implement a custom label solution.
Is it possible to send different reports to different printers?
Yes. For example, you can print the courier report in the shipping area and print the invoice report on the accounting department printer.
Does FedEx recommend installing the same meter number on several servers running the FedEx Ship Manager Server?
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.
Should my company have a backup 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.
What is FedEx Ship Manager Server Software Support Lifecycle?
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.
What is the time frame for the FedEx Ship Manager Server Software Support Lifecycle?
The Software Support Lifecycle will be introduced in January 2016, giving customers a two years to upgrade their FedEx Ship Manager Server software before the oldest versions (10.0.X and older) reach the end of Lifecycle Support in January 2018. Each year, as new versions are released, the oldest remaining version(s) will reach end of support.
How will the Software Support Lifecycle affect my support?
If you are not running one of most recent software versions, FedEx will not provide you with any updates or other maintenance or support.
Software Version No Support Available After 10.0.X and below January 2018 10.6.X and 11.0.X January 2019 12.0.X and 13.0.X January 2020 14.0.X January 2021 15.0.X January 2022 16.0.X January 2023
The chart below will help you anticipate when to upgrade your software.
Why should I upgrade if I am satisfied with the software I am currently using?
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.
Are there penalties for not upgrading on schedule? What if I don’t meet the upgrade deadlines?
Customers who do not upgrade their software by the end of the support date will no longer receive updates or other maintenance or support.
Are incentives available?
There are no additional incentives available for this program.
Will this project affect both software only and hardware customers?
All customers using FedEx Ship Manager Server software are affected by the Software Support Lifecycle.
How long will my software upgrade take?
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.
Is this a continuous process or a one-time push to upgrade?
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.
Who do I talk to about upgrading?
Please contact your Account Executive; they will help outline the process for you.
What version am I on? Which one should I upgrade to?
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.
Is the timeline the same for companies outside the U.S.?
Yes. The model for the Software Support Lifecycle is global.
What is a FedEx Office Integrator ID?
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.
Can I use the same Web Service key and password for both FedEx Web Services for Shipping and FedEx Web Services for Office and Print projects?
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.
Does the Office Order Web Service include an operation to upload my document file?
No. You must execute an HTTP POST operation using the Upload URL returned by FedEx Office within the Upload Location reply.
What is the maximum file size FedEx Web Services for Office and Print will accept?
Each file can be up to 150 MB in size.
Can I associate multiple files with a single FedEx Web Services for Office and Print transaction?
No. Currently, only one file may be associated with each FedEx Web Services for Office and Print transaction.
I am testing my Print Online Web Service solution. Are orders I place via FedEx Office Print Online while testing considered “live” production orders?
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.