• No results found

FedEx Web Services. Track Service

N/A
N/A
Protected

Academic year: 2021

Share "FedEx Web Services. Track Service"

Copied!
149
0
0

Loading.... (view fulltext now)

Full text

(1)

Track Service

FedEx Web Services

201

5

(2)

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

(3)

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/developer

x

FedEx Services At-a-Glance: fedex.com/us/services

x

FedEx Service Guide available at fedex.com/us/service-guide

x

Microsoft Web Services: msdn.microsoft.com/en-us/library/ms950421.aspx

x

O’Reilly XML.com: www.xml.com

x

Secure Socket Layer Certificates: fedex.com/us/developer/downloads/dev_cert.zip

x

Web Services organization home page: www.web-services .org

Support

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:00

p.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 their

(4)

1.

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 rates

with 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 your

customer. 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 service

by 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 their

shipments 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 simple

way 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 any

programming language.

x

Ubiquity: Web services communicate using HTTP and XML. Any connected device that supports these

technologies can both host and access web services.

x

Low Barrier to Entry: The concepts behind web services are easy to understand, and developers can

quickly 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 print

this guide.

o

Overview information about web services, including a high-level description of FedEx Web

Services 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.

(5)

x

Coding Details: Best practices information, basic request and reply elements, and a link to error

messages.

x

XML Schema: A link to the layout for the service. This layout provides coding requirements for all

elements 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>.

(6)

1.3.2.1

WSDL Elements

Table 1. WSDL Elements

Element 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, with

different technologies and programming languages.

x

Enables the data to pass through layers of intermediaries and arrive at the ultimate receiver the way it

was intended.

Note: You may not need to actually construct the SOAP messages yourself — many development tools available today construct SOAP behind the scenes.

(7)

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

(8)

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>

(9)

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

(10)

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 the

communication 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 not

provide 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, or

function 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-bit

encryption 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 document

x

Elements that are child elements

x

Order and number of child elements

x

Whether an element is empty or can include text

x

Data types, default values, and fixed values for elements and attributes

Some 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, have

simple types. Some elements have attributes. Attributes always have simple types.

(11)

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 schema

namespace 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 as

xs: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.

(12)

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

(13)

“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 FedEx

Developer Resource Center in the “Move to Production” topic.

x

Remove existing web services references from your project that point to old WSDLs containing the

URLs to the test environment.

x

Create new web references that point to the modified WSDLs. Use the same names as the old

references.

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.

(14)

4.

Tracking and Visibility Services

The TrackService WSDL provides the following services to actively track your shipments:

x

Tracking Service

Use 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

Notification

Use 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.

(15)

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 Status

x

TrackReply/CompletedTrackDetails/Notifications = Individual Track Request Status

x

TrackReply/CompletedTrackDetails/TrackDetails/Notification = Specific Tracking Number Status

Notes:

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 months

after 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, customer

reference, 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

(16)

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 Reference

Note: 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 Number

x

PO

x

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

(17)

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

(18)

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>

(19)

<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:

(20)

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

(21)

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.

(22)

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.

(23)

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"

(24)

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.

(25)

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:

(26)

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

(27)

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.

(28)

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.

(29)

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

Figure

Table 1.           WSDL  Elements
Table 2.           Requirements  and Resources  for Corporate  Developers Requirements  and Resources  for
Table 22.       TrackReply  Elements
Table 23.       TrackReply/CompletedTrackDetails/TrackDetails  Elements
+7

References

Related documents

 You are entitled to all benefits outlined in the senior player membership Age Group Referees and Coaches.  You are entitled to all benefits outlined in the age group

For Concept, refer to Signals and Systems K-Notes, Continuous Time Fourier Series Common Mistake:. Remember to divide by time period while calculating Fourier

Also, the likelihood of malaria infection among children whose mothers had primary or lower education were lower while those whose mother had secondary education had higher

extends existing FedEx Priority Alert to include FedEx First Overnight for FedEx Express Freight shipments, FedEx 1Day Freight, FedEx 2Day Freight and FedEx 3Day ®

If you are tracking FedEx Ground shipments, click a reference button to indicate which reference field was used to enter shipping references. • FedEx Ground references • FedEx

All your shipments to Overland should be made using the Third Party billing option of FedEx Ground®, FedEx Express® or FedEx Freight® LTL.. Please find below instructions and job

FedEx Ship Manager (FSM) provides the option to add packages to your FedEx Transborder Distribution (TD) consolidated shipment with services other than FedEx Express services,

FedEx Office can now be selected as Hold at FedEx Location type for a FedEx Express shipment through integration. Previously, a FedEx Express station was selected for