Electronic Manifesting - UPS.com
Electronic Manifesting - UPS.com
Electronic Manifesting - UPS.com
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Electronic</strong> <strong>Manifesting</strong><br />
Package Level Detail (PLD 0200)<br />
NOTICE<br />
Document Version 1.4<br />
Last Updated 04/05/04<br />
The use, disclosure, reproduction, modification, transfer, or transmittal if this work for any purpose in any<br />
form or by any means without the written permission of United Parcel Service is strictly prohibited.<br />
© 2004 United Parcel Service of America, Inc. All Rights Reserved.
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Table of Contents<br />
Introduction ................................................................................................................................................... 3<br />
Technical Overview ..................................................................................................................................... 3<br />
High Level Process Flow ............................................................................................................................ 5<br />
Frequently Asked Questions (FAQs) ........................................................................................................ 7<br />
Create the Request Message .................................................................................................................. 10<br />
Request/Response Parameter Keys....................................................................................................... 10<br />
Example of a Request Message.............................................................................................................. 11<br />
Send the Request Message..................................................................................................................... 14<br />
Receive a Response Message................................................................................................................ 14<br />
Parse the Response Message................................................................................................................. 19<br />
Error Codes ................................................................................................................................................ 20<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 2 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation Document Version 1.4<br />
Package Level Detail (PLD 0200)<br />
Introduction<br />
**** Please Note that this document is for use with PLD 0200 or later. ****<br />
<strong>UPS</strong> <strong>Electronic</strong> <strong>Manifesting</strong> brings your e-<strong>com</strong>merce site into the new millennium by digitizing your shipping<br />
procedures and allowing you to send an electronic shipment manifest to <strong>UPS</strong> rather than a detailed paper manifest.<br />
This powerful tool gives your business the flexibility of alternate billing options, reference number tracking<br />
capabilities and other feature benefits. Additionally, <strong>Electronic</strong> <strong>Manifesting</strong> can increase the accuracy and efficiency<br />
of your shipping operation by transmitting advance notice of shipping information via fax or e-mail to shippers,<br />
receivers or third parties.<br />
Technical Overview<br />
Timely and Accurate PLD<br />
To insure timely receipt of PLD (Package Level Detail) information, customers<br />
using <strong>UPS</strong> Host solutions need to upload at the time of driver pickup.<br />
Uploading at the time of driver pickup enables full shipment visibility for<br />
information based services such as Quantum View®, (Quantum View Manager,<br />
Quantum View Data, Quantum View Notify, Brokerage and <strong>UPS</strong> Tracking) and<br />
insures high quality service that you've <strong>com</strong>e to expect from <strong>UPS</strong>.<br />
The <strong>Electronic</strong> <strong>Manifesting</strong> tool may be easily integrated into your existing e-<strong>com</strong>merce solutions to enhance your<br />
businesses shipping capabilities. Have your IT organization work with <strong>UPS</strong> to integrate the <strong>Electronic</strong> <strong>Manifesting</strong><br />
tool into your business to take advantage of the following technical benefits:<br />
� A sophisticated IT solution for your business - The <strong>Electronic</strong> <strong>Manifesting</strong> tool allows your detailed<br />
shipment information to be sent in the form of a data stream to the <strong>UPS</strong> Host system. Integrating the<br />
<strong>Electronic</strong> <strong>Manifesting</strong> tool into your existing systems requires advanced knowledge of leading edge<br />
programming languages (e.g., C++, Java, Visual Basic, Active Server Pages or Perl). To fully integrate this<br />
tool your business should leverage e-<strong>com</strong>merce technical skills to <strong>com</strong>municate with <strong>UPS</strong>. Communicating<br />
through the <strong>Electronic</strong> <strong>Manifesting</strong> tool includes working with <strong>UPS</strong> to develop a solution that includes:<br />
� Making an Internet connection with <strong>UPS</strong><br />
� Pulling shipping data for the HTTPS request message from your other systems<br />
� Building an HTTPS request message and sending the data stream to <strong>UPS</strong><br />
� Receiving and parsing an HTTPS response message from <strong>UPS</strong><br />
� Integrating that response back into your e-<strong>com</strong>merce solutions<br />
� Seamless and easy integration into your existing e-<strong>com</strong>merce solutions - The <strong>Electronic</strong> <strong>Manifesting</strong><br />
tool enables you to develop an application that requests data from <strong>UPS</strong> servers and parses the response. The<br />
<strong>Electronic</strong> <strong>Manifesting</strong> tool technical documentation provides file specifications for each request message.<br />
Additional examples of valid formatted electronic manifests are provided to aid in your development.<br />
Follow the steps within the documentation to seamlessly integrate your shipping data with <strong>UPS</strong> file<br />
standards. The next step for the developer is to integrate this raw data into your web or electronic<br />
<strong>com</strong>merce-enabled solutions. Due to the <strong>com</strong>plexity involved in sending electronic shipping manifests the<br />
initial development time is estimated to be approximately 80 hours. A large part of that estimate is the<br />
electronic manifest data certification process.<br />
• Ensured security of sensitive corporate shipping data - Due to the sensitive corporate data<br />
being transmitted over the Internet, this tool requires a Secured Sockets Layer (SSL). Applications<br />
that are connected to the Internet can connect directly to the tool via HTTPS at the standard SSL<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 3 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
port 443, using a TCP/IP socket or a URL connection. The encrypted request and response<br />
messages are also transmitted through port 443.<br />
• Hardware or software requirements are kept to a minimum - The <strong>Electronic</strong> <strong>Manifesting</strong> Tool<br />
is an Application Programming Interface (API) residing on a <strong>UPS</strong> server that allows access to<br />
Common Gateway Interface (CGI) programs at <strong>UPS</strong>. <strong>UPS</strong> software does not have to be installed<br />
on the system hosting the e-<strong>com</strong>merce application. The tool is not platform-specific and can<br />
operate with any programming language that supports standard HTTPS protocol.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 4 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
High Level Process Flow<br />
Outlined below is a high level Process Flow of Integrating <strong>Electronic</strong> <strong>Manifesting</strong>:<br />
Process Flow Integrating PLD with <strong>Electronic</strong> <strong>Manifesting</strong><br />
Review Online Documentation at<br />
http://www.ups.<strong>com</strong>/uoltools/manifest/i<br />
ntroman.html to begin coding HTTP<br />
requests<br />
Keys:<br />
Notify<br />
eDeployment/ECSSS<br />
Approval of<br />
Production<br />
Migration Test file<br />
& Shipping Labels<br />
Customer<br />
eDeployment<br />
team/ECSSS<br />
Register at<br />
MY<strong>UPS</strong>.<strong>com</strong><br />
Create Socket<br />
connection to<br />
<strong>UPS</strong><br />
Uploading to<br />
Production<br />
Environment<br />
� Review Online Documentation To Begin Coding HTTP Requests - Please review the documentation at<br />
http://www.ups.<strong>com</strong>/uoltools/manifest/introman.html regarding <strong>Electronic</strong> <strong>Manifesting</strong> Integration. Please<br />
document any questions that you may have concerning the <strong>Electronic</strong> <strong>Manifesting</strong> Integration.<br />
� MY <strong>UPS</strong>.<strong>com</strong> – Prior to using the <strong>UPS</strong> SPF Certification Tool you must register at www.MY<strong>UPS</strong>.<strong>com</strong>. You<br />
are required to create a unique User I.D. and password that will be authenticated when you log into the <strong>UPS</strong><br />
SPF Certification Tool. If you are currently registered at MY<strong>UPS</strong>.<strong>com</strong>, you must register again in order to<br />
receive electronic book numbers from the <strong>UPS</strong> SPF Certification Tool and begin testing.<br />
� Please note: This User I.D. is permanent and cannot be altered. Please ensure that the I.D. you create is<br />
acceptable to all parties that will be using it. Dashes, hyphens, and other special characters should not be used.<br />
The length of your I.D. and password should not exceed 10 characters. DO NOT ADD ANY ACCOUNTS<br />
ON THE ACCOUNT SUMMARY PAGE AT MY<strong>UPS</strong>.COM. MAIN ACCOUNT IS ENTERED AT<br />
THE <strong>UPS</strong> SPF CERTIFICATION TOOL. ACCOUNTS ARE ADDED AT THE <strong>UPS</strong> SPF<br />
CERTIFICATION TOOL ONLY AFTER THE MAIN ACCOUNT IS APPROVED FOR<br />
PRODUCTION.<br />
� Review Online <strong>Electronic</strong> <strong>Manifesting</strong> License Agreement – Please review and accept the <strong>Electronic</strong><br />
<strong>Manifesting</strong> license agreement at https://www.pld.ups.<strong>com</strong>/emagree.<br />
� PLD Test using the <strong>UPS</strong> SPF Certification Tool – The <strong>UPS</strong> SPF Certification Tool is a new browser- based<br />
Internet product used to certify customers for the latest version of PLD. You will use the <strong>UPS</strong> SPF Certification<br />
Tool at https://www.pld.ups.<strong>com</strong>/ct to guide you through the necessary steps to build a <strong>com</strong>pliant global PLD<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 5 of 22<br />
Review Online <strong>Electronic</strong><br />
<strong>Manifesting</strong> License at:<br />
https://www.pld.ups.<strong>com</strong>/emagree<br />
PLD Test<br />
Go to <strong>UPS</strong> SPF Certification Tool<br />
https://www.pld.ups.<strong>com</strong>/ct<br />
2 Week PLD<br />
Monitoring<br />
Period<br />
Turnover to<br />
Production<br />
Support Desk
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
file for a test upload. (Note: Customers must <strong>com</strong>plete steps 1-5. ConnectShip Customers – Complete<br />
ONLY steps 1 & 2 and then US customers email edeploypld@ups.<strong>com</strong> and non-US customers contact your<br />
ECSSS)<br />
These steps include building test cases to ensure that the test files contain accurate PLD formatting and<br />
validation of origin/destination country pairs to Shipment Charge Types, Packaging Types (container types),<br />
services and accessorials.<br />
Frequently Asked Questions have been included within the tool to address many <strong>com</strong>mon concerns.<br />
� Create connection to <strong>UPS</strong> – You will be required to create an HTTP socket connection to the <strong>UPS</strong> server<br />
(must be SSL enabled). It is required to have a socket connection opened to Port 443 and SSL enabled. Your<br />
proxy administrator should be able to assist you with setting up this connection.<br />
� Notify eDeployment/ECSSS – After successful <strong>com</strong>pletion of the certification, US customers please email the<br />
eDeployment team at edeploypld@ups.<strong>com</strong> and non-US customers please contact your ECSSS. You have<br />
<strong>com</strong>pleted the certification when all five steps are marked as <strong>com</strong>pleted. A screen appears following the<br />
<strong>com</strong>pletion of Step 5 announcing: “Congratulations! You have <strong>com</strong>pleted certification…” At this point, you<br />
will be required to <strong>com</strong>plete the production migration test.<br />
� Approval of Production Migration Test File & Shipping Labels – Once you submit your production<br />
migration test file, which is the last phase of PLD testing, for US customers an eDeployment integrator will be<br />
assigned to review and approve your PLD file if the file is error-free. For non-US customers your ECSSS will<br />
review and approve your PLD file if the file is error-free. At this time any shipping labels, the manifest and<br />
other corresponding shipping documents will be <strong>com</strong>pared to the SPF file for congruency. You will be<br />
informed of your file and corresponding paperwork being approved. Upon receipt of this approval, you can<br />
proceed with the next steps in the process flow.<br />
� Begin Uploading in Production – For US customers, an eDeployment integrator will walk you through the<br />
migration to the Production environment. For non-US customers, your ECSSS will walk you through the<br />
migration to the Production environment. From this point forward, <strong>UPS</strong> will be billing you on your PLD files.<br />
Timely and Accurate PLD<br />
To insure timely receipt of PLD (Package Level Detail) information, customers using <strong>UPS</strong> Host<br />
solutions need to upload at the time of driver pickup.<br />
Uploading at the time of driver pickup enables full shipment visibility for information based<br />
services such as Quantum View®, (Quantum View Manager, Quantum View Data, Quantum<br />
View Notify, Brokerage and <strong>UPS</strong> Tracking) and insures high quality service that you've <strong>com</strong>e to<br />
expect from <strong>UPS</strong>.<br />
� 2 Week PLD Monitoring Period – Once you have been migrated to production, for US customers, the <strong>UPS</strong><br />
eDeployment team will monitor your PLD files for a minimum of two weeks. For non-US customers, the<br />
ECSSS will monitor your PLD files for a minimum of two weeks. This is done to ensure that you are<br />
<strong>com</strong>fortable with the PLD upload process. You will be able to view any errors that occur during this time<br />
period via the response reports that are generated from your PLD upload to <strong>UPS</strong>. These errors should be<br />
discussed between an eDeployment integrator and you to assure quality PLD files.<br />
� Turnover to Production Support Desk – After the <strong>com</strong>pletion of the two-week monitoring period, you will be<br />
asked to direct any Production questions or issues to the Production Support desk.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 6 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Frequently Asked Questions (FAQs)<br />
Review Online<br />
Documentation<br />
& Begin coding<br />
HTTP Requests<br />
Review Online<br />
<strong>Electronic</strong><br />
<strong>Manifesting</strong><br />
License at:<br />
https://www.pld.<br />
<strong>com</strong>/emagree<br />
PLD Test<br />
Go to <strong>UPS</strong> SPF<br />
Certification Tool<br />
https://www.pld.<br />
ups.<strong>com</strong>/ct<br />
Create Socket<br />
Connection to<br />
<strong>UPS</strong><br />
Q. Is there any other documentation I need to review, besides the online<br />
documentation?<br />
A. The only documentation that you will need to use for the <strong>Electronic</strong> <strong>Manifesting</strong><br />
integration is the online documentation. The PLD documentations can be found on<br />
the Certification Tool web site at https://www.pld.ups.<strong>com</strong>/ct .<br />
Q. Who do I contact if I have questions regarding how to code the HTTP requests?<br />
A. For the US, you will need to send an email that will be routed to the <strong>UPS</strong> tech<br />
support group. The email address is edeploynonpld@ups.<strong>com</strong>. Please indicate in<br />
this form the exact problem you are experiencing during this step.<br />
For International, you will need to contact your ECSSS.<br />
Q. What happens if I have not agreed to the <strong>Electronic</strong> <strong>Manifesting</strong> License<br />
Agreement?<br />
A. Please contact your <strong>UPS</strong> Account Representative if you have not agreed to the terms<br />
of the <strong>Electronic</strong> <strong>Manifesting</strong> license agreement. You will not be able to be placed<br />
in production with this product until the details of the license agreement have been<br />
resolved.<br />
Q. What is the difference between a fatal error and a non-fatal error?<br />
A. Fatal and Non-fatal errors are generated after a PLD file is uploaded containing<br />
errors related to the PLD file specifications and/or <strong>UPS</strong> business rules. Each type of<br />
error results in a different out<strong>com</strong>e and requires a different course of action.<br />
• Fatal errors will prevent the PLD file from being uploaded successfully. You<br />
will need to make corrections and re-upload the file whether you are in<br />
Development (Testing) or Production. Fatal errors are distinguished by the<br />
following: An error code of ‘5491’ – PLD file contains Fatal Errors. Correct<br />
errors and resubmit.<br />
• Non Fatal errors will also prevent the PLD file from being uploaded successfully<br />
in Development (Testing). If you are in Development (Testing), you will need<br />
to make corrections and re-upload the file. If you are in production, you will<br />
need to note the error, but will not need to re-upload the file. You should make<br />
the necessary corrections so that the errors do not occur in the future. Non-fatal<br />
errors are distinguished by the following: An error code of '5481' - PLD File<br />
submitted with above errors. Correct for next upload.<br />
It should be noted that the entire PLD file is either accepted or rejected. If you<br />
upload a PLD file with non - fatal error only, the entire PLD file (all of the<br />
records contained in the file) will be accepted. If you upload a PLD file with<br />
fatal errors, the entire PLD file (even the records that did not contain fatal<br />
errors) will be rejected.<br />
Q. Who can I contact with questions on how to enable SSL tunneling?<br />
A. <strong>UPS</strong> does not provide support in setting up SSL tunneling. You will need to speak to<br />
your proxy administrator to verify if you have this feature.<br />
Q. What happens if I do not have SSL tunneling or a socket connection opened<br />
Port 443?<br />
A. You will not be able to proceed with the integration process without these two<br />
requirements. You will need to speak to your proxy administrator to verify if you<br />
have this feature.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 7 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Approval of<br />
Production<br />
Migration Test<br />
File & Shipping<br />
Labels<br />
Uploading to<br />
Production<br />
Environment<br />
2 Week PLD<br />
Monitoring<br />
Period<br />
Q. How do you obtain book numbers for an additional shipper number?<br />
A. Once you are approved, you may add additional shipper numbers by logging into the<br />
<strong>UPS</strong> SPF Certification Tool and clicking on the 'Add <strong>UPS</strong> Account' button. You<br />
may add 100 account/shipper numbers per User I.D.<br />
Q. How long does it take to get my file approved upon <strong>com</strong>pleting the <strong>UPS</strong> SPF<br />
Certification Tool and submitting a production migration test file?<br />
A. The timeframe will depend on the amount of services that you are testing for but<br />
generally it should take approximately 1-2 days. If you are having an international<br />
PLD file approved, this process can take up to 3-4 days to verify all the information<br />
within the file and the external documentation required by Customs.<br />
Q. What is required when I am ready to go into production?<br />
A. Once your file is approved, you will be informed of your ability to upload PLD<br />
electronically. You will then begin uploading your PLD files electronically to the<br />
<strong>UPS</strong> Billing Department. You will then be providing the Summary Manifest or<br />
Summary Barcode to your <strong>UPS</strong> Package Car Driver.<br />
Q. What causes a Return Code and message of ‘3005’, Already Processed?<br />
A. This error occurs when you upload the same file twice. Three fields are used to<br />
determine if a file is unique or not. They are: PickupDate, BookNumber, and<br />
PageNumber. You do not have to re-upload PLD files if it only contains non-fatal<br />
errors.<br />
This error prevents you from uploading a duplicate file, which would result in you<br />
getting double billed. It also prevents you from uploading multiple files for a single<br />
Pick- up Date without incrementing the Book number and/or Page number.<br />
Q. What causes a Return Code and message of ‘6249’? Is only one PickupDate<br />
allowed in a file?<br />
A. This error occurs when you have more than one PickupDate in the PLD file. This<br />
usually happens when you send up two or more days worth of shipments. By<br />
<strong>com</strong>bining all of the shipments into one PLD file, this will populate the file with<br />
multiple PickupDates. Instead, you need to send up a separate file for the shipments<br />
sent out on each individual PickupDate.<br />
Q. When does <strong>UPS</strong> need PLD uploaded?<br />
A. To insure timely receipt of PLD (Package Level Detail) information, customers<br />
using <strong>UPS</strong> Host solutions need to upload at the time of driver pickup.<br />
Q. Why is it so important to upload at the time of driver pickup?<br />
A. Uploading at the time of driver pickup enables full shipment visibility for<br />
information based services such as Quantum View®, (Quantum View Manager,<br />
Quantum View Data, Quantum View Notify, Brokerage and <strong>UPS</strong> Tracking) and<br />
insures high quality service that you've <strong>com</strong>e to expect from <strong>UPS</strong>.<br />
Q. What is the purpose of the 2 week monitoring period?<br />
A. During this period, an integrator will be assigned to monitor your production PLD<br />
files. We want to ensure that you are <strong>com</strong>fortable with this process of uploading<br />
PLD. We also ensure that your book and page numbers are configured properly for<br />
the live environment, allowing the <strong>UPS</strong> billing department to be able to accurately<br />
track and bill your shipments.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 8 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Turnover to<br />
Production<br />
Support Desk<br />
Q. When would I contact the Production Support desk?<br />
A. Once you have been in production and your files have been monitored for the 2week<br />
error-free period, you will be a Production Support customer.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 9 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Create the Request Message<br />
**** Please Note that this document is for use with PLD 0200 or later. ****<br />
To send a request to the PLD Upload tool, an application writes a stream of data out to the tools via a TCP/IP socket<br />
or a URL connection. The datastream must be in the form of an HTTP request message.<br />
To connect to the PLD Upload tool, open www.pld-certify.ups.<strong>com</strong> and then post to /hapld/tos/kdwhapltos. The<br />
connection must be made to a tool using SSL, on port 443.<br />
Note: This connection address is for testing only. Once an application has <strong>com</strong>pleted PLD certification testing, the<br />
production hostname will be provided by a <strong>UPS</strong> PLD specialist.<br />
The next table lists the parameters to use in the body of the request message. The Request/Response Parameter Key<br />
defines the codes used in the table.<br />
When you write the request message, be aware that some characters you may want to include in the parameters of<br />
your message can cause problems during transmission. These characters include spaces, ampersands, punctuation<br />
marks, and so on. A process called url-encoding encodes these characters in a way that allows them to be<br />
interpreted as data, rather than programming delimiters or other <strong>com</strong>mands.<br />
Make sure you do url-encode the characters in your message parameters. The rules for url-encoding are:<br />
• ASCII characters a through z, A through Z, and 0 through 9 remain the same;<br />
• the space character is encoded as a plus sign (+);<br />
• all other characters are encoded as %XY, where % is the percent sign, and XY is the two-digit hexadecimal<br />
representation of the lower eight bits of the character.<br />
Make sure you don’t url-encode the equal signs (=) or ampersands (&) that are part of the syntax of your message.<br />
For example, don’t url-encode the equal sign between name-value pairs, or the ampersands that are name/value pair<br />
delimiters.<br />
Request/Response Parameter Keys<br />
Field Type: Required<br />
In each request message and its corresponding response message, not every field may be required. For each field in<br />
the request/response message, the Required column in the Input and Output Parameter tables describes whether the<br />
field is required or not. The following table describes each of the required field codes:<br />
Required Description<br />
Conditional (C) This field is required only if a specified condition is present; otherwise, this field is<br />
optional. The conditions to determine whether this field is required or optional are<br />
stated in the description of the input or output parameter.<br />
Not Used (N) This code indicates that the field will not be used in the input or output message<br />
format. The character N is followed by a description of when the field is not used.<br />
Optional (O) Input Parameters<br />
For optional fields, if a value is not provided, the field name should not be included<br />
in the input data stream.<br />
Output Parameters<br />
For optional fields, if a value is not provided, the field will be empty in the output<br />
data stream.<br />
Required (R) For fields that are required, a value other than blank spaces must be provided.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 10 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Example of a Request Message<br />
This example displays a <strong>com</strong>plete request message for the PLD Upload.<br />
In the example, use to show where you must insert a new line or carriage return. All other white space line<br />
feeds are used for readability. The boundary string defined in the main Content-type: header field is BOUNDARY.<br />
This means that each data segment in the request message will be separated by the string – BOUNDARY, and that<br />
the end of the message will be denoted by the string – BOUNDARY --.<br />
Content Length Calculation:<br />
The Content-length of the main header is 1040, indicating that the total length of the entire message is 1040 bytes.<br />
To calculate this for the example below, count each byte starting with the “-“ of the “--BOUNDARY” line.<br />
Continue counting everything up to and including the last of the last line in this example. Please remember<br />
that all are counted as 2 bytes. This area is highlighted below.<br />
POST /hapld/tos/kdwhapltos HTTP/1.1<br />
Host: www.pld-certify.ups.<strong>com</strong><br />
Content-type: multipart/mixed; boundary=BOUNDARY<br />
Content-length: 1040<br />
<br />
--BOUNDARY<br />
Content-type: application/x-www-form-urlencoded<br />
Content-length: 140<br />
<br />
AppVersion=1.0&Accept<strong>UPS</strong>LicenseAgreement=Yes&ResponseType=application/x-ups-pld&VersionNumber=<br />
V4R1&UserId=useridvalue&Password=passwordvalue<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-binary<br />
Content-length: 719<br />
<br />
020082 2.0 2002101700000000000010500 000000001*AA0A1754 US<br />
1234567002000001*BA1z1234560100002352 00001+0000000000000010 +000<br />
0000000000000LBS01PRE10 3INUSD000001*CA18ATTENTION<br />
DELIVERY 234 SOME LOCAL ST SO<br />
ME CITY NJ 07652 US12015551212 *PA1z1234560100002352<br />
02+0000010 +0000010<br />
*SA000004<br />
<br />
--BOUNDARY--<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 11 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
The Content-length of the first data segment is 140, indicating that there are 140 bytes in the message body of this<br />
data segment. To calculate this for the example below, start the byte count with the “A” in “AppVersion” and<br />
continue up to the “e” of “passwordvalue”. Do not count the of this line. This area is highlighted below.<br />
POST /hapld/tos/kdwhapltos HTTP/1.1<br />
Host: www.pld-certify.ups.<strong>com</strong><br />
Content-type: multipart/mixed; boundary=BOUNDARY<br />
Content-length: 1040<br />
<br />
--BOUNDARY<br />
Content-type: application/x-www-form-urlencoded<br />
Content-length: 140<br />
<br />
AppVersion=1.0&Accept<strong>UPS</strong>LicenseAgreement=Yes&ResponseType=application/x-ups-pld&VersionNumber=<br />
V4R1&UserId=useridvalue&Password=passwordvalue<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-binary<br />
Content-length: 719<br />
<br />
020082 2.0 2002101700000000000010500 000000001*AA0A1754 US<br />
1234567002000001*BA1z1234560100002352 00001+0000000000000010 +000<br />
0000000000000LBS01PRE10 3INUSD000001*CA18ATTENTION<br />
DELIVERY 234 SOME LOCAL ST SO<br />
ME CITY NJ 07652 US12015551212 *PA1z1234560100002352<br />
02+0000010 +0000010<br />
*SA000004<br />
<br />
--BOUNDARY--<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 12 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
The Content-length of the second data segment is 719, indicating that there are 719 bytes in the message body of this<br />
data segment. This data segment is your PLD information. To calculate this for the example below, start the byte<br />
count with the “0” of the “020082” line and continue to the end of the PLD information at “4” of the “*SA000004”<br />
line. Do not count the in this line. This area is highlighted below.<br />
POST /hapld/tos/kdwhapltos HTTP/1.1<br />
Host: www.pld-certify.ups.<strong>com</strong><br />
Content-type: multipart/mixed; boundary=BOUNDARY<br />
Content-length: 1040<br />
<br />
--BOUNDARY<br />
Content-type: application/x-www-form-urlencoded<br />
Content-length: 140<br />
<br />
AppVersion=1.0&Accept<strong>UPS</strong>LicenseAgreement=Yes&ResponseType=application/x-ups-pld&VersionNumber=<br />
V4R1&UserId=useridvalue&Password=passwordvalue<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-binary<br />
Content-length: 719<br />
<br />
020082 2.0 2002101700000000000010500 000000001*AA0A1754 US<br />
1234567002000001*BA1z1234560100002352 00001+0000000000000010 +000<br />
0000000000000LBS01PRE10 3INUSD000001*CA18ATTENTION<br />
DELIVERY 234 SOME LOCAL ST SO<br />
ME CITY NJ 07652 US12015551212 *PA1z1234560100002352<br />
02+0000010 +0000010<br />
*SA000004<br />
<br />
--BOUNDARY--<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 13 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Send the Request Message<br />
To send the request message, an application writes it to the PLD tool via a secured socket (SSL) connection. An<br />
application can create the request message in a buffer, and then write the contents of the buffer out to the tool. The<br />
exact syntax used to write to write the buffer out to the tool varies, depending on the programming language and the<br />
API set used.<br />
Receive a Response Message<br />
The following is a list of specific examples of response messages for the PLD Upload tool. The response messages<br />
follow the general response message format described in Parse a Response Message.<br />
Examples:<br />
� 0000 - 0000Successful upload, no warning messages. Control and Status Reports are returned.<br />
� 6930 - 5481Successful upload with warning messages. Error, Control and Status Reports are<br />
returned.<br />
� 6931 - 5491Failed upload due to errors in the PLD data. Error and Status Reports are returned.<br />
� 6931 - xxxxFailed upload due to errors in the input parameters. Status Report is returned.<br />
The data segment application/x-ups-psmpld contains the response type (successful, warning, error or<br />
severe error). The data segment application/x-ups-pld contains the reports.<br />
Examples of Response Messages<br />
Successful upload, no warning messages. Control and Status Reports.<br />
HTTP/1.1 200 OK<br />
Server: IBM-HTTP-Server/1.0<br />
Date: Mon, 25 Nov 2002 20:21:15 GMT<br />
Connection: close<br />
Accept-Ranges: bytes<br />
Content-Type: multipart/mixed; boundary=BOUNDARY<br />
Content-Length: 1251<br />
--BOUNDARY<br />
Content-type: text/html<br />
Content-length: 138<br />
<br />
<br />
<strong>UPS</strong> Internet Software<br />
<br />
<br />
<strong>UPS</strong> Internet Software, Copyright <strong>UPS</strong> 1998<br />
<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-psmpld<br />
Content-length: 103<br />
<strong>UPS</strong>OnLine%1.0%0000%0000Successful <strong>com</strong>pletion - No errors found.<br />
--BOUNDARY<br />
Content-type: application/x-ups-pld<br />
Content-length: 758<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 14 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
000200000758300000640 KDGPLCR1 United Parcel Service<br />
11/25/02 Page:1 PLD Contr<br />
ol Report 04:09 PM<br />
------------------<br />
------------------------------------------------------------- Pickup D<br />
ate: 20010302 Sequence#:000001234567001 Number of Records:00000001<br />
Shipper #:123123 Book/Page #:1234567001 Shipme<br />
nts:000001 Packages:00000001 10000008800000000Successful <strong>com</strong>pletion<br />
- No errors found.<br />
--BOUNDARY--<br />
Successful upload with warning messages. Error, Control and Status Reports.<br />
HTTP/1.1 200 OK<br />
Server: IBM-HTTP-Server/1.0<br />
Date: Mon, 25 Nov 2002 20:21:15 GMT<br />
Connection: close<br />
Accept-Ranges: bytes<br />
Content-Type: multipart/mixed; boundary=BOUNDARY<br />
Content-Length: 2238<br />
--BOUNDARY<br />
Content-type: text/html<br />
Content-length: 138<br />
<br />
<br />
<strong>UPS</strong> Internet Software<br />
<br />
<br />
<strong>UPS</strong> Internet Software, Copyright <strong>UPS</strong> 1998<br />
<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-psmpld<br />
Content-length: 103<br />
<strong>UPS</strong>OnLine%1.0%6930%5481PLD File submitted with above errors. Correct for<br />
next upload.<br />
--BOUNDARY<br />
Content-type: application/x-ups-pld<br />
Content-length: 1967<br />
000300001967300000640 KDGPLRS1 United Parcel Service<br />
11/25/02 Host A<br />
ccess 08:05 AM<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 15 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
PLD Error Report PAGE 1<br />
--------<br />
----------------------------------------------------------------------<br />
- Err Error<br />
Code/ Message/<br />
Tracking Seg Field<br />
Field Number ID Name<br />
Contents ----------------------------<br />
--------------------------------------------------- 6715<br />
Invalid 1z Service Level for the chosen <strong>UPS</strong> services 1Z123555<br />
0100000069 *PA PackageTrackingNumber 1Z1235550100000069<br />
5481 PLD File submitted with above errors. Corr<br />
ect for next upload. 200000640 KDGPLCR1 Un<br />
ited Parcel Service 11/25/02 Page:1<br />
PLD Control Report 04:09 PM<br />
---------------------------------------------------------------------<br />
---------- Pickup Date: 20010302 Sequence#:000001234567001 Number o<br />
f Records:00000001<br />
Shipper #:123123 Book/Page #<br />
:1234567001 Shipments:000001 Packages:00000001 10000008800015481PLD<br />
File submitted with above errors. Correct for next upload.<br />
--BOUNDARY--<br />
Failed upload due to errors in the PLD data. Error and Status Reports.<br />
HTTP/1.1 200 OK<br />
Server: IBM-HTTP-Server/1.0<br />
Date: Mon, 25 Nov 2002 20:21:15 GMT<br />
Connection: close<br />
Accept-Ranges: bytes<br />
Content-Type: multipart/mixed; boundary=BOUNDARY<br />
Content-Length: 2278<br />
--BOUNDARY<br />
Content-type: text/html<br />
Content-length: 138<br />
<br />
<br />
<strong>UPS</strong> Internet Software<br />
<br />
<br />
<strong>UPS</strong> Internet Software, Copyright <strong>UPS</strong> 1998<br />
<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-psmpld<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 16 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Content-length: 103<br />
<strong>UPS</strong>OnLine%1.0%6931%5491PLD File contains Fatal Errors. Correct errors<br />
and resubmit.<br />
--BOUNDARY<br />
Content-type: application/x-ups-pld<br />
Content-length: 1798<br />
000200001798300001680 KDGPLRS1 United Parcel Service<br />
11/25/02 Host A<br />
ccess 08:05 AM<br />
PLD Error Report PAGE 1<br />
--------<br />
----------------------------------------------------------------------<br />
- Err Error<br />
Code/ Message/<br />
Tracking Seg Field<br />
Field Number ID Name<br />
Contents ----------------------------<br />
--------------------------------------------------- 9102<br />
This field is required. 1Z355500<br />
0000000008 *AA BookNum<br />
5612 This field must be numeric.<br />
1Z3555000000000008 *AA BookNum<br />
9121 Value<br />
does not match the first *AA segment Book & Page.<br />
Header PLDSequenceNumber 000009665869012<br />
5491 PLD File contains Fatal Errors. Correct errors<br />
and resubmit. 10000008800025491PLD File contains Fatal E<br />
rrors. Correct errors and resubmit.<br />
--BOUNDARY—<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 17 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Failed upload due to errors in the input parameters. Status Reports Only.<br />
HTTP/1.1 200 OK<br />
Server: IBM-HTTP-Server/1.0<br />
Date: Mon, 25 Nov 2002 20:21:15 GMT<br />
Connection: close<br />
Accept-Ranges: bytes<br />
Content-Type: multipart/mixed; boundary=BOUNDARY<br />
Content-Length: 580<br />
--BOUNDARY<br />
Content-type: text/html<br />
Content-length: 138<br />
<br />
<br />
<strong>UPS</strong> Internet Software<br />
<br />
<br />
<strong>UPS</strong> Internet Software, Copyright <strong>UPS</strong> 1998<br />
<br />
<br />
--BOUNDARY<br />
Content-type: application/x-ups-psmpld<br />
Content-length: 103<br />
<strong>UPS</strong>OnLine%1.0%6931%6503UserId is invalid.<br />
--BOUNDARY<br />
Content-type: application/x-ups-pld<br />
Content-length: 109<br />
00010000010910000008800026503UserId is invalid.<br />
--BOUNDARY--<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 18 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Parse the Response Message<br />
To identify the boundary string separating the data segments in the response message:<br />
1. Verify that the main header contains the content-type header field.<br />
2. Verify that the Content-type of the main header is multipart/mixed.<br />
3. Extract the boundary string from the main header’s content-type field. The boundary string separating<br />
the data segments will be this boundary string preceded by two dasher (--). The terminating boundary<br />
string preceded by and followed by two dashes (--).<br />
To parse the data in each segment take these steps:<br />
1. Locate the beginning of the data segment.<br />
2. Search for the next occurrence of the boundary string, indicating the beginning of a new data segment.<br />
3. Verify that this occurrence of the boundary string is not the terminating boundary string.<br />
4. Identify the Content-type of the data segment.<br />
5. Verify that the Content-type header field is in the segment.<br />
6. Store the Content-type of the data segment’s message body.<br />
7. Identify the Content-length of the data segment.<br />
8. Verify the Content-length of the data segment’s message body.<br />
9. Read the message body into a buffer, using the Content-length obtained in the previous step.<br />
10. Parse the output parameters out of the data segment, using the Content-type obtained in Step 5 above.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 19 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Error Codes<br />
Reason Codes<br />
Message Text<br />
Description<br />
Reason Code Reason Text<br />
6800<br />
Input AppVersion is required. AppVersion variable in the request message is not<br />
set.<br />
6801<br />
Input AppVersion is invalid. AppVersion variable in the request message is set,<br />
but invalid (e.g. AppVersion = 5.0).<br />
6802<br />
Input Accept<strong>UPS</strong>LicenseAgreement<br />
is required.<br />
Accept<strong>UPS</strong>LicenseAgreement variable in the<br />
request message is not set.<br />
6803<br />
InputAccept<strong>UPS</strong>LicenseAgreement<br />
is invalid.<br />
Accept<strong>UPS</strong>LicenseAgreement variable in the<br />
request is not set to Yes or yes.<br />
Input ResponseType is required. ResponseType variable in the request message is<br />
not set.<br />
6804<br />
6805<br />
6806<br />
Note: For some functions, when the<br />
ResponseType is not set, unpredictable<br />
responses may be produced.<br />
Input ResponseType is invalid. ResponseType variable in the request message is<br />
set but invalid.<br />
Note: For some functions, when the<br />
ResponseType is invalid, unpredictable<br />
responses may be produced.<br />
Input format is invalid. This error occurs when the input request is<br />
incorrectly formatted, for example when the HTTP<br />
headers or name-value pairs are incorrectly<br />
formatted.<br />
HTTP Comm. Error Codes<br />
Error Code Description<br />
200 request <strong>com</strong>pleted.<br />
201 object created, reason = new URI.<br />
202 async <strong>com</strong>pletion (TBS).<br />
203 partial <strong>com</strong>pletion<br />
204 no info to return.<br />
300 server couldn’t decide what to return.<br />
301 object permanently moved.<br />
302 object temporarily moved.<br />
303 redirection w/ new access method.<br />
304 if-modified-since was not modified.<br />
400 invalid syntax.<br />
401 access denied.<br />
402 payment required.<br />
403 request forbidden.<br />
404 object not found.<br />
405 method is not allowed.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 20 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
Error Code Description<br />
406 no response acceptable to client found.<br />
407 proxy authentication required.<br />
408 server timed out waiting for response.<br />
409 user should resubmit with more info.<br />
410 the resource is no longer available.<br />
411 couldn’t authorize client.<br />
500 internal server error.<br />
501 required not supported.<br />
503 error response received from gateway<br />
504 timed out waiting for gateway.<br />
600 unspecified HTTP <strong>com</strong>munication error.<br />
610 unable to connect to HTTP server.<br />
620 unable to connect through proxy.<br />
650 user abort.<br />
904 invalid request application data length.<br />
905 invalid request info length.<br />
906 invalid request info length.<br />
907 invalid application message ID.<br />
910 error opening file. Check working directory.<br />
920 out of memory<br />
930 system exception<br />
935 invalid timeout parameter.<br />
940 missing multipart boundary string.<br />
950 invalid HTTP content length field.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 21 of 22
<strong>Electronic</strong> <strong>Manifesting</strong> Documentation <strong>Electronic</strong> <strong>Manifesting</strong> – Revision 1.4<br />
Package Level Detail (PLD 0200)<br />
This page intentionally left blank.<br />
© Copyright 2004 United Parcel service of America, Inc. All Rights Reserved. Last Revised 04/05/04<br />
Page 22 of 22