• No results found

Track Service. July 2011

N/A
N/A
Protected

Academic year: 2021

Share "Track Service. July 2011"

Copied!
130
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

without notice. Any conflict between this guide, the FedEx Automation

You must remit payment in accordance with the FedEx Service Guide, tariff,

Agreement and the FedEx Service Guide shall be governed by the FedEx

service agreement or other terms or instructions provided to you by FedEx

Automation Agreement and the FedEx Service Guide, in that order.

from time to time. You may not withhold payment on any shipments because

© 2011 FedEx. FedEx and the FedEx logo are registered service marks. All

of equipment failure or for the failure of FedEx to repair or replace any

rights reserved. Unpublished.

equipment.

Disclaimer

Confidential and Proprietary

All Improper Transaction scenarios are for example only. They do not reflect

The information contained in this guide is confidential and proprietary to

all error condition scenarios.

FedEx Corporate Services, Inc. and its affiliates (collectively “FedEx”). No part

of this guide may be distributed or disclosed in any form to any third party

without written permission of FedEx. This guide is provided to you under and

its use is subject to the terms and conditions of the FedEx Automation

(3)

Understanding the XML Schema ... 17

About This Guide ... 4

Implementation Process ... 22

Document Organization ... 5

Resources ... 5

2 Tracking and Visibility Services ... 25

Support ... 5

Tracking Shipments ... 26

Signature Proof of Delivery (SPOD) ... 32

1 Introduction ... 6

Notification ... 36

Document Overview ... 7

FedEx InSight ... 39

Web Services, WSDL, and SOAP Overview ... 9

XML Schema ... 39

Implementing FedEx Web Services ... 17

(4)

Support

Document Organization

Resources

(5)

It is written for the application developer who uses web services to design

Web Services organization home page: www.webservices.org

and deploy applications enabled by FedEx. It describes how to get started

Microsoft Web Services: msdn.microsoft.com/webservices

with application development and how to use the Application Programming

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

Interface (API). It also describes each available service in addition to the

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

business logic that drives each FedEx process.

dev_cert.zip

Document Organization

Support

Each web service provides access to FedEx features. The service description

For FedEx Web Services technical support, you can reach FedEx at

includes service details and a full schema listing to facilitate application

[email protected] or call 1.877.339.2774 and state “Web Services”

development.

at the voice prompt. Support hours are Monday through Friday, 7 a.m. to 9

p.m. (CST) and Saturday, 9 a.m. to 3 p.m. (CST). For FedEx Customer Service,

Resources

call 1.800.GoFedEx 1.800.463.3339.

The following may also be useful for FedEx Web Services developers:

(6)

Implementation Process

Document Overview

Web Services, WSDL, and SOAP Overview

Implementing FedEx Web Services

(7)

FedEx Web Services gives you the tools to build custom platform- and

Why should developers be interested in web services?

interface-independent applications that access FedEx features. You can use

Interoperability: Any web service can interact with any other web

FedEx Web Services in a variety of ways to create customized integration

service and can be written in any programming language.

solutions for your specific shipping needs. Here are just a few of the ways a

Ubiquity: Web services communicate using HTTP and XML. Any

company can use web services to streamline operations, improve visibility,

connected device that supports these technologies can both host and

and provide more choices to clients:

access web services.

Verify Addresses and Improve Customer Satisfaction: Prompt

Low Barrier to Entry: The concepts behind web services are easy to

customers for additional information in the event of an address

understand, and developers can quickly create and deploy them using

discrepancy or missing information with the Address Validation WSDL.

many toolkits available on the web.

Give Customers More Options: Help customers learn about all the

Industry Support: Major content providers and vendors support the web

available shipping options and rates with the Ship Service WSDL,

services movement.

OpenShip WSDL, and the Rate Services WSDL. You can also extend this

Any application running on any platform can interact with a web service by

service to your shopping cart and website, allowing customers to access

using the Simple Object Access Protocol (SOAP) and Web Services

money-saving information firsthand.

Description Language (WSDL) standards for message transfer and service

More Convenience: Use the Locator Service WSDL to find the FedEx

discovery. By following the standards, applications can seamlessly

pickup location nearest your customer. Or, send an email to your

communicate with platform services.

customers with a link to this service as part of your standard order-receipt

process.

Document Overview

Offer Global Shipping Options: Create shipping labels for worldwide

locations. Improve customer service by offering more shipping options to

This guide provides instructions for coding the functions you need to develop

customers in more countries with the consolidated Ship Service WSDL.

FedEx supported applications. The following chapters make up this guide:

Reduce Customer Service Costs: Decrease phone traffic from

Introduction (this chapter):

customers checking the status of their shipments and cut customer service

Documentation overview and guidelines, including how to use the Help

costs. FedEx provides online Tracking and Visibility Services that allow you

application and how to print this guide.

to provide customers with the status of shipments, Signature Proof of

Overview information about web services, including a high-level

Delivery (SPOD), and Shipment Notification in the Ship Request.

description of FedEx Web Services methods.

Simplify Processes and Improve Satisfaction: In addition to

Coding basics.

ExpressTagAvailability, provide a simple way to allow customers to return

an order with Email Labels. This service sends an email with the address

Overview information about testing and certifying your application.

(URL) of a website where the recipient can log in and print a return label.

Each chapter covering FedEx Web Services coding includes:

(8)

Service Details: Business rules for using the FedEx service.

FedEx Web Services Help opens in your default browser, such as Internet

Explorer or Firefox. The first topic ¾ in this case, the cover page ¾ appears in

Service Options: Links to additional services that can be added to the

the main window. The Table of Contents (TOC) appears in the navigation

basic web service.

column. Under the TOC you can choose the Index, Search, or Favorites

Coding Details: Best practices information, basic request and reply

options. Each of these features appears in the same column.

elements, and a link to error messages.

The toolbar across the top of the window displays the following elements:

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

Back: Returns you to the previously viewed topic.

coding requirements for all elements in the schema.

Forward: Goes to the next topic as listed in the TOC.

Using FedEx Web Services Online Help

Quick Search: Enter a search term and

This guide is available as online help at the FedEx Developer Resource Center

(fedex.com/developer) in Support > FedEx Web Services Developer

click

to highlight the term in the current topic. This feature only

Guide.

searches the current topic.

Hide Navigation: Hides the left navigation column.

Search: Opens the full search tool in the navigation column.

Print: Opens the Print dialog box.

Home: Opens the default topic: in this case, the cover page.

Add Topic to Favorites: Saves the current topic to your Favorites list.

Printing This Guide or Online Help

You can print all or part of this guide from both the PDF and WebHelp

versions.

Printing from the PDF Version

From the PDF version you can print the complete document or a page range

of the document.

(9)

2. From the Print dialog box you can print the complete document, specify a

XML document that provides information about what the service does, the

page range, or choose from any of the available print options.

methods that are available, their parameters, and parameter types. It

describes how to communicate with the service in order to generate a

Printing from the WebHelp Version

request to, or decipher a response from, the service.

From the WebHelp version you can print a single topic or a page range of

The purpose of a WSDL is to completely describe a web service to a client. A

that topic.

WSDL defines where the service is available and what communications

protocol is used to talk to the service. It defines everything required to write

Open WebHelp and click the printer icon

.

a program to work with an XML web service. A WSDL document describes a

From the Print dialog box you can print the complete topic or specify a page

web service using seven major elements. Elements can be abstract or

range.

concrete.

Abstract XML elements describe the web service: <types>, <message>,

Web Services, WSDL, and SOAP Overview

<operation>, <portType>.

This section describes the standard coding technologies used in FedEx Web

Concrete XML elements provide connection details: <service>, <port>,

Services.

<binding>.

WSDL Elements

Web Services

Web services are a collection of programming technologies, including XML,

Element Definition

Web Services Description Language (WSDL), and SOAP, which allow you to

build programming solutions for specific messaging and application

<definitions> The root element contains name space definitions.

integration.

<portType> The most important WSDL element. It is a set of all operations that a web service can accept and is a container for <operation> elements. This WSDL element

Web services are, by definition, platform independent. FedEx Web Services

describes a web service, the operations that can be performed, and the messages

allow developers to build custom applications that are independent of

that are involved, and can be compared to a function library (or a module or a

changes to the FedEx interface.

class) in a traditional programming language.

Note: FedEx Web Services are not offered as part of a Universal Description Discovery and <types> Defines variable types used in the web service (both the parameters passed to a Integration (UDDI) and must be downloaded from the FedEx Developer Resource Center function and the type of the value passed back via the response). The data types (fedex.com/developer) and stored locally for development and usage. are described by XML schema. This element contains user-defined data types (in

the form of XML schema). The <types> element defines the data types that are used by the web service For maximum platform neutrality, WSDL uses XML

WSDL

schema syntax to define data types.

A SOAP request to, or response from, a service is generated according to the

(10)

Element Definition

SOAP

<message> Defines the data elements of an operation. Each message can consist of one or

SOAP is a simple XML-based protocol that allows applications to exchange

more parts that can be compared to the parameters of a function call in a

information over HTTP. SOAP is built on open standards supported by

traditional programming language.

numerous development tools on various platforms. SOAP provides a way to

<operation> Child of the <binding> element that defines each operation that the port exposes.

communicate between applications running on different operating systems,

This element allows three messages only:

with different technologies and programming languages. The SOAP request

Message Definition

interface is an object in your application programming language.

Input Message Data web servicices receive

SOAP enables the data to pass through layers of intermediaries and arrive at

Output Message Data web servicervices send

the ultimate receiver the way it was intended. It is worth noting that you may

Fault Message Error messages from web services

not need to actually construct the SOAP messages yourself — many

development tools available today construct SOAP behind the scenes.

<service> The <service> element contains a <port> child element that describes the URL

where the service is located. This is the location of the ultimate web service.

SOAP Message

<binding> The <binding> element defines the message format and protocol details for each

port. The binding element has two attributes: the name attribute and the type

A SOAP message is an ordinary XML document that can be a request for a

attribute. This element specifies how the client and the web service should send

web service from a client or a “reply” from a web service to a client.

messages to one another.

Required <SOAP:Envelope>

Note: For more information about the WSDL standard, refer to the World Wide Web

Optional <SOAP:Header>

Consortium (W3C) Website at w3.org/TR/wsdl.

Required <SOAP:EnvelopeBody>

Example: Rate Request (SOAP Message)

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:v8=”http://fedex.com/ws/rate/v8”> <soapenv:Header/> Optional <SOAPsoapenv:HeaderBody> <v8:RateRequest> <v8:WebAuthenticationDetail> <v8:CspCredential> <v8:Key>Provider Key</v8:Key> <v8:Password>Provider Password</v8:Password> </v8:CspCredential>

(11)

<v8:UserCredential> <v8:Key>User Key</v8:Key> <v8:Password>User Password</v8:Password> </v8:UserCredential> </v8:WebAuthenticationDetail> <v8:ClientDetail> <v8:AccountNumber>XXXXXXXXX</v8:AccountNumber> <v8:MeterNumber>XXXXXX < /v8:MeterNumber> <v8:ClientProductId>ABCD</v8:ClientProductId> <v8:ClientProductVersion>1234</v8:ClientProductVersion> </v8:ClientDetail> <v8:TransactionDetail>

<v8:CustomerTransactionId>Test v8 Rate Request</v8:CustomerTransactionId> </v8:TransactionDetail> <v8:Version> <v8:ServiceId>crs</v8:ServiceId> <v8:Major>8</v8:Major> <v8:Intermediate>0</v8:Intermediate> <v8:Minor>0</v8:Minor> </v8:Version> <v8:ReturnTransitAndCommit>true</v8:ReturnTransitAndCommit> <v8:RequestedShipment> <v8:ShipTimestamp>2009-08-19T16:15:00-05:00</v8:ShipTimestamp> <v8:DropoffType>REGULAR_PICKUP</v8:DropoffType> <v8:PackagingType>YOUR_PACKAGING</v8:PackagingType> <v8:Shipper> <v8:Address>

<v8:StreetLines>123 Maple Street</v8:StreetLines> <v8:City>Akron</v8:City> <v8:StateOrProvinceCode>OH</v8:StateOrProvinceCode> <v8:PostalCode>44333</v8:PostalCode> <v8:CountryCode>US</v8:CountryCode> </v8:Address> </v8:Shipper> <v8:Recipient> <v8:Address>

<v8:StreetLines>123 Oak Street</v8:StreetLines> <v8:City>Collierville</v8:City>

(12)

<v8:PostalCode>38017</v8:PostalCode> <v8:CountryCode>US</v8:CountryCode> </v8:Address> </v8:Recipient> <v8:RateRequestTypes>ACCOUNT</v8:RateRequestTypes> <v8:PackageCount>2</v8:PackageCount> <v8:PackageDetail>INDIVIDUAL_PACKAGES</v8:PackageDetail> <v8:RequestedPackages> <v8:SequenceNumber>1</v8:SequenceNumber> <v8:InsuredValue> <v8:Currency>USD</v8:Currency> <v8:Amount>50.00</v8:Amount> </v8:InsuredValue> <v8:Weight> <v8:Units>LB</v8:Units> <v8:Value>20.0</v8:Value> </v8:Weight> <v8:Dimensions> <v8:Length>10</v8:Length> <v8:Width>10</v8:Width> <v8:Height>10</v8:Height> <v8:Units>IN</v8:Units> </v8:Dimensions> <v8:CustomerReferences> <v8:CustomerReferenceType>CUSTOMER_REFERENCE</v8:CustomerReferenceType> <v8:Value>TEST v8 REQUEST</v8:Value> </v8:CustomerReferences> </v8:RequestedPackages> <v8:RequestedPackages> <v8:SequenceNumber>2</v8:SequenceNumber> <v8:InsuredValue> <v8:Currency>USD</v8:Currency> <v8:Amount>50.00</v8:Amount> </v8:InsuredValue> <v8:Weight> <v8:Units>LB</v8:Units> <v8:Value>10.0</v8:Value> </v8:Weight> <v8:Dimensions> <v8:Length>5</v8:Length> <v8:Width>5</v8:Width>

(13)

<v8:Height>5</v8:Height> <v8:Units>IN</v8:Units> </v8:Dimensions> </v8:RequestedPackages> </v8:RequestedShipment> </v8:RateRequest> Required <SOAP/soapenv:Body> Required <SOAP/soapenv:BodyEnvelope>

Example: Delete Tag Request (SOAP Message)

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://fedex.com/ws/ship/v8"> <SOAP-ENV:Body> <DeleteTagRequest> <WebAuthenticationDetail> <UserCredential> <Key> User Key </Key> <Password> User Password </Password> </UserCredential> </WebAuthenticationDetail> <ClientDetail> <AccountNumber>xxxxxxxxx</AccountNumber> <MeterNumber>xxxxxx</MeterNumber> </ClientDetail> <TransactionDetail> <CustomerTransactionId>DE_Shakeout_wsvc</CustomerTransactionId> </TransactionDetail> <Version> <ServiceId>ship</ServiceId> <Major>8</Major> <Intermediate>0</Intermediate> <Minor>0</Minor> </Version>

(14)

<DispatchLocationId>MQYA</DispatchLocationId> <DispatchDate>2008-10-08</DispatchDate> <Payment> <PaymentType>shipper</PaymentType> <Payor> <AccountNumber>xxxxxxxxx</AccountNumber> <CountryCode>US</CountryCode> </Payor> </Payment> <ConfirmationNumber>997037200019454</ConfirmationNumber> </DeleteTagRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

For more information about the SOAP standard, refer to the World Wide Web Consortium (W3C) Website at http://www.w3.org/TR/SOAP.

Non-SOAP Web Services

FedEx offers a non-SOAP web services solution that you can use to send transactions without having to use tools that provide SOAP protocol support for web

services. This may be convenient for developers using environments that do not provide support for SOAP. With this interface, XML documents are sent directly

to the FedEx servers via the HTTP POST command. FedEx provides a set of specifications and examples to help with the development of this type of

communications method.

To use the non-SOAP web service solution, you must have a working knowledge of HTTPS and Secure Socket Layering (SSL) encryption, the ability to provide a

secure SSL connection to FedEx and the ability to code to an operation interface using XML.

The interfaces used in the SOAP and non-SOAP web services are defined in WSDL files. The WSDL files contain schemas that define the layout of the

operations. The same WSDL file is used for both the SOAP and non-SOAP web service users.

Non-SOAP users are concerned only with the schema definitions and not the other WSDL components that are SOAP-specific. The XML data that is sent via the

non-SOAP interface looks almost identical to the data that is sent via the SOAP interface. The only difference is that the data sent via the non-SOAP interface

does not contain the wrapping Envelope and Body tags that are specific to SOAP. An example of a request using the non-SOAP interface looks like this:

<ns:TrackRequest xmlns:ns="http://fedex.com/ws/track/v5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://fedex.com/ws/track/v4 TrackService_v4.xsd ">

<ns:WebAuthenticationDetail> <ns:UserCredential>

(15)

User Key </ns:Key> <ns:Password> User Password </ns:Password> </ns:UserCredential> </ns:WebAuthenticationDetail> <ns:ClientDetail> <ns:AccountNumber>000000000</ns:AccountNumber> <ns:MeterNumber>0000000</ns:MeterNumber> </ns:ClientDetail> <ns:TransactionDetail>

<ns:CustomerTransactionId>User Customizable Field</ns:CustomerTransactionId></ns:TransactionDetail> <ns:Version> <ns:ServiceId>trck</ns:ServiceId> <ns:Major>4</ns:Major> <ns:Intermediate>0</ns:Intermediate> <ns:Minor>0</ns:Minor> </ns:Version> <ns:PackageIdentifier> <ns:Value>ttttttttttttttt</ns:Value> <ns:Type>TRACKING_NUMBER_OR_DOORTAG</ns:Type> </ns:PackageIdentifier> <ns:IncludeDetailedScans>true</ns:IncludeDetailedScans> </ns:TrackRequest>

Error Handling

Error handling for non-SOAP operations is different from error handling for SOAP operations. The SOAP specification provides an error handling mechanism that

is not present for non-SOAP operations. For a SOAP operation, a fault is returned as a SOAP exception. For a non-SOAP request, the contents of the SOAP fault

are returned as an XML document. These SOAP fault documents are returned in situations such as schema validation failures or when operation types are

unrecognized. In the following example, a SOAP fault document is returned from a schema validation failure in which the AccountNumber element was

incorrectly sent as the AccountNumberx element:

<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode>soapenv:Server</faultcode>

(16)

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

(17)

Non-SOAP HTTP POST Example

Implementing FedEx Web Services

The following HTTPS POST example is a valid working example, but is not

Before you begin your implementation of FedEx Web Services, make note of

guaranteed to work for all programming languages, applications, and host

the following guidelines:

systems:

FedEx Web Services are designed for use by skilled developers who are

familiar with the communication standards SOAP and Web Services

POST /xml HTTP/1.0

Description Language (WSDL).

Referrer: YourCompanyNameGoesHere

Host: gatewaybetawsbeta.fedex.com

Unlike traditional client/server models, such as a web server or web page

Port: 443

system, web services do not provide the user with a graphical user

Accept: image/gif, image/jpeg, image/pjpeg, text/plain,

interface (GUI). Instead, web services share business logic, data, and

text/html, */*

processes through a programmatic interface across a network.

Content-Type: image/gif

Content-length: %d

To perform a particular FedEx task such as tracking a package, you need

Your FedEx Transaction

to use a class, module, or function that creates your request, sends it to

the FedEx platform, and handles the response.

Each line is followed by one new line character except Content-length and

the FedEx transaction. Two new line characters follow the Content-length

FedEx Web Services are designed to support any operating system and

line. The FedEx transaction has no extra characters. The Content-length line

coding language. Downloadable sample code is available in Java, C#, VB,

should have the length of the FedEx transaction in place of the %d variable.

.Net and PHP languages from the FedEx Developer Resource Center

Technical Resources.

Note: Port 443 must be opened for bi-directional communication on your firewall.

Transactions submitted to FedEx using FedEx Web Services are required to

After formatting your non-SOAP transaction and placing it in a HTTP POST

have a minimum of 128-bit encryption to complete the request.

request, you will need to open an SSL connection to the FedEx test server

and send the request through FedEx by using your SSL connection.

Understanding the XML Schema

Next, parse the HTTPS response to determine if there were any errors.

Examine the HTTP header to determine if any HTTP or Web Server errors

The XML schema defines the messages that you can use to access the FedEx

were encountered. If you received a 200 status code, parse the reply to

Services. You create a request that contains business data and other

determine if there were any processing problems.

instructions and you send it to FedEx. FedEx replies with a response that

contains the data resulting from the instructions you sent in. Notice that

Visual Basic Project Error

schema diagrams are conveniently linked to help you find information and

child values.

You may receive an error indicating that an element is not set, even after

setting it in the code. When you set a Boolean type element to true, you may

also need to set the specified element to true.

(18)

The XML schema provides a means for defining the structure, content, and

elements and simple types as belonging to the vocabulary of the XML

semantics of XML documents.

schema language, rather than the vocabulary of the schema author.

An XML schema defines:

Guide to the XML Schema

Elements and attributes that can appear in a document

The XML schema for each WSDL provides details about the structure,

Elements that are child elements

content, and semantics of the request XML document sent to a FedEx Web

Order and number of child elements

Service and the XML document returned by that FedEx Web Service.

Whether an element is empty or can include text

The top of each service schema includes:

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

Schema location and schema file name that ends in an ".xsd" suffix.

Some important facts about the XML schema:

Alphabetical listing of complex types for the documented service.

Elements that contain sub-elements or carry attributes have complex

Alphabetical listing of schema simple types for the documented service.

types.

Input or request data type for the documented service.

Elements that contain numbers (and strings, and dates, etc.), but do not

Output or reply data type for the documented service.

contain any sub-elements, have simple types. Some elements have

The remainder of the service schema contains tables of information about

attributes. Attributes always have simple types.

each element, complex type, and simple type.

Complex types in the instance document, and some of the simple types,

Each table consists of some or all of the following sections: diagram,

are defined in the schema associated with a FedEx Web Service. Other

namespace, children, type, properties, used by, facets, and source.

simple types are defined as part of XML schema's repertoire of built-in

simple types.

XML Schema Diagrams

XML schema built-in simple types are prefixed by "xs:", which is

XML schema diagrams describe the elements (usually associated with a

associated with the XML schema namespace through the declaration

request or reply), complex types, and simple types that make up the WSDL.

xmlns:xs="http://www.w3.org/2001// XMLSchema", displayed in the

The following table illustrates the relationships and behavior of elements and

schema element.

types.

The same prefix, and the same association, are also part of the names of

built-in simple types, e.g., xs:string. This association identifies the

(19)

Schema Diagram Description Schema Diagram Description

Diagrams of a parent A box with a dotted border

element, such as indicates a single element

AddressValidationRequest, that is optional.

include connections to the

The type can be simple or

child elements. Child complex.

elements can be simple or complex types.

A layered box represents a

A child element connected multiple occurrence

with a solid line and element. A solid line

surrounded by a box with a represents a required

solid border represents a multiple occurrence

required type, such as element.

ClientDetail.

The number of possible

A child element connected occurrences appears below

by a dotted line and the box, as depicted by the

surrounded by a dotted AddressResults element.

border represents an

An unbounded number of optional type

occurrences is represented (minOccurs="0"), such as

by the infinity ¥ symbol TransactionDetail.

(maxOccurs="unbounded"),

Note: An element that is as depicted by the

defined as minOccurs="0" Notifications type.

may be required for some

A layered box with a dotted calls.

border represents an

Types that are documented optional multiple occurrence

include the documentation type (minOccurs="0"), such

directly below the box. as ProposedAddressResults.

All children are linked by Note: An element that is

name below the diagram. defined as minOccurs="0"

may be required for some

A box with a single solid calls.

border represents a single element that is required. The type can be simple or complex.

(20)

Note: Web Services now use two-factor authentication. If you do not have new credentials,

Schema Diagram Description

the latest WSDLs will use your old authentication credentials. If you do not have a new user

A standard type such as authentication credential, do not populate the password element. “string” appears in black

text below element name.

ClientDetail: The ClientDetail element is required for all services that need

your FedEx account number and meter number. Requirements are:

A FedEx specific type such as “Address” appears in

red text below the element Element Description name.

ClientDetail/AccountNumber Required. Your FedEx account number.

ClientDetail/MeterNumber Maximum of 9 characters. The associated meter number for your

Required Elements

FedEx account number.

Most requests to FedEx require the following complex elements:

A standard type such as “string” appears in black text below element

These elements are common to most Web Services (see the following table

name.

for which WSDLs need which common elements) and are not documented

A FedEx specific type such as “Address” appears in red text below the

service by service.

element name.

WebAuthenticationDetail: The WebAuthenticationDetail element includes

Note: When building a Web-based application for shipping that will be used at multiple

user credentials issued by FedEx so that your transactions are recognized by

locations, include the local FedEx Express®

account and meter in the ClientDetail section

the FedEx back-end systems. The following elements are required:

of the ship transaction. Create a database to hold multiple account and meter numbers for the shipping locations.

Element Description

TransactionDetail: The TransactionDetail element is optional for all

WebAuthenticationDetail The descriptive data to be used in authentication of the shipper's

transactions. However, if you want to identify associated request and reply

identity and right to use FedEx Web Services.

transactions, use this element.

UserCredential Credential used to authenticate a specific software application. This

value is provided by FedEx after registration.

Element Description

WebAuthenticationCredential Two-part authentication string used to verify shipper identity.

TransactionDetail/ Maximum of 40 characters. This element allows you to assign a WebAuthenticationCredential/ Unique identifier assigned to each customer as part of their CustomerTransactionId unique identifier to your transaction. This element is returned in the

Key authentication credentials. reply and helps you match requests to replies.

WebAuthenticationCredential/ Second part of the authentication credential which has a direct

Password relationship with the credential key.

VersionId: The VersionId element is required and uploads the WSDL version

number to FedEx. FedEx provides the latest version number for the service you

are using. This number should be updated when you implement a new version

of the service.

(21)

Element Description Element Description

ServiceId Identifies a system or sub-system which performs an operation. Residential Required if your shipper address is considered a residential location. If you are unsure, use the Address Validation Service to check your address.

Major Identifies the service business level. Intermediate Identifies the service interface level.

Reply Notifications

Minor Identifies the service code level.

Notifications are returned in replies. The notification element provides the

notification ranked according to their severity:

Shipper Information: Your shipper information is required for all shipping

HighestSeverity: This element ranks the level of notification severity.

transactions:

Values include:

Element Description

FAILURE: Code/message explains that your request could not be handled

AccountNumber If you include this element in the ship request, this entry overrides the account

at this time; do not resubmit right now.

number in the ClientDetail element.

ERROR: Code/message identifies a problem with your request data; you

TIN Tax Identification Number — this information is required for international

may fix the request data and try again.

shipments only.

WARNING: Your request was successful. However, the code/message

Contact The Contact element includes:

explains what had to be done to fulfill your request; you may need to

• PersonName

determine whether that is what you intended, you may need to do this

• Title

differently next time, or you may need to prepare for a future change.

• CompanyName

Request was completed.

• Department

• PhoneNumber

NOTE: Your request was successful. However, the code/message contains

• PagerNumber

additional information about how your request was fulfilled; you do not

• FaxNumber

need to take any special action.

• EmailAddress

SUCCESS: Your request was successful. There are no NOTE or WARNING

Address This element includes:

notifications.

• StreetLines: two StreetLines elements are allowed.

Note: There is a possibility of multiple Notification objects (different severity levels) for a

• City

single request. The response notification severity values of ERROR, FAILURE, and SUCCESS

• StateOrProvinceCode: required if your shipper address is in the U.S. or

severity should never be combined in a single response.

Canada.

• PostalCode: required.

Notification Examples

• UrbanizationCode: may be required if your shipper address is in Puerto Rico.

For example, if you need to perform a U.S. address correction, the service

• CountryCode: required.

(22)

Case Reply

in a standardized form (canonical spelling and abbreviation of street name

parts, elimination of redundant white space, data correction where possible,

and street address. The service rejects the client's address.

etc.). The following cases illustrate several notification types.

Request to submit an Address that contains only Notifications: {ERROR, "City name is missing and

The example service has been assigned a NotificationSourceType value of

a single street line (no city, state, or postal code). cannot be corrected"}, {ERROR, "State code is

"USACS".

The service rejects the request. missing and cannot be corrected"}, {ERROR, "ZIP

code is missing and cannot be corrected"} and

Case Reply Address: empty (either all fields blank or no Address at all)

Request to submit an Address that is valid and is Notifications: SUCCESS and Address: the original

already in standardized form (i.e., there is nothing address (or copy). Request to submit an Address, but the address Notifications: {FAILURE, "Service temporarily to say except "OK"). correction service's database server is down or unavailable"}, Address: empty (either all fields

fails. blank or no Address at all).

Request to submit an Address that is valid but Notifications: NOTE, "Standard abbreviation not in standardized form (e.g., the word applied to street name"}, {NOTE, "Standard "Boulevard" in a street name is replaced with the abbreviation applied to city name"} and Address:

standard abbreviation "Blvd" and "Saint Louis" as the original address, with modification made to

Implementation Process

a city name is replaced with "St Louis"). the street name and city name.

Planning your integration and organizing your application data to address your

Request to submit an Address that is valid but Notifications: NOTE, "ZIP+4 suffix added"} and

shipping needs can sometimes take more time than the actual implementation

with only a 5-digit postal code: the service Address: the original address, with the four-digit

of the integration. FedEx Web Services conform to industry standards and are

supplies the ZIP+4 for the standardized address. suffix added to the postal code.

compatible with a comprehensive array of developers’ tools. This ensures the

Request to submit an Address that is identifiable Notifications: WARNING, "ZIP code corrected to

fastest time-to-market with maximum flexibility to integrate FedEx

by street data, city name, and state code, but match rest of address"} and Address: the original

transactions and information into your applications. FedEx WSDLs are fully

with a 5-digit postal code that does not match address, with the replacement postal code.

the other fields. The service supplies the correct

interoperable with any product or developer’s tool that also conforms to the

ZIP+4 for the standardized address.

WS-I Basic Profile. For details, see

http://www.ws-i.org/Profiles/BasicProfile-Request to submit an Address that has an Notifications: WARNING, "State code corrected to

1.1-2004-08-24.html.

incorrect state code. The original address match city and ZIP code"} and Address: the

To obtain FedEx Web Services and begin integrating with an application, you

contains a ZIP+4 postal code belonging to a city/ original address, with the revised state code.

state pair that matches the client's original city

will need to access documentation, sample code, and sample service requests

and street address. The service supplies the

and replies with the WSDLs from the FedEx Developer Resource Center

corresponding state code in the corrected

Technical Resources. You will also need to obtain a test meter number to

address.

engage in real-time online testing in the FedEx hosted test environment.

Request to submit an Address that has an Notifications: ERROR, "State code is incorrect for

Note: Not all services are available outside the U.S.

incorrect state code. The original address city/ZIP combination"} and Address: empty (either contains a ZIP+4 postal code belonging to a city/ all fields blank or no Address at all).

(23)

Requirements for Corporate and Non-Commercial Developers

Testing

There are some differences in how support is provided and in the approvals

FedEx supplies a complete online operating environment with which to test

required to go into production that depend on whether you are creating an

your applications against live FedEx servers. In order to execute test

application for use by your own company or you are planning to resell your

interactions, you must first include a test account number, test meter number,

solution to others.

authentication key, and password in your code. These credentials are provided

to registered developers.

Requirements and Resources for Corporate Developers

Corporate developers are typically part of a dedicated development team at a

Certification

single company. This category also includes third-party developers

Certification is the process of ensuring that your implementation meets a

(consultants) hired by the company to work on its behalf. In all cases, the

number of requirements for safe, secure, and effective operation of your

integration will be used by the company itself and will not be resold or

solution in the FedEx production environment. Certification requirements differ

distributed outside of its own footprint. In this situation, FedEx can support

based on whether you are a corporate or commercial developer, and whether

the customer directly.

you are implementing using the advanced or standard services.

Requirements and Resources for Corporate Developers

Go to Production

Must be accepted into the FedEx®Compatible Solutions Program (CSP) No

Once an application has passed certification, the developer must replace the

Self-certification of implementations using standard services Yes

test credentials with the production credentials issued by FedEx. The

Self-certification of implementations using advanced services No

application connection is then directed to the production servers, and the

Certification assistance Yes (WISC team)

application is live.

FedEx supports the customer directly Yes

Once an application has completed the above mentioned process and

requirements, FedEx will enable the provider’s CSP credentials for processing

Preproduction Assistance

all applicable services in the production environment. The URL needed to

direct the CSP application to the FedEx production servers will also be

Preproduction assistance is available via the FedEx Web Integrated Solutions

provided. The provider would then need to obtain production User Credentials

Consultation (WISC) team. If you are in the preproduction stages of

(Register CSP User Service) and a production meter number (Subscribe

implementing a FedEx web integrated solution and would like to speak with a

Service). Once this information has been obtained with the connection

FedEx integration consultant who can assist you in understanding FedEx Web

directed to the production servers, the provider’s application is considered

Services, contact your FedEx sales executive or technical support at

live.

1.877.339.2774 Monday through Friday, 7 a.m. to 9 p.m. (CST), and Saturday 9

a.m. to 3 p.m. (CST). Both your FedEx sales executive and technical support

can request a WISC team member to contact you within 3 business days.

(24)

Requirements and Resources for Commercial Developers

Corporate developers may find that solutions to their needs have already

been implemented by a software vendor that is part of the FedEx

®

FedEx supports the customer directly No

Compatible Solutions Program. If improved time-to-market, cost containment,

FedEx supports the commercial developer’s customer Indirectly

or specialized knowledge is needed, corporate development planners may

want to review the available third-party solutions. To see a list of the

If you are a commercial developer interested in becoming a FedEx Compatible

solutions provided by the CSP providers, go to the Available CSP Solutions

Solutions Provider, go to fedex.com/us/compatiblesolutions/provider/for

page: fedex.com/us/compatiblesolutions/.

more information about the FedEx Compatible Solutions Program (CSP).

Requirements for Consultants

URL Errors

Consultants developing on behalf of a corporate customer must ensure that

If a VB.NET or C# project still sends transactions to the test server after

their client provides their account information and a signed End User License

changing the URL in the WSDLs to print to production, perform the following:

Agreement to FedEx in order to obtain a production test meter.

Make sure permissions are already activated in the production

Requirements and Resources for Commercial Developers

environment.

Commercial developers create solutions with the intent of distributing and/or

Copy the WSDL files to a different folder.

reselling them to their customers. Because they are deployed in a variety of

Follow the directions on changing the new WSDL files to point to

situations, commercial integrations generally require a higher order of “fit and

production as described in the FedEx Developer Resource Center in the

finish.” Commercial developers are responsible for supporting their products

“Move to Production” topic.

for their customers. FedEx has a dedicated team of professionals to help

Remove existing web services references from your project that point to

developers commercialize their products and to coordinate the three-way

old WSDLs containing the URLs to the test environment.

interplay between the developer, the end customer, and FedEx.

Create new web references that point to the modified WSDLs. Use the

same names as the old references.

Requirements and Resources for Commercial Developers

Compile and test the project. Your new production credentials should work

Must be accepted into the FedEx Compatible Solutions Program (CSP) Yes (Required)

for standard web services, such as rating or tracking without extra

Self-certification of implementation using standard services No

permissions. Advanced web services require permissions to be active

before they will work. Old test key values will now return an error

Self-certification of implementations using advanced services No

message.

(25)

Error Messages

Tracking Shipments

Signature Proof of Delivery (SPOD)

Notification

FedEx InSight

XML Schema

(26)

The TrackService WSDL provides the following services to actively track your

significant shipment events, such as clearance delays, delivery attempts,

shipments:

releases, consolidated proof of delivery, and delivery pre-alerts. For more

information regarding FedEx InSight, go to fedex.com/insight.

Tracking Service

Use the TrackService WSDL to obtain timely and accurate tracking

Tracking Shipments

information for FedEx Express

®

, FedEx Ground

®

, FedEx SmartPost

®

, FedEx

Home Delivery

®

, FedEx Express

®

Freight, and FedEx Custom Critical

®

Use the TrackService WSDL to use FedEx

®

Tracking options to obtain timely

shipments.

and accurate tracking information for FedEx Express, FedEx Ground, FedEx

Signature Proof of Delivery (SPOD)

Home Delivery, FedEx Custom Critical, and FedEx SmartPost shipments. This

WSDL handles tracking numbers individually. Note that batch tracking is not

Use FedEx SPOD to request a proof of delivery letter that includes a

an option.

graphic image of your recipient’s signature after your shipment has been

delivered.

You can also track the status of shipments by using a reference number, such

as a purchase order (PO) number, customer reference, invoice, Bill of Lading

Notification

(BOL), part number, or Transportation Control Number (TCN).

Use Notification to have FedEx automatically notify you and/or your

customer and/or another third party by email, fax, or wireless of

Tracking Service Details

significant shipment events, such as clearance delays, delivery attempts,

releases, consolidated proofs of delivery, and pre-alerts.

You can use FedEx track service to obtain timely and accurate tracking

FedEx now offers a new email notification of Tendered, which may be

information for FedEx Express, FedEx Ground, FedEx Home Delivery, FedEx

specified with the shipment request, in addition to the existing Delivery,

Cargo, FedEx SmartPost, and FedEx Custom Critical shipments. Basic tracking

Exception, and Shipment email notifications. Use the Tendered email

service details are:

notification if you want an email notification sent to the specified

FedEx Express and FedEx Ground

“Signature Proof of Delivery (SPOD)”

are

recipients once the shipment has been tendered to FedEx. This notification

available for 18 months after the ship date.

is supported for FedEx Express, FedEx Ground, FedEx Freight

®

Economy,

FedEx Express shipments support intra-Mexico shipping for Signature Proof

and FedEx SmartPost

®

.

of Delivery (SPOD).

FedEx InSight

®

FedEx Custom Critical Signature Proof of Delivery (SPOD) is available for

FedEx InSight is a web-based application that enables you to view the

90 days.

status of your inbound, outbound, and third-party shipments without a

The TrackService WSDL handles tracking numbers individually. Batch

tracking number. All you need is your account number and/or company

tracking is not supported in this service.

name and address. You can see information about the status of your

shipments so you can more effectively manage your supply-chain

processes. FedEx InSight also notifies you by email, fax, or wireless of

(27)

You can track the status of shipments using a reference number, such as

TCN (not available for FedEx SmartPost)

a PO number, customer reference, invoice number, BOL, part number, or

BOL (not available for FedEx SmartPost)

TCN.

Note: If you enter a tracking number as part of this Request, the tracking number always takes precedence over the Reference element. Therefore, if you enter a tracking number for a

Refer to

“TrackService Coding Details”

and the Track Schema for syntax

shipment that does not include the Reference data you requested, the tracking number is

details.

returned with no error message. To limit the number of tracking replies for a specific

For more detailed information about the services offered by FedEx, see the

reference, you can enter a date range for this search.

electronic

FedEx Service Guide.

Note: Tracking requests cannot be batch processed at this time.

Track by Multiple-Package Shipment (MPS) Tracking Number

Tracking Service Options

This option is available for FedEx Express U.S. and International

multiple-The following options are available with this service:

package shipments, FedEx Ground U.S. and international multiple-package

Track by Tracking Number

shipments, FedEx Express U.S. C.O.D. and International C.O.D.

multiple-package shipments and FedEx Ground U.S. C.O.D. and FedEx International

This option applies to FedEx Express, FedEx Ground, and FedEx Custom

C.O.D. multiple-package shipments. MPS tracking allows you to track by the

Critical shipments. You can track any package shipped by FedEx using this

master tracking number or by one of the associated sequential tracking

tracking method. No extra qualifiers (date range, etc.) are required for this

numbers for child packages. Tracking by the master tracking number returns

method, but are recommended. It is also recommended that you provide the

tracking data for all child tracking numbers associated with the master.

Carrier Code to ensure the desired results for your request.

Tracking by the child tracking number returns tracking data on the specific

Track by Reference Number

shipment associated with that tracking number.

This option applies to FedEx Express, FedEx Ground, FedEx Cargo, FedEx

Track by Door Tag Number

SmartPost, and FedEx Custom Critical shipments. You can track packages by a

This option is available for FedEx Express and FedEx Ground U.S. and

reference number entered during the shipping operation. Track by Reference

Canadian shipments. This option allows you to track shipment status by a

Number can use any of the following sources:

FedEx Door Tag number. A Door Tag is left at the recipient’s shipping address

Shipper/Customer Reference

if the recipient is not there to receive the package. A Door Tag number is

Invoice Number

linked at FedEx with the package’s original tracking number. This tracking

functionality allows you to track using only the Door Tag number without

PO

requiring the associated tracking number. No additional search elements are

Department (not available for FedEx SmartPost)

required to track by Door Tag. You may request tracking scan information for

Part Number (not available for FedEx SmartPost)

any packages shipped by FedEx by entering a valid Door Tag number.

(28)

TrackService Coding Details

TrackRequest Elements

In addition to basic elements required for all transactions, the following

elements make up the TrackRequest.

Element Required Description

ClientDetail/Localization/LanguageCode Yes LanguageCode — Required to receive tracking information in your local language. Valid codes are: • ar = Arabic

• da = Danish • de = German • en = English • es = Spanish

• es with locale code US = US Spanish • es with locale code ES = Spain • fr = French

• fr with locale code CA = Canadian French • he = Hebrew • it = Italian • ja = Kanji • ko = Korean • nl = Dutch • pt = Portuguese • sv = Swedish

• zh with locale code CN = Chinese Simple

• zh with locale code HK = Chinese Traditional Hong Kong • zh with locale code TW = Chinese Traditional Taiwan • cs = Czech • el = Greek • hu = Hungarian • pl = Polish • ru = Russian • tr = Turkish

(29)

Element Required Description

Defaults to en if no value entered.

Note: In addition to tracking data, any error conditions will also be returned in the language you choose.

ClientDetail/Localization/LocaleCode Yes Required to further identify the LanguageCode element. For example, if you choose ES for Spanish, you must include U.S. for North American Spanish.

PackageIdentifier Yes The PackageIdentifier element is required to track by reference information. Two elements make up the PackageIdentifier.

Valid values are: • BILL_OF_LADING • COD_RETURN_TRACKING_NUMBER • CUSTOMER_AUTHORIZATION_NUMBER • CUSTOMER_REFERENCE • DEPARTMENT • FREE_FORM_REFERENCE • GROUND_INTERNATIONAL • GROUND_SHIPMENT_ID • GROUP_MPS • INVOICE • JOB_GLOBAL_TRACKING_NUMBER • ORDER_GLOBAL_TRACKING_NUMBER • ORDER_TO_PAY_NUMBER • PARTNER_CARRIER_NUMBER • PART_NUMBER • PURCHASE_ORDER • RETURN_MATERIALS_AUTHORIZATION • RETURNED_TO_SHIPPER_TRACKING_NUMBER • TRACKING_CONTROL_NUMBER • TRACKING_NUMBER_OR_DOORTAG • TRANSPORTATION_CONTROL_NUMBER • SHIPPER_REFERENCE • STANDARD_MPS

(30)

Element Required Description

The corresponding value associated with the PackageIdentifier/Type is required. For example, if you track by SHIPPER_REFERENCE, you must enter the reference detail in the Value element.

TrackingNumberUnique Identifier No Required if a previous Track by Number reply indicates that duplicates exist. The previous reply returns summary information about available choices along with this element.

Duplicates: If you want to receive all tracking information for one of the items returned in the duplicate summary reply, in the next tracking request, include the tracking number and the information returned in the previous TrackingNumberUniqueIdentifier element.

ShipDateRangeBegin/ShipDateRangeEnd No Optional, but recommended. Required entry of date range to find desired results for reference tracking number. If not provided, FedEx defaults this value to a range that may not refine the search as needed.

• Begin must be < 730 days from current date . • Begin must be < = End date.

• End cannot be > current date + 1. • Range (End–Begin) must be < 30 days.

• Range (End–Begin) must be < = 90 (30-day range is applicable to Track by Reference option only). • Special rule for an Express Track by number request with a begin date > 90 days. The Begin–End range is

limited to 10 days.

ShipmentAccountNumber No If you choose to track by reference (using the PackageIdentifier element), you must either include the account number for the packages to be tracked or the Destination/Postal Code and Destination/CountryCode to further identify the packages you want to track.

Destination No Physical location (address) to which the package will be shipped.

IncludeDetailedScans No If FALSE (the default), the reply will contain summary/profile data including current status.

If TRUE, the reply will contain profile and detailed scan activity (multiple TrackDetail objects) for each package. PagingToken No If you receive an original tracking request that indicates duplicates exist, this element is required with the

TrackingNumberUniqueIdentifier element to request additional scan information. The information in this element is provided in the original reply request.

Element Description

TrackReply Elements

DuplicateWaybill This element is returned in the TrackService reply if duplicates exist.

In addition to standard reply elements, the following elements are returned in

To receive a tracking number, you must send another request and

include the TrackingNumberUniqueIdentifier and PagingToken

a successful TrackReply.

(31)

Element Description Element Elements Elements

ServiceCommitMessage EstimatedDeliveryTimestamp MoreData Returned if additional data exists for the track request. You may send

another request with the tracking number, tracking number unique CarrierCode ActualDeliveryTimestamp identifier (included in the original reply), and paging token (included

OtherIdentifiers DeliveryLocationCode\ in the original reply) to receive additional data.

DeliveryLocationDescription Value

PagingToken Returned if duplicate waybill or additional tracking data indicators are DeliverySignatureName Type

included in the reply. Required to request additional tracking data.

SignatureProofOfDeliveryAvailable ServiceInfo

TrackingNumber Tracking number associated with track information; this element is

ProofOfDeliveryNotificationsAvailable PackageWeight

also returned for Track by Reference requests.

ExceptionNotificationsAvailable Units

TrackingNumberUnique Returned if a duplicate waybill or tracking data indicators are

EventsTimestamp included in the reply. Required to request additional tracking data. Value

Identifier

EventType ShipmentWeight

ServiceCommitMessage Only applicable for H3 Express freight areas inbound to the U.S. since

EventDescription Units

additional days may be required for final delivery. For more

StatusExceptionCode

information, see theFedEx Service Guide. Value

StatusExceptionDescription ExpressRegionCode The FedEx Express region code where this transaction originated. Packaging

Valid values are: Address

PackageSequenceNumber

APAC: Asia and Pacific Rim City

PackageCount

CA: Canada StateOrProvinceCode

EstimatedPickupTimestamp

EMEA: Europe, Middle East, and Africa PostalCode

ShipTimestamp

LAC: Latin America and Caribbean UrbanizationCode

DestinationAddress

US: United States CountryCode

City

Residential StateOrProvinceCode

In addition to these reply elements, the following informational elements are

also returned:

Note: These elements provide further identification of the package in the TrackService reply.

Tracking Scans

Element Elements Elements

Refer to the following Tracking Status Codes table for definitions of tracking

TrackReply/ TrackingNumber PostalCode (string): null

TrackDetails TrackingNumberUniqueIdentifier UrbanizationCode

scan codes:

StatusCode CountryCode

(32)

Code Definition Code Definition

Service Details

AA At Airport EO Enroute to Origin Airport

To view detailed SPOD information, include the 9-digit FedEx account

AD At Delivery EP Enroute to Pickup

number in the SPOD FAX or letter request.

AF At FedEx Facility FD At FedEx Destination

If an account number is not provided, or if it does not match the shipper

AP At Pickup HL Hold at Location

or payer, then only summary SPOD information will be provided.

CA Shipment Canceled IT In Transit

If an SPOD letter is requested, it will be returned in PDF format that can

be printed, browsed, or emailed.

CH Location Changed LO Left Origin

An SPOD FAX request will request a FAX format of the SPOD to be sent

DE Delivery Exception OC Order Created

to a specific FAX number.

DL Delivered OD Out for Delivery

There is no charge for SPOD.

DP Departed FedEx Location PF Plane in Flight

For more detailed information about the services offered by FedEx, see the

DR Vehicle Furnished, Not Used PL Plane Landed

electronic

FedEx Service Guide.

DS Vehicle dispatched PU Picked Up

SPODLetterRequest Elements

DY Delay RS Return to Shipper

EA Enroute to Airport delay SE Shipment Exception

Use this request if the SPOD should be sent as a letter.

ED Enroute to Delivery SF At Sort Facility

In addition to basic elements required for all transactions, the following

elements make up the SPODLetterRequest.

EO Enroute to Origin airport SP Split status - multiple statuses

EP Enroute to Pickup TR Transfer

Element Required Description

TrackingNumber Yes Shipment tracking number.

Signature Proof of Delivery (SPOD)

ShipDate No Date on which package was shipped.

To confirm a shipment has been received and signed for, you can use the

AccountNumber No Account number associated with the shipment.

SPOD request FAX or letter function of the TrackService WSDL. With this

Carrier FedEx service that delivered the package.

feature, you can request a letter that includes a graphic of the recipient’s

Destination Only country is used for elimination of duplicate tracking

signature for FedEx Express and FedEx Ground shipments.

numbers.

AdditionalComments No Any additional information.

LetterFormat Yes Specify the letter format. Must be included when type is set to Letter.

References

Related documents

Ground Alaska Package Services $31.50 per package $34.50 per package FedEx Home Delivery® (Residential) $4.30 per package $4.80 per package Delivery Area Surcharge.. (continued)

The great breeders and declaration war front from the better than average interest from such an influential sire success shone a sire prospects that are all fronts Again last

Track from Shipping History Track FedEx Express and FedEx Ground shipments that meet the criteria you enter, such as a starting and ending date, reference information, company

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

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