electronic trade documents - fedex€¦ · about this guide this guide describes how to integrate...

70
2013 Electronic Trade Documents

Upload: doantu

Post on 21-Jul-2018

240 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

2013

Electronic Trade Documents

Page 2: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

Legal and Copyright Notices

Payment Confidential and ProprietaryYou must remit payment in accordance with the FedEx Service Guide, tariff, The information contained in this guide is confidential and proprietary toservice agreement or other terms or instructions provided to you by FedEx FedEx Corporate Services, Inc. and its affiliates (collectively “FedEx”). No partfrom time to time. You may not withhold payment on any shipments because of this guide may be distributed or disclosed in any form to any third partyof equipment failure or for the failure of FedEx to repair or replace any without written permission of FedEx. This guide is provided to you and its useequipment. 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.Inaccurate Invoices Any conflict between this guide, the FedEx Automation Agreement and the

FedEx Service Guide shall be governed by the FedEx Automation AgreementIf you generate an inaccurate invoice, FedEx® may bill or refund to you theand the FedEx Service Guide, in that order.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 © 2012 - 2013 FedEx. FedEx and the FedEx logo are registered service marks.request for refund on a FedEx shipment must be made in accordance with the All rights reserved. Unpublished.applicable Service Guide or terms or instructions provided by FedEx from time

Disclaimerto time. A shipment given to FedEx with incorrect information is not eligiblefor refund under any FedEx money-back guarantee. FedEx may suspend any All Improper Transaction scenarios are for example only. They do not reflectapplicable money-back guarantee in the event of equipment failure or if it all error condition scenarios.becomes inoperative.

FedEx Web Services, Electronic Trade Documents 2

Page 3: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

Contents

Implementation Process ................................................................................ 15About This Guide ............................................................................ 5Document Organization ................................................................................... 6 2 FedEx Electronic Trade Documents/UploadResources ........................................................................................................ 6

Document Service .................................................................... 19Support ............................................................................................................ 6

FedEx ETD Details ......................................................................................... 20

1 Introduction ................................................................................. 7 3 Upload Images .......................................................................... 23Document Overview ........................................................................................ 8

Upload Image Service Details ...................................................................... 24Printing All or Part of This Guide ................................................................... 9Web Services, WSDL, and SOAP Overview .................................................. 9 4 Shipping Document Service ................................................... 25Implementing FedEx Web Services .............................................................. 14 Shipping Document Service Details ............................................................. 26Understanding the XML Schema ................................................................. 15

FedEx Web Services, Electronic Trade Documents 3

Page 4: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

Tables

Table 1. Electronic Trade Documents Request Elements ............................ 20 Table 8. Commerical Invoice Elements ........................................................ 27Table 2. Electronic Trade Documents Reply Elements ................................ 21 Table 9. NAFTA Certificate of Origin Elements ........................................... 29Table 3. Electronic Trade Documents Request Elements ............................ 21 Table 10. OP-900 Elements ............................................................................. 32Table 4. Electronic Trade Documents Reply Elements ................................ 22 Table 11. Dangerous Goods Shippers Declaration Elements ........................ 33Table 5. UploadImage Request Elements .................................................... 24 Table 12. Pro Forma Invoice Elements ........................................................... 34Table 6. UploadImage Reply Elements ......................................................... 24 Table 13. Freight Address Label Elements ..................................................... 35Table 7. Certificate of Origin Elements ........................................................ 26

FedEx Web Services, Electronic Trade Documents 4

Page 5: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

About This Guide

Document Organization Resources

Support

Page 6: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

About This Guide

This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: www.xml.com

It is written for the application developer who uses web services to design • Secure Socket Layer Certificates: fedex.com/us/developer/downloads/and deploy applications enabled by FedEx. It describes how to get started dev_cert.zipwith application development and how to use the Application Programming • Web Services organization home page: www.web-services.orgInterface (API). It also describes each available service in addition to thebusiness logic that drives each FedEx process. Support

• Contact FedEx Web Services technical support atDocument [email protected].

Each web service provides access to FedEx features. The service description• For technical support, call 1.877.339.2774 and state “API” at the voiceincludes service details and a full schema listing to facilitate application

prompt.development.Support hours are Monday through Friday, 7:00 a.m. to 9:00 p.m. CST, andSaturday, 9:00 a.m. to 3:00 p.m. CST.Resources

• For FedEx Customer Service, call 1.800.GoFedEx 1.800.463.3339.• FedEx Services At-a-Glance: fedex.com/us/services Customers using a FedEx® Compatible Solutions Program automation• FedEx Service Guide available at fedex.com/us/service-guide solution should contact their software provider for support.• Microsoft Web Services: msdn.microsoft.com/en-us/library/ms950421.aspx

FedEx Web Services, Electronic Trade Documents 6

Page 7: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

1 Introduction

Document Overview Implementing FedEx Web Services

Printing All or Part of This Guide Understanding the XML Schema

Web Services, WSDL, and SOAP Overview Implementation Process

Page 8: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

Why should developers be interested in web services?FedEx Web Services gives you the tools to build custom platform- andinterface-independent applications that access FedEx features. You can use • Interoperability: Any web service can interact with any other webFedEx 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. Anycompany can use web services to streamline operations, improve visibility, connected device that supports these technologies can both host andand provide more choices to clients: access web services.• Give Customers More Options: Help customers learn about all the • Low Barrier to Entry: The concepts behind web services are easy to

available shipping options and rates with Ship Service WSDL, OpenShip understand, and developers can quickly create and deploy them usingWSDL, and Rate Services WSDL. You can also extend this service to your many toolkits available on the web.shopping cart and website, allowing customers to access money-saving

• Industry Support: Major content providers and vendors support the webinformation firsthand.services movement.

• More Convenience: Use the GlobalShipAddress Service WSDL to findAny application running on any platform can interact with a web service bythe FedEx pickup location nearest your customer. Or, send an email tousing the Simple Object Access Protocol (SOAP) and Web Servicesyour customers with a link to this service as part of your standard order-Description Language (WSDL) standards for message transfer and servicereceipt process.discovery. By following the standards, applications can seamlessly

• Offer Global Shipping Options: Create shipping labels for worldwide communicate with platform services.locations. Improve customer service by offering more shipping options tocustomers in more countries with the consolidated Ship Service WSDL.

Document Overview• Reduce Customer Service Costs: Decrease phone traffic fromThis guide provides instructions for coding the functions you need to developcustomers checking the status of their shipments and cut customer serviceFedEx supported applications. The following chapters make up this guide:costs. FedEx provides online Tracking and Visibility Services that allow you

to provide customers with the status of shipments, Signature Proof of • Introduction (this chapter):Delivery (SPOD), and Shipment Notification in the Ship Request.

– Documentation overview and guidelines, including how to use the Help• Simplify Processes and Improve Satisfaction: In addition to application and how to print this guide.

ExpressTagAvailability, provide a simple way to allow customers to return– Overview information about web services, including a high-levelan order with Email Labels. This service sends an email with the address

description of FedEx Web Services methods.(URL) of a website where the recipient can log in and print a return label.– Coding basics.

– Overview information about testing and certifying your application.

Each chapter covering FedEx Web Services coding includes:

FedEx Web Services, Electronic Trade Documents 8

Page 9: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

• Service Details: Business rules for using the FedEx service. Web services are, by definition, platform independent. FedEx Web Servicesallow developers to build custom applications that are independent of• Service Options: Links to additional services that can be added to thechanges to the FedEx interface.basic web service.Web Services are consumed by many different applications across many• Coding Details: Best practices information, basic request and replyplatforms. It is based on the basic principles that govern XML standards, oneelements, and a link to error messages.of which is how Namespaces can be declared and applied.

• XML Schema: A link to the layout for the service. This layout providesNamespaces are declared as an attribute of an element. It is not mandatorycoding requirements for all elements in the schema.to declare namespaces only at the root element; rather it could be declaredat any element in the XML document. The scope of a declared namespacePrinting All or Part of This Guide begins at the element where it is declared and applies to the entire contentof that element, unless overridden by another namespace declaration with theYou can print all or part of this guide from the PDF version.same prefix name, the content of an element is the content between the<opening-tag> and </closing-tag> of that element. So essentially, XMLPrinting from the PDF Versionnamespace declarations are scoped, meaning that the declared prefix (or

From the PDF version you can print the complete document or a page range default namespace) is in force for the element on which the declarationof the document. occurs (as well as its descendant elements). A namespace declared as

follows:1. Open the PDF file and click the printer icon or click File > Print.<v12:RateReply xmlns:v12="http://2. From the Print dialog box, print the complete document, specify a page

range, or choose from any of the available print options. is semantically same as

<RateReply xmlns="http://fedex.com/ws/rate/v12">Web Services, WSDL, and SOAP Overview or even (hypothetically) same asThis section describes the standard coding technologies used in FedEx Web <foo:RateReply xmlns:foo="http://fedex.com/ws/rate/v12">Services.

WSDLWeb Services

A SOAP request to, or response from, a service is generated according to theWeb services are a collection of programming technologies, including XML, service’s WSDL definition. A WSDL document describes a service. It is anWeb Services Description Language (WSDL), and SOAP, which allow you to XML document that provides information about what the service does, thebuild programming solutions for specific messaging and application methods that are available, their parameters, and parameter types. Itintegration.

FedEx Web Services, Electronic Trade Documents 9

Page 10: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

Element Definitiondescribes how to communicate with the service in order to generate arequest to, or decipher a response from, the service. Output Message - Data web services send

Fault Message - Error messages from web servicesThe purpose of a WSDL is to completely describe a web service to a client. AWSDL defines where the service is available and what communications <service> Contains a <port> child element that describes the URL where the service is

located. This is the location of the ultimate web service.protocol is used to talk to the service. It defines everything required to writea program to work with an XML web service. A WSDL document describes a <binding> Defines the message format and protocol details for each port. The binding

element has two attributes: the name attribute and the type attribute. Thisweb service using seven major elements. Elements can be abstract orelement specifies how the client and the web service should send messages toconcrete.one another.

Abstract XML elements describe the web service: <types>, <message>,<operation>, <portType>. Concrete XML elements provide connection details: Note: For more information about the WSDL standard, refer to the World Wide Web

Consortium (W3C) Website at w3.org/TR/wsdl.<service>, <port>, <binding>.

WSDL Elements SOAPElement Definition • Is a simple XML-based protocol that allows applications to exchange<definitions> The root element contains name space definitions. information over HTTP.<portType> The most important WSDL element. It is a set of all operations that a web service • Is built on open standards supported by numerous development tools on

can accept and is a container for <operation> elements. This WSDL element various platforms.describes a web service, the operations that can be performed, and the messagesthat are involved, and can be compared to a function library (or a module or a • Is a request interface object in your application programming language.class) in a traditional programming language.

• Provides a way to communicate between applications running on different<types> Defines variable types used in the web service (both the parameters passed to a operating systems, with different technologies and programmingfunction and the type of the value passed back via the response). The data types

languages.are described by XML schema. This element contains user-defined data types (inthe form of XML schema). For maximum platform neutrality, WSDL uses XML • Enables the data to pass through layers of intermediaries and arrive at theschema syntax to define data types.

ultimate receiver the way it was intended.<message> Defines the data elements of an operation. Each message can consist of one or

Note: You may not need to actually construct the SOAP messages yourself — manymore parts that can be compared to the parameters of a function call in adevelopment tools available today construct SOAP behind the scenes.traditional programming language.

<operation> Child of the <binding> element that defines each operation that the port exposes. SOAP MessageThis element allows only three messages:

A SOAP message is an XML document that can be a request for a webMessage - Definition

service from a client or a “reply” from a web service to a client.Input Message - Data web services receive

FedEx Web Services, Electronic Trade Documents 10

Page 11: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

<AccountNumber>xxxxxxxxx</Account number>• Required <SOAP:Envelope><MeterNumber>xxxxxx</MeterNumber>

• Optional <SOAP:Header> </ClientDetail>

• Required <SOAP:Body> <Version><ServiceId>ship</ServiceId>

Example: Delete Tag Request (SOAP Message) <Major>12</Major><Intermediate>0</Intermediate>

<SOAP-ENV:Envelope <Minor>0</Minor>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" </Version>xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" <DispatchLocationId>MQYA</DispatchLocationId>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <DispatchDate>2012-06-01</DispatchDate>xmlns:xsd="http://www.w3.org/2001/XMLSchema" <Payment>xmlns="http://fedex.com/ws/ship/v13"> <PaymentType>shipper</PaymentType>

<SOAP-ENV:Body> <Payor><DeleteTagRequest> <AccountNumber>xxxxxxxxx</AccountNumber><WebAuthenticationDetail> <CountryCode>US</CountryCode>

<UserCredential> </Payor><Key> </Payment>User Key <ConfirmationNumber>997037200019454</ConfirmationNumber></Key> </DeleteTagRequest>

<Password> </SOAP-ENV:Body>User Password </SOAP-ENV:Envelope></Password>

</UserCredential></WebAuthenticationDetail><Client detail>

Non-SOAP Web ServicesFedEx 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 webservices. This may be convenient for developers using environments that do not provide support for SOAP. With this interface, XML documents are sent directlyto the FedEx servers via the HTTP POST command. FedEx provides a set of specifications and examples to help with the development of this type ofcommunications 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 asecure SSL connection to FedEx and the ability to code to an operation interface using XML.

FedEx Web Services, Electronic Trade Documents 11

Page 12: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

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 theoperations. 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 thenon-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 interfacedoes 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.

<q0:LanguageCode>EN</q0:LanguageCode>Example Track Request<q0:LocaleCode>us</q0:LocaleCode>

</q0:Localization><q0:TrackRequest></q0:TransactionDetail><q0:WebAuthenticationDetail><q0:Version><q0:UserCredential>

<q0:ServiceId>trck</q0:ServiceId><q0:Key>xxxxxxxxxxxxxxxx</q0:Key><q0:Major>7</q0:Major><q0:Password/><q0:Intermediate>0</q0:Intermediate></q0:UserCredential><q0:Minor>0</q0:Minor></q0:WebAuthenticationDetail>

</q0:Version><q0:ClientDetail><q0:SelectionDetails><q0:AccountNumber>xxxxxxxxx</q0:AccountNumber>

<q0:CarrierCode>FDXE</q0:CarrierCode><q0:MeterNumber>xxxxxxxx</q0:MeterNumber><q0:PackageIdentifier><q0:IntegratorId/>

<q0:Type>TRACKING_NUMBER_OR_DOORTAG</q0:Type><q0:Localization><q0:Value>797843158299</q0:Value><q0:LanguageCode>EN</q0:LanguageCode>

</q0:PackageIdentifier><q0:LocaleCode>us</q0:LocaleCode></q0:SelectionDetails></q0:Localization>

</q0:ClientDetail><q0:ProcessingOptions>INCLUDE_DETAILED_SCANS</q0:ProcessingOptio<q0:TransactionDetail>ns>

</q0:TrackRequest><q0:CustomerTransactionId>Basic_TrackRequest_q0_Internal</q0:CustomerTransactionId>

<q0:Localization>

Error HandlingError handling for non-SOAP operations is different from error handling for SOAP operations. The SOAP specification provides an error handling mechanism thatis 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 faultare returned as an XML document. These SOAP fault documents are returned in situations such as schema validation failures or when operation types areunrecognized. In the following example, a SOAP fault document is returned from a schema validation failure in which the AccountNumber element wasincorrectly sent as the AccountNumberx element:

FedEx Web Services, Electronic Trade Documents 12

Page 13: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

<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 elementClientDetail@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, youmust decode labels before sending them to your printer.

FedEx Web Services, Electronic Trade Documents 13

Page 14: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

Non-SOAP HTTP POST ExampleThe 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.0Referrer: YourCompanyNameGoesHereHost: wsbeta.fedex.comPort: 443Accept: image/gif, image/jpeg, image/pjpeg, text/plain, text/html, */*Content-Type: image/gifContent-length: %dYour 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. TheFedEx 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 sendthe 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 wereencountered. If you received a 200 status code, parse the reply to determine if there were any processing problems.

• Unlike traditional client/server models, such as a web server or web pageVisual Basic Project Errorsystem, web services do not provide the user with a graphical user

You may receive an error indicating that an element is not set, even after interface (GUI). Instead, web services share business logic, data, andsetting it in the code. When you set a Boolean type element to true, you may processes through a programmatic interface across a network.also need to set the specified element to true.

• To perform a particular FedEx task such as tracking a package, you needto use a class, module, or function that creates your request, sends it toImplementing FedEx Web Services the FedEx platform, and handles the response.

Before you begin implementing FedEx Web Services, note the following • FedEx Web Services are designed to support any operating system andguidelines: coding language. Downloadable sample code is available in Java, C#, VB,

.Net and PHP languages from the FedEx Developer Resource Center• FedEx Web Services are designed for use by skilled developers who areTechnical Resources.familiar with the communication standards SOAP and Web Services

Description Language (WSDL).

FedEx Web Services, Electronic Trade Documents 14

Page 15: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

• Transactions submitted to FedEx using FedEx Web Services are required to • XML schema built-in simple types are prefixed by "xs:", which ishave a minimum of 128-bit encryption to complete the request. associated with the XML schema namespace through the declaration

xmlns:xs="http://www.w3.org/2001// XMLSchema", displayed in theschema element.Understanding the XML Schema

• The same prefix, and the same association, are also part of the names ofThe XML schema defines the messages that you can use to access the FedEx built-in simple types, such as xs:string. This association identifies theservices. You create a request that contains business data and other elements and simple types as belonging to the vocabulary of the XMLinstructions and you send it to FedEx. FedEx replies with a response that schema language, rather than the vocabulary of the schema author.contains the data resulting from the instructions you sent in.Note: The schema diagrams are conveniently linked to help you find information and child Guide to the XML Schemavalues.

The XML schema for each WSDL provides details about the structure,The XML schema provides a means for defining the structure, content, and content, and semantics of the request XML document sent to a FedEx Websemantics of XML documents. Service and the XML document returned by that FedEx Web Service.An XML schema defines: The top of each service schema includes:• Elements and attributes that can appear in a document • Schema location and schema file name that ends in an ".xsd" suffix.• Elements that are child elements • Alphabetical listing of complex types for the documented service.• Order and number of child elements • Alphabetical listing of schema simple types for the documented service.• Whether an element is empty or can include text • Input or request data type for the documented service.• Data types, default values, and fixed values for elements and attributes • Output or reply data type for the documented service.

Some important facts about the XML schema: The remainder of the service schema contains tables of information about• Elements that contain sub-elements or carry attributes have complex each element, complex type, and simple type.

types. Each table consists of some or all of the following sections: diagram,• Elements that contain numbers (and strings, and dates, etc.), but do not namespace, children, type, properties, used by, facets, and source.

contain any sub-elements, have simple types. Some elements haveattributes. Attributes always have simple types. Implementation Process

• Complex types in the instance document, and some of the simple types,Planning your integration and organizing your application data to address yourare defined in the schema associated with a FedEx Web Service. Othershipping needs can sometimes take more time than the actual implementationsimple types are defined as part of XML schema's repertoire of built-inof the integration. FedEx Web Services conform to industry standards and aresimple types.

FedEx Web Services, Electronic Trade Documents 15

Page 16: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

compatible with a comprehensive array of developers’ tools. This ensures the p.m. (CST). Both your FedEx sales executive and technical support can requestfastest time-to-market with maximum flexibility to integrate FedEx a WISC team member to contact you within 3 business days.transactions and information into your applications. FedEx WSDLs are fully Corporate developers may find that solutions to their needs have alreadyinteroperable with any product or developer’s tool that also conforms to the been implemented by a software vendor that is part of the FedEx®

WS-I Basic Profile. For details, see ws-i.org/Profiles/BasicProfile-1.1-2004-08- Compatible Solutions Program. If improved time-to-market, cost containment,24. or specialized knowledge is needed, corporate development planners mayTo obtain FedEx Web Services and begin integrating with an application, you want to review the available third-party solutions. To see a list of theneed to access documentation, sample code, and sample service requests and solutions provided by the CSP providers, go to the Available CSP Solutionsreplies with the WSDLs from the FedEx Developer Resource Center Technical page at http://www.fedex.com/us/compatible-solutions/customer/.Resources. Also, obtain a test meter number to engage in real-time onlinetesting in the FedEx hosted test environment. CertificationNote: Not all services are available outside the U.S. Certification is the process of ensuring that your implementation meets a

number of requirements for safe, secure, and effective operation of yourTesting solution in the FedEx production environment. Certification requirements differ

based on whether you are a corporate or commercial developer, and whetherFedEx supplies a complete online operating environment with which to testyou are implementing using the advanced or standard services.your applications against live FedEx servers. To execute test interactions, you

must first include a test account number, test meter number, authenticationGo To Productionkey, and password in your code. These credentials are provided to registered

developers. Once an application has passed certification, the developer must replace thetest credentials with the production credentials issued by FedEx. TheProduction credentials can be obtained prior to the certification process.application connection is then directed to the production servers, and theAdvanced services are not enabled, but standard services are enabled. Referapplication is live.to Preproduction Assistance for more information on support from FedEx.Once an application has completed the above mentioned process andPreproduction Assistancerequirements, FedEx will enable the provider’s CSP credentials for processing

Preproduction assistance is available via the FedEx Web Integrated Solutions all applicable services in the production environment. The URL needed toConsultation (WISC) team. If you are in the preproduction stages of direct the CSP application to the FedEx production servers will also beimplementing a FedEx web integrated solution and would like to speak with a provided. The provider would then need to obtain production User CredentialsFedEx integration consultant who can assist you in understanding FedEx Web (Register CSP User Service) and a production meter number (SubscribeServices, contact your FedEx sales executive or technical support at Service). Once this information has been obtained with the connection1.877.339.2774 Monday thru Friday, 7 a.m. to 9 p.m. and Saturday 9 a.m. to 3

FedEx Web Services, Electronic Trade Documents 16

Page 17: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

Requirements and Resources for Commercial Developersdirected to the production servers, the provider’s application is consideredlive. Commercial developers create solutions with the intent of distributing and/or

reselling them to their customers. Because they are deployed in a variety ofRequirements for Corporate and Non-Commercial Developerssituations, commercial integrations generally require a higher order of “fit and

There are some differences in how support is provided and in the approvals finish.” Commercial developers are responsible for supporting their productsrequired to go into production that depend on whether you are creating an for their customers. FedEx has a dedicated team of professionals to helpapplication for use by your own company or if you are planning to resell your developers commercialize their products and to coordinate the three-waysolution to others. interplay between the developer, the end customer, and FedEx.Requirements and Resources for Corporate Developers If you are a commercial developer interested in becoming a FedEx Compatible

Solutions Program provider, go to http://www.fedex.com/us/compatible-Corporate developers are typically part of a dedicated development team at asolutions/customer/ for more information about the FedEx Compatiblesingle company. This category also includes third-party developersSolutions Program (CSP).(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 URL Errorsdistributed outside of its own footprint. In this situation, FedEx can support

If a VB.NET or C# project still sends transactions to the test server afterthe customer directly.changing the URL in the WSDLs to print to production, perform the following:

Requirements and Resources for Corporate Developers • Make sure permissions are already activated in the productionenvironment.Must be accepted into the FedEx® Compatible Solutions Program (CSP) No

Self-certification of implementations using standard services Yes • Copy the WSDL files to a different folder.Self-certification of implementations using advanced services No • Follow the directions on changing the new WSDL files to point to

production, as described in the FedEx Developer Resource Center in theCertification assistance Yes (WISC team)“Move to Production” topic.

FedEx supports the customer directly Yes• Remove existing web services references from your project that point to

old WSDLs containing the URLs to the test environment.Requirements for Consultants• Create new web references that point to the modified WSDLs. Use theConsultants developing on behalf of a corporate customer must ensure that

same names as the old references.their client provides their account information and a signed End User LicenseAgreement (EULA) to FedEx to obtain a production test meter. • Compile and test the project. Your new production credentials should work

for standard web services, such as rating or tracking without extrapermissions. Advanced web services require permissions to be active

FedEx Web Services, Electronic Trade Documents 17

Page 18: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 11

Introduction

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

FedEx Web Services, Electronic Trade Documents 18

Page 19: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

2 FedEx Electronic TradeDocuments/Upload DocumentService

FedEx ETD Details

Page 20: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 22

FedEx Electronic Trade Documents/Upload Document Service

FedEx® Electronic Trade Documents (ETD) is an international shipping solution • FedEx Electronic Trade Documents does not accept shipments that includethat simplifies your international shipping needs. You can submit most of your dangerous goods, hazardous materials, or dry ice because they requiretrade documentation electronically and no longer have to print and attach that all paperwork physically accompany them.trade documents. Capturing and sharing critical trade information as early as • Each uploaded trade document cannot exceed 1 MB.possible optimizes the customs clearance process. Customs and other

• A maximum of 5 trade documents can be uploaded per transaction.agencies receive documents sent electronically faster than paper copies. YouFor more detailed information about the services offered by FedEx, see thehave two choices for using FedEx Electronic Trade Documents. You can eitherelectronic FedEx Service Guide.upload your own documents or let FedEx generate them for you (see Shipping

Document Service section for details on documents that FedEx can generate).UploadDocuments Request ElementsIf you use FedEx generated documents, you can provide the necessary

information as specified in the Shipping Document Service section and then The following Electronic Trade Documents request elements are availablespecify Electronic Trade Documents as a special service in your ship request. from the UploadDocuments WSDL:If you also want to receive copies of FedEx generated documents in the ship Table 1. Electronic Trade Documents Request Elementsreply, be sure to also specify RequestedDocumentCopies. If you are using

Element Descriptionyour own uploaded documents, FedEx Electronic Trade Documents requiresFedEx Web Services. First, you upload your trade documents (Commercial Documents/LineNumber Optional. Specify a positive integer value to sequence your

uploaded documents.Invoice, Certificate of Origin, etc.) using the UploadDocuments WSDL. WhenThis value is returned in reply but is not stored with youryou upload a document successfully, you receive a Document ID in the reply.document.Second, you create the FedEx shipment using the ShipService WSDL. You

Documents/CustomerReference Optional. Specify a string value to provide additionalindicate Electronic Trade Documents as a special service and reference theinformation about the uploaded document.Document ID for each uploaded document associated with your shipment.

Documents/DocumentType Required. Specify the type of document being uploaded. Validoptions are:FedEx ETD Details • COMMERCIAL_INVOICE

• CERTIFICATE_OF_ORIGIN• For the most current list of Electronic Trade Document-enabled countries,• NAFTA_CERTIFICATE_OF_ORIGINcheck FedEx website fedex.com/international/etd.• PRO_FORMA_INVOICE

Note: The server does not limit ETD requests to only the countries that are supported.• OTHERIt's up to the programmer to limit the countries that use this service to only the countries

that allow it. Documents/FileName Required. Specify the file name, such as CI.pdf, of thedocument to be uploaded.• Valid file types for uploaded documents are PDF, TXT, PNG, JPG, GIF,

Documents/Content Required. Provide the document to be uploaded as a Base64-BMP, TIF, RTF, DOC, and XLS. Before uploading documents, you mustencoded string.convert them to a Base64-encoded string.

FedEx Web Services, Electronic Trade Documents 20

Page 21: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 22

FedEx Electronic Trade Documents/Upload Document Service

Table 2. Electronic Trade Documents Reply Elements, continuedUploadDocuments Reply ElementsElement DescriptionThe following Electronic Trade Documents reply elements are available from

• ELECTRONIC_CLEARANCE_NOT_ALLOWED_ATthe UploadDocuments WSDL:_DESTINATION

Table 2. Electronic Trade Documents Reply Elements • ELECTRONIC_CLEARANCE_NOT_ALLOWED_AT _ORIGIN• UNABLE_TO_PROCESS_DOCUMENTElement Description• UPLOAD_NOT_ATTEMPTED

DocumentStatuses/LineNumber Returns the number (if any) specified in the UploadDocumentsDocumentStatuses/MessageReturn Returns additional information about specific results.request and returns a value of zero if none is specified. This

value is not stored with your document. DocumentStatuses/DocumentId Returns the Document ID you will need to reference whencreating your shipment with the ShipService WSDL.DocumentStatuses/ Returns the string (if any) specified in the UploadDocuments

CustomerReference request.

DocumentStatuses/DocumentProducer Returns CUSTOMER. ShipRequest ElementsDocumentStatuses/DocumentType Returns the type specified in the UploadDocuments request. The following Electronic Trade Documents request elements are availableDocumentStatuses/FileName Returns the file name specified in the UploadDocuments from the ShipService WSDL:

request.Table 3. Electronic Trade Documents Request Elements

DocumentStatuses/Status Returns the high-level results for the document upload.Element DescriptionValid values are:

ShipmentSpecialServicesRequested/ EtdDetail/ Optional• SUCCESSRequestedDocumentCopies• FAILURE Specify FedEx generated documents for which

you want copies returned.• ERROR

Valid values are:DocumentStatuses/StatusInfo Returns one or more of the following specific reasons forhigh-level results: • COMMERCIAL_INVOICE

• DOCUMENT_CONTENT_FAILED_VIRUS_CHECK • CERTIFICATE_OF_ORIGIN• DOCUMENT_CONTENT_MISSING • NAFTA_CERTIFICATE_OF_ORIGIN• DOCUMENT_FILE_NAME_MISSING • PRO_FORMA_INVOICE• DOCUMENT_FORMAT_NOT_SUPPORTED • GENERAL_AGENCY_AGREEMENT• DOCUMENT_ID_INVALID

CustomsClearanceDetail Customs clearance data, used for both• DOCUMENT_ID_MISSING international and intra-country shipping.• DOCUMENT_TYPE_INVALID• DOCUMENT_TYPE_MISSING• DOCUMENT_TYPE_NOT_ALLOWED_FOR_ETD

FedEx Web Services, Electronic Trade Documents 21

Page 22: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 22

FedEx Electronic Trade Documents/Upload Document Service

Table 3. Electronic Trade Documents Request Elements, continued Table 4. Electronic Trade Documents Reply Elements

Element DescriptionElement Description

CompletedEtdDetail/ Returns the number (if any) specified in the ProcessShipmentDocumentReferences/LineNumber Optional. Specify a positive integer value toUploadDocumentReferenceDetails/ request or returns a value of zero if none is specified. Thissequence your uploaded documents. This value isLineNumber value is not stored with your document.not stored with your document.

CompletedEtdDetail/ Returns the string (if any) specified in the ProcessShipmentDocumentReferences/CustomerReference Optional. Specify a string value to provideUploadDocumentReferenceDetails/ request.additional information about the uploadedCustomerReferencedocument. Use this option to change the

CustomerReference specified during documentCompletedEtdDetail/ Returns the value (if any) specified in the ProcessShipmentupload.UploadDocumentReferenceDetails/ request for the uploaded documents in addition to otherDocumentProducer values for FedEx generated documents such as shippingDocumentReferences/DocumentProducer Reserved. This element is reserved for future use

labels. This element is reserved for future use and should notand should not be specified.be specified in the ProcessShipment requests.

DocumentReferences/DocumentType Optional. Specify the type of uploaded document.CompletedEtdDetail/ Returns the type of document (if any) specified in theValid values are:UploadDocumentReferenceDetails/ ProcessShipment request.

• COMMERCIAL_INVOICE DocumentType• CERTIFICATE_OF_ORIGIN

CompletedEtdDetail/ Returns the value specified in the ProcessShipment request• NAFTA_CERTIFICATE_OF_ORIGIN UploadDocumentReferenceDetails/ for your uploaded documents in addition to other values for• PRO_FORMA_INVOICE DocumentId FedEx generated documents such as shipping labels.• OTHER

CompletedEtdDetail/ Returns the value (if any) specified in the ProcessShipmentUse this element to change the DocumentType UploadDocumentReferenceDetails/ request for your uploaded documents. This element isspecified during document upload. DocumentIdProducer reserved for future use and should not be specified in the

ProcessShipment requests.DocumentReferences/DocumentIDProducer Reserved. This element is reserved for future useand should not be specified. CustomsClearanceDetail Customs clearance data, used for both international and

intra-country shipping.

ShipReply ElementsError MessagesThe following Electronic Trade Documents reply elements are returned fromFor error messages, see the Error Code Messages section of the Webthe ShipService WSDL:Services Developer Guide.

FedEx Web Services, Electronic Trade Documents 22

Page 23: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

3 Upload Images

Upload Image Service Details

Page 24: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 33

Upload Images

Table 5. UploadImage Request Elements, continuedFedEx Web Services enables you to upload signature and letterhead imagesto be inserted on FedEx generated shipping documents. See the Shipping

Element DescriptionDocument Service section for more information.

Images/Image Provide GIF, PNG, JPG, or PDF image encoded as Base64 string.

Upload Image Service Details UploadImage Reply ElementsYou can upload up to five different images for future use. If you upload an

The following elements are available from the UploadDocuments WSDL:image to a slot where you previously uploaded an image, the new imageoverwrites the old image. The maximum size of an image can only be 700 Table 6. UploadImage Reply Elementspixels wide by 50 pixels tall.

Element DescriptionFor more detailed information about the services offered by FedEx, see the

ImageStatuses/Id Returns value for the slot where you uploaded the image.electronic FedEx Service Guide.

UploadImageStatusType Returns status as SUCCESS or ERROR.

ImageStatuses/StatusInfo Returns applicable error messages:UploadImage Request Elements• IMAGE_EXCEEDS_MAX_RESOLUTION

The following elements are available from the UploadDocuments WSDL: • IMAGE_EXCEEDS_MAX_SIZE• IMAGE_FAILED_VIRUS_CHECKTable 5. UploadImage Request Elements• IMAGE_ID_INVALID

Element Description• IMAGE_ID_MISSING

Images/Id Specify slot to store uploaded image. Valid values are: • IMAGE_MISSING• IMAGE_1 • IMAGE_TYPE_INVALID• IMAGE_2 • IMAGE_TYPE_MISSING• IMAGE_3• IMAGE_4• IMAGE_5

FedEx Web Services, Electronic Trade Documents 24

Page 25: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

4 Shipping Document Service

Shipping Document Service Details

Page 26: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

FedEx Web Services can save you time and help optimize your shipping by For more detailed information about the services offered by FedEx, see thecreating many shipping documents for you. You will need to submit the electronic FedEx Service Guide.required data elements in your Ship requests, including signature and/orletterhead images if desired. Before you can attach images, you must upload ShippingDocuments Elementsthem (see Chapter 3: Upload Images on page 23). FedEx Web Services will The following request elements are available from the ShipService WSDL.then create the shipping documents and return them in your Ship replies as

Include the following elements to produce a Certificate of Origin:Base64-encoded strings. You can also request that most shipping documentsbe sent electronically (see Chapter 2: FedEx Electronic Trade Documents/ Certificate of OriginUpload Document Service on page 19) instead of printing and attaching them

Table 7. Certificate of Origin Elementsto your shipments.

Element Required Descriptionor OptionalShipping Document Service Details

CreatePendingShipmentRequest/ Required Specify CERTIFICATE_OF_ORIGIN.FedEx Web Services can create the following types of shipping documents: RequestedShipment/ShippingDocumentSpecification/• Certificate of OriginShippingDocumentType

• Commercial InvoiceShippingDocumentSpecification/ Optional The instructions indicating how to print the

• Customer Specified Labels CertificateOfOrigin Certificate of Origin, such as whether or not toinclude the instructions, image types, and so• Custom Package Document on.

• Custom Shipment Document ShippingDocumentSpecification/ Optional Specifies characteristics of a shippingCertificateOfOrigin/DocumentFormat document to be produced. ImageType and• Shipper's Declaration for Dangerous Goods Form 1421C

StockType are required. Other elements areoptional.• Export Declaration

ShippingDocumentSpecification/ Optional Specifies the usage and identification of• FedEx Freight Address LabelCertificateOfOrigin/ customer supplied images to be used on this

• General Agency Agreement (GAA) CustomerImageUsages document. Specify image of type SIGNATUREto include on your document.• Labels

RequestedShipment/ Optional The types of all special services requested for• NAFTA Certificate of OriginSpecialServicesRequested the enclosing shipment (or other shipment-ShipmentSpecialServicesRequested/ level transaction). Specify• OP-900 (Required for shipping hazardous materials with FedEx Ground®)ShipmentSpecialServiceType ELECTRONIC_TRADE_DOCUMENTS to send

• Pro Forma Invoice this document electronically.

• Return Instructions

FedEx Web Services, Electronic Trade Documents 26

Page 27: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 7. Certificate of Origin Elements, continued Table 8. Commerical Invoice Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

SpecialServicesRequested/EtdDetail/ Optional Specify CERTIFICATE_OF_ORIGIN if you want CustomsClearanceDetail/ Optional Specify Importer of Record information ifRequestedDocumentCopies to send this document electronically and also ImporterOfRecord different from Recipient.

receive a copy of this document in reply.CustomsClearanceDetail/CustomsValue Optional Specify customs value for your entire

SpecialServicesRequested/Detail/ Optional Customer reference to the uploaded shipment.DocumentReferences document(s).

CustomsClearanceDetail/ Optional Specify insurance charges if applicable.RequestedShipment/ Complete and accurate description of this InsuranceCharges Note: FedEx does not provide insurance ofCustomsClearanceDetail/Commodities/ commodity. any kind.Description

CustomsClearanceDetail/ Optional Specify if parties to transactions are related.PartiesToTransactionAreRelated Valid values are:Commercial Invoice

TRUEInclude the following elements to produce a Commercial Invoice:

FALSETable 8. Commerical Invoice Elements CustomsClearanceDetail/ Optional Any comments that need to be communicated

CommercialInvoice/Comments about this shipment.Element Required Descriptionor Optional CustomsClearanceDetail/ Optional Specify freight charges.

CommercialInvoice/ FreightChargeCreatePendingShipmentRequest/ Optional Specify Shipper tax identification number andRequestedShipment/Shipper/Tins type. CustomsClearanceDetail/ Optional Specify total taxes and/or any miscellaneous

CommercialInvoice/ charges.RequestedShipment/Recipient/Tins Optional Specify Recipient tax identification numberTaxesOrMiscellaneousChargeand type if known.CustomsClearanceDetail / Optional Specify packing costs.RequestedShipment/ Optional Specify ELECTRONIC_TRADE_DOCUMENTS toCommercialInvoice/PackingCostsSpecialServicesRequested send this document electronically.

ShipmentSpecialServicesRequested/ CustomsClearanceDetail/ Optional Specify handling costs.SpecialServicesTypes CommercialInvoice/HandlingCosts

RequestedShipment/ Optional Specify COMMERCIAL_INVOICE if you want CustomsClearanceDetail/ Optional Specify special instructions.SpecialServicesRequested to send this document electronically and also CommercialInvoice/SpecialInstructions Note: Values specified for theShipmentSpecialServicesRequested/ receive a copy of this document in reply.

CUSTOMER_REFERENCE element may alsoEtdDetail/ RequestedDocumentCopies appear as special instructions.RequestedShipment/ Optional Specify Broker information only if you areCustomsClearanceDetail/Brokers using Broker Select Option for your shipment.

FedEx Web Services, Electronic Trade Documents 27

Page 28: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 8. Commerical Invoice Elements, continued Table 8. Commerical Invoice Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

CustomsClearanceDetail/ Optional Free-form text. CustomsClearanceDetail/Commodities/ Optional Specify name of the commodity.CommercialInvoice/ NameDeclarationStatement

CustomsClearanceDetail/Commodities/ Required Specify number of pieces for the commodity.CustomsClearanceDetail/ Optional Specify payment terms. NumberOfPiecesCommercialInvoice/PaymentTerms

CustomsClearanceDetail/Commodities/ Optional Specify description of the commodity.CustomsClearanceDetail/ Optional Specify purpose of shipment. Valid values DescriptionCommercialInvoice/Purpose are:

CustomsClearanceDetail/Commodities/ Required Specify country where commodity was• GIFT CountryOfManufacture manufactured.• NOT_SOLD

CustomsClearanceDetail/Commodities/ Optional Specify Harmonized Code for commodity.• PERSONAL_EFFECTSHarmonizedCode Refer to the FedEx® Global Trade Manager

• REPAIR_AND_RETURN for Harmonized Codes.• SAMPLE

CustomsClearanceDetail/Commodities/ Required Specify weight of commodity.• SOLDWeight

CustomsClearanceDetail/ Optional Customer assigned Invoice number.CustomsClearanceDetail/Commodities/ Optional Specify quantity of commodity.CommercialInvoice/QuantityCustomsInvoiceNumberCustomsClearanceDetail/Commodities/ Optional Unit of measure used to express the quantityCustomsClearanceDetail/ Optional Name of the International Expert thatQuantityUnits of this commodity line item.CommercialInvoice/OriginatorName completed the Commercial Invoice if different

from Sender. CustomsClearanceDetail/Commodities/ Optional Contains only additional quantitativeAdditionalMeasures information other than weight and quantity toCustomsClearanceDetail/ Optional Specify terms of sale. Valid values are:

calculate duties and taxes.CommercialInvoice/TermsOfSale • CFR_OR_CPTCustomsClearanceDetail/Commodities/ Optional Value of each unit in Quantity. Six explicit• CIF_OR_CIPUnitPrice decimal positions, Max length 18 including• DDP

decimal.• DDU

CustomsClearanceDetail/Commodities/ Optional Specify customs value for commodity.• DAPCustomsValue• DATCustomsClearanceDetail/Commodities/ Optional Defines additional characteristic of• EXWExciseConditions commodity used to calculate duties and• FOB_OR_FCA

taxes.

FedEx Web Services, Electronic Trade Documents 28

Page 29: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 8. Commerical Invoice Elements, continued Table 8. Commerical Invoice Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

CustomsClearanceDetail/Commodities/ Optional Applicable to U.S. export shipping only. ShippingDocumentSpecification/ Optional Specify image type of LETTER_HEAD and/orExportLicenseNumber CommercialInvoiceDetail/ SIGNATURE to include on the document.

CustomerImageUsagesCustomsClearanceDetail/Commodities/ Optional Date of expiration. Must be at least 1 dayExportLicenseExpirationDate into future. The date that the Commerce RequestedShipment/ Optional Specify P_O_NUMBER and/or

Export License expires. Export License RequestedPackageLineItems/ INVOICE_NUMBER.commodities may not be exported from the CustomerReferencesU.S. on an expired license. Applicable to U.S.shipping only. Required only if commodity is

NAFTA Certificate of Originshipped on commerce export license, andExport License Number is supplied. Include the following elements to produce a NAFTA Certificate of Origin:

CustomsClearanceDetail/Commodities/ Optional An identifying mark or number used on theTable 9. NAFTA Certificate of Origin ElementsCIMarksAndNumbers packaging of a shipment to help customers

identify a particular shipment.Element Required Description

or OptionalCustomsClearanceDetail/ExportDetail/ Optional Enter Automated Export System (AES) orExportComplianceStatement Foreign Trade Regulations (FTR) exemption.

CreatePendingShipmentRequest/ Optional Specify Shipper tax identification number andRequestedShipment/Shipper/Tins type.CustomsClearanceDetail/ExportDetail/ Optional This field is applicable only to Canada export

PermitNumber non-document shipments of any value to anyRequestedShipment/Recipient/Tins Optional Specify Recipient tax identification numberdestination. No special characters are

and type if known.allowed.RequestedShipment/ Optional Specify ELECTRONIC_TRADE_DOCUMENTS toCustomsClearanceDetail/ExportDetail/ Optional VERY IMPORTANT: Specify appropriateSpecialServicesRequested/ send this document electronically.DestinationControlDetail destination control statement type(s). ValidSpecialServicesTypesvalues are DEPARTMENT_OF_COMMERCE

and DEPARTMENT_OF_STATE. Be sure to RequestedShipment/ Optional Specify NAFTA_CERTIFICATE_OF_ORIGIN ifalso specify destination country and end user. SpecialServicesRequested/EtdDetail/ you want to send this document

RequestedDocumentCopies electronically and also receive a copy of thisRequestedShipment/ Required Specify COMMERCIAL_INVOICE.document in reply.ShippingDocumentSpecification/

ShippingDocumentType RequestedShipment/ Optional Specify Broker information only if you areCustomsClearanceDetail/Brokers using Broker Select Option for your shipment.ShippingDocumentSpecification/ Optional ImageType and StockType are required. Other

CommercialInvoiceDetail/ elements are optional. CustomsClearanceDetail/ Optional Specify Importer of Record information ifDocumentFormat ImporterofRecord different from Recipient.

FedEx Web Services, Electronic Trade Documents 29

Page 30: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 9. NAFTA Certificate of Origin Elements, continued Table 9. NAFTA Certificate of Origin Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

CustomsClearanceDetail/CustomsValue Optional Specify customs value for your entire CustomsClearanceDetail/Commodities/ Optional Value of each unit in Quantity. Six explicitshipment. UnitPrice decimal positions, Max length 18 including

decimal.CustomsClearanceDetail/ Optional Specify insurance charges if applicable.InsuranceCharges CustomsClearanceDetail/Commodities/ Optional Specify customs value for commodity.Note: FedEx does not provide insurance of

CustomsValueany kind.

CustomsClearanceDetail/Commodities/ Optional Defines additional characteristic ofCustomsClearanceDetail/ Optional Specify if parties to transactions are related.ExciseConditions commodity used to calculate duties andPartiesToTransactionAreRelated Valid values are: taxes.

TRUE CustomsClearanceDetail/Commodities/ Optional Applicable to U.S. export shipping only.FALSE ExportLicenseNumber

CustomsClearanceDetail/Commodities Optional Specify name of the commodity. CustomsClearanceDetail/Commodities/ Optional Date of expiration. Must be at least 1 dayExportLicenseExpirationDate into future. The date that the Commerce

CustomsClearanceDetail/Commodities/ Required Specify number of pieces for the commodity. Export License expires. Export LicenseNumberOfPieces commodities may not be exported from the

U.S. on an expired license. Applicable to U.S.CustomsClearanceDetail/Commodities/ Optional Specify description of the commodity.shipping only. Required only if commodity isDescriptionshipped on commerce export license, and

CustomsClearanceDetail/Commodities/ Required Specify country where commodity was Export License Number is supplied.CountryOfManufacture manufactured.

CustomsClearanceDetail/Commodities/ Optional An identifying mark or number used on theCustomsClearanceDetail/Commodities/ Optional Specify Harmonized Code for commodity. CIMarksAndNumbers packaging of a shipment to help customersHarmonizedCode Refer to the FedEx® Global Trade Manager identify a particular shipment.

for Harmonized Codes.CustomsClearanceDetail/Commodities/ Optional All data required for this commodity in

CustomsClearanceDetail/Commodities/ Required Specify weight of commodity. NaftaDetail NAFTA Certificate of Origin.Weight

CustomsClearanceDetail/Commodities/ Optional Specify preference criterion. Valid values are:CustomsClearanceDetail/Commodities/ Optional Specify quantity of commodity. NaftaDetail/PreferenceCriterion • AQuantity

• BCustomsClearanceDetail/Commodities/ Optional Unit of measure used to express the quantity • CQuantityUnits of this commodity line item.

• DCustomsClearanceDetail/Commodities/ Optional Contains only additional quantitative • EAdditionalMeasures information other than weight and quantity to • F

calculate duties and taxes.

FedEx Web Services, Electronic Trade Documents 30

Page 31: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 9. NAFTA Certificate of Origin Elements, continued Table 9. NAFTA Certificate of Origin Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

CustomsClearanceDetail/Commodities/ Optional Specify producer determination. Valid values RequestedShipment/ Required Specify NAFTA_CERTIFICATE_OF_ORIGIN.NaftaDetail/ProducerDetermination are: ShippingDocumentSpecification/

ShippingDocumentTypes• NO_1• NO_2 ShippingDocumentSpecification/ Optional Data required to produce a Certificate of

NaftaCertificateOfOriginDetail Origin document. Remaining content• NO_3(business data) to be defined once• YESrequirements have been completed.

CustomsClearanceDetail/Commodities/ Optional Specify producer ID.ShippingDocumentSpecification/ Optional ImageType and StockType are required. OtherNaftaDetail/ProducerIdNaftaCertificateOfOriginDetail/Format elements are optional.

CustomsClearanceDetail/Commodities/ Optional Specify net cost method. Valid values are:ShippingDocumentSpecification/ Optional Specify begin and end dates for blanketNaftaDetail/NetCostMethod • NCNaftaCertificateOfOriginDetail/ period.

• NO BlanketPeriodCustomsClearanceDetail/Commodities/ Optional Specify begin and end dates for net cost. ShippingDocumentSpecification/ Optional Specify importer specification.Valid valuesNaftaDetail/NetCostDateRange NaftaCertificateOfOriginDetail/ are:

ImporterSpecificationCustomsClearanceDetail/ExportDetail/ Optional Specifies which filing option is being • IMPORTER_OF_RECORDB13AFilingOption exercised by the customer. Required for non- • RECIPIENT

document shipments originating in Canada • UNKNOWNdestined for any country other than Canada,

• VARIOUSthe United States, Puerto Rico, or the U.S.Virgin Islands. ShippingDocumentSpecification/ Optional Contact information for “Authorized

NaftaCertificateOfOriginDetail/ Signature” area of form.CustomsClearanceDetail/ExportDetail/ Optional Enter Automated Export System (AES) orSignatureContactExportComplianceStatement Foreign Trade Regulations (FTR) exemption.ShippingDocumentSpecification/ Optional Specify producer specification. Valid valuesCustomsClearanceDetail/ExportDetail/ Optional This field is applicable only to Canada exportNaftaCertificateOfOriginDetail/ are:PermitNumber non-document shipments of any value to anyProducerSpecification • AVAILABLE_UPON_REQUESTdestination. No special characters are

allowed. • MULTIPLE_SPECIFIED• SAMECustomsClearanceDetail/ExportDetail/ Optional VERY IMPORTANT: Specify appropriate• SINGLE_SPECIFIEDDestinationControlDetail destination control statement type(s). Valid

values are DEPARTMENT_OF_COMMERCE • UNKNOWNand DEPARTMENT_OF_STATE. Be sure toalso specify destination country and end user.

FedEx Web Services, Electronic Trade Documents 31

Page 32: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 9. NAFTA Certificate of Origin Elements, continued Table 10. OP-900 Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

ShippingDocumentSpecification/ Optional Specify producer(s), including contact Op900Detail/CustomerImageUsages Optional Specifies the usage and identification ofNaftaCertificateOfOriginDetail/ company, and tax identification information. customer supplied images to be used on thisProducers document.

ShippingDocumentSpecification/ Optional Specify image of type SIGNATURE to include Op900Detail/SignatureName Optional Data field to be used when a name is to beNaftaCertificateOfOriginDetail/ on the document. printed in the document instead of (or inCustomerImageUsages addition to) a signature image.

RequestedShipment/ConfigurationData Optional Specifies the data that is common todangerous goods packages in the shipment.OP-900This is populated when the shipment

Include the following elements to produce an OP-900 form: contains packages with identical dangerousgoods commodities.

Table 10. OP-900 ElementsRequestedPackageLineItems/ Optional Specify DANGEROUS_GOODS.

Element Required Description SpecialServicesRequested/or Optional SpecialServicesTypes

RequestedShipment/ Optional Content data used to create additional (non- RequestedPackageLineItems/ Optional The descriptive data required for a FedExShippingDocumentSpecification label) shipping documents. SpecialServicesRequested/ shipment containing dangerous goods

DangerousGoodsDetail (hazardous materials).ShippingDocumentSpecification/ Required Specify OP_900.ShippingDocumentTypes DangerousGoodsDetail/Options Optional Indicates which kinds of hazardous content

are in the current package. SpecifyShippingDocumentSpecification/ Optional Specifies the production of the OP-900 HAZARDOUS_MATERIALS.Op900Detail document for hazardous materials packages.

DangerousGoodsDetail/Containers Optional Describes an approved container used toOp900Detail/Format Optional Specify ImageType of PDF and StockType of package dangerous goods commodities. Thsi

OP_900_LLB, or ImageType of Text and does not describe any individual innerStockType of OP_900_LGB. Other elements receptacles that may be within this container.are optional.

Containers DangerousGoodsContainers/ Optional Indicates whether there are additional innerOp900Detail/Reference Optional Identifies which reference type (from the PackingType receptacles within this container.

package’s customer reference) is to be usedas the source for the references on this OP- Containers DangerousGoodsContainers/ Optional Documents the kinds and quantities of all900. HazardousCommodities hazardous commodities in the current

container.

FedEx Web Services, Electronic Trade Documents 32

Page 33: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 10. OP-900 Elements, continued Shipper's Declaration for Dangerous Goods ElementsElement Required Description Include the following elements to produce a Shipper's Declaration for

or Optional Dangerous Goods form:HazardousCommodities/Description Optional Identifies and describes an individual Table 11. Dangerous Goods Shippers Declaration Elements

hazardous commodity.

Element Required DescriptionDescription/Id Optional Specify UN ID for commodity.or Optional

Description/PackingGroup Optional Specify packing group. Valid values are:RequestedShipment/ Optional Content data used to create

DEFAULT ShippingDocumentSpecification additional (non-label) shippingdocuments.I

II ShippingDocumentSpecification/ Required Specify DANGEROUS_GOODS_ShippingDocumentTypes SHIPPERS_ DECLARATION.III

ShippingDocumentSpecification/ Optional The instructions indicting how toDescription/ProperShippingName Optional Specify DOT proper shipping name forDangerousGoodsShippersDeclarationDetail print the 1421C form forcommodity.

dangerous goods shipment.Description/TechnicalName Optional Specify the technical name for the hazardous

DangerousGoodsShippersDeclarationDetail/Format Optional Specifies characteristics of acommodity.shipping document to be

Description/HazardClass Optional Specify hazard class for commodity. produced.

Description/SubsidiaryClasses Optional Specify the subsidiary class of the hazardous DangerousGoodsShippersDeclarationDetail/ Optional Specifies the usage andmaterial. CustomerImageUsages identification of customer

supplied images to be used onDescription/LabelText Optional Specify the text for the label.

this document.DangerousGoodsDetail/Packaging Optional Specify packaging.

RequestedShipment/ConfigurationData Optional Specifies the data that is commonto dangerous goods packages inDangerousGoodsDetail/ Optional Specify emergency contact telephone number.the shipment. This is populatedEmergencyContactNumberwhen the shipment contains

DangerousGoodsDetail/Offeror Optional Specify shipper name (offeror) or contact packages with identicalnumber. Required on all shipping papers, dangerous goods commodities.including OP900LL, OP900LG forms, and

RequestedPackageLineItems/ Optional Specify DANGEROUS_GOODS.Hazardous Materials Certification per DOTSpecialServicesRequested/SpecialServicesTypesregulation.

RequestedPackageLineItems/ Optional The descriptive data required forSpecialServicesRequested/DangerousGoodsDetail a FedEx shipment containing

dangerous goods (hazardousmaterials).

FedEx Web Services, Electronic Trade Documents 33

Page 34: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 11. Dangerous Goods Shippers Declaration Elements, continued Table 11. Dangerous Goods Shippers Declaration Elements, continued

Element Required Description Element Required Descriptionor Optional or Optional

DangerousGoodsDetail/Options Optional Indicates which kinds of Description/TechnicalName Optional Specify the technical name for thehazardous content are in the hazardous commodity.current package. Specify

Description/HazardClass Optional Specify hazard class forHAZARDOUS_MATERIALS.commodity.

DangerousGoodsDetail/Containers Optional Describes an approved containerDescription/SubsidiaryClasses Optional Specify the subsidiary class of theused to package dangerous goods

hazardous material.commodities. This does notdescribe any individual inner Description/LabelText Optional Specify the text for the label.receptacles that may be within

DangerousGoodsDetail/Packaging Optional Specify packaging.this container.

DangerousGoodsDetail/EmergencyContactNumber Optional Specify emergency contactContainers/PackingType Optional Indicates whether there aretelephone number.additional inner receptacles

within this container. DangerousGoodsDetail/Offeror Optional Specify shipper name (offeror) orcontact number. Required on allContainers/HazardousCommodites Optional Documents the kinds andshipping papers, includingquantities of all hazardousOP900LL, OP900LG forms, andcommodities in the currentHazardous Materials Certificationcontainer.per DOT regulation.

HazardousCommodites/Description Optional Identifies and describes anindividual hazardous commodity.

Pro Forma InvoiceDescription/Id Optional Specify UN ID for commodity.

Include the following elements to produce a Pro Forma Invoice:Description/PackingGroup Optional Specify packing group. Validvalues are: Table 12. Pro Forma Invoice ElementsDEFAULT

Element DescriptionI

ShippingDocumentSpecification/ Specify PRO_FORMA_INVOICE.IIShippingDocumentType

IIISpecialServicesRequested/ Specify ELECTRONIC_TRADE_DOCUMENTS to send

Description/ProperShippingName Optional Specify DOT proper shipping SpecialServicesTypes this document electronically.name for commodity.

SpecialServicesRequested/EtdDetail/ Specify PRO_FORMA_INVOICE to send this documentRequestedDocumentCopies electronically.

FedEx Web Services, Electronic Trade Documents 34

Page 35: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Table 12. Pro Forma Invoice Elements, continued Table 12. Pro Forma Invoice Elements, continued

Element Description Element Description

CustomsClearanceDetail/ImporterOfRecord Specify Importer of Record information if different CustomsClearanceDetail/Commodities/ Specify quantity of commodity.from Recipient. Quantity

CustomsClearanceDetail/CustomsValue Specify customs value for your entire shipment. CustomsClearanceDetail/Commodities/ Specify customs value for commodity.CustomsValue

CustomsClearanceDetail/CommercialInvoice/ Specify purpose of shipment. Valid values are:Purpose ShippingDocumentSpecification/ ImageType and StockType are required. Other• GIFT

CommercialInvoiceDetail/ DocumentFormat elements are optional.• NOT_SOLDShippingDocumentSpecification/ Specify image of type LETTER_HEAD and/or• PERSONAL_EFFECTSCommercialInvoiceDetail/ SIGNATURE to include on the document.• REPAIR_AND_RETURNCustomerImageUsages• SAMPLERequestedPackageLineItems/ Specify P_O_NUMBER to include a purchase order• SOLDCustomerReferences number. Specify CUSTOMER_REFERENCE to include

CustomsClearanceDetail/CommercialInvoice/ Specify terms of sale. Valid values are: special instructions.TermsOfSale • CFR_OR_CPT

• CIF_OR_CIPFreight Address Label• DDP

• DDU Include the following elements to produce a Freight Address Label:• DAP

Table 13. Freight Address Label Elements• DAT• EXW Element Description• FOB_OR_FCA ShippingDocumentSpecification/ Specify FREIGHT_ADDRESS_LABEL.

ShippingDocumentTypeCustomsClearanceDetail/Commodities/Name Specify name of commodity. Note: Type OUTBOUND_LABEL is the enumeratorused to indicate the Bill of Lading, for both UniformCustomsClearanceDetail/Commodities/ Specify number of pieces for commodity.and VICS formats.NumberOfPieces

ShippingDocumentSpecification/ Specifies the details on the Freight Address Label.CustomsClearanceDetail/Commodities/ Specify description of commodity.ShippingDocumentType/DescriptionFreightAddressLabelDetail/

CustomsClearanceDetail/Commodities/ Specify country where commodity was manufactured.FreightAddressLabelDetail/Format/ Lists the correct type of paper for the Freight addressCountryOfManufactureShippingDocumentFormat/StockType label option.

CustomsClearanceDetail/Commodities/ Specify Harmonized Code for commodity. Refer to the Specify valid value:HarmonizedCode FedEx Global Trade Manager for Harmonized Codes.

• PAPER_4_PER_PAGE_PORTRAITCustomsClearanceDetail/Commodities/Weight Specify weight of commodity.

FedEx Web Services, Electronic Trade Documents 35

Page 36: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

ChapterChapter 44

Shipping Document Service

Error MessagesFor error messages, see the Error Code Messages section of the WebServices Developer Guide.

FedEx Web Services, Electronic Trade Documents 36

Page 37: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

Index

testing 1616 implementing 1414C Ointroduction overview 99

certifying Web Services 1616 overview 88certification 1616 Non-SOAP 1111Web Services, WSDL, and SOAP 99document overview 88 production 1616D go to production 1616 testing 1616Tdocument implementation testing 1616 XML schema 1515

overview 88 testing Web Services 1616implementing Web Services 1414 WSDLWeb Services, WSDL, and understanding XML schema 1515 overview 99

SOAP 99 UWeb Services, WSDL, and SOAPoverview 99 Xunderstanding XML schema 1515

I XML schema 1515Nimplementing Web Services 1414 W

certification 1616 non-SOAP Web Services 1111 Web Services 99production 1616 certification 1616

FedEx Web Services, Electronic Trade Documents 37

Page 38: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

Schema UploadDocumentService_v1.xsd

targetNamespace: http://fedex.com/ws/uploaddocument/v1 Elements Complex types Simple types UploadDocumentsReply ClientDetail ImageId UploadDocumentsRequest ImageUploadStatusDetail NotificationSeverityType UploadImagesReply Localization UploadDocumentIdProducer UploadImagesRequest Notification UploadDocumentProducerType NotificationParameter UploadDocumentStatusInfoType TransactionDetail UploadDocumentStatusType UploadDocumentDetail UploadDocumentType UploadDocumentsReply UploadImageStatusInfoType UploadDocumentsRequest UploadImageStatusType UploadDocumentStatusDetail UploadImageDetail UploadImagesReply UploadImagesRequest VersionId WebAuthenticationCredential WebAuthenticationDetail

FedEx Web Services, Electronic Trade Documents 38

Page 39: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

element UploadDocumentsReply diagram

namespace http://fedex.com/ws/uploaddocument/v1

type ns:UploadDocumentsReply properties content complex

children ns:HighestSeverity ns:Notifications ns:TransactionDetail ns:Version ns:DocumentStatuses source <xs:element name="UploadDocumentsReply" type="ns:UploadDocumentsReply"/>

FedEx Web Services, Electronic Trade Documents 39

Page 40: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

element UploadDocumentsRequest diagram

namespace http://fedex.com/ws/uploaddocument/v1

type ns:UploadDocumentsRequest properties content complex

children ns:WebAuthenticationDetail ns:ClientDetail ns:TransactionDetail ns:Version ns:OriginCountryCode ns:DestinationCountryCode ns:Documents source <xs:element name="UploadDocumentsRequest" type="ns:UploadDocumentsRequest"/>

FedEx Web Services, Electronic Trade Documents 40

Page 41: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

element UploadImagesReply diagram

namespace http://fedex.com/ws/uploaddocument/v1

type ns:UploadImagesReply properties content complex

children ns:HighestSeverity ns:Notifications ns:TransactionDetail ns:Version ns:ImageStatuses source <xs:element name="UploadImagesReply" type="ns:UploadImagesReply"/>

FedEx Web Services, Electronic Trade Documents 41

Page 42: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

element UploadImagesRequest diagram

namespace http://fedex.com/ws/uploaddocument/v1

type ns:UploadImagesRequest properties content complex

children ns:WebAuthenticationDetail ns:ClientDetail ns:TransactionDetail ns:Version ns:Images source <xs:element name="UploadImagesRequest" type="ns:UploadImagesRequest"/>

FedEx Web Services, Electronic Trade Documents 42

Page 43: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType ClientDetail diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:AccountNumber ns:MeterNumber ns:IntegratorId ns:Localization used by elements UploadDocumentsRequest/ClientDetail UploadImagesRequest/ClientDetail

annotation documentation Descriptive data for the client submitting a transaction.

source <xs:complexType name="ClientDetail"> <xs:annotation> <xs:documentation>Descriptive data for the client submitting a transaction.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="AccountNumber" type="xs:string" minOccurs="0"> <xs:annotation>

FedEx Web Services, Electronic Trade Documents 43

Page 44: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:documentation>The FedEx account number assigned to the customer initiating the request.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="MeterNumber" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Identifies the unique client device submitting the request. This number is assigned by FedEx and identifies the unique device from which the request is originating.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IntegratorId" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Only used in transactions which require identification of the FedEx Office integrator.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Localization" type="ns:Localization" minOccurs="0"> <xs:annotation> <xs:documentation>The language to be used for human-readable Notification.localizedMessages in responses to the request containing this ClientDetail object. Different requests from the same client may contain different Localization data. (Contrast with TransactionDetail.localization, which governs data payload language/translation.)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

complexType ImageUploadStatusDetail

diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:Id ns:Status ns:StatusInfo ns:Message

FedEx Web Services, Electronic Trade Documents 44

Page 45: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

used by element UploadImagesReply/ImageStatuses

source <xs:complexType name="ImageUploadStatusDetail"> <xs:sequence> <xs:element name="Id" type="ns:ImageId" minOccurs="0"/> <xs:element name="Status" type="ns:UploadImageStatusType" minOccurs="0"/> <xs:element name="StatusInfo" type="ns:UploadImageStatusInfoType" minOccurs="0"/> <xs:element name="Message" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType>

complexType Localization

diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:LanguageCode ns:LocaleCode used by elements ClientDetail/Localization TransactionDetail/Localization

annotation documentation Governs any future language/translations used for human-readable text.

source <xs:complexType name="Localization"> <xs:annotation> <xs:documentation>Governs any future language/translations used for human-readable text.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="LanguageCode" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Identifies the language to use for human-readable messages.</xs:documentation> <xs:appinfo> <xs:MaxLength>2</xs:MaxLength> </xs:appinfo> </xs:annotation>

FedEx Web Services, Electronic Trade Documents 45

Page 46: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

</xs:element> <xs:element name="LocaleCode" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Identifies the locale (i.e. country code) associated with the language.</xs:documentation> <xs:appinfo> <xs:MaxLength>2</xs:MaxLength> </xs:appinfo> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 46

Page 47: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType Notification diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:Severity ns:Source ns:Code ns:Message ns:LocalizedMessage ns:MessageParameters used by elements UploadDocumentsReply/Notifications UploadImagesReply/Notifications

annotation documentation The descriptive data regarding the results of the submitted transaction.

source <xs:complexType name="Notification">

FedEx Web Services, Electronic Trade Documents 47

Page 48: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:annotation> <xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Severity" type="ns:NotificationSeverityType" minOccurs="0"> <xs:annotation> <xs:documentation>The severity of this notification. This can indicate success or failure or some other information about the request such as errors or notes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Source" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Indicates the source of the notification. Combined with Code, it uniqely identifies this message.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Code" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>A code that represents this notification. Combined with Source, it uniqely identifies this message.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Message" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Text that explains this notification.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="LocalizedMessage" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>A translated message. The translation is based on the Localization element of the ClientDetail element of the request. Not currently supported.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="MessageParameters" type="ns:NotificationParameter" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>A collection of name/value pairs that provide specific data to help the client determine the nature of an error (or warning, etc.) witout having to parse the message string.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 48

Page 49: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType NotificationParameter diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:Id ns:Value used by element Notification/MessageParameters

source <xs:complexType name="NotificationParameter"> <xs:sequence> <xs:element name="Id" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Name identifiying the type of the data in the element 'Value'.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Value" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>The value that was used as the replacement parameter.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 49

Page 50: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType TransactionDetail diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:CustomerTransactionId ns:Localization used by elements UploadDocumentsReply/TransactionDetail UploadDocumentsRequest/TransactionDetail UploadImagesReply/TransactionDetail

UploadImagesRequest/TransactionDetail

annotation documentation Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.

source <xs:complexType name="TransactionDetail"> <xs:annotation> <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="CustomerTransactionId" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Identifies a customer-supplied unique identifier for this transaction. It is returned in the reply message to aid in matching requests to replies.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Localization" type="ns:Localization" minOccurs="0"> <xs:annotation> <xs:documentation>Governs data payload language/translations (contrasted with ClientDetail.localization, which governs Notification.localizedMessage language selection).</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 50

Page 51: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadDocumentDetail diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:LineNumber ns:CustomerReference ns:DocumentType ns:FileName ns:DocumentContent used by element UploadDocumentsRequest/Documents

source <xs:complexType name="UploadDocumentDetail"> <xs:sequence> <xs:element name="LineNumber" type="xs:nonNegativeInteger" minOccurs="0"/> <xs:element name="CustomerReference" type="xs:string" minOccurs="0"/> <xs:element name="DocumentType" type="ns:UploadDocumentType" minOccurs="0"/> <xs:element name="FileName" type="xs:string" minOccurs="0"/> <xs:element name="DocumentContent" type="xs:base64Binary" minOccurs="0"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 51

Page 52: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadDocumentsReply diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:HighestSeverity ns:Notifications ns:TransactionDetail ns:Version ns:DocumentStatuses used by element UploadDocumentsReply

source <xs:complexType name="UploadDocumentsReply"> <xs:sequence> <xs:element name="HighestSeverity" type="ns:NotificationSeverityType"> <xs:annotation> <xs:documentation>This indicates the highest level of severity of all the notifications returned in this reply</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded"> <xs:annotation>

FedEx Web Services, Electronic Trade Documents 52

Page 53: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:documentation>The descriptive data regarding the results of the submitted transaction.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"> <xs:annotation> <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="ns:VersionId"> <xs:annotation> <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DocumentStatuses" type="ns:UploadDocumentStatusDetail" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 53

Page 54: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadDocumentsRequest diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:WebAuthenticationDetail ns:ClientDetail ns:TransactionDetail ns:Version ns:OriginCountryCode ns:DestinationCountryCode ns:Documents used by element UploadDocumentsRequest

source <xs:complexType name="UploadDocumentsRequest"> <xs:sequence> <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail"> <xs:annotation> <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web

FedEx Web Services, Electronic Trade Documents 54

Page 55: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

services).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientDetail" type="ns:ClientDetail"> <xs:annotation> <xs:documentation>Descriptive data identifying the client submitting the transaction.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"> <xs:annotation> <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="ns:VersionId"> <xs:annotation> <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="OriginCountryCode" type="xs:string" minOccurs="0"/> <xs:element name="DestinationCountryCode" type="xs:string" minOccurs="0"/> <xs:element name="Documents" type="ns:UploadDocumentDetail" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 55

Page 56: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadDocumentStatusDetail diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:LineNumber ns:CustomerReference ns:DocumentProducer ns:DocumentType ns:FileName ns:Status ns:StatusInfo ns:Message ns:DocumentId ns:DocumentIdProducer

used by element UploadDocumentsReply/DocumentStatuses

source <xs:complexType name="UploadDocumentStatusDetail"> <xs:sequence> <xs:element name="LineNumber" type="xs:nonNegativeInteger" minOccurs="0"/> <xs:element name="CustomerReference" type="xs:string" minOccurs="0"/> <xs:element name="DocumentProducer" type="ns:UploadDocumentProducerType" minOccurs="0"/>

FedEx Web Services, Electronic Trade Documents 56

Page 57: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:element name="DocumentType" type="ns:UploadDocumentType" minOccurs="0"/> <xs:element name="FileName" type="xs:string" minOccurs="0"/> <xs:element name="Status" type="ns:UploadDocumentStatusType" minOccurs="0"/> <xs:element name="StatusInfo" type="ns:UploadDocumentStatusInfoType" minOccurs="0"> <xs:annotation> <xs:documentation>Distinct value for reason status was assigned.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Message" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Human-readable explanation of document status.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DocumentId" type="xs:string" minOccurs="0"/> <xs:element name="DocumentIdProducer" type="ns:UploadDocumentIdProducer" minOccurs="0"/> </xs:sequence> </xs:complexType>

complexType UploadImageDetail

diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:Id ns:Image used by element UploadImagesRequest/Images

source <xs:complexType name="UploadImageDetail"> <xs:sequence> <xs:element name="Id" type="ns:ImageId" minOccurs="0"/> <xs:element name="Image" type="xs:base64Binary" minOccurs="0"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 57

Page 58: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadImagesReply diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:HighestSeverity ns:Notifications ns:TransactionDetail ns:Version ns:ImageStatuses used by element UploadImagesReply

source <xs:complexType name="UploadImagesReply"> <xs:sequence> <xs:element name="HighestSeverity" type="ns:NotificationSeverityType"> <xs:annotation> <xs:documentation>Identifies the highest severity encountered when executing the request; in order from high to low: FAILURE, ERROR, WARNING, NOTE, SUCCESS.</xs:documentation> </xs:annotation> </xs:element>

FedEx Web Services, Electronic Trade Documents 58

Page 59: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:element name="Notifications" type="ns:Notification" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>The descriptive data detailing the status of a sumbitted transaction.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"> <xs:annotation> <xs:documentation>Descriptive data that governs data payload language/translations. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="ns:VersionId"> <xs:annotation> <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ImageStatuses" type="ns:ImageUploadStatusDetail" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 59

Page 60: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType UploadImagesRequest diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:WebAuthenticationDetail ns:ClientDetail ns:TransactionDetail ns:Version ns:Images used by element UploadImagesRequest

source <xs:complexType name="UploadImagesRequest"> <xs:sequence> <xs:element name="WebAuthenticationDetail" type="ns:WebAuthenticationDetail"> <xs:annotation> <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientDetail" type="ns:ClientDetail"> <xs:annotation> <xs:documentation>Descriptive data identifying the client submitting the transaction.</xs:documentation>

FedEx Web Services, Electronic Trade Documents 60

Page 61: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

</xs:annotation> </xs:element> <xs:element name="TransactionDetail" type="ns:TransactionDetail" minOccurs="0"> <xs:annotation> <xs:documentation>Descriptive data for this customer transaction. The TransactionDetail from the request is echoed back to the caller in the corresponding reply.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="ns:VersionId"> <xs:annotation> <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Images" type="ns:UploadImageDetail" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType>

FedEx Web Services, Electronic Trade Documents 61

Page 62: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

complexType VersionId diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:ServiceId ns:Major ns:Intermediate ns:Minor used by elements UploadDocumentsReply/Version UploadDocumentsRequest/Version UploadImagesReply/Version UploadImagesRequest/Version

annotation documentation Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).

source <xs:complexType name="VersionId"> <xs:annotation> <xs:documentation>Identifies the version/level of a service operation expected by a caller (in each request) and performed by the callee (in each reply).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="ServiceId" type="xs:string" fixed="cdus"> <xs:annotation> <xs:documentation>Identifies a system or sub-system which performs an operation.</xs:documentation> </xs:annotation> </xs:element>

FedEx Web Services, Electronic Trade Documents 62

Page 63: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:element name="Major" type="xs:int" fixed="1"> <xs:annotation> <xs:documentation>Identifies the service business level. For this release this value should be set to 2.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Intermediate" type="xs:int" fixed="2"> <xs:annotation> <xs:documentation>Identifies the service interface level. For this release this value should be set to 0.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Minor" type="xs:int" fixed="0"> <xs:annotation> <xs:documentation>Identifies the service code level. For this release this value should be set to 0.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

complexType WebAuthenticationCredential

diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:Key ns:Password used by element WebAuthenticationDetail/UserCredential

annotation documentation Two part authentication string used for the sender's identity.

source <xs:complexType name="WebAuthenticationCredential"> <xs:annotation> <xs:documentation>Two part authentication string used for the sender's identity.</xs:documentation>

FedEx Web Services, Electronic Trade Documents 63

Page 64: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

</xs:annotation> <xs:sequence> <xs:element name="Key" type="xs:string"> <xs:annotation> <xs:documentation>Publicly known part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation> <xs:appinfo> <xs:MaxLength>16</xs:MaxLength> </xs:appinfo> </xs:annotation> </xs:element> <xs:element name="Password" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Secret part of authentication key used for authentication. This value is provided by FedEx after registration.</xs:documentation> <xs:appinfo> <xs:MaxLength>25</xs:MaxLength> </xs:appinfo> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

complexType WebAuthenticationDetail

diagram

namespace http://fedex.com/ws/uploaddocument/v1

children ns:UserCredential used by elements UploadDocumentsRequest/WebAuthenticationDetail UploadImagesRequest/WebAuthenticationDetail

annotation documentation The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).

source <xs:complexType name="WebAuthenticationDetail"> <xs:annotation> <xs:documentation>The descriptive data to be used in authentication of the sender's identity (and right to use FedEx web services).</xs:documentation>

FedEx Web Services, Electronic Trade Documents 64

Page 65: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

</xs:annotation> <xs:sequence> <xs:element name="UserCredential" type="ns:WebAuthenticationCredential"> <xs:annotation> <xs:documentation>Credential used to authenticate a specific software application. This value is provided by FedEx after registration.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>

simpleType ImageId

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by elements ImageUploadStatusDetail/Id UploadImageDetail/Id

facets Kind Value annotation enumeration IMAGE_1 enumeration IMAGE_2 enumeration IMAGE_3 enumeration IMAGE_4 enumeration IMAGE_5

source <xs:simpleType name="ImageId"> <xs:restriction base="xs:string"> <xs:enumeration value="IMAGE_1"/> <xs:enumeration value="IMAGE_2"/> <xs:enumeration value="IMAGE_3"/> <xs:enumeration value="IMAGE_4"/> <xs:enumeration value="IMAGE_5"/> </xs:restriction> </xs:simpleType>

simpleType NotificationSeverityType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by elements UploadDocumentsReply/HighestSeverity UploadImagesReply/HighestSeverity Notification/Severity

facets Kind Value annotation enumeration ERROR

FedEx Web Services, Electronic Trade Documents 65

Page 66: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

enumeration FAILURE enumeration NOTE enumeration SUCCESS enumeration WARNING

annotation documentation Identifies the set of severity values for a Notification.

source <xs:simpleType name="NotificationSeverityType"> <xs:annotation> <xs:documentation>Identifies the set of severity values for a Notification.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="ERROR"/> <xs:enumeration value="FAILURE"/> <xs:enumeration value="NOTE"/> <xs:enumeration value="SUCCESS"/> <xs:enumeration value="WARNING"/> </xs:restriction> </xs:simpleType>

simpleType UploadDocumentIdProducer

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element UploadDocumentStatusDetail/DocumentIdProducer

facets Kind Value annotation enumeration CUSTOMER

source <xs:simpleType name="UploadDocumentIdProducer"> <xs:restriction base="xs:string"> <xs:enumeration value="CUSTOMER"/> </xs:restriction> </xs:simpleType>

simpleType UploadDocumentProducerType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element UploadDocumentStatusDetail/DocumentProducer

FedEx Web Services, Electronic Trade Documents 66

Page 67: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

facets Kind Value annotation enumeration CUSTOMER

source <xs:simpleType name="UploadDocumentProducerType"> <xs:restriction base="xs:string"> <xs:enumeration value="CUSTOMER"/> </xs:restriction> </xs:simpleType>

simpleType UploadDocumentStatusInfoType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element UploadDocumentStatusDetail/StatusInfo

facets Kind Value annotation enumeration DOCUMENT_CONTENT_FAILED_VIRUS_CHECK enumeration DOCUMENT_CONTENT_MISSING enumeration DOCUMENT_FILE_NAME_MISSING enumeration DOCUMENT_FORMAT_NOT_SUPPORTED enumeration DOCUMENT_ID_INVALID enumeration DOCUMENT_ID_MISSING enumeration DOCUMENT_TYPE_INVALID enumeration DOCUMENT_TYPE_MISSING enumeration DOCUMENT_TYPE_NOT_ALLOWED_FOR_ETD enumeration ELECTRONIC_CLEARANCE_NOT_ALLOWED_AT_DESTINATION enumeration ELECTRONIC_CLEARANCE_NOT_ALLOWED_AT_ORIGIN enumeration UNABLE_TO_PROCESS_DOCUMENT enumeration UPLOAD_NOT_ATTEMPTED

annotation documentation Each of these values identifies a specific reason why a document or reference could not be uploaded or associated with a shipment.

source <xs:simpleType name="UploadDocumentStatusInfoType"> <xs:annotation> <xs:documentation>Each of these values identifies a specific reason why a document or reference could not be uploaded or associated with a shipment.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="DOCUMENT_CONTENT_FAILED_VIRUS_CHECK"/> <xs:enumeration value="DOCUMENT_CONTENT_MISSING"/>

FedEx Web Services, Electronic Trade Documents 67

Page 68: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:enumeration value="DOCUMENT_FILE_NAME_MISSING"/> <xs:enumeration value="DOCUMENT_FORMAT_NOT_SUPPORTED"/> <xs:enumeration value="DOCUMENT_ID_INVALID"/> <xs:enumeration value="DOCUMENT_ID_MISSING"/> <xs:enumeration value="DOCUMENT_TYPE_INVALID"/> <xs:enumeration value="DOCUMENT_TYPE_MISSING"/> <xs:enumeration value="DOCUMENT_TYPE_NOT_ALLOWED_FOR_ETD"/> <xs:enumeration value="ELECTRONIC_CLEARANCE_NOT_ALLOWED_AT_DESTINATION"/> <xs:enumeration value="ELECTRONIC_CLEARANCE_NOT_ALLOWED_AT_ORIGIN"/> <xs:enumeration value="UNABLE_TO_PROCESS_DOCUMENT"/> <xs:enumeration value="UPLOAD_NOT_ATTEMPTED"/> </xs:restriction> </xs:simpleType>

simpleType UploadDocumentStatusType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element UploadDocumentStatusDetail/Status

facets Kind Value annotation enumeration ERROR enumeration FAILURE enumeration SUCCESS

source <xs:simpleType name="UploadDocumentStatusType"> <xs:restriction base="xs:string"> <xs:enumeration value="ERROR"/> <xs:enumeration value="FAILURE"/> <xs:enumeration value="SUCCESS"/> </xs:restriction> </xs:simpleType>

simpleType UploadDocumentType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by elements UploadDocumentDetail/DocumentType UploadDocumentStatusDetail/DocumentType

FedEx Web Services, Electronic Trade Documents 68

Page 69: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

facets Kind Value annotation enumeration CERTIFICATE_OF_ORIGIN enumeration COMMERCIAL_INVOICE enumeration ETD_LABEL enumeration NAFTA_CERTIFICATE_OF_ORIGIN enumeration OTHER enumeration PRO_FORMA_INVOICE

source <xs:simpleType name="UploadDocumentType"> <xs:restriction base="xs:string"> <xs:enumeration value="CERTIFICATE_OF_ORIGIN"/> <xs:enumeration value="COMMERCIAL_INVOICE"/> <xs:enumeration value="ETD_LABEL"/> <xs:enumeration value="NAFTA_CERTIFICATE_OF_ORIGIN"/> <xs:enumeration value="OTHER"/> <xs:enumeration value="PRO_FORMA_INVOICE"/> </xs:restriction> </xs:simpleType>

simpleType UploadImageStatusInfoType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element ImageUploadStatusDetail/StatusInfo

facets Kind Value annotation enumeration IMAGE_EXCEEDS_MAX_RESOLUTION enumeration IMAGE_EXCEEDS_MAX_SIZE enumeration IMAGE_FAILED_VIRUS_CHECK enumeration IMAGE_ID_INVALID enumeration IMAGE_ID_MISSING enumeration IMAGE_MISSING enumeration IMAGE_TYPE_INVALID enumeration IMAGE_TYPE_MISSING

source <xs:simpleType name="UploadImageStatusInfoType"> <xs:restriction base="xs:string"> <xs:enumeration value="IMAGE_EXCEEDS_MAX_RESOLUTION"/> <xs:enumeration value="IMAGE_EXCEEDS_MAX_SIZE"/> <xs:enumeration value="IMAGE_FAILED_VIRUS_CHECK"/>

FedEx Web Services, Electronic Trade Documents 69

Page 70: Electronic Trade Documents - FedEx€¦ · About This Guide This guide describes how to integrate with FedEx Web Services. • O’Reilly XML.com: It is written for the application

<xs:enumeration value="IMAGE_ID_INVALID"/> <xs:enumeration value="IMAGE_ID_MISSING"/> <xs:enumeration value="IMAGE_MISSING"/> <xs:enumeration value="IMAGE_TYPE_INVALID"/> <xs:enumeration value="IMAGE_TYPE_MISSING"/> </xs:restriction> </xs:simpleType>

simpleType UploadImageStatusType

namespace http://fedex.com/ws/uploaddocument/v1 type restriction of xs:string

used by element ImageUploadStatusDetail/Status

facets Kind Value annotation enumeration ERROR enumeration FAILURE enumeration SUCCESS

source <xs:simpleType name="UploadImageStatusType"> <xs:restriction base="xs:string"> <xs:enumeration value="ERROR"/> <xs:enumeration value="FAILURE"/> <xs:enumeration value="SUCCESS"/> </xs:restriction> </xs:simpleType>

FedEx Web Services, Electronic Trade Documents 70