30.01.2013 Views

Electronic Manifesting - UPS.com

Electronic Manifesting - UPS.com

Electronic Manifesting - UPS.com

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!