electronic trade documents - fedex€¦ · about this guide this guide describes how to integrate...
Post on 21-Jul-2018
245 Views
Preview:
TRANSCRIPT
2013
Electronic Trade Documents
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
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
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
About This Guide
Document Organization Resources
Support
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 Organizationwebsupport@fedex.com.
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
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
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
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
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
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
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
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
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
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
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
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
ChapterChapter 11
Introduction
before they will work. Old test key values will now return an errormessage.
FedEx Web Services, Electronic Trade Documents 18
2 FedEx Electronic TradeDocuments/Upload DocumentService
FedEx ETD Details
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
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
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
3 Upload Images
Upload Image Service Details
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
4 Shipping Document Service
Shipping Document Service Details
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
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
</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
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
<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
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
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
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
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
<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
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
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
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
<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
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
<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
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
</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
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
<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
</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
</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
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
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
<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
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
<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
top related