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.
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.
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.
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.
There are two levels of assistance available. General support is available via the FedEx Help Desk at 1.877.339.2774. If you would like assistance in your implementation effort, a FedEx Customer Technology consultant may be able to assist you upon request.
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:
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.
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.
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
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.
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.
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 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
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.
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.
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.
Upgrading to the current version ensures that the customers have the best safety features, improved efficiency and better customer experience. Customers who do not upgrade may face issues that have been addressed in newer versions.
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. 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.
Get the latest news and alerts from the FedEx Developer Resource Center.