without notice. Any conflict between this guide, the FedEx Automation
You must remit payment in accordance with the FedEx Service Guide, tariff,
Agreement and the FedEx Service Guide shall be governed by the FedEx
service agreement or other terms or instructions provided to you by FedEx
Automation Agreement and the FedEx Service Guide, in that order.
from time to time. You may not withhold payment on any shipments because
© 2011 FedEx. FedEx and the FedEx logo are registered service marks. All
of equipment failure or for the failure of FedEx to repair or replace any
rights reserved. Unpublished.
equipment.
Disclaimer
Confidential and Proprietary
All Improper Transaction scenarios are for example only. They do not reflect
The information contained in this guide is confidential and proprietary to
all error condition scenarios.
FedEx Corporate Services, Inc. and its affiliates (collectively “FedEx”). No part
of this guide may be distributed or disclosed in any form to any third party
without written permission of FedEx. This guide is provided to you under and
its use is subject to the terms and conditions of the FedEx Automation
Understanding the XML Schema ... 17
About This Guide ... 4
Implementation Process ... 22
Document Organization ... 5
Resources ... 5
2 Tracking and Visibility Services ... 25
Support ... 5
Tracking Shipments ... 26
Signature Proof of Delivery (SPOD) ... 32
1 Introduction ... 6
Notification ... 36
Document Overview ... 7
FedEx InSight ... 39
Web Services, WSDL, and SOAP Overview ... 9
XML Schema ... 39
Implementing FedEx Web Services ... 17
Support
Document Organization
Resources
It is written for the application developer who uses web services to design
•
Web Services organization home page: www.webservices.org
and deploy applications enabled by FedEx. It describes how to get started
•
Microsoft Web Services: msdn.microsoft.com/webservices
with application development and how to use the Application Programming
•
O’Reilly XML.com: www.xml.com
Interface (API). It also describes each available service in addition to the
•
Secure Socket Layer Certificates: fedex.com/us/developer/downloads/
business logic that drives each FedEx process.
dev_cert.zip
Document Organization
Support
Each web service provides access to FedEx features. The service description
For FedEx Web Services technical support, you can reach FedEx at
includes service details and a full schema listing to facilitate application
[email protected] or call 1.877.339.2774 and state “Web Services”
development.
at the voice prompt. Support hours are Monday through Friday, 7 a.m. to 9
p.m. (CST) and Saturday, 9 a.m. to 3 p.m. (CST). For FedEx Customer Service,
Resources
call 1.800.GoFedEx 1.800.463.3339.
The following may also be useful for FedEx Web Services developers:
Implementation Process
Document Overview
Web Services, WSDL, and SOAP Overview
Implementing FedEx Web Services
FedEx Web Services gives you the tools to build custom platform- and
Why should developers be interested in web services?
interface-independent applications that access FedEx features. You can use
•
Interoperability: Any web service can interact with any other web
FedEx Web Services in a variety of ways to create customized integration
service and can be written in any programming language.
solutions for your specific shipping needs. Here are just a few of the ways a
•
Ubiquity: Web services communicate using HTTP and XML. Any
company can use web services to streamline operations, improve visibility,
connected device that supports these technologies can both host and
and provide more choices to clients:
access web services.
•
Verify Addresses and Improve Customer Satisfaction: Prompt
•
Low Barrier to Entry: The concepts behind web services are easy to
customers for additional information in the event of an address
understand, and developers can quickly create and deploy them using
discrepancy or missing information with the Address Validation WSDL.
many toolkits available on the web.
•
Give Customers More Options: Help customers learn about all the
•
Industry Support: Major content providers and vendors support the web
available shipping options and rates with the Ship Service WSDL,
services movement.
OpenShip WSDL, and the Rate Services WSDL. You can also extend this
Any application running on any platform can interact with a web service by
service to your shopping cart and website, allowing customers to access
using the Simple Object Access Protocol (SOAP) and Web Services
money-saving information firsthand.
Description Language (WSDL) standards for message transfer and service
•
More Convenience: Use the Locator Service WSDL to find the FedEx
discovery. By following the standards, applications can seamlessly
pickup location nearest your customer. Or, send an email to your
communicate with platform services.
customers with a link to this service as part of your standard order-receipt
process.
Document Overview
•
Offer Global Shipping Options: Create shipping labels for worldwide
locations. Improve customer service by offering more shipping options to
This guide provides instructions for coding the functions you need to develop
customers in more countries with the consolidated Ship Service WSDL.
FedEx supported applications. The following chapters make up this guide:
•
Reduce Customer Service Costs: Decrease phone traffic from
•
Introduction (this chapter):
customers checking the status of their shipments and cut customer service
–
Documentation overview and guidelines, including how to use the Help
costs. FedEx provides online Tracking and Visibility Services that allow you
application and how to print this guide.
to provide customers with the status of shipments, Signature Proof of
–
Overview information about web services, including a high-level
Delivery (SPOD), and Shipment Notification in the Ship Request.
description of FedEx Web Services methods.
•
Simplify Processes and Improve Satisfaction: In addition to
–
Coding basics.
ExpressTagAvailability, provide a simple way to allow customers to return
an order with Email Labels. This service sends an email with the address
–
Overview information about testing and certifying your application.
(URL) of a website where the recipient can log in and print a return label.
Each chapter covering FedEx Web Services coding includes:
•
Service Details: Business rules for using the FedEx service.
FedEx Web Services Help opens in your default browser, such as Internet
Explorer or Firefox. The first topic ¾ in this case, the cover page ¾ appears in
•
Service Options: Links to additional services that can be added to the
the main window. The Table of Contents (TOC) appears in the navigation
basic web service.
column. Under the TOC you can choose the Index, Search, or Favorites
•
Coding Details: Best practices information, basic request and reply
options. Each of these features appears in the same column.
elements, and a link to error messages.
The toolbar across the top of the window displays the following elements:
•
XML Schema: A link to the layout for the service. This layout provides
Back: Returns you to the previously viewed topic.
coding requirements for all elements in the schema.
Forward: Goes to the next topic as listed in the TOC.
Using FedEx Web Services Online Help
Quick Search: Enter a search term and
This guide is available as online help at the FedEx Developer Resource Center
(fedex.com/developer) in Support > FedEx Web Services Developer
click
to highlight the term in the current topic. This feature only
Guide.
searches the current topic.
Hide Navigation: Hides the left navigation column.
Search: Opens the full search tool in the navigation column.
Print: Opens the Print dialog box.
Home: Opens the default topic: in this case, the cover page.
Add Topic to Favorites: Saves the current topic to your Favorites list.
Printing This Guide or Online Help
You can print all or part of this guide from both the PDF and WebHelp
versions.
Printing from the PDF Version
From the PDF version you can print the complete document or a page range
of the document.
2. From the Print dialog box you can print the complete document, specify a
XML document that provides information about what the service does, the
page range, or choose from any of the available print options.
methods that are available, their parameters, and parameter types. It
describes how to communicate with the service in order to generate a
Printing from the WebHelp Version
request to, or decipher a response from, the service.
From the WebHelp version you can print a single topic or a page range of
The purpose of a WSDL is to completely describe a web service to a client. A
that topic.
WSDL defines where the service is available and what communications
protocol is used to talk to the service. It defines everything required to write
Open WebHelp and click the printer icon
.
a program to work with an XML web service. A WSDL document describes a
From the Print dialog box you can print the complete topic or specify a page
web service using seven major elements. Elements can be abstract or
range.
concrete.
Abstract XML elements describe the web service: <types>, <message>,
Web Services, WSDL, and SOAP Overview
<operation>, <portType>.
This section describes the standard coding technologies used in FedEx Web
Concrete XML elements provide connection details: <service>, <port>,
Services.
<binding>.
WSDL Elements
Web Services
Web services are a collection of programming technologies, including XML,
Element Definition
Web Services Description Language (WSDL), and SOAP, which allow you to
build programming solutions for specific messaging and application
<definitions> The root element contains name space definitions.integration.
<portType> The most important WSDL element. It is a set of all operations that a web service can accept and is a container for <operation> elements. This WSDL element
Web services are, by definition, platform independent. FedEx Web Services
describes a web service, the operations that can be performed, and the messages
allow developers to build custom applications that are independent of
that are involved, and can be compared to a function library (or a module or a
changes to the FedEx interface.
class) in a traditional programming language.Note: FedEx Web Services are not offered as part of a Universal Description Discovery and <types> Defines variable types used in the web service (both the parameters passed to a Integration (UDDI) and must be downloaded from the FedEx Developer Resource Center function and the type of the value passed back via the response). The data types (fedex.com/developer) and stored locally for development and usage. are described by XML schema. This element contains user-defined data types (in
the form of XML schema). The <types> element defines the data types that are used by the web service For maximum platform neutrality, WSDL uses XML
WSDL
schema syntax to define data types.
A SOAP request to, or response from, a service is generated according to the
Element Definition
SOAP
<message> Defines the data elements of an operation. Each message can consist of one or
SOAP is a simple XML-based protocol that allows applications to exchange
more parts that can be compared to the parameters of a function call in ainformation over HTTP. SOAP is built on open standards supported by
traditional programming language.numerous development tools on various platforms. SOAP provides a way to
<operation> Child of the <binding> element that defines each operation that the port exposes.communicate between applications running on different operating systems,
This element allows three messages only:with different technologies and programming languages. The SOAP request
Message Definition
interface is an object in your application programming language.
Input Message Data web servicices receiveSOAP enables the data to pass through layers of intermediaries and arrive at
Output Message Data web servicervices sendthe ultimate receiver the way it was intended. It is worth noting that you may
Fault Message Error messages from web servicesnot need to actually construct the SOAP messages yourself — many
development tools available today construct SOAP behind the scenes.
<service> The <service> element contains a <port> child element that describes the URLwhere the service is located. This is the location of the ultimate web service.
SOAP Message
<binding> The <binding> element defines the message format and protocol details for each
port. The binding element has two attributes: the name attribute and the type
A SOAP message is an ordinary XML document that can be a request for a
attribute. This element specifies how the client and the web service should sendweb service from a client or a “reply” from a web service to a client.
messages to one another.•
Required <SOAP:Envelope>
Note: For more information about the WSDL standard, refer to the World Wide Web
•
Optional <SOAP:Header>
Consortium (W3C) Website at w3.org/TR/wsdl.•
Required <SOAP:EnvelopeBody>
Example: Rate Request (SOAP Message)
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:v8=”http://fedex.com/ws/rate/v8”> <soapenv:Header/> Optional <SOAPsoapenv:HeaderBody> <v8:RateRequest> <v8:WebAuthenticationDetail> <v8:CspCredential> <v8:Key>Provider Key</v8:Key> <v8:Password>Provider Password</v8:Password> </v8:CspCredential>
<v8:UserCredential> <v8:Key>User Key</v8:Key> <v8:Password>User Password</v8:Password> </v8:UserCredential> </v8:WebAuthenticationDetail> <v8:ClientDetail> <v8:AccountNumber>XXXXXXXXX</v8:AccountNumber> <v8:MeterNumber>XXXXXX < /v8:MeterNumber> <v8:ClientProductId>ABCD</v8:ClientProductId> <v8:ClientProductVersion>1234</v8:ClientProductVersion> </v8:ClientDetail> <v8:TransactionDetail>
<v8:CustomerTransactionId>Test v8 Rate Request</v8:CustomerTransactionId> </v8:TransactionDetail> <v8:Version> <v8:ServiceId>crs</v8:ServiceId> <v8:Major>8</v8:Major> <v8:Intermediate>0</v8:Intermediate> <v8:Minor>0</v8:Minor> </v8:Version> <v8:ReturnTransitAndCommit>true</v8:ReturnTransitAndCommit> <v8:RequestedShipment> <v8:ShipTimestamp>2009-08-19T16:15:00-05:00</v8:ShipTimestamp> <v8:DropoffType>REGULAR_PICKUP</v8:DropoffType> <v8:PackagingType>YOUR_PACKAGING</v8:PackagingType> <v8:Shipper> <v8:Address>
<v8:StreetLines>123 Maple Street</v8:StreetLines> <v8:City>Akron</v8:City> <v8:StateOrProvinceCode>OH</v8:StateOrProvinceCode> <v8:PostalCode>44333</v8:PostalCode> <v8:CountryCode>US</v8:CountryCode> </v8:Address> </v8:Shipper> <v8:Recipient> <v8:Address>
<v8:StreetLines>123 Oak Street</v8:StreetLines> <v8:City>Collierville</v8:City>
<v8:PostalCode>38017</v8:PostalCode> <v8:CountryCode>US</v8:CountryCode> </v8:Address> </v8:Recipient> <v8:RateRequestTypes>ACCOUNT</v8:RateRequestTypes> <v8:PackageCount>2</v8:PackageCount> <v8:PackageDetail>INDIVIDUAL_PACKAGES</v8:PackageDetail> <v8:RequestedPackages> <v8:SequenceNumber>1</v8:SequenceNumber> <v8:InsuredValue> <v8:Currency>USD</v8:Currency> <v8:Amount>50.00</v8:Amount> </v8:InsuredValue> <v8:Weight> <v8:Units>LB</v8:Units> <v8:Value>20.0</v8:Value> </v8:Weight> <v8:Dimensions> <v8:Length>10</v8:Length> <v8:Width>10</v8:Width> <v8:Height>10</v8:Height> <v8:Units>IN</v8:Units> </v8:Dimensions> <v8:CustomerReferences> <v8:CustomerReferenceType>CUSTOMER_REFERENCE</v8:CustomerReferenceType> <v8:Value>TEST v8 REQUEST</v8:Value> </v8:CustomerReferences> </v8:RequestedPackages> <v8:RequestedPackages> <v8:SequenceNumber>2</v8:SequenceNumber> <v8:InsuredValue> <v8:Currency>USD</v8:Currency> <v8:Amount>50.00</v8:Amount> </v8:InsuredValue> <v8:Weight> <v8:Units>LB</v8:Units> <v8:Value>10.0</v8:Value> </v8:Weight> <v8:Dimensions> <v8:Length>5</v8:Length> <v8:Width>5</v8:Width>
<v8:Height>5</v8:Height> <v8:Units>IN</v8:Units> </v8:Dimensions> </v8:RequestedPackages> </v8:RequestedShipment> </v8:RateRequest> Required <SOAP/soapenv:Body> Required <SOAP/soapenv:BodyEnvelope>
Example: Delete Tag Request (SOAP Message)
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://fedex.com/ws/ship/v8"> <SOAP-ENV:Body> <DeleteTagRequest> <WebAuthenticationDetail> <UserCredential> <Key> User Key </Key> <Password> User Password </Password> </UserCredential> </WebAuthenticationDetail> <ClientDetail> <AccountNumber>xxxxxxxxx</AccountNumber> <MeterNumber>xxxxxx</MeterNumber> </ClientDetail> <TransactionDetail> <CustomerTransactionId>DE_Shakeout_wsvc</CustomerTransactionId> </TransactionDetail> <Version> <ServiceId>ship</ServiceId> <Major>8</Major> <Intermediate>0</Intermediate> <Minor>0</Minor> </Version>
<DispatchLocationId>MQYA</DispatchLocationId> <DispatchDate>2008-10-08</DispatchDate> <Payment> <PaymentType>shipper</PaymentType> <Payor> <AccountNumber>xxxxxxxxx</AccountNumber> <CountryCode>US</CountryCode> </Payor> </Payment> <ConfirmationNumber>997037200019454</ConfirmationNumber> </DeleteTagRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
For more information about the SOAP standard, refer to the World Wide Web Consortium (W3C) Website at http://www.w3.org/TR/SOAP.
Non-SOAP Web Services
FedEx offers a non-SOAP web services solution that you can use to send transactions without having to use tools that provide SOAP protocol support for web
services. This may be convenient for developers using environments that do not provide support for SOAP. With this interface, XML documents are sent directly
to the FedEx servers via the HTTP POST command. FedEx provides a set of specifications and examples to help with the development of this type of
communications method.
To use the non-SOAP web service solution, you must have a working knowledge of HTTPS and Secure Socket Layering (SSL) encryption, the ability to provide a
secure SSL connection to FedEx and the ability to code to an operation interface using XML.
The interfaces used in the SOAP and non-SOAP web services are defined in WSDL files. The WSDL files contain schemas that define the layout of the
operations. The same WSDL file is used for both the SOAP and non-SOAP web service users.
Non-SOAP users are concerned only with the schema definitions and not the other WSDL components that are SOAP-specific. The XML data that is sent via the
non-SOAP interface looks almost identical to the data that is sent via the SOAP interface. The only difference is that the data sent via the non-SOAP interface
does not contain the wrapping Envelope and Body tags that are specific to SOAP. An example of a request using the non-SOAP interface looks like this:
<ns:TrackRequest xmlns:ns="http://fedex.com/ws/track/v5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://fedex.com/ws/track/v4 TrackService_v4.xsd ">
<ns:WebAuthenticationDetail> <ns:UserCredential>
User Key </ns:Key> <ns:Password> User Password </ns:Password> </ns:UserCredential> </ns:WebAuthenticationDetail> <ns:ClientDetail> <ns:AccountNumber>000000000</ns:AccountNumber> <ns:MeterNumber>0000000</ns:MeterNumber> </ns:ClientDetail> <ns:TransactionDetail>
<ns:CustomerTransactionId>User Customizable Field</ns:CustomerTransactionId></ns:TransactionDetail> <ns:Version> <ns:ServiceId>trck</ns:ServiceId> <ns:Major>4</ns:Major> <ns:Intermediate>0</ns:Intermediate> <ns:Minor>0</ns:Minor> </ns:Version> <ns:PackageIdentifier> <ns:Value>ttttttttttttttt</ns:Value> <ns:Type>TRACKING_NUMBER_OR_DOORTAG</ns:Type> </ns:PackageIdentifier> <ns:IncludeDetailedScans>true</ns:IncludeDetailedScans> </ns:TrackRequest>
Error Handling
Error handling for non-SOAP operations is different from error handling for SOAP operations. The SOAP specification provides an error handling mechanism that
is not present for non-SOAP operations. For a SOAP operation, a fault is returned as a SOAP exception. For a non-SOAP request, the contents of the SOAP fault
are returned as an XML document. These SOAP fault documents are returned in situations such as schema validation failures or when operation types are
unrecognized. In the following example, a SOAP fault document is returned from a schema validation failure in which the AccountNumber element was
incorrectly sent as the AccountNumberx element:
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode>soapenv:Server</faultcode>
<detail>
<con:fault xmlns:con="http://www.bea.com/wli/sb/context"> <con:errorCode>5</con:errorCode>
<con:reason>Schema validation failed for request.</con:reason> <con:details>
<con1:ValidationFailureDetail xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
<con1:message>Expected element 'AccountNumber@http://fedex.com/ws/ship/v8' instead of 'AccountNumberx@http://fedex.com/ws/ship/v8' here in element ClientDetail@http://fedex.com/ws/ship/v8</con1:message>
<con1:xmlLocation>
<ship:AccountNumberx xmlns:ship="http://fedex.com/ws/ship/v8">000000000</ship:AccountNumberx> </con1:xmlLocation>
<con1:message>Expected element 'AccountNumber@http://fedex.com/ws/ship/v1' before the end of the content in element ClientDetail@http://fedex.com/ws/ship/v8</con1:message> <con1:xmlLocation> <ship:ClientDetail xmlns:ship="http://fedex.com/ws/ship/8"> <ship:AccountNumberx>000000000000000000</ship:AccountNumberx> <ship:MeterNumber>0000000</ship:MeterNumber> </ship:ClientDetail> </con1:xmlLocation> </con1:ValidationFailureDetail> </con:details> <con:location> <con:node>Validate</con:node> <con:pipeline>Validate_request</con:pipeline> <con:stage>ValidateRequest</con:stage> <con:path>request-pipeline</con:path> </con:location> </con:fault> </detail> </soapenv:Fault>
Each reply should be checked for the Fault element to indicate failure in processing the message.
Note: Normal error processing still applies; this is an additional error check for incorrect syntax in XML documents.
Keep in mind that if you use either the SOAP or non-SOAP version of FedEx Web Services, labels are returned as Base64 encoded. To print shipping labels, you
must decode labels before sending them to your printer.
Non-SOAP HTTP POST Example
Implementing FedEx Web Services
The following HTTPS POST example is a valid working example, but is not
Before you begin your implementation of FedEx Web Services, make note of
guaranteed to work for all programming languages, applications, and host
the following guidelines:
systems:
•
FedEx Web Services are designed for use by skilled developers who are
familiar with the communication standards SOAP and Web Services
POST /xml HTTP/1.0
Description Language (WSDL).
Referrer: YourCompanyNameGoesHere
Host: gatewaybetawsbeta.fedex.com
•
Unlike traditional client/server models, such as a web server or web page
Port: 443
system, web services do not provide the user with a graphical user
Accept: image/gif, image/jpeg, image/pjpeg, text/plain,
interface (GUI). Instead, web services share business logic, data, and
text/html, */*processes through a programmatic interface across a network.
Content-Type: image/gifContent-length: %d
•
To perform a particular FedEx task such as tracking a package, you need
Your FedEx Transactionto use a class, module, or function that creates your request, sends it to
the FedEx platform, and handles the response.
Each line is followed by one new line character except Content-length and
the FedEx transaction. Two new line characters follow the Content-length
•
FedEx Web Services are designed to support any operating system and
line. The FedEx transaction has no extra characters. The Content-length line
coding language. Downloadable sample code is available in Java, C#, VB,
should have the length of the FedEx transaction in place of the %d variable.
.Net and PHP languages from the FedEx Developer Resource Center
Technical Resources.
Note: Port 443 must be opened for bi-directional communication on your firewall.
•
Transactions submitted to FedEx using FedEx Web Services are required to
After formatting your non-SOAP transaction and placing it in a HTTP POST
have a minimum of 128-bit encryption to complete the request.
request, you will need to open an SSL connection to the FedEx test server
and send the request through FedEx by using your SSL connection.
Understanding the XML Schema
Next, parse the HTTPS response to determine if there were any errors.
Examine the HTTP header to determine if any HTTP or Web Server errors
The XML schema defines the messages that you can use to access the FedEx
were encountered. If you received a 200 status code, parse the reply to
Services. You create a request that contains business data and other
determine if there were any processing problems.
instructions and you send it to FedEx. FedEx replies with a response that
contains the data resulting from the instructions you sent in. Notice that
Visual Basic Project Error
schema diagrams are conveniently linked to help you find information and
child values.
You may receive an error indicating that an element is not set, even after
setting it in the code. When you set a Boolean type element to true, you may
also need to set the specified element to true.
The XML schema provides a means for defining the structure, content, and
elements and simple types as belonging to the vocabulary of the XML
semantics of XML documents.
schema language, rather than the vocabulary of the schema author.
An XML schema defines:
Guide to the XML Schema
•
Elements and attributes that can appear in a document
The XML schema for each WSDL provides details about the structure,
•
Elements that are child elements
content, and semantics of the request XML document sent to a FedEx Web
•
Order and number of child elements
Service and the XML document returned by that FedEx Web Service.
•
Whether an element is empty or can include text
The top of each service schema includes:
•
Data types, default values, and fixed values for elements and attributes
•
Schema location and schema file name that ends in an ".xsd" suffix.
Some important facts about the XML schema:
•
Alphabetical listing of complex types for the documented service.
•
Elements that contain sub-elements or carry attributes have complex
•
Alphabetical listing of schema simple types for the documented service.
types.
•
Input or request data type for the documented service.
•
Elements that contain numbers (and strings, and dates, etc.), but do not
•
Output or reply data type for the documented service.
contain any sub-elements, have simple types. Some elements have
The remainder of the service schema contains tables of information about
attributes. Attributes always have simple types.
each element, complex type, and simple type.
•
Complex types in the instance document, and some of the simple types,
Each table consists of some or all of the following sections: diagram,
are defined in the schema associated with a FedEx Web Service. Other
namespace, children, type, properties, used by, facets, and source.
simple types are defined as part of XML schema's repertoire of built-in
simple types.
XML Schema Diagrams
•
XML schema built-in simple types are prefixed by "xs:", which is
XML schema diagrams describe the elements (usually associated with a
associated with the XML schema namespace through the declaration
request or reply), complex types, and simple types that make up the WSDL.
xmlns:xs="http://www.w3.org/2001// XMLSchema", displayed in the
The following table illustrates the relationships and behavior of elements and
schema element.
types.
•
The same prefix, and the same association, are also part of the names of
built-in simple types, e.g., xs:string. This association identifies the
Schema Diagram Description Schema Diagram Description
Diagrams of a parent A box with a dotted border
element, such as indicates a single element
AddressValidationRequest, that is optional.
include connections to the
The type can be simple or
child elements. Child complex.
elements can be simple or complex types.
A layered box represents a
A child element connected multiple occurrence
with a solid line and element. A solid line
surrounded by a box with a represents a required
solid border represents a multiple occurrence
required type, such as element.
ClientDetail.
The number of possible
A child element connected occurrences appears below
by a dotted line and the box, as depicted by the
surrounded by a dotted AddressResults element.
border represents an
An unbounded number of optional type
occurrences is represented (minOccurs="0"), such as
by the infinity ¥ symbol TransactionDetail.
(maxOccurs="unbounded"),
Note: An element that is as depicted by the
defined as minOccurs="0" Notifications type.
may be required for some
A layered box with a dotted calls.
border represents an
Types that are documented optional multiple occurrence
include the documentation type (minOccurs="0"), such
directly below the box. as ProposedAddressResults.
All children are linked by Note: An element that is
name below the diagram. defined as minOccurs="0"
may be required for some
A box with a single solid calls.
border represents a single element that is required. The type can be simple or complex.
Note: Web Services now use two-factor authentication. If you do not have new credentials,
Schema Diagram Description
the latest WSDLs will use your old authentication credentials. If you do not have a new user
A standard type such as authentication credential, do not populate the password element. “string” appears in black
text below element name.
ClientDetail: The ClientDetail element is required for all services that need
your FedEx account number and meter number. Requirements are:
A FedEx specific type such as “Address” appears in
red text below the element Element Description name.
ClientDetail/AccountNumber Required. Your FedEx account number.
ClientDetail/MeterNumber Maximum of 9 characters. The associated meter number for your
Required Elements
FedEx account number.Most requests to FedEx require the following complex elements:
•
A standard type such as “string” appears in black text below element
These elements are common to most Web Services (see the following table
name.
for which WSDLs need which common elements) and are not documented
•
A FedEx specific type such as “Address” appears in red text below the
service by service.
element name.
WebAuthenticationDetail: The WebAuthenticationDetail element includes
Note: When building a Web-based application for shipping that will be used at multiple
user credentials issued by FedEx so that your transactions are recognized by
locations, include the local FedEx Express®
account and meter in the ClientDetail section
the FedEx back-end systems. The following elements are required:
of the ship transaction. Create a database to hold multiple account and meter numbers for the shipping locations.
Element Description
TransactionDetail: The TransactionDetail element is optional for all
WebAuthenticationDetail The descriptive data to be used in authentication of the shipper'stransactions. However, if you want to identify associated request and reply
identity and right to use FedEx Web Services.transactions, use this element.
UserCredential Credential used to authenticate a specific software application. Thisvalue is provided by FedEx after registration.
Element Description
WebAuthenticationCredential Two-part authentication string used to verify shipper identity.
TransactionDetail/ Maximum of 40 characters. This element allows you to assign a WebAuthenticationCredential/ Unique identifier assigned to each customer as part of their CustomerTransactionId unique identifier to your transaction. This element is returned in the
Key authentication credentials. reply and helps you match requests to replies.
WebAuthenticationCredential/ Second part of the authentication credential which has a direct
Password relationship with the credential key.
VersionId: The VersionId element is required and uploads the WSDL version
number to FedEx. FedEx provides the latest version number for the service you
are using. This number should be updated when you implement a new version
of the service.
Element Description Element Description
ServiceId Identifies a system or sub-system which performs an operation. Residential Required if your shipper address is considered a residential location. If you are unsure, use the Address Validation Service to check your address.
Major Identifies the service business level. Intermediate Identifies the service interface level.
Reply Notifications
Minor Identifies the service code level.
Notifications are returned in replies. The notification element provides the
notification ranked according to their severity:
Shipper Information: Your shipper information is required for all shipping
•
HighestSeverity: This element ranks the level of notification severity.
transactions:
Values include:
Element Description
•
FAILURE: Code/message explains that your request could not be handled
AccountNumber If you include this element in the ship request, this entry overrides the account
at this time; do not resubmit right now.
number in the ClientDetail element.•
ERROR: Code/message identifies a problem with your request data; you
TIN Tax Identification Number — this information is required for internationalmay fix the request data and try again.
shipments only.
•
WARNING: Your request was successful. However, the code/message
Contact The Contact element includes:explains what had to be done to fulfill your request; you may need to
• PersonNamedetermine whether that is what you intended, you may need to do this
• Titledifferently next time, or you may need to prepare for a future change.
• CompanyNameRequest was completed.
• Department• PhoneNumber
•
NOTE: Your request was successful. However, the code/message contains
• PagerNumber
additional information about how your request was fulfilled; you do not
• FaxNumber
need to take any special action.
• EmailAddress
•
SUCCESS: Your request was successful. There are no NOTE or WARNING
Address This element includes:notifications.
• StreetLines: two StreetLines elements are allowed.Note: There is a possibility of multiple Notification objects (different severity levels) for a
• City
single request. The response notification severity values of ERROR, FAILURE, and SUCCESS
• StateOrProvinceCode: required if your shipper address is in the U.S. or
severity should never be combined in a single response.
Canada.
• PostalCode: required.
Notification Examples
• UrbanizationCode: may be required if your shipper address is in Puerto Rico.
For example, if you need to perform a U.S. address correction, the service
• CountryCode: required.Case Reply
in a standardized form (canonical spelling and abbreviation of street name
parts, elimination of redundant white space, data correction where possible,
and street address. The service rejects the client's address.etc.). The following cases illustrate several notification types.
Request to submit an Address that contains only Notifications: {ERROR, "City name is missing and
The example service has been assigned a NotificationSourceType value of
a single street line (no city, state, or postal code). cannot be corrected"}, {ERROR, "State code is
"USACS".
The service rejects the request. missing and cannot be corrected"}, {ERROR, "ZIPcode is missing and cannot be corrected"} and
Case Reply Address: empty (either all fields blank or no Address at all)
Request to submit an Address that is valid and is Notifications: SUCCESS and Address: the original
already in standardized form (i.e., there is nothing address (or copy). Request to submit an Address, but the address Notifications: {FAILURE, "Service temporarily to say except "OK"). correction service's database server is down or unavailable"}, Address: empty (either all fields
fails. blank or no Address at all).
Request to submit an Address that is valid but Notifications: NOTE, "Standard abbreviation not in standardized form (e.g., the word applied to street name"}, {NOTE, "Standard "Boulevard" in a street name is replaced with the abbreviation applied to city name"} and Address:
standard abbreviation "Blvd" and "Saint Louis" as the original address, with modification made to
Implementation Process
a city name is replaced with "St Louis"). the street name and city name.Planning your integration and organizing your application data to address your
Request to submit an Address that is valid but Notifications: NOTE, "ZIP+4 suffix added"} andshipping needs can sometimes take more time than the actual implementation
with only a 5-digit postal code: the service Address: the original address, with the four-digitof the integration. FedEx Web Services conform to industry standards and are
supplies the ZIP+4 for the standardized address. suffix added to the postal code.compatible with a comprehensive array of developers’ tools. This ensures the
Request to submit an Address that is identifiable Notifications: WARNING, "ZIP code corrected tofastest time-to-market with maximum flexibility to integrate FedEx
by street data, city name, and state code, but match rest of address"} and Address: the originaltransactions and information into your applications. FedEx WSDLs are fully
with a 5-digit postal code that does not match address, with the replacement postal code.the other fields. The service supplies the correct
interoperable with any product or developer’s tool that also conforms to the
ZIP+4 for the standardized address.WS-I Basic Profile. For details, see
http://www.ws-i.org/Profiles/BasicProfile-Request to submit an Address that has an Notifications: WARNING, "State code corrected to1.1-2004-08-24.html.
incorrect state code. The original address match city and ZIP code"} and Address: the
To obtain FedEx Web Services and begin integrating with an application, you
contains a ZIP+4 postal code belonging to a city/ original address, with the revised state code.state pair that matches the client's original city
will need to access documentation, sample code, and sample service requests
and street address. The service supplies theand replies with the WSDLs from the FedEx Developer Resource Center
corresponding state code in the correctedTechnical Resources. You will also need to obtain a test meter number to
address.engage in real-time online testing in the FedEx hosted test environment.
Request to submit an Address that has an Notifications: ERROR, "State code is incorrect forNote: Not all services are available outside the U.S.
incorrect state code. The original address city/ZIP combination"} and Address: empty (either contains a ZIP+4 postal code belonging to a city/ all fields blank or no Address at all).
Requirements for Corporate and Non-Commercial Developers
Testing
There are some differences in how support is provided and in the approvals
FedEx supplies a complete online operating environment with which to test
required to go into production that depend on whether you are creating an
your applications against live FedEx servers. In order to execute test
application for use by your own company or you are planning to resell your
interactions, you must first include a test account number, test meter number,
solution to others.
authentication key, and password in your code. These credentials are provided
to registered developers.
Requirements and Resources for Corporate Developers
Corporate developers are typically part of a dedicated development team at a
Certification
single company. This category also includes third-party developers
Certification is the process of ensuring that your implementation meets a
(consultants) hired by the company to work on its behalf. In all cases, the
number of requirements for safe, secure, and effective operation of your
integration will be used by the company itself and will not be resold or
solution in the FedEx production environment. Certification requirements differ
distributed outside of its own footprint. In this situation, FedEx can support
based on whether you are a corporate or commercial developer, and whether
the customer directly.
you are implementing using the advanced or standard services.
Requirements and Resources for Corporate Developers
Go to Production
Must be accepted into the FedEx®Compatible Solutions Program (CSP) NoOnce an application has passed certification, the developer must replace the
Self-certification of implementations using standard services Yestest credentials with the production credentials issued by FedEx. The
Self-certification of implementations using advanced services No
application connection is then directed to the production servers, and the
Certification assistance Yes (WISC team)
application is live.
FedEx supports the customer directly Yes
Once an application has completed the above mentioned process and
requirements, FedEx will enable the provider’s CSP credentials for processing
Preproduction Assistance
all applicable services in the production environment. The URL needed to
direct the CSP application to the FedEx production servers will also be
Preproduction assistance is available via the FedEx Web Integrated Solutions
provided. The provider would then need to obtain production User Credentials
Consultation (WISC) team. If you are in the preproduction stages of
(Register CSP User Service) and a production meter number (Subscribe
implementing a FedEx web integrated solution and would like to speak with a
Service). Once this information has been obtained with the connection
FedEx integration consultant who can assist you in understanding FedEx Web
directed to the production servers, the provider’s application is considered
Services, contact your FedEx sales executive or technical support at
live.
1.877.339.2774 Monday through Friday, 7 a.m. to 9 p.m. (CST), and Saturday 9
a.m. to 3 p.m. (CST). Both your FedEx sales executive and technical support
can request a WISC team member to contact you within 3 business days.
Requirements and Resources for Commercial Developers
Corporate developers may find that solutions to their needs have already
been implemented by a software vendor that is part of the FedEx
®FedEx supports the customer directly No
Compatible Solutions Program. If improved time-to-market, cost containment,
FedEx supports the commercial developer’s customer Indirectly
or specialized knowledge is needed, corporate development planners may
want to review the available third-party solutions. To see a list of the
If you are a commercial developer interested in becoming a FedEx Compatible
solutions provided by the CSP providers, go to the Available CSP Solutions
Solutions Provider, go to fedex.com/us/compatiblesolutions/provider/for
page: fedex.com/us/compatiblesolutions/.
more information about the FedEx Compatible Solutions Program (CSP).
Requirements for Consultants
URL Errors
Consultants developing on behalf of a corporate customer must ensure that
If a VB.NET or C# project still sends transactions to the test server after
their client provides their account information and a signed End User License
changing the URL in the WSDLs to print to production, perform the following:
Agreement to FedEx in order to obtain a production test meter.
•
Make sure permissions are already activated in the production
Requirements and Resources for Commercial Developers
environment.
Commercial developers create solutions with the intent of distributing and/or
•
Copy the WSDL files to a different folder.
reselling them to their customers. Because they are deployed in a variety of
•
Follow the directions on changing the new WSDL files to point to
situations, commercial integrations generally require a higher order of “fit and
production as described in the FedEx Developer Resource Center in the
finish.” Commercial developers are responsible for supporting their products
“Move to Production” topic.
for their customers. FedEx has a dedicated team of professionals to help
•
Remove existing web services references from your project that point to
developers commercialize their products and to coordinate the three-way
old WSDLs containing the URLs to the test environment.
interplay between the developer, the end customer, and FedEx.
•
Create new web references that point to the modified WSDLs. Use the
same names as the old references.
Requirements and Resources for Commercial Developers
•
Compile and test the project. Your new production credentials should work
Must be accepted into the FedEx Compatible Solutions Program (CSP) Yes (Required)for standard web services, such as rating or tracking without extra
Self-certification of implementation using standard services Nopermissions. Advanced web services require permissions to be active
before they will work. Old test key values will now return an error
Self-certification of implementations using advanced services Nomessage.
Error Messages
Tracking Shipments
Signature Proof of Delivery (SPOD)
Notification
FedEx InSight
XML Schema
The TrackService WSDL provides the following services to actively track your
significant shipment events, such as clearance delays, delivery attempts,
shipments:
releases, consolidated proof of delivery, and delivery pre-alerts. For more
information regarding FedEx InSight, go to fedex.com/insight.
•
Tracking Service
Use the TrackService WSDL to obtain timely and accurate tracking
Tracking Shipments
information for FedEx Express
®, FedEx Ground
®, FedEx SmartPost
®, FedEx
Home Delivery
®, FedEx Express
®Freight, and FedEx Custom Critical
®Use the TrackService WSDL to use FedEx
®Tracking options to obtain timely
shipments.
and accurate tracking information for FedEx Express, FedEx Ground, FedEx
•
Signature Proof of Delivery (SPOD)
Home Delivery, FedEx Custom Critical, and FedEx SmartPost shipments. This
WSDL handles tracking numbers individually. Note that batch tracking is not
Use FedEx SPOD to request a proof of delivery letter that includes a
an option.
graphic image of your recipient’s signature after your shipment has been
delivered.
You can also track the status of shipments by using a reference number, such
as a purchase order (PO) number, customer reference, invoice, Bill of Lading
•
Notification
(BOL), part number, or Transportation Control Number (TCN).
Use Notification to have FedEx automatically notify you and/or your
customer and/or another third party by email, fax, or wireless of
Tracking Service Details
significant shipment events, such as clearance delays, delivery attempts,
releases, consolidated proofs of delivery, and pre-alerts.
You can use FedEx track service to obtain timely and accurate tracking
FedEx now offers a new email notification of Tendered, which may be
information for FedEx Express, FedEx Ground, FedEx Home Delivery, FedEx
specified with the shipment request, in addition to the existing Delivery,
Cargo, FedEx SmartPost, and FedEx Custom Critical shipments. Basic tracking
Exception, and Shipment email notifications. Use the Tendered email
service details are:
notification if you want an email notification sent to the specified
•
FedEx Express and FedEx Ground
“Signature Proof of Delivery (SPOD)”
are
recipients once the shipment has been tendered to FedEx. This notification
available for 18 months after the ship date.
is supported for FedEx Express, FedEx Ground, FedEx Freight
®Economy,
•
FedEx Express shipments support intra-Mexico shipping for Signature Proof
and FedEx SmartPost
®.
of Delivery (SPOD).
•
FedEx InSight
®•
FedEx Custom Critical Signature Proof of Delivery (SPOD) is available for
FedEx InSight is a web-based application that enables you to view the
90 days.
status of your inbound, outbound, and third-party shipments without a
•
The TrackService WSDL handles tracking numbers individually. Batch
tracking number. All you need is your account number and/or company
tracking is not supported in this service.
name and address. You can see information about the status of your
shipments so you can more effectively manage your supply-chain
processes. FedEx InSight also notifies you by email, fax, or wireless of
•
You can track the status of shipments using a reference number, such as
•
TCN (not available for FedEx SmartPost)
a PO number, customer reference, invoice number, BOL, part number, or
•
BOL (not available for FedEx SmartPost)
TCN.
Note: If you enter a tracking number as part of this Request, the tracking number always takes precedence over the Reference element. Therefore, if you enter a tracking number for a
Refer to
“TrackService Coding Details”
and the Track Schema for syntax
shipment that does not include the Reference data you requested, the tracking number is
details.
returned with no error message. To limit the number of tracking replies for a specific
For more detailed information about the services offered by FedEx, see the
reference, you can enter a date range for this search.electronic
FedEx Service Guide.
Note: Tracking requests cannot be batch processed at this time.Track by Multiple-Package Shipment (MPS) Tracking Number
Tracking Service Options
This option is available for FedEx Express U.S. and International
multiple-The following options are available with this service:
package shipments, FedEx Ground U.S. and international multiple-package
Track by Tracking Number
shipments, FedEx Express U.S. C.O.D. and International C.O.D.
multiple-package shipments and FedEx Ground U.S. C.O.D. and FedEx International
This option applies to FedEx Express, FedEx Ground, and FedEx Custom
C.O.D. multiple-package shipments. MPS tracking allows you to track by the
Critical shipments. You can track any package shipped by FedEx using this
master tracking number or by one of the associated sequential tracking
tracking method. No extra qualifiers (date range, etc.) are required for this
numbers for child packages. Tracking by the master tracking number returns
method, but are recommended. It is also recommended that you provide the
tracking data for all child tracking numbers associated with the master.
Carrier Code to ensure the desired results for your request.
Tracking by the child tracking number returns tracking data on the specific
Track by Reference Number
shipment associated with that tracking number.
This option applies to FedEx Express, FedEx Ground, FedEx Cargo, FedEx
Track by Door Tag Number
SmartPost, and FedEx Custom Critical shipments. You can track packages by a
This option is available for FedEx Express and FedEx Ground U.S. and
reference number entered during the shipping operation. Track by Reference
Canadian shipments. This option allows you to track shipment status by a
Number can use any of the following sources:
FedEx Door Tag number. A Door Tag is left at the recipient’s shipping address
•
Shipper/Customer Reference
if the recipient is not there to receive the package. A Door Tag number is
•
Invoice Number
linked at FedEx with the package’s original tracking number. This tracking
functionality allows you to track using only the Door Tag number without
•
PO
requiring the associated tracking number. No additional search elements are
•
Department (not available for FedEx SmartPost)
required to track by Door Tag. You may request tracking scan information for
•
Part Number (not available for FedEx SmartPost)
any packages shipped by FedEx by entering a valid Door Tag number.
TrackService Coding Details
TrackRequest Elements
In addition to basic elements required for all transactions, the following
elements make up the TrackRequest.
Element Required Description
ClientDetail/Localization/LanguageCode Yes LanguageCode — Required to receive tracking information in your local language. Valid codes are: • ar = Arabic
• da = Danish • de = German • en = English • es = Spanish
• es with locale code US = US Spanish • es with locale code ES = Spain • fr = French
• fr with locale code CA = Canadian French • he = Hebrew • it = Italian • ja = Kanji • ko = Korean • nl = Dutch • pt = Portuguese • sv = Swedish
• zh with locale code CN = Chinese Simple
• zh with locale code HK = Chinese Traditional Hong Kong • zh with locale code TW = Chinese Traditional Taiwan • cs = Czech • el = Greek • hu = Hungarian • pl = Polish • ru = Russian • tr = Turkish
Element Required Description
Defaults to en if no value entered.
Note: In addition to tracking data, any error conditions will also be returned in the language you choose.
ClientDetail/Localization/LocaleCode Yes Required to further identify the LanguageCode element. For example, if you choose ES for Spanish, you must include U.S. for North American Spanish.
PackageIdentifier Yes The PackageIdentifier element is required to track by reference information. Two elements make up the PackageIdentifier.
Valid values are: • BILL_OF_LADING • COD_RETURN_TRACKING_NUMBER • CUSTOMER_AUTHORIZATION_NUMBER • CUSTOMER_REFERENCE • DEPARTMENT • FREE_FORM_REFERENCE • GROUND_INTERNATIONAL • GROUND_SHIPMENT_ID • GROUP_MPS • INVOICE • JOB_GLOBAL_TRACKING_NUMBER • ORDER_GLOBAL_TRACKING_NUMBER • ORDER_TO_PAY_NUMBER • PARTNER_CARRIER_NUMBER • PART_NUMBER • PURCHASE_ORDER • RETURN_MATERIALS_AUTHORIZATION • RETURNED_TO_SHIPPER_TRACKING_NUMBER • TRACKING_CONTROL_NUMBER • TRACKING_NUMBER_OR_DOORTAG • TRANSPORTATION_CONTROL_NUMBER • SHIPPER_REFERENCE • STANDARD_MPS
Element Required Description
The corresponding value associated with the PackageIdentifier/Type is required. For example, if you track by SHIPPER_REFERENCE, you must enter the reference detail in the Value element.
TrackingNumberUnique Identifier No Required if a previous Track by Number reply indicates that duplicates exist. The previous reply returns summary information about available choices along with this element.
Duplicates: If you want to receive all tracking information for one of the items returned in the duplicate summary reply, in the next tracking request, include the tracking number and the information returned in the previous TrackingNumberUniqueIdentifier element.
ShipDateRangeBegin/ShipDateRangeEnd No Optional, but recommended. Required entry of date range to find desired results for reference tracking number. If not provided, FedEx defaults this value to a range that may not refine the search as needed.
• Begin must be < 730 days from current date . • Begin must be < = End date.
• End cannot be > current date + 1. • Range (End–Begin) must be < 30 days.
• Range (End–Begin) must be < = 90 (30-day range is applicable to Track by Reference option only). • Special rule for an Express Track by number request with a begin date > 90 days. The Begin–End range is
limited to 10 days.
ShipmentAccountNumber No If you choose to track by reference (using the PackageIdentifier element), you must either include the account number for the packages to be tracked or the Destination/Postal Code and Destination/CountryCode to further identify the packages you want to track.
Destination No Physical location (address) to which the package will be shipped.
IncludeDetailedScans No If FALSE (the default), the reply will contain summary/profile data including current status.
If TRUE, the reply will contain profile and detailed scan activity (multiple TrackDetail objects) for each package. PagingToken No If you receive an original tracking request that indicates duplicates exist, this element is required with the
TrackingNumberUniqueIdentifier element to request additional scan information. The information in this element is provided in the original reply request.
Element Description
TrackReply Elements
DuplicateWaybill This element is returned in the TrackService reply if duplicates exist.
In addition to standard reply elements, the following elements are returned in
To receive a tracking number, you must send another request andinclude the TrackingNumberUniqueIdentifier and PagingToken
a successful TrackReply.
Element Description Element Elements Elements
ServiceCommitMessage EstimatedDeliveryTimestamp MoreData Returned if additional data exists for the track request. You may send
another request with the tracking number, tracking number unique CarrierCode ActualDeliveryTimestamp identifier (included in the original reply), and paging token (included
OtherIdentifiers DeliveryLocationCode\ in the original reply) to receive additional data.
DeliveryLocationDescription Value
PagingToken Returned if duplicate waybill or additional tracking data indicators are DeliverySignatureName Type
included in the reply. Required to request additional tracking data.
SignatureProofOfDeliveryAvailable ServiceInfo
TrackingNumber Tracking number associated with track information; this element is
ProofOfDeliveryNotificationsAvailable PackageWeight
also returned for Track by Reference requests.
ExceptionNotificationsAvailable Units
TrackingNumberUnique Returned if a duplicate waybill or tracking data indicators are
EventsTimestamp included in the reply. Required to request additional tracking data. Value
Identifier
EventType ShipmentWeight
ServiceCommitMessage Only applicable for H3 Express freight areas inbound to the U.S. since
EventDescription Units
additional days may be required for final delivery. For more
StatusExceptionCode
information, see theFedEx Service Guide. Value
StatusExceptionDescription ExpressRegionCode The FedEx Express region code where this transaction originated. Packaging
Valid values are: Address
PackageSequenceNumber
APAC: Asia and Pacific Rim City
PackageCount
CA: Canada StateOrProvinceCode
EstimatedPickupTimestamp
EMEA: Europe, Middle East, and Africa PostalCode
ShipTimestamp
LAC: Latin America and Caribbean UrbanizationCode
DestinationAddress
US: United States CountryCode
City
Residential StateOrProvinceCode
In addition to these reply elements, the following informational elements are
also returned:
Note: These elements provide further identification of the package in the TrackService reply.Tracking Scans
Element Elements Elements
Refer to the following Tracking Status Codes table for definitions of tracking
TrackReply/ TrackingNumber PostalCode (string): nullTrackDetails TrackingNumberUniqueIdentifier UrbanizationCode
scan codes:
StatusCode CountryCode
Code Definition Code Definition
Service Details
AA At Airport EO Enroute to Origin Airport
•
To view detailed SPOD information, include the 9-digit FedEx account
AD At Delivery EP Enroute to Pickup
number in the SPOD FAX or letter request.
AF At FedEx Facility FD At FedEx Destination
•
If an account number is not provided, or if it does not match the shipper
AP At Pickup HL Hold at Location
or payer, then only summary SPOD information will be provided.
CA Shipment Canceled IT In Transit
•
If an SPOD letter is requested, it will be returned in PDF format that can
be printed, browsed, or emailed.
CH Location Changed LO Left Origin
•
An SPOD FAX request will request a FAX format of the SPOD to be sent
DE Delivery Exception OC Order Created
to a specific FAX number.
DL Delivered OD Out for Delivery
•
There is no charge for SPOD.
DP Departed FedEx Location PF Plane in FlightFor more detailed information about the services offered by FedEx, see the
DR Vehicle Furnished, Not Used PL Plane Landedelectronic
FedEx Service Guide.
DS Vehicle dispatched PU Picked Up
SPODLetterRequest Elements
DY Delay RS Return to Shipper
EA Enroute to Airport delay SE Shipment Exception
Use this request if the SPOD should be sent as a letter.
ED Enroute to Delivery SF At Sort Facility
In addition to basic elements required for all transactions, the following
elements make up the SPODLetterRequest.
EO Enroute to Origin airport SP Split status - multiple statuses
EP Enroute to Pickup TR Transfer
Element Required Description
TrackingNumber Yes Shipment tracking number.
Signature Proof of Delivery (SPOD)
ShipDate No Date on which package was shipped.To confirm a shipment has been received and signed for, you can use the
AccountNumber No Account number associated with the shipment.SPOD request FAX or letter function of the TrackService WSDL. With this
Carrier FedEx service that delivered the package.feature, you can request a letter that includes a graphic of the recipient’s
Destination Only country is used for elimination of duplicate tracking
signature for FedEx Express and FedEx Ground shipments.
numbers.AdditionalComments No Any additional information.
LetterFormat Yes Specify the letter format. Must be included when type is set to Letter.