Track Service
FedEx Web Services
201
5
Legal and Copyright Notices
Payment
You must remit payment in accordance with the FedEx Service Guide, tariff, service agreement or other terms or instructions provided to you by FedEx from time to time. You may not withhold payment on any shipments because of equipment failure or for the failure of FedEx to repair or replace any equipment.
Inaccurate Invoices
If you generate an inaccurate invoice, FedEx ® may bill or refund to you the difference according to the FedEx
Service Guide, tariff service agreement or other terms or instructions provided to you by FedEx from time to time. A request for refund on a FedEx shipment must be made in accordance with the applicable Service Guide or terms or instructions provided by FedEx from time to time. A shipment given to FedEx with incorrect
information is not eligible for refund under any FedEx money-back guarantee. FedEx may suspend any applicable money-back guarantee in the event of equipment failure or if it becomes inoperative.
Confidential and Proprietary
The information contained in this guide is confidential and proprietary to 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 and its use is subject to the terms and conditions of the FedEx Automation Agreement. The information in this document may be changed at any time
without notice. Any conflict between this guide, the FedEx Automation Agreement and the FedEx Service Guide
shall be governed by the FedEx Automation Agreement and the FedEx Service Guide, in that order.
© 2014 - 2015 FedEx. FedEx and the FedEx logo are registered service marks. All rights reserved. Unpublished.
Disclaimer
About This Guide
This guide describes how to integrate with FedEx Web Services.
It is written for the application developer who uses web services to design and deploy applications enabled by FedEx. It describes how to get started with application development and how to use the Application
Programming Interface (API). It also describes each available service in addition to the business logic that drives each FedEx process.
Document Organization
Each web service provides access to FedEx features. The service description includes service details and a full schema listing to facilitate application development.
Resources
x
FedEx Developer Resource Center: fedex.com/developerx
FedEx Services At-a-Glance: fedex.com/us/servicesx
FedEx Service Guide available at fedex.com/us/service-guidex
Microsoft Web Services: msdn.microsoft.com/en-us/library/ms950421.aspxx
O’Reilly XML.com: www.xml.comx
Secure Socket Layer Certificates: fedex.com/us/developer/downloads/dev_cert.zipx
Web Services organization home page: www.web-services .orgSupport
x
Contact FedEx Web Services technical support at [email protected] .x
Regional contact email addresses are:o
EMEA - [email protected]o
APAC - [email protected]x
For technical support, call 1.877.339.2774 and state “API” at the voice prompt.x
Support hours are Monday through Friday, 7:00 a.m. to 9:00 p.m. CST, and Saturday, 9:00 a.m. to 3:00p.m. CST.
x
For FedEx Customer Service, call1.800.GoFedEx 1.800.463.3339.x
Customers using a FedEx® Compatible Solutions Program automation solution should contact their1.
Introduction
FedEx Web Services gives you the tools to build custom platform- and interface-independent applications that access FedEx features. You can use FedEx Web Services in a variety of ways to create customized integration solutions for your specific shipping needs. Here are just a few of the ways a company can use web services to streamline operations, improve visibility, and provide more choices to clients:
x
Give Customers More Options: Help customers learn about all the available shipping options and rateswith Ship Service WSDL, OpenShip WSDL, and Rate Services WSDL. You can also extend this service to your shopping cart and website, allowing customers to access money-saving information firsthand.
x
More Convenience: Use the Locations Service WSDL to find the FedEx pickup location nearest yourcustomer. Or, send an email to your customers with a link to this service as part of your standard order-receipt process.
x
Offer Global Shipping Options: Create shipping labels for worldwide locations. Improve customer serviceby offering more shipping options to customers in more countries with the consolidated Ship Service WSDL.
x
Reduce Customer Service Costs: Decrease phone traffic from customers checking the status of theirshipments and cut customer service costs. FedEx provides online Tracking and Visibility Services that allow you to provide customers with the status of shipments, Signature Proof of Delivery (SPOD), and Shipment Notification in the Ship Request.
x
Simplify Processes and Improve Satisfaction: In addition to ExpressTagAvailability, provide a simpleway to allow customers to return an order with Email Labels. This service sends an email with the address (URL) of a website where the recipient can log in and print a return label.
Why should developers be interested in web services?
x
Interoperability: Any web service can interact with any other web service and can be written in anyprogramming language.
x
Ubiquity: Web services communicate using HTTP and XML. Any connected device that supports thesetechnologies can both host and access web services.
x
Low Barrier to Entry: The concepts behind web services are easy to understand, and developers canquickly create and deploy them using many toolkits available on the web.
x
Industry Support: Major content providers and vendors support the web services movement.Any application running on any platform can interact with a web service by using the Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL) standards for message transfer and service discovery. By following the standards, applications can seamlessly communicate with platform services.
1.1
Document Overview
This guide provides instructions for coding the functions you need to develop FedEx supported applications. The following chapters make up this guide:
x
Introduction (this chapter):o
Documentation overview and guidelines, including how to use the Help application and how to printthis guide.
o
Overview information about web services, including a high-level description of FedEx WebServices methods.
o
Coding basics.o
Overview information about testing and certifying your application.Each chapter covering FedEx Web Services coding includes:
x
Service Details: Business rules for using the FedEx service.x
Coding Details: Best practices information, basic request and reply elements, and a link to errormessages.
x
XML Schema: A link to the layout for the service. This layout provides coding requirements for allelements in the schema.
1.2
Printing All or Part of This Guide
You can print all or part of this guide from the PDF version.1.2.1
Printing from the PDF Version
From the PDF version you can print the complete document or a page range of the document. 1) Open the PDF file and click the printer icon or click File > Print.
2) From the Print dialog box, print the complete document, specify a page range, or choose from any of the
available print options.
1.3
Web Services, WSDL, and SOAP Overview
This section describes the standard coding technologies used in FedEx Web Services.
1.3.1
Web Services
Web services are a collection of programming technologies, including XML, Web Services Description Language (WSDL), and SOAP, which allow you to build programming solutions for specific messaging and application integration.
Web services are, by definition, platform independent. FedEx Web Services allow developers to build custom applications that are independent of changes to the FedEx interface.
Web Services are consumed by many different applications across many platforms. It is based on the basic principles that govern XML standards, one of which is how Namespaces can be declared and applied.
Namespaces are declared as an attribute of an element. It is not mandatory to declare namespaces only at the root element; rather it could be declared at any element in the XML document. The scope of a declared
namespace begins at the element where it is declared and applies to the entire content of that element, unless overridden by another namespace declaration with the same prefix name, the content of an element is the content between the <opening-tag> and </closing-tag> of that element. So essentially, XML namespace declarations are scoped, meaning that the declared prefix (or default namespace) is in force for the element on which the declaration occurs (as well as its descendant elements). A namespace declared as follows:
<v12:RateReply xmlns:v12="http:// is semantically same as
<RateReply xmlns="http://fedex.com/ws/rate/v12"> or even (hypothetically) same as
<foo:RateReply xmlns:foo="http://fedex.com/ws/rate/v12">
1.3.2
WSDL
A SOAP request to, or response from, a service is generated according to the service’s WSDL definition. A WSDL document describes a service. It is an XML document that provides information about what the service does, the methods that are available, their parameters, and parameter types. It describes how to communicate with the service in order to generate a request to, or decipher a response from, the service.
The purpose of a WSDL is to completely describe a web service to a client. A WSDL defines where the service is available and what communications protocol is used to talk to the service. It defines everything required to write a program to work with an XML web service. A WSDL document describes a web service using seven major elements. Elements can be abstract or concrete.
Abstract XML elements describe the web service: <types>, <message>, <operation>, <portType>. Concrete XML elements provide connection details: <service>, <port>, <binding>.
1.3.2.1
WSDL Elements
Table 1. WSDL ElementsElement Definition
<definitions> The root element contains name space definitions.
<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 describes a web service, the operations that can be performed, and the messages that are involved, and can be compared to a function library (or a module or a class) in a traditional programming language.
<types> Defines variable types used in the web service (both the parameters passed to a function and the type of the value passed back via the response). The data types are described by XML schema. This element contains user-defined data types (in the form of XML schema). For maximum platform neutrality, WSDL uses XML schema syntax to define data types.
<message> Defines the data elements of an operation. Each message can consist of one or more parts that can be compared to the parameters of a function call in a traditional programming language.
<operation> Child of the <binding> element that defines each operation that the port exposes. This element allows only three messages:
Message - Definition
Input Message - Data web services receive Output Message - Data web services send
Fault Message - Error messages from web services
<service> Contains a <port> child element that describes the URL where the service is located. This is the location of the ultimate web service.
<binding> Defines the message format and protocol details for each port. The binding element has two attributes: the name attribute and the type attribute. This element specifies how the client and the web service should send messages to one another.
Note: For more information about the WSDL standard, refer to the World Wide Web Consortium (W3C) Website at
w3.org/TR/wsdl
1.3.3
SOAP
x
Is a simple XML-based protocol that allows applications to exchange information over HTTP.x
Is built on open standards supported by numerous development tools on various platforms.x
Is a request interface object in your application programming language.x
Provides a way to communicate between applications running on different operating systems, withdifferent technologies and programming languages.
x
Enables the data to pass through layers of intermediaries and arrive at the ultimate receiver the way itwas intended.
Note: You may not need to actually construct the SOAP messages yourself — many development tools available today construct SOAP behind the scenes.
1.3.3.1
SOAP Message
A SOAP message is an XML document that can be a request for a web service from a client or a “reply” from a web service to a client.
x
Required <SOAP:Envelope>x
Optional <SOAP:Header>x
Required <SOAP:Body>1.3.3.1.1
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/v13"> <SOAP-ENV:Body> <DeleteTagRequest> <WebAuthenticationDetail> <UserCredential> <Key> User Key </Key> <Password> User Password </Password> </UserCredential> </WebAuthenticationDetail> <Client detail> <AccountNumber>xxxxxxxxx</Account number> <MeterNumber>xxxxxx</MeterNumber> </ClientDetail> <Version> <ServiceId>ship</ServiceId> <Major>12</Major> <Intermediate>0</Intermediate> <Minor>0</Minor> </Version> <DispatchLocationId>MQYA</DispatchLocationId> <DispatchDate>2012-06-01</DispatchDate> <Payment> <PaymentType>shipper</PaymentType> <Payor> <AccountNumber>xxxxxxxxx</AccountNumber> <CountryCode>US</CountryCode> </Payor> </Payment> <ConfirmationNumber>997037200019454</ConfirmationNumber> </DeleteTagRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
1.3.4
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. The following is an example of a TrackRequest using the non-SOAP interface.
1.3.4.1
Example Track Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v9="http://fedex.com/ws/track/v9"> <soapenv:Header/> <soapenv:Body> <v9:TrackRequest> <v9:WebAuthenticationDetail> <v9:UserCredential> <v9:Key>xxxxxx</v9:Key> <v9:Password/> </v9:UserCredential> </v9:WebAuthenticationDetail> <v9:ClientDetail> <v9:AccountNumber>XXXX</v9:AccountNumber> <v9:MeterNumber>XXXX</v9:MeterNumber> <v9:Localization> <v9:LanguageCode>EN</v9:LanguageCode> <v9:LocaleCode>US</v9:LocaleCode> </v9:Localization> </v9:ClientDetail> <v9:TransactionDetail> <v9:CustomerTransactionId>Track By Number_v9</v9:CustomerTransactionId> <v9:Localization> <v9:LanguageCode>EN</v9:LanguageCode> <v9:LocaleCode>US</v9:LocaleCode> </v9:Localization> </v9:TransactionDetail> <v9:Version> <v9:ServiceId>trck</v9:ServiceId> <v9:Major>9</v9:Major> <v9:Intermediate>1</v9:Intermediate> <v9:Minor>0</v9:Minor> </v9:Version> <v9:SelectionDetails> <v9:CarrierCode>FDXE</v9:CarrierCode> <v9:PackageIdentifier> <v9:Type>TRACKING_NUMBER_OR_DOORTAG</v9:Type> <v9:Value>XXXX</v9:Value> </v9:PackageIdentifier> <v9:ShipmentAccountNumber/> <v9:SecureSpodAccount/> <v9:Destination> <v9:StreetLines>Address_Line</v9:StreetLines> <v9:City>City</v9:City> <v9:StateOrProvinceCode>XX</v9:StateOrProvinceCode> <v9:PostalCode>XXXXX</v9:PostalCode> <v9:CountryCode>XX</v9:CountryCode> </v9:Destination> </v9:SelectionDetails> </v9:TrackRequest> </soapenv:Body> </soapenv:Envelope>
1.3.4.2
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>
<faultstring>5: Schema validation failed for request.</faultstring> <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.
1.3.4.3
Non-SOAP HTTP POST Example
The following HTTPS POST example is a valid working example, but is not guaranteed to work for all programming languages, applications, and host systems:
POST /xml HTTP/1.0
Referrer: YourCompanyNameGoesHere Host: ws.fedex.com
Port: 443
Accept: image/gif, image/jpeg, image/pjpeg, text/plain, text/html, */* Content-Type: text/xml
Content-length: %d Your FedEx Transaction
Each line is followed by one new line character except Content-length and the FedEx transaction. Two new line characters follow the Content-length line. The FedEx transaction has no extra characters. The Content-length line should have the length of the FedEx transaction in place of the %d variable.
Note: Port 443 must be opened for bi-directional communication on your firewall.
After formatting your non-SOAP transaction and placing it in a HTTP POST 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. 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 were encountered. If you received a 200 status code, parse the reply to determine if there were any processing problems.
1.3.5
Visual Basic Project Error
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.
1.4
Implementing FedEx Web Services
Before you begin implementing FedEx Web Services, note the following guidelines:
x
FedEx Web Services are designed for use by skilled developers who are familiar with thecommunication standards SOAP and Web Services Description Language (WSDL).
x
Unlike traditional client/server models, such as a web server or web page system, web services do notprovide the user with a graphical user interface (GUI). Instead, web services share business logic, data, and processes through a programmatic interface across a network.
x
To perform a particular FedEx task such as tracking a package, you need to use a class, module, orfunction that creates your request, sends it to the FedEx platform, and handles the response.
x
FedEx Web Services are designed to support any operating system and coding language.Downloadable sample code is available in Java, C#, VB, .Net and PHP languages from the FedEx Developer Resource Center Technical Resources.
x
Transactions submitted to FedEx using FedEx Web Services are required to have a minimum of 128-bitencryption to complete the request.
1.5
Understanding the XML Schema
The XML schema defines the messages that you can use to access the FedEx services. You create a request that contains business data and other instructions and you send it to FedEx. FedEx replies with a response that contains the data resulting from the instructions you sent in.
Note: The schema diagrams are conveniently linked to help you find information and child values.
The XML schema provides a means for defining the structure, content, and semantics of XML documents. An XML schema defines:
x
Elements and attributes that can appear in a documentx
Elements that are child elementsx
Order and number of child elementsx
Whether an element is empty or can include textx
Data types, default values, and fixed values for elements and attributesSome important facts about the XML schema:
x
Elements that contain sub-elements or carry attributes have complex types.x
Elements that contain numbers (and strings, and dates, etc.), but do not contain any sub-elements, havesimple types. Some elements have attributes. Attributes always have simple types.
associated with a FedEx Web Service. Other simple types are defined as part of XML schema's repertoire of built-in simple types.
x
XML schema built-in simple types are prefixed by "xs:", which is associated with the XML schemanamespace through the declaration xmlns:xs="http://www.w3.org/2001// XMLSchema", displayed in the schema element.
x
The same prefix, and the same association, are also part of the names of built-in simple types, such asxs:string. This association identifies the elements and simple types as belonging to the vocabulary of the XML schema language, rather than the vocabulary of the schema author.
1.5.1
Guide to the XML Schema
The XML schema for each WSDL provides details about the structure, content, and semantics of the request XML document sent to a FedEx Web Service and the XML document returned by that FedEx Web Service. The top of each service schema includes:
x
Schema location and schema file name that ends in an ".xsd" suffix.x
Alphabetical listing of complex types for the documented service.x
Alphabetical listing of schema simple types for the documented service.x
Input or request data type for the documented service.x
Output or reply data type for the documented service.The remainder of the service schema contains tables of information about each element, complex type, and simple type.
Each table consists of some or all of the following sections: diagram, namespace, children, type, properties, used by, facets, and source.
1.6
Implementation Process
Planning your integration and organizing your application data to address your shipping needs can sometimes take more time than the actual implementation of the integration. FedEx Web Services conform to industry standards and are compatible with a comprehensive array of developers’ tools. This ensures the fastest time-to-market with maximum flexibility to integrate FedEx transactions and information into your applications. FedEx WSDLs are fully interoperable with any product or developer’s tool that also conforms to the WS-I Basic Profile.
For details, see ws-i.org/Profiles/BasicProfile-1.1-2004-08-24 .
To obtain FedEx Web Services and begin integrating with an application, you need to access documentation, sample code, and sample service requests and replies with the WSDLs from the FedEx Developer Resource Center Technical Resources. Also, obtain a test meter number to engage in real-time online testing in the FedEx hosted test environment.
Note: Not all services are available outside the U.S.
1.6.1
Testing
FedEx supplies a complete online operating environment with which to test your applications against live FedEx servers. To execute test interactions, you must first include a test account number, test meter number,
authentication key, and password in your code. These credentials are provided to registered developers at the
FedEx Developer Resource Center at www.fedex.com/developer .
Production credentials can be obtained prior to the certification process. Advanced services are not enabled, but
standard services are enabled. Refer to Preproduction Assistance for more information on support from FedEx.
1.6.1.1
Preproduction Assistance
Preproduction assistance is available via the FedEx Web Integrated Solutions Consultation (WISC) team. If you are in the preproduction stages of implementing a FedEx web integrated solution and would like to speak with a FedEx integration consultant who can assist you in understanding FedEx Web Services, contact your FedEx sales executive or technical support at 1.877.339.2774 Monday thru Friday, 7 a.m. to 9 p.m. 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.
Corporate developers may find that solutions to their needs have already been implemented by a software vendor that is FedEx ® Compatible. If improved time-to-market, cost containment, or specialized knowledge is needed, corporate development planners may want to review the available third-party solutions. To see a list of the solutions provided by the FedEx ® Compatible providers, go to the Available FedEx ® Compatible Solutions
page at http://www.fedex.com/us/compatible/ .
1.6.2
Certification
Certification is the process of ensuring that your implementation meets a number of requirements for safe, secure, and effective operation of your solution in the FedEx production environment. Certification requirements differ based on whether you are a corporate or commercial developer, and whether you are implementing using the advanced or standard services. Certification is not required for rating and tracking in production.
1.6.3
Go To Production
Once an application has passed certification, the developer must replace the test credentials with the production credentials issued by FedEx. The application connection is then directed to the production servers, and the application is live.
1.6.3.1
Requirements for Corporate and Non-Commercial Developers
There are some differences in how support is provided and in the approvals required to go into production that depend on whether you are creating an application for use by your own company or if you are planning to resell your solution to others.
1.6.3.2
Requirements and Resources for Corporate Developers
Corporate developers are typically part of a dedicated development team at a single company. This category also includes third-party developers (consultants) hired by the company to work on its behalf. In all cases, the integration will be used by the company itself and will not be resold or distributed outside of its own footprint. In this situation, FedEx can support the customer directly.
Table 2. Requirements and Resources for Corporate Developers Requirements and Resources for
Corporate Developers
Must be accepted into the FedEx ® Compatible
No
Self-certification of implementations
using standard services Yes
Self-certification of implementations
using advanced services No
Certification assistance Yes (WISC team) FedEx supports the customer directly Yes
1.6.3.2.1
Requirements for Consultants
Consultants developing on behalf of a corporate customer must ensure that their client provides their account information and a signed End User License Agreement (EULA) to FedEx to obtain a production test meter.
1.6.3.2.2
Requirements and Resources for Commercial Developers
Commercial developers create solutions with the intent of distributing and/or reselling them to their customers. Because they are deployed in a variety of situations, commercial integrations generally require a higher order of
“fit and finish.” Commercial developers are responsible for supporting their products for their customers. FedEx has a dedicated team of professionals to help developers commercialize their products and to coordinate the three-way interplay between the developer, the end customer, and FedEx.
If you are a commercial developer interested in becoming a FedEx Compatible provider, go to http://www.fedex.com/us/compatible/ for more information about the FedEx Compatible Program.
1.6.3.3
URL Errors
If a VB.NET or C# project still sends transactions to the test server after changing the URL in the WSDLs to print to production, perform the following:
x
Make sure permissions are already activated in the production environment.x
Copy the WSDL files to a different folder.x
Follow the directions on changing the new WSDL files to point to production, as described in the FedExDeveloper Resource Center in the “Move to Production” topic.
x
Remove existing web services references from your project that point to old WSDLs containing theURLs to the test environment.
x
Create new web references that point to the modified WSDLs. Use the same names as the oldreferences.
x
Compile and test the project. Your new production credentials should work for standard web services,such as rating or tracking without extra permissions. Advanced web services require permissions to be active before they will work. Old test key values will now return an error message. Test keys will no longerwork with production server addresses.
4.
Tracking and Visibility Services
The TrackService WSDL provides the following services to actively track your shipments:
x
Tracking ServiceUse the TrackService WSDL to obtain real-time tracking information for FedEx Express ®, FedEx Ground ®, FedEx SmartPost ®, FedEx Home Delivery ®, FedEx Express ® Freight, and FedEx Custom Critical ® shipments.
x
Signature Proof of Delivery (SPOD)Use FedEx SPOD to request a proof of delivery letter that includes a graphic image of your recipient’s signature after your shipment has been delivered.
x
NotificationUse Notification to have FedEx automatically notify you and/or your customer and/or another third party by email, fax, or wireless of significant shipment events, such as clearance delays, delivery attempts, releases, consolidated proofs of delivery, and pre-alerts.
FedEx now offers a new email notification of Tendered, which may be specified with the shipment request, in addition to the existing Delivery, Exception, and Shipment email notifications. Use the Tendered email notification if you want an email notification sent to the specified recipients once the shipment has been tendered to FedEx. This notification is supported for FedEx Express, FedEx Ground, FedEx Freight ® Economy, and FedEx SmartPost ®.
x
FedEx InSight ®FedEx InSight is a web-based application that enables you to view the status of your inbound, outbound, and third-party shipments without a tracking number. All you need is your account number and/or
company 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 significant shipment events, such as clearance delays, delivery attempts, releases,
consolidated proof of delivery, and delivery pre-alerts. For more information regarding FedEx InSight, go to fedex.com/insight .
As part of the ShipService WSDL, you may add additional elements to your ProcessShipmentRequest to
customize your FedEx InSight information. For coding elements, see Ship Service.
4.1
Tracking Shipments
Use the TrackService WSDL to use FedEx ® Tracking options to obtain timely and accurate tracking information for FedEx Express, FedEx Ground, FedEx Home Delivery, FedEx Freight ®, FedEx Custom Critical, and FedEx
SmartPost shipments. This WSDL handles tracking numbers individually. See Appendix AA: L6 Mock Tracking
Numbers for mock tracking numbers.
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 (BOL), part number, or Transportation Control Number (TCN). Tracking by something other than tracking number also requires inclusion of Sender's account number and should contain secure tracking content.
4.1.1
Batch Tracking
Additional information on batch tracking is required for request and reply elements. For example, within the request, it’s possible to have multiple occurrences of the TrackRequest/SelectionDetails element for batch tracking.
The maximum number of packages within a single track transaction is limited to 30. Each level of Notifications within the new track response is as shown below:
x
TrackReply/Notifications = Overall Transaction Statusx
TrackReply/CompletedTrackDetails/Notifications = Individual Track Request Statusx
TrackReply/CompletedTrackDetails/TrackDetails/Notification = Specific Tracking Number StatusNotes:
If there is a failure or error notification at the method level (TrackReply/Notifications) then ignore the remaining response/payload.
x
If there is a failure or error notification at the CompletedTrackDetails level then ignore the remaining response/payload.
x
If there is a failure or error notification at the TrackDetails level then ignore the remaining response/payload.
x
4.1.2
Tracking Service Details
You can use FedEx track service to obtain timely and accurate tracking information for FedEx Express, FedEx Ground, FedEx Home Delivery, FedEx Cargo, FedEx Freight, FedEx SmartPost, and FedEx Custom Critical shipments. Basic tracking service details are:
x
FedEx Express and FedEx Ground Signature Proof of Delivery (SPOD) are available for 18 monthsafter the ship date.
x
FedEx Express shipments support intra-Mexico shipping for Signature Proof of Delivery (SPOD).x
FedEx Freight Signature Proof of Delivery (SPOD) are available for 2 years after the ship date.x
FedEx Custom Critical Signature Proof of Delivery (SPOD) is available for 90 days.x
The TrackService WSDL handles tracking numbers individually.x
You can track the status of shipments using a reference number, such as a PO number, customerreference, invoice number, BOL, part number, or TCN.
Refer to TrackRequest_Elements , TrackReply_Elements and the Track Schema for syntax details.
For more detailed information about the services offered by FedEx, see the electronic FedEx Service Guide .
For a listing of scan codes, see Appendix Q: Track Service Scan Codes section of the Web Services Developer
Guide.
4.1.3
Tracking Service Options
The following options are available with this service:
4.1.3.1
Track by Tracking Number
This option applies to FedEx Express, FedEx Ground, FedEx Freight, and FedEx Custom Critical shipments. You can track any package shipped by FedEx using this tracking method. No extra qualifiers, such as date range are required for this method, but are recommended. Provide the Carrier Code to ensure the desired results for your request.
4.1.3.2
Track by Reference Number
FedEx Custom Critical shipments. You can track packages by a reference number entered during the shipping operation. Track by Reference Number can use any of the following sources:
x
Shipper/Customer ReferenceNote: With a FedEx Express and FedEx Ground shipment, the customer's reference number is coded as a Shipper Reference and Customer Reference. Use the Free_Form_Reference value to perform a wildcard search on the values associated with the shipment.
x
Invoice Numberx
POx
Department (not available for FedEx SmartPost)x
Part Number (not available for FedEx SmartPost)x
Returns Material Authorization (RMA)x
TCN (not available for FedEx SmartPost)x
BOL (not available for FedEx SmartPost)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 shipment that does not include the Reference data you requested, the tracking number is returned with no error message. To limit the number of tracking replies for a specific reference, you can enter a date range for this search.
x
The ShipmentAccountNumber is not required, but makes tracking by reference much easier. If
ShipmentAccountNumber is not specified, then the Destination PostalCode & CountryCode, and the ship date range (ShipDateRangeBegin & ShipDateRangeEnd), must be specified.
x
4.1.3.3
Track by Multiple-Package Shipment (MPS) Tracking Number
This option is available for FedEx Express U.S. and International multiple-package shipments, FedEx Ground U.S. and international multiple-package shipments, FedEx Express U.S. C.O.D. and International C.O.D. package shipments and FedEx Ground U.S. C.O.D. and FedEx International C.O.D. multiple-package shipments. MPS tracking allows you to track by the master tracking number or by one of the associated sequential tracking numbers for child packages. Tracking by the master tracking number returns tracking data for all child tracking numbers associated with the master. Tracking by the child tracking number returns tracking on the specific package associated with that tracking number.
For more information about MPS, see For more information about MPS, see Multiple-Package Shipment
Elements section in Ship Service.
4.1.3.4
Track by Door Tag Number
This option is available for FedEx Express and FedEx Ground U.S. and Canadian shipments. This option allows you to track the status of shipments by a FedEx Door Tag number. A Door Tag is left at the recipient’s
shipping address if the recipient is not there to receive the package. A Door Tag number is linked at FedEx with the package’s original tracking number. This tracking functionality allows you to track using only the Door Tag number without requiring the associated tracking number. No additional search elements are required to track by Door Tag. You may request tracking scan information for any packages shipped by FedEx by entering a valid Door Tag number.
4.1.4
TrackRequest Elements
In addition to basic elements required for all transactions, the following elements make up the TrackRequest.
SeeIntroduction for more information. Table 21. TrackRequest Elements
Element Required Description
TrackRequest/SelectionDetails No Specifies the details needed to select the shipment being requested to be tracked.
TrackRequest/SelectionDetails/CarrierCode No The FedEx operating company (transportation) used for this package's delivery.
TrackRequest/SelectionDetails/ OperatingCompany
No Identifies operating transportation company that is the specific to the carrier code.
TrackRequest/SelectionDetails/ PackageIdentifier
No The type and value of the package identifier that is to be used to retrieve the tracking information for a package or group of packages.
Valid values are:
x Type: The type of the Value to be used to retrieve
tracking information for a package, such as SHIPPER_REFERENCE, PURCHASE_ORDER, TRACKING_NUMBER_OR_DOORTAG, and so on.
x Value: The value to be used to retrieve tracking
information for a package. TrackRequest/SelectionDetails/
PackageIdentifier/Type
No The type of track to be performed. Valid values are:
x BILL_OF_LADING x COD_RETURN_TRACKING_NUMBER x CUSTOMER_AUTHORIZATION_NUMBER x CUSTOMER_REFERENCE x DEPARTMENT x DOCUMENT_AIRWAY_BILL x FREE_FORM_REFERENCE x GROUND_INTERNATIONAL x GROUND_SHIPMENT_ID x GROUP_MPS x INVOICE x JOB_GLOBAL_TRACKING_NUMBER x ORDER_GLOBAL_TRACKING_NUMBER x ORDER_TO_PAY_NUMBER x OUTBOUND_LINK_TO_RETURN x PARTNER_CARRIER_NUMBER x PART_NUMBER x PURCHASE_ORDER x RETURN_MATERIALS_AUTHORIZATION x RETURNED_TO_SHIPPER_TRACKING_NUMBER x TRACKING_CONTROL_NUMBER x TRACKING_NUMBER_OR_DOORTAG x TRANSPORTATION_CONTROL_NUMBER x SHIPPER_REFERENCE x STANDARD_MPS TrackRequest/SelectionDetails/ TrackingNumberUniqueIdentifier
TrackRequest/SelectionDetails/ ShipDateRangeBegin
No To narrow the search to a period in time, use the ShipDateRangeBegin and ShipDateRangeEnd to help eliminate duplicates.
TrackRequest/SelectionDetails/ ShipDateRangeEnd
No To narrow the search to a period in time, use the ShipDateRangeBegin and ShipDateRangeEnd to help eliminate duplicates.
TrackRequest/SelectionDetails/ ShipmentAccountNumber
No For tracking by references information, either the account number, or destination postal code and country must be provided.
TrackRequest/SelectionDetails/ SecureSpodAccount
No Specifies the SPOD account number for the shipment being tracked.
TrackRequest/SelectionDetails/ Destination
No For tracking by references information, either the account number, or destination postal code and country must be provided.
TrackRequest/SelectionDetails/ PagingDetail
No Specifies the details about how to retrieve the subsequent pages when there is more than one page in the
TrackReply. Valid values are:
x PagingToken: When the MoreData field = true in a
TrackReply, the PagingToken must be sent in the subsequent TrackRequest to retrieve the next page of data.
x NumberOfResultsPerPage: Specifies the number of
results to display per page when there is more than one page in the subsequent TrackReply.
TrackRequest/SelectionDetails/
CustomerSpecifiedTimeOutValueInMilliseconds
No The customer can specify a desired time out value for this particular tracking number.
TrackRequest/TransactionTimeOutValueInMilliseconds No The customer can specify a desired time out value for this particular transaction.
TrackRequest/ProcessingOptions No Valid value is INCLUDE_DETAILED_SCANS. 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.
4.1.4.1
Example Track Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v10="http://fedex.com/ws/track/v10"> <soapenv:Header/> <soapenv:Body> <v10:TrackRequest> <v10:WebAuthenticationDetail> <v10:ParentCredential> <v10:Key>XXXXXXXXXX</v10:Key> <v10:Password>XXXXXXXXXX</v10:Password> </v10:ParentCredential> <v10:UserCredential>
<v10:Key>XXXXXXXXXX</v10:Key> <v10:Password>XXXXXXXXXX</v10:Password> </v10:UserCredential> </v10:WebAuthenticationDetail> <v10:ClientDetail> <v10:AccountNumber>XXXXXXXXX</v10:AccountNumber> <v10:MeterNumber>XXXXXXX</v10:MeterNumber> <v10:IntegratorId/> <v10:Localization> <v10:LanguageCode>EN</v10:LanguageCode> <v10:LocaleCode>us</v10:LocaleCode> </v10:Localization> </v10:ClientDetail> <v10:TransactionDetail> <v10:CustomerTransactionId>Ground Track By Number</v10:CustomerTransactionId> <v10:Localization> <v10:LanguageCode>EN</v10:LanguageCode> <v10:LocaleCode>us</v10:LocaleCode> </v10:Localization> </v10:TransactionDetail> <v10:Version> <v10:ServiceId>trck</v10:ServiceId> <v10:Major>10</v10:Major> <v10:Intermediate>0</v10:Intermediate> <v10:Minor>0</v10:Minor> </v10:Version> <v10:SelectionDetails> <v10:CarrierCode>FDXG</v10:CarrierCode> <v10:PackageIdentifier> <v10:Type>TRACKING_NUMBER_OR_DOORTAG</v10:Type> <v10:Value>XXXXXXXXXXXXXXX</v10:Value> </v10:PackageIdentifier> </v10:SelectionDetails> <v10:ProcessingOptions>INCLUDE_DETAILED_SCANS</v10:ProcessingOptions> </v10:TrackRequest> </soapenv:Body> </soapenv:Envelope>
4.1.5
TrackReply Elements
In addition to standard reply elements, the following elements are returned in a successful TrackReply.
SeeIntroduction for more information. Table 22. TrackReply Elements
Element Description
TrackReply/HighestSeverity Identifies the highest severity encountered when performing the request. Valid values are:
x FAILURE
x ERROR
x WARNING
x NOTE
x SUCCESS
TrackReply/Notifications Includes the descriptive data detailing the status of a submitted transaction. Includes the severity of the notification, which indicates success or failure or some other information about the request. Valid values are:
x SUCCESS – Your transaction succeeded with
no other applicable information.
x NOTE – Additional information that may be of
interest to you about your transaction.
x WARNING – Additional information that you
need to know about your transaction that you may need to take action on.
x ERROR – Information about an error that
occurred while processing your transaction.
x FAILURE – FedEx was unable to process your
transaction at this time due to a system failure. Please try again later.
TrackReply/CompletedTrackDetails Contains detailed tracking entry information. TrackReply/CompletedTrackDetails/HighestSeverity Contains the severity type of the most severe
Notification in the Notifications array.
TrackReply/CompletedTrackDetails/ Notifications Includes the descriptive data detailing the status of a submitted transaction. Includes the severity of the notification, which indicates success or failure or some other information about the request. Valid values are:
x SUCCESS – Your transaction succeeded with
no other applicable information.
x NOTE – Additional information that may be of
interest to you about your transaction.
x WARNING – Additional information that you
need to know about your transaction that you may need to take action on.
x ERROR – Information about an error that
occurred while processing your transaction.
x FAILURE – FedEx was unable to process your
transaction at this time due to a system failure. Please try again later.
TrackReply/CompletedTrackDetails/DuplicateWaybill This element is returned if duplicate packages exist with the same tracking number. Only limited data will be provided for each one.
TrackReply/CompletedTrackDetails/MoreData Returned if additional packages remain to be retrieved.
TrackReply/CompletedTrackDetails/PagingToken Value that must be passed in a TrackingRequest to retrieve the next set of packages (when
MoreDataAvailable = true).
TrackReply/CompletedTrackDetails/TrackDetails Contains detailed tracking information for the requested packages(s).
TrackReply/CompletedTrackDetails/TrackDetails/ TrackSpecialHandling/TrackSpeciaHandlingType
Specifies special handling types. See
Appendix_Z:_TrackSpecialHandlingType for valid values.
TrackReply/../FedExLocationType Specifies type of FedEx facility. Valid values are:
x FEDEX_AUTHORIZED_SHIP_CENTER
x FEDEX_FACILITY x FEDEX_FREIGHT_SERVICE_CENTER x FEDEX_GROUND_TERMINAL x FEDEX_HOME_DELIVERY_STATION x FEDEX_OFFICE x FEDEX_SELF_SERVICE_LOCATION x FEDEX_SHIPSITE x FEDEX_SMART_POST_HUB
The following optional TrackDetails elements provide further identification of the package in the TrackService reply.
Table 23. TrackReply/CompletedTrackDetails/TrackDetails Elements
Element Description
Notification To report soft error on an individual track detail.
TrackingNumber The FedEx package identifier.
Barcode This data type represents a barcode whose content must be represented as ASCII text, such as not binary data. Barcode/Type The kind of barcode data in this instance. Valid values
are:
x USPS
Barcode/Value The data content of this instance.
TrackingNumberUniqueIdentifier When duplicate tracking numbers exist, this data is returned with summary information for each of the duplicates. The summary information is used to
determine which of the duplicates the intended tracking number is. This identifier is used on a subsequent track request to retrieve the tracking data for the desired tracking number.
StatusDetail Specifies details about the status of the shipment being tracked.
StatusDetail/CreationTime An ISO8601DateTime.
StatusDetail/Code A code that identifies this type of status.
StatusDetail/Description A human-readable description of this status.
StatusDetail/Location Address information related to the associated Status Detail Code and Description.
x City x State x Country
StatusDetail/AncillaryDetails Descriptive information about the shipment status. May be used as an actual physical address — place to which one could go — or as a container of "address parts," which should be handled as a unit, such as city-state-ZIP combination within the U.S.
Reconciliation Used to report the status of a piece of a multiple piece shipment which is no longer traveling with the rest of the packages in the shipment or has not been accounted for.
ServiceCommitMessage Used to convey information such as:
1. FedEx has received information about a package but has not yet taken possession of it.
2. FedEx has handed the package off to a third party for final delivery.
3. The package delivery has been cancelled. CarrierCode Identifies a FedEx operating company (transportation).
OperatingCompany Identifies operating transportation company that is specific to the carrier code.
OperatingCompanyOrCarrierDescription Specifies a detailed description about the carrier or the operating company.
ProductionLocationContactAndAddress Specifies the FedEx office production center contact and address.
OtherIdentifiers Other related identifiers for this package such as reference numbers.
OtherIdentifiers/PackageIdentifier Required. The type and value of the package identifier that is to be used to retrieve the tracking information for a package. Returned if alternate references are assigned. OtherIdentifiers/PackageIdentifier/Type Required. The type of value to be used to retrieve
tracking information for a package, such as SHIPPER_REFERENCE, PURCHASE_ORDER, TRACKING_NUMBER_OR_DOORTAG, and so on. OtherIdentifiers/PackageIdentifier/Value Required. The value to be used to retrieve tracking
information for a package.
OtherIdentifiers/TrackingNumberUniqueIdentifier Used to distinguish duplicate FedEx tracking numbers. When duplicate tracking numbers exist this data is returned with summary information for each of the duplicates. The summary information is used to
determine which of the duplicates the intended tracking number is. This identifier is used on a subsequent track request to retrieve the tracking data for the desired tracking number.
OtherIdentifiers/CarrierCode The FedEx operating company (transportation) used for this package's delivery.
Service Specifies details about service such as service description and type.
Service/Type The service type of the package/shipment, such as FEDEX_CARGO_AIRPORT_TO_AIRPORT.
Service/Description Complete and accurate description of this service. Descriptive text for the associated Service/Type. Service/ShortDescription Specifies a shorter description for the service that is
calculated per the service code.
PackageWeight The weight of this package.
PackageDimensions Physical dimensions of the package. ShipmentWeight The weight of the entire shipment.
Packaging Retained for legacy compatibility only.
PackagingType Strict representation of the Packaging type, such as FEDEX_BOX, YOUR_PACKAGING, and so on. PackagingType Strict representation of the Packaging type, such as
FEDEX_BOX, YOUR_PACKAGING, and so on. Valid Values are:
x "FEDEX_EXTRA_LARGE_BOX" x "FEDEX_LARGE_BOX"
x "FEDEX_SMALL_BOX". x FEDEX_10KG_BOX x FEDEX_25KG_BOX x FEDEX_BOX x FEDEX_ENVELOPE x FEDEX_PAK x FEDEX_TUBE x YOUR_PACKAGING
PackageSequenceNumber The sequence number of this package in a shipment. This would be 2 if it was package number 2 of 4.
PackageCount The number of packages in this shipment.
Commodities/CommodityId Value used to identify a commodity description; must be unique within the containing shipment.
Commodities/Name Specify name of the commodity.
Commodities/NumberOfPieces Specify number of pieces for the commodity.
Commodities/Description Complete and accurate description of the commodity. Commodities/CountryOfManufacture Country code where commodity contents were produced
or manufactured in their final form.
Note: “multiple countries” (country code 'XX') is not accepted as a valid country anymore.
Commodities/HarmonizedCode The unique alpha/numeric code representing the commodity item.
Commodities/Weight Specify weight of commodity.
Commodities/Quantity Specify quantity of commodity. This field is used for enterprise transactions.
Commodities/QuantityWithFraction This field is only for use in upload file construction and processing.
Commodities/QuantityUnits Unit of measure used to express the quantity of this commodity line item.
Commodities/AdditionalMeasures Contains only additional quantitative information other than weight and quantity to calculate duties and taxes. Commodities/UnitPrice Value of each unit in Quantity. Six explicit decimal places
positions.
Commodities/CustomsValue Specify customs value for commodity.
Commodities/ExciseCondition Defines additional characteristics of commodity used to calculate duties and taxes.
Commodities/ExportLicenseExpirationDate Date of expiration. Must be at least 1 day into future. The date that the Commerce Export License expires. Export License commodities may not be exported from the U.S. on an expired license. Applicable to U.S.
shipping only. Required only if commodity is shipped on commerce export license, and Export License Number is supplied.
Commodities/CIMarksAndNumbers An identifying mark or number used on the packaging of a shipment to help customers identify a particular shipment.
Commodities/PartNumber The part number.
Commodities/NaftaDetail All data required for this commodity in NAFTA Certificate of Origin.
Commodities/NaftaDetail/PreferenceCriterion/ Defined by NAFTA regulations. See instructions for NAFTA Certificate of Origin for code definitions. Valid values are:
x A x B x C x D x E x F
Commodities/NaftaDetail/ProducerDetermination Defined by NAFTA regulations. See instructions for NAFTA Certificate of Origin for code definitions. Valid values are:
x NO_1 x NO_2 x NO_3 x YES
Commodities/NaftaDetail/ProducerId Identification of which producer is associated with this commodity (if multiple producers are used in a single shipment).
Commodities/NaftaDetail/NetCostMethod Valid values are:
x NC: Net cost method used for RCV calculation. x NO: Net cost method not used.
Commodities/NaftaDetail/NetCostDateRange Date range over which RVC net cost was calculated.
ReturnDetail This is a hierarchical field; it does not contain data but identifies that the lower-level fields will be related to a
return shipment.
ReturnDetail/MovementStatus Identifies whether the return shipment has actually been returned.
Valid values are:
x MOVEMENT_OCCURRED x NO_MOVEMENT
ReturnDetail/LabelType Specifies the label that is to be put on a return package. Valid values are:
x EMAIL x PRINT
ReturnDetail/Description Descriptive text about the return shipment, entered by the customer.
ReturnDetail/AuthorizationName Name of person authorizing the return, entered by the customer.
CustomsOptionDetails Specifies the reason for return.
CustomsOptionDetails/Type Specifies the reason for a global return, as recognized by Customs.
Valid values are:
x COURTESY_RETURN_LABEL: For the outbound courtesy return label.
x EXHIBITION_TRADE_SHOW: For exhibition or trade-show, outbound and inbound.
x FAULTY_ITEM: For faulty item being returned, inbound only.
x FOLLOWING_REPAIR: For repaired or processed item being sent, outbound only. x FOR_REPAIR: For repair or processing,
outbound and inbound.
x ITEM_FOR_LOAN: For loan item, outbound and inbound.
x OTHER: Other reason, outbound and inbound. This type requires a description.
x REJECTED: For rejected merchandise being returned, inbound.
x REPLACEMENT: For replacement being sent, outbound only.
x TRIAL: For use in a trial, outbound and inbound. CustomsOptionDetails/Description Specifies additional description about customs options.
This is a required field when the CustomsOptionType is "OTHER."
ShipperAddress The address information for the shipper.
been picked up.
ShipTimestamp Time package was shipped/tendered over to FedEx. Time portion will be populated if available, otherwise will be set to midnight.
TotalTransitDistance The distance from the origin to the destination. Returned for Custom Critical shipments.
DistanceToDestination Total distance package still has to travel. Returned for Custom Critical shipments.
DestinationAddress The city, state, and country that the package has been delivered to.
HoldAtLocationContact The descriptive data for a point-of-contact person. HoldAtLocationAddress The address this package is requested to be placed on
hold at.
AppointmentDeliveryTimestamp Date and time the package would be delivered if the package has appointment delivery as a special service. EstimatedDeliveryTimestamp Projected package delivery time based on ship time
stamp, service and destination. Not populated if delivery has already occurred.
ActualDeliveryTimestamp The time the package was actually delivered.
ActualDeliveryAddress The City, state, and country to which the package was actually delivered. Differs...
OfficeOrderDeliveryMethod Identifies the method of office order delivery.
DeliveryLocationType Strict text indicating the delivery location at the delivered to address.
DeliveryLocationDescription User/screen friendly representation of the
DeliveryLocationType (delivery location at the delivered to address). Can be returned in localized text.
DeliverySignatureName This is either the name of the person that signed for the package or "Signature not requested" or "Signature on file."
AvailableImages The type of image available.
NotificationEventsAvailable The types of email notifications that are available for the package.
SplitShipmentParts Returned for cargo shipments only when they are currently split across vehicles. Applies to FedEx Freight shipments.
SplitShipmentParts/PieceCount The number of pieces in this part. SplitShipmentParts/Timestamp The date and time this status began. SplitShipmentParts/StatusCode A code that identifies this type of status. SplitShipmentParts/StatusDescription A human-readable description of this status.
RedirectToHoldEligibility Indicates redirection eligibility as determined by tracking service, subject to refinement/override by redirect-to-hold service.
Valid values are: x ELIGIBLE x INELIGIBLE
x POSSIBILY_ELIGIBLE
Events Event information for a tracking number.
Events/Timestamp The time this event occurred.
Events/EventType Carrier's scan code. Pairs with EventDescription. Events/EventDescription Literal description that pairs with the EventType.
Events/StatusExceptionCode Further defines the Scan Type code's specific type, such as DEX08 business closed. Pairs with
StatusExceptionDescription.
Events/StatusExceptionDescription Literal description that pairs with the StatusExceptionCode.
Events/Address City, state, and country information of the station that is responsible for the scan.
Events/StationId Station identification.
Events/ArrivalLocation Valid Values are:
x AIRPORT x CUSTOMER x CUSTOMS_BROKER x DELIVERY_LOCATION x DESTINATION_AIRPORT x DESTINATION_FEDEX_FACILITY x DROP_BOX x ENROUTE x FEDEX_FACILITY x FEDEX_OFFICE_LOCATION x INTERLINE_CARRIER x NON_FEDEX_FACILITY x ORIGIN_AIRPORT x ORIGIN_FEDEX_FACILITY x PICKUP_LOCATION x PLANE x PORT_OF_ENTRY