ExpressConnect Pricing Integration Guide Express Connect Shipping V3.8

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 160 [warning: Documents this large are best viewed by clicking the View PDF Link!]

ExpressConnect Shipping
Integration Guide
Version 3.8
Revision History
Date
Version
Description
12/09/2016
3.0 RIH
New version of technical user guide for ExpressConnect Shipping after
major technical improvements
31/03/2017
3.1 RIH
Updated to include section on CData entry.
26/04/2017
3.2 RIH
Include additional error messages for cut off times.
26/07/2017
3.3 RIH
Correct MOD7 rules and field validation lengths
26/07/2017
3.4 RIH
Added additional information on “No Data Received at gateway from
Client”
18/08/2017
3.5 BL
Added php example
24/08/2017
3.6 RIH
Updates based on customer feedback
06/09/2017
3.7 RIH
Updates with additional based on customer feedback
27/11/2017
3.8 RIH
Improvements to example xml
Table of Contents
1. Introduction 6
1.1 Legend 7
1.2 Activities/functional features 8
1.3 Booking and Shipping failures 10
2. Registration 11
3. Making a request to the TNT server 12
4. Example XML Ship requestdocument 13
5. Input XML format 17
5.1 Header 18
5.2 Login 18
5.2.1 Interface / APPVERSION 19
5.3 Consignment Batch 20
5.4 Sender 21
5.4.1 The sender address and contact elements 22
5.4.2 The Collection element 23
5.4.2.1 The Collection address element 23
5.4.2.2 The Collection/Opening times details 24
5.5 Consignment 25
5.5.1 The ConRef element 25
5.5.2 The Receiver address element 26
5.5.3 The Delivery address element 26
5.6 The CONNUMBERelement 27
5.7 The CUSTOMERREF element 27
5.8 The CONTTYPE element 27
5.9 The PAYMENTIND element 28
5.10 The ITEMS element 29
5.11 The WEIGHT and VOLUME elements 29
5.12 The CURRENCYand GOODSVALUE elements 30
5.13 The INSURANCE CURRENCYand VALUE elements 30
5.14 The SERVICE element 30
5.15 The OPTIONelement 31
5.16 The DESCRIPTIONelement 31
5.17 The DELIVERYINST element 31
5.18 The Dangerous Goods elements 32
5.18.1 The PACKAGE element 33
5.18.1.1 The ARTICLE element 34
5.19 ACTIVITY Elements 35
5.19.1 Create Elements 35
5.19.2 Ship Elements 36
5.19.3 RATE Elements 36
5.19.4 BOOK Elements 37
5.19.5 PRINT Elements 38
5.19.6 SHOW_GROUPCODE Elements 39
6. Processing the XML Response 40
6.1 Processing the RESULT XML Response 41
6.1.1 CREATE response element 43
6.1.2 RATE response element 44
6.1.2.1 RATE response element UK Domestic 44
6.1.2.1.1 generatedByName, generatedById, requestDateTime and quoteReference elements 46
6.1.2.1.2 TheavailableCollectionDate element 46
6.1.2.1.3 The collectionDepot, ratingDepot, accountName, divisionNumber, noteType,
enhancedLiabilityIndicator, options, bookingStatus and quoteComment elements 46
6.1.2.1.4 TheavailableDeliveries section 47
6.1.2.1.5 TheratedServices and ratedService sections 47
6.1.2.1.6 Thesurcharges sections 48
6.1.3 BOOK response element 49
6.1.4 SHIP response element 49
6.1.5 PRINT response element 50
7. Shipping Documentation responses 51
7.1 Development your own solution 52
7.2 Using the TNT stylesheets in an XML compliant browser 53
7.3 Producing HTML with a compliant XML / XSL parser 54
7.4 Documentation requirement rules 55
7.5 Consignment Note 56
7.6 Address labels 61
7.7 Detail Manifest 67
7.8 Summary Manifest 72
7.9 Commercial invoice 73
8. Errors 78
8.1 Application generated errors 78
8.1.1 Request errors 78
8.1.2 XML errors 78
8.1.3 Validation errors 79
8.2 Table of application generated error codes, messages and resolutions 80
9. Connecting to ExpressConnect Shipping 97
9.1 VB Script sample 99
9.2 VB.net CONNECTION CODE EXAMPLE 105
9.3 JAVASCRIPT CONNECTION CODE EXAMPLE 107
9.4 C# EXAMPLE 109
9.5 C# EXAMPLE 111
9.6 PHP Example 114
10. Appendix A: XML elements definition (input) 116
11. Appendix B: XSD Data Types 132
11.1 Custom Data Types 132
12. Appendix C MANDATORY FIELDS (INPUT XML) 134
13. Appendix D DATA RULES (INPUT XML) 136
14. Appendix E: ISO 3166-1 Alpha-2 Country Codes 138
15. Appendix E: VAT codes 146
16. Appendix F - Example Booking confirmation from backend systems 148
17. Appendix G - Advanced Shipping Notification 149
18. Appendix H Returns Paperwork 150
19. Appendix I Modulus 11 or 7 Check Digit 151
19.1 Modulus 11 Check Digit 151
19.2 Modulus 7 Check Digit 153
20. Appendix J Group Codes 154
21. Appendix K Security/connectivity requirements 156
22. Appendix L First Time Trader Requirements 157
23. Appendix M XML markup Language characters 158
24. Appendix N Dangerous Goods processing 159
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 6 of 160
Express ICS, 2017
1.Introduction
ExpressConnect Shipping is part of the ExpressConnect family, providing B2B interfaces into TNT's operational
and financial systems. The ExpressConnect Shipping interface is used to arrange a collection, rate a consignment
and print the associated shipping documentation.
This manual provides a technical guide to the ExpressConnect Shipping interface. It is designed to help developers
understand the interface sufficiently to program an application to arrange a collection with TNT.With the use of
XML (extensible mark-up language) technology, this will provideshipping functionality for multiple consignment
submissions. The majority of examples in the document will be XML based as it is easier to understand the data
involved.
Return data from TNT will be formatted as XML, again in a predetermined structure. When this data is returned to a
client, they may parse it for storage or presentation, as they require.
An ExpressConnect Login Id will be arranged by your TNT representative. The customer must supply a list of valid
TNT accounts numbers to be used with the system. A secure connection is thus set up, using both authentication and
secure protocols, to submit requests and to receive processed CONSIGNMENT labels based on the published URL:
https://express.tnt.com/expressconnect/shipping/ship
Sample scripts are provided to show how a connection can be achieved together with example requests and
responses to illustrate the data required; see Connecting to ExpressConnect Shipping. Consideration is given below
to the networking and security requirements to ensure that this is successful.
This document is structured as follows:
Registration
Making a request to the TNT server
Example XML Shipping Request Document
Input XML Format - the structure and content of the request
Processing the response - information about the data that will be returned
Errors - possible error messages and the steps you can take to resolve them
Connecting to ExpressConnect Shipping
Appendices
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 7 of 160
Express ICS, 2017
1.1Legend
The following conventions have been used throughout this document.
Normal
Code
[0..1]
xsd:string
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 8 of 160
Express ICS, 2017
1.2Activities/functional features
This web service offers collection booking and shipping functionality for single or multiple consignment
submissions available.
Consignments may be created on the system, and then the details later accessed, using the created consignment
numbers in order to carry out various activities, such as rating, booking, and printing. The XML format required for
these options is shown later.
Consignments can also be batched, according to their group code, and be booked together or printed as one
summary manifest.
The five possible activities are:
Create
This stores the consignment on the ExpressConnect Shipping database for a period of one week. Consignments can
then be referred to by consignment number in later processing. A Consignment Numbers will be returned for each
successful consignment creation.
Ship
This activity allows the customer to send their consignment information directly into TNT’s back end shipping
management systems without the need for a collection request. This is especially useful for customers who have a
regular collection arranged with TNT, and therefore do not need to raise a separate collection request each time they
submit data through Express Connect. The <SHIP> tag is only valid for the V2.2 and above versions of the
interface.
Rate
Using the same functionality as ExpressConnect Pricing, rates will be returned for the submitted consignments. A
rate is the projected cost of sending a consignment via TNT for a given service. You will usually have a number of
options with regards to the level of service you require for sending a consignment. Rating a consignment will return
a rate for all available services unless a specific service is specified. The RATE activity is used to provide an
estimated cost for the delivery of the consignment.
Book
Once the consignment details are complete, the consignments are sent up to the central booking system and a
success/fail message returned. If the customer name and account details are not recognized then a First Time Trader
flag will be returned, warning the customer to expect security checks (see appendix I for details). Consignments can
be batched for booking by including the group code for the group of consignments.
In order to test booking without sending data to the TNT backend systems and actually creating a real booking it is
possible to request a test id for your company in addition to the live userid.
Two different confirmations are available. ExpressConnect can be set up to provide an email to confirm it has
received and processed information; this is on a per userid basis. And the TNT booking system can send an email to
the sender/collection email address provided in the input XML to confirm the actual booking in the backend systems
together with the actual booking reference number.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 9 of 160
Express ICS, 2017
When a customer requests a shipment using v2.2, they may also specify an additional attribute to the <BOOK> tag
called ShowBookingRef.
<BOOK ShowBookingRef="Y>
<CONREF>ref2</CONREF>
</BOOK>
Setting the ShowBookingRef attribute to ‘Y’ will, when a collection request is raised successfully in TNT’s
collection booking system, return the booking reference number within the <BOOKINGREF> tag.
<BOOK>
<CONSIGNMENT>
<CONREF>ref2</CONREF>
<CONNUMBER>GE857115020GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
<FIRSTTIMETRADER>Y</FIRSTTIMETRADER>
<BOOKINGREF>CVT 803567</BOOKINGREF>
</CONSIGNMENT>
</BOOK>
Print
There are four shipping documents available for the customer’s submitted consignments: Consignment Note (Con
note), (address) label, commercial invoice and manifest. These will be returned with a style sheet, viewable as a
document in your web browser. The manifest that is printed can take the form of a summary manifest if the group
code is used, as opposed to the individual consignment numbers or references. The XML data returned is the same
for the manifest and summary manifest, but with a different XSL style sheet specified in the processing instruction.
Your consignment data will be passed to TNT in a predetermined XML format. You will get the data to TNT by
opening an http socket level connection to a given URL and port (otherwise known as an HTTP connection), thus
connecting your own web server with that of TNT. The XML document sent in must be passed as a URL encoded
string.
Return data from TNT will be formatted as XML, again in a predetermined structure (in the case of printing, the
XML will be associated with a style sheet, allowing the document to be displayed in a browser and printed). When
the data is returned to you, you may parse it for storage or presentation, as required.
It is also possible for the printed documentation to be sent as HTML files to a given email address. This is useful
when arranging consignments to be collected from a different site to the ExpressConnect installation.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 10 of 160
Express ICS, 2017
1.3Booking and Shipping failures
Occasionally, during peak times, you may experience a booking or a shipping failure, resulting in your bookings or
Shipping request not being completed. If this occurs, you will be notified in the returned XML by the
<SUCCESS>N</SUCCESS> indicator in the appropriate “ACTIVITY” element.
For example;
Your application should monitor for these failed responses and re-submit any failing request.
When resubmitting a failed booking request, you must ensure to only provide either the CONREF or the
CONNUMBER, not both.
If the order was “created” successfully, then there is no need to repeat this activity and the re-submission should
only include the failed activities.
If you include a create “ACTIVITY” element, with the re-submission, please be aware that if you are assigning
consignment numbers from your own, dedicated range then you will need to assign a new consignment number to
each re-submission in order for the booking to be created successfully. Re-submitting any failing requests with the
original consignment number will result in a duplicate consignment error.
Please note, it is always possible for any of the activities to fail and return a “<SUCCESS>N</SUCCESS>” and so
your application should be developed to handle these responses.
..
<BOOK>
<CONSIGNMENT>
<CONREF>Ref04_117a</CONREF>
<SUCCESS>N</SUCCESS>
<FIRSTTIMETRADER>Y</FIRSTTIMETRADER>
</CONSIGNMENT>
</BOOK>
<SHIP>
<CONSIGNMENT>
<CONREF>Ref04_117a</CONREF>
<SUCCESS>N</SUCCESS>
</CONSIGNMENT>
</SHIP>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 11 of 160
Express ICS, 2017
2.Registration
Each customer is set up with a username and password, required for all communications with the system. The same
username and password is used for ExpressConnect Shipping Pricing and Tracking.
Please contact your local TNT representative to complete a registration request.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 12 of 160
Express ICS, 2017
3.Making a request to the TNT server
To make a Ship request, you must construct an XML file which conforms to the standard set out in this document.
The submission will be validated to check for any problems with the structure of the XML. This facility is provided
to allow you to self-diagnose problems with the XML.
Before sending an XML document over the internet to TNT, you should verify that you understand the XML format
by successfully using the ExpressWeb Services Shippingsite provided by TNT, contact your TNT representative for
further information. The audience for the website is intended to be developers who can use it as a tool to test their
XML and to analyse results, prior to and during the development of client applications. It includes a Test Harness
that allows the developer to submit sample XML to the service.
ExpressConnect Shipping does NOT support non-ASCII characters.
The demonstration site links to a production like environment so that it replicates exactlythe results that the
customer will achieve with their completed application.
Having made a successful submission of an XML document via the test page, you are ready to set up a socket
connection and make a programmatic submission using HTTP POST to the following URL:
https://express.tnt.com/expressconnect/shipping/ship
Please be aware that all submissions to the aforementioned URL will the require you to supply your user id and
password in the body of the XML request.
More detailed information on connecting to the ExpressConnect servers can be found in Connecting to
ExpressConnect Shipping.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 13 of 160
Express ICS, 2017
4.Example XML Ship requestdocument
An example is provided below of a typical Ship request. The request specifies a single consignment, with the
standard activities.
There can be multiple <CONSIGNMENT>elements in a request, so each one must contain a unique <CONREF>
element to act as a key to uniquely identify it. This is then used in responses to identify which one each returned
price, error message, etc relates to.
Continued below
<?xml version="1.0" encoding="UTF-8"?><ESHIPPER>
<LOGIN>
<COMPANY>YOUR USERID</COMPANY>
<PASSWORD>YOUR PASSWORD</PASSWORD>
<APPID>EC</APPID>
<APPVERSION>2.2</APPVERSION>
</LOGIN>
<CONSIGNMENTBATCH>
<SENDER>
<COMPANYNAME>Sender Co 01-008</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT1</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT2</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT3</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>GB</COUNTRY>
<ACCOUNT>987654321</ACCOUNT>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<COLLECTION>
<COLLECTIONADDRESS>
<COMPANYNAME>Collection Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT4</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT5</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT6</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>GB</COUNTRY>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTIONADDRESS>
<SHIPDATE>15/08/2016</SHIPDATE>
<PREFCOLLECTTIME>
<FROM>09:00</FROM>
<TO>10:00</TO>
</PREFCOLLECTTIME>
<ALTCOLLECTTIME>
<FROM>11:00</FROM>
<TO>12:00</TO>
</ALTCOLLECTTIME>
<COLLINSTRUCTIONS>use rear gate 01-008</COLLINSTRUCTIONS>
</COLLECTION>
</SENDER>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<DETAILS>
<RECEIVER>
<COMPANYNAME>Receiver Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT7</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT8</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT9</STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE/>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT>VAT-0123</VAT>
<CONTACTNAME>Mr Bob</CONTACTNAME>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 14 of 160
Express ICS, 2017
Continued below
</SENDER>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<DETAILS>
<RECEIVER>
<COMPANYNAME>Receiver Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT7</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT8</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT9</STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE/>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT>VAT-0123</VAT>
<CONTACTNAME>Mr Bob</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
</RECEIVER>
<DELIVERY>
<COMPANYNAME>Delivery Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT10</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT11</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT12</STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE/>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT>VAT-0123</VAT>
<CONTACTNAME>Mr Frank</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
</DELIVERY>
<CUSTOMERREF>DISKS</CUSTOMERREF>
<CONTYPE>N</CONTYPE>
<PAYMENTIND>S</PAYMENTIND>
<ITEMS>6</ITEMS>
<TOTALWEIGHT>3.6</TOTALWEIGHT>
<TOTALVOLUME>1.0</TOTALVOLUME>
<CURRENCY>GBP</CURRENCY>
<GOODSVALUE>180.00</GOODSVALUE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<SERVICE>15N</SERVICE>
<OPTION>PR</OPTION>
<DESCRIPTION>assorted office accessories</DESCRIPTION>
<DELIVERYINST>Delivery Instructions TEST</DELIVERYINST>
<PACKAGE>
<ITEMS>3</ITEMS>
<DESCRIPTION>box 1</DESCRIPTION>
<LENGTH>0.1</LENGTH>
<HEIGHT>0.2</HEIGHT>
<WIDTH>0.3</WIDTH>
<WEIGHT>0.4</WEIGHT>
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
<INVOICEVALUE>2.30</INVOICEVALUE>
<INVOICEDESC>metal paperclips</INVOICEDESC>
<HTS>ABC</HTS>
<COUNTRY>GB</COUNTRY>
</ARTICLE>
</PACKAGE>
<PACKAGE>
<ITEMS>3</ITEMS>
<DESCRIPTION>box 2</DESCRIPTION>
<LENGTH>0.5</LENGTH>
<HEIGHT>0.6</HEIGHT>
<WIDTH>0.7</WIDTH>
<WEIGHT>0.8</WEIGHT>
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 15 of 160
Express ICS, 2017
Continued below
<PACKAGE>
<ITEMS>3</ITEMS>
<DESCRIPTION>box 1</DESCRIPTION>
<LENGTH>0.1</LENGTH>
<HEIGHT>0.2</HEIGHT>
<WIDTH>0.3</WIDTH>
<WEIGHT>0.4</WEIGHT>
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
<INVOICEVALUE>2.30</INVOICEVALUE>
<INVOICEDESC>metal paperclips</INVOICEDESC>
<HTS>ABC</HTS>
<COUNTRY>GB</COUNTRY>
</ARTICLE>
</PACKAGE>
<PACKAGE>
<ITEMS>3</ITEMS>
<DESCRIPTION>box 2</DESCRIPTION>
<LENGTH>0.5</LENGTH>
<HEIGHT>0.6</HEIGHT>
<WIDTH>0.7</WIDTH>
<WEIGHT>0.8</WEIGHT>
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
<INVOICEVALUE>2.30</INVOICEVALUE>
<INVOICEDESC>metal paperclips</INVOICEDESC>
<HTS>ABC</HTS>
<COUNTRY>GB</COUNTRY>
</ARTICLE>
</PACKAGE>
</DETAILS>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
<ACTIVITY>
<CREATE>
<CONREF>ref01_008</CONREF>
</CREATE>
<RATE>
<CONREF>ref01_008</CONREF>
</RATE>
<BOOK>
<CONREF>ref01_008</CONREF>
</BOOK>
<SHIP>
<CONREF>ref01_008</CONREF>
</SHIP>
<PRINT>
<CONNOTE>
<CONREF>ref01_008</CONREF>
</CONNOTE>
<LABEL>
<CONREF>ref01_008</CONREF>
</LABEL>
<MANIFEST>
<CONREF>ref01_008</CONREF>
</MANIFEST>
<INVOICE>
<CONREF>ref01_008</CONREF>
</INVOICE>
<EMAILTO>bob.hitchens@tnt.com</EMAILTO>
<EMAILFROM>bob.hitchens@tnt.com</EMAILFROM>
</PRINT>
<SHOW_GROUPCODE/>
</ACTIVITY>
</ESHIPPER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 16 of 160
Express ICS, 2017
N.B. XML is case sensitive. The element tags MUST all be upper case.
ExpressConnect encoding must be UTF-8, encoding="UTF-8".
<ACTIVITY>
<CREATE>
<CONREF>ref01_008</CONREF>
</CREATE>
<RATE>
<CONREF>ref01_008</CONREF>
</RATE>
<BOOK>
<CONREF>ref01_008</CONREF>
</BOOK>
<SHIP>
<CONREF>ref01_008</CONREF>
</SHIP>
<PRINT>
<CONNOTE>
<CONREF>ref01_008</CONREF>
</CONNOTE>
<LABEL>
<CONREF>ref01_008</CONREF>
</LABEL>
<MANIFEST>
<CONREF>ref01_008</CONREF>
</MANIFEST>
<INVOICE>
<CONREF>ref01_008</CONREF>
</INVOICE>
<EMAILTO>bob.hitchens@tnt.com</EMAILTO>
<EMAILFROM>bob.hitchens@tnt.com</EMAILFROM>
</PRINT>
<SHOW_GROUPCODE/>
</ACTIVITY>
</ESHIPPER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 17 of 160
Express ICS, 2017
5.Input XML format
The input XML format for ExpressConnect Shipping is a list of consignment requests.
The structure for a Ship request is described below in detail. Alternatively, refer to Appendix A which contains a
summary of the points below.
The request has the following structure:
Header always required, this defines the XML document
Login always required, this provides the security details
Consignment batch always required, this contains the:
o Sender always required, this defines the <SENDER>document
o Ship request A list of <CONSIGNMENT>elements for which this sender is sending
consignments for. Normally there is just one.
Activity always required, this provides details on which functionality is required.
Note
It should be noted that XML defines a number of characters which are reserved. These include the greater-than
(>), less-than (<), ampersand (&), and percent (%) characters. Where these appear in the data which is being
submitted to ExpressConnect, the characters must be escaped or the content surrounded with a CDATA
section.
A common requirement is to submit an address which includes a company name such as: "Andrews &
Plummer". The ampersand must therefore be escaped as per the XML rules (&amp;) or alternatively the whole
or part of the text must be wrapped in a CDATA section as follows:
<name><![CDATA[Andrews & Plummer]]></name>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 18 of 160
Express ICS, 2017
5.1Header
The header section will begin every ExpressConnect Shipping request XML document submitted to TNT.
This contains the XML declaration, which contains the character encoding used for the document and the standalone
attribute, which should be set to “no”:
5.2Login
Each LOGIN element contains the following information:
All elements are mandatory. It contains a COMPANYelement which should contain your username as supplied by
your TNT Representative.
ThePASSWORDelement contains the associated password for this use.
Failure to provide correctinformationwill result in an invalid request.
The APPIDelementshould be defaulted to “IN”, unless it has been previously agreed with your TNT Representative
to use an alternative APPID. This elementis used by various source applications to highlight
where the request was made, it has no bearing on the functionality offered.
The <APPVERSION>element states the version of the interface that you are using. Your TNT Representative should
provide the version number that you should use when you start your engagement.
<LOGIN>
<COMPANY>YOUR USERID</COMPANY>
<PASSWORD>YOUR PASSWORD</PASSWORD>
<APPID>IN</APPID>
<APPVERSION>2.2</APPVERSION>
</LOGIN>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 19 of 160
Express ICS, 2017
5.2.1Interface / APPVERSION
ExpressConnect Shipping supports various version of the XML interface. This document will refer to different
versions and the examples will often apply to the version the feature was introduced. You should use the latest
version of the interface where possible, unless indicated to do so by your TNT Representative.
The existing version are:
Version
Comments
2.0
When you use the BOOK activity this will automatically perform both a Booking and shipping activity.
The SHIP activity is not supported.
2,1
Improved validation, which in version 3.0 release has been made backwardly compatible to version 2.0.
2.2
Introduction of the SHIP activity to allow you to manage when you wish to create a collection request
separately from passing the shipping data to TNT. The SHIP activity allows you to send your
consignment information directly into TNT’s back end shipping management systems without the need
for a collection request.
When a customer requests a shipment using v2.2, they may also specify an additional attribute to the
<BOOK> tag called ShowBookingRef.
Setting the ShowBookingRef attribute to ‘Y’ will, when a collection request is raised successfully in
TNT’s collection booking system, return the booking reference number within the <BOOKINGREF>
tag.
3.0
Introduction of the Division element, which allows selection of services for a particular TNT divisions.
The support for supports Hazardous Goods has been increased. Please see Appendix N Dangerous
Goods processing
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 20 of 160
Express ICS, 2017
5.3Consignment Batch
Each Consignment Batch element contains the following information:
A CONSIGNMENTBATCH contains a single SENDER element, which contains details about the sender and
collection.
A CONSIGNMENTBATCHcontains 1 or more CONSIGNMENTelements. This allows batching of Shipping requests.
Each CONSIGNMENTelement contains the set of information needed to perform the functionality requested in the
Activities element.
A CONSIGNMENTelement contains a keyattribute that identifies it uniquely within the request. The response will
associate Shipping data and validation errors with their ACTIVITY through this key. The value of this key must be
of type string and is supplied in CONREF element.
<CONSIGNMENTBATCH>
<SENDER>
</SENDER>
<CONSIGNMENT>
</CONSIGNMENT>
<CONSIGNMENT>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 21 of 160
Express ICS, 2017
5.4Sender
There is a single SENDER element per consignment Batch, and contains the following information:
The SENDERis made up of the following parts. Except where noted, every element is required once.
<SENDER>
<COMPANYNAME>Sender Co 01-008</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT1</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT2</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT3</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>GB</COUNTRY>
<ACCOUNT>987654321</ACCOUNT>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<COLLECTION>
<COLLECTIONADDRESS>
<COMPANYNAME>Collection Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT4</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT5</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT6</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>GB</COUNTRY>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTIONADDRESS>
<SHIPDATE>15/08/2016</SHIPDATE>
<PREFCOLLECTTIME>
<FROM>09:00</FROM>
<TO>10:00</TO>
</PREFCOLLECTTIME>
<ALTCOLLECTTIME>
<FROM>11:00</FROM>
<TO>12:00</TO>
</ALTCOLLECTTIME>
<COLLINSTRUCTIONS>use rear gate 01-008</COLLINSTRUCTIONS>
</COLLECTION>
</SENDER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 22 of 160
Express ICS, 2017
5.4.1The sender address and contact elements
The sender element represents your company address and contact information. These sections contain the following
elements, all of type string:
The name of company at the given premises
addressLine1 is the first line of the address. This line usually contains a building name or number
Address lines 2 and 3 are optional. They may contain additional information to help locate the address
The city for the address
The province is also known as the region or county.
The postcode of the address
The ISO 3166-1 Alpha-2 country code. More information can be found in Appendix F: ISO 3166-1 Alpha 2
country codes
Your TNT account as supplied by your TNT representative, 9 digits for standard account and 10 digits for UK
domestic.The account number must be authorised to be used by the userid and password supplied in the LOGIN
element.
Your VAT number.More information can be found in Appendix G: VAT codes
The name of the contact
The contacts telephone number made up of the area code and phone number.
The contacts email address. The Advance shipper notification emails will be sent to the contacts email address
is supplied.
To ship with TNT, we must know the exact location that you are shipping to/from, in TNT terms. The full town
name must be supplied using TNT spelling. Please work with your TNT representative to ensure your town names
match TNT’s.If the town contains local characters, then it is recommended to use these. For example, Köln
<COMPANYNAME>Sender Co 01-008</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT1</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT2</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT3</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>GB</COUNTRY>
<ACCOUNT>987654321</ACCOUNT>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 23 of 160
Express ICS, 2017
5.4.2The Collection element
The collection element contains the Collection address and booking details.
5.4.2.1The Collection address element
The collection address provides the address details from which consignment will be collected by our driver This
should only be supplied if it differs from the sender address. As the definition for the all address are identical, please
refer to The sender address and contact elements
<COLLECTION>
<COLLECTIONADDRESS>
<COMPANYNAME>Collection Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT4</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT5</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT6</STREETADDRESS3>
<CITY>Atherstone</CITY>
<PROVINCE>Warwickshire</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>GB</COUNTRY>
<VAT/>
<CONTACTNAME>Mr Contact</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTIONADDRESS>
</COLLECTION>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 24 of 160
Express ICS, 2017
5.4.2.2The Collection/Opening times details
The order must be made before the cut-off time for arranging a collection for the shipping date (collection date).
The shipment date is the date which you wish the parcels to be collected, and it must be supplied in the format
DD/MM/CCYY. It is a mandatory field.
Collections is raised for every consignment (with exception of customers with scheduled collection).
The earliest time the goods may be collected (Goods ready time) should be supplied in the “PREFCOLLECTTIME
/ “FROM” element, in the format HH:MM.
The latest time the goods can be collected must be supplied in the “PREFCOLLECTTIME” / “TO” element, in the
format HH:MM.
If your company has a lunchtime, them please supply the morning opening times in the PREFCOLLECTTIME
element and the afternoon opening times in the “ALTCOLLECTTIME”.
These details are validated against the time the TNT truck will be within your area and these times must overlap.
Please supply any special instruction which need to be passed to the collection driver in the
<COLLINSTRUCTIONS> element.
<SHIPDATE>15/08/2016</SHIPDATE>
<PREFCOLLECTTIME>
<FROM>09:00</FROM>
<TO>10:00</TO>
</PREFCOLLECTTIME>
<ALTCOLLECTTIME>
<FROM>11:00</FROM>
<TO>12:00</TO>
</ALTCOLLECTTIME>
<COLLINSTRUCTIONS>use rear gate 01-008</COLLINSTRUCTIONS>
</COLLECTION>
</SENDER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 25 of 160
Express ICS, 2017
5.5Consignment
There can be one to 50 CONSIGNMENT elements per consignment Batch but it is recommended that no more than
3 CONSIGNMENT elements are supplied, unless you have set a large timeout period. The element contains the
following information:
5.5.1The ConRef element
A CONSIGNMENT element contains a key attribute that identifies it uniquely within the request. The response will
associate Shipping data and validation errors with their ACTIVITY through this key. The value of this key must be
of type string and is supplied in CONREF element.
<CONREF>ref01_008</CONREF>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<DETAILS>
<RECEIVER>
</RECEIVER>
<DELIVERY>
</DELIVERY>
<CUSTOMERREF>DISKS</CUSTOMERREF>
<CONTYPE>N</CONTYPE>
<PAYMENTIND>S</PAYMENTIND>
<ITEMS>6</ITEMS>
<TOTALWEIGHT>3.6</TOTALWEIGHT>
<TOTALVOLUME>1.0</TOTALVOLUME>
<CURRENCY>GBP</CURRENCY>
<GOODSVALUE>180.00</GOODSVALUE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<SERVICE>15N</SERVICE>
<OPTION>PR</OPTION>
<DESCRIPTION>assorted office accessories</DESCRIPTION>
<DELIVERYINST>Delivery Instructions TEST</DELIVERYINST>
<PACKAGE>
</PACKAGE>
<PACKAGE>
</PACKAGE>
</DETAILS>
</CONSIGNMENT>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 26 of 160
Express ICS, 2017
5.5.2The Receiver address element
The receiver address provides the address details of the company receiver the consignment. As the definition for the
all address are identical, please refer to The sender address and contact elements
5.5.3The Delivery address element
The delivery address provides the address details for which consignment will be delivered by our driver This
should only be supplied if it differs from the receiver address. As the definition for the all address are identical,
please refer to The sender address and contact elements
<DELIVERY>
<COMPANYNAME>Delivery Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT10</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT11</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT12</STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE/>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT>VAT-0123</VAT>
<CONTACTNAME>Mr Frank</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
</DELIVERY>
<RECEIVER>
<COMPANYNAME>Receiver Name</COMPANYNAME>
<STREETADDRESS1>TEST DO NOT COLLECT7</STREETADDRESS1>
<STREETADDRESS2>TEST DO NOT COLLECT8</STREETADDRESS2>
<STREETADDRESS3>TEST DO NOT COLLECT9</STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE/>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT>VAT-0123</VAT>
<CONTACTNAME>Mr Bob</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
</RECEIVER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 27 of 160
Express ICS, 2017
5.6The CONNUMBERelement
This element contains your consignment number, if your application generates its own TNT consignment number.
You userid must be configured to allow user generated consignment numbers and so contact your TNT
representative to arrange for this feature.
5.7The CUSTOMERREF element
This element contains your consignment reference. This will be printed on the shipping documentations and can be
used to track your consignment.
5.8The CONTTYPE element
This element identify whether you are shipping a “D” Document (paper/manuals/reports) or “N” Non-document
(packages).
Document services are not offered for a number of TNT domestic shipments. For domestic shipment within these
countries please use a CONTYPE of N” for Non-document.
<CONTYPE>N</CONTYPE>
<CUSTOMERREF>DISKS</CUSTOMERREF>
<CONNUMBER>GE100312111WW</CONNUMBER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 28 of 160
Express ICS, 2017
5.9The PAYMENTIND element
This identifies whether this is an import (receiver pays) or export (sender pays) shipment.
Figure 18
A PAYMENTIND type of “S” represents a sender pays shipments, “R” represents a receiver. If this element is not
supplied, then the payment type is defaulted to sender.
Within ExpressConnect shipping there is limited support for ‘Receiver pays’ shipments. In order to create a receiver
pays shipment you must first register the following details with TNT:
1. The <ACCOUNT> and <ACCOUNTCOUNTRY> combinations that you would like activated for receiver
pays. This need to be added to our database and associated with your userid and password before receiver
pays is activate for these accounts. The TNT representative will arrange this.
Once the above details have been registered, simply amend the following in the INPUT XML to send a receiver
pays shipment:
i. Within the DETAILS parent element set the <PAYMENTIND> field to ‘R’:
<PAYMENTIND>R</PAYMENTIND>
ii. Within the SENDER parent element enter the sender’s account in the <ACCOUNT> field:
<ACCOUNT>111</ACCOUNT>
iii. Within the RECEIVER parent element add 2 additional tags for the receiver’s account and account country:
<RECEIVER>
<COMPANYNAME>Receivers Co. Ltd.</COMPANYNAME>
<STREETADDRESS1>Head Office </STREETADDRESS1>
<STREETADDRESS2>Hoofddorp</STREETADDRESS2>
<STREETADDRESS3></STREETADDRESS3>
<CITY>Amsterdam</CITY>
<PROVINCE></PROVINCE>
<POSTCODE>1100 KG</POSTCODE>
<COUNTRY>NL</COUNTRY>
<VAT></VAT>
<CONTACTNAME>Mr Frank</CONTACTNAME>
<CONTACTDIALCODE>39 203</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>FrankA@rec.com</CONTACTEMAIL>
<ACCOUNT>123</ACCOUNT>
<ACCOUNTCOUNTRY>NL</ACCOUNTCOUNTRY>
</RECEIVER>
<PAYMENTIND>S</PAYMENTIND>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 29 of 160
Express ICS, 2017
5.10The ITEMS element
This element will contain the number of items within the shipment.
Figure 15
This is a mandatory element.
The ITEMS element should match the total number of items defined in the packages elements.
5.11The WEIGHT and VOLUME elements
These elements describe the total weight and volume of the consignment being shipped.
Figure 13
TheWEIGHTelement contains the total weight of the shipment in Kilograms and is a mandatory element.
The VOLUME element contains the total volume of the shipment in cubic metres and is a mandatory element for
Non-documents, CONTYPE = ‘N’.
These totals should match the sum of the weights and volume supplies in the packages elements. The totals from
the PACKAGE elements will be used if greater that the consignment supplied totals.
<TOTALWEIGHT>3.6</TOTALWEIGHT>
<TOTALVOLUME>1.0</TOTALVOLUME>
<ITEMS>1</ITEMS>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 30 of 160
Express ICS, 2017
5.12The CURRENCYand GOODSVALUE elements
These elementidentifies the value of the goods being shipped and the associated currency.
The currency is represented by the 3 digit ISO 4217 Alpha-3 currency codes.
The value of goods must be supplied if you wish to insures the shipment.
5.13The INSURANCE CURRENCYand VALUE elements
These elements are for Enhanced Liability in countries where insurance is not available.
Insurance value MUST NOT be more than 110% of the goods value for non-documents or 500 Euros for documents.
The maximum insurance value is 25,000 Euros.
5.14The SERVICE element
The particular service that the shipment is being moved under.
The values in this section will be provided by your TNT representative.
<SERVICE>09N</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<CURRENCY>GBP</CURRENCY>
<GOODSVALUE>180.00</GOODSVALUE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 31 of 160
Express ICS, 2017
5.15The OPTIONelement
Please specify any additional Service options that are required for this Shipment.
There can be up to 5 options supplied, if insurance has not be specified. The values in this section will be provided
by your TNT representative.
5.16The DESCRIPTIONelement
Please describe the consignment goods being shipped. This is not used for custom purposes.
For UK domestic shipments, the Carton Code is populated from the first 2 characters of the description. This must
be used to attract the correct rate when invoicing the consignment for Palletised goods.
5.17The DELIVERYINST element
Please supply any instructions that must be passed to the TNT delivery driver when delivering the consignment.
For UK dangerous domestic shipments, the UN Number must be supplied in the first 4 characters of the
DELIVERYINST.
<DELIVERYINST>Delivery Instructions TEST</DELIVERY
<DESCRIPTION>assorted office accessories</DESCRIPTION>
<!-- Service options maximum of 5 -->
<OPTION>PR</OPTION>
<OPTION>EQ</OPTION>
<OPTION>XBB</OPTION>
<OPTION>HZ</OPTION>
<OPTION>BB</OPTION>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 32 of 160
Express ICS, 2017
5.18The Dangerous Goods elements
If you have been authorised to ship dangerous / hazardous goods with TN, you can supply these details using the
elements below:
For UK dangerous domestic shipments, the UN Number must be supplied in the first 4 characters of the
DELIVERYINST, as well.
For International shipments please ensure the appropriate option code is also supplied.
Please refer to the TNT terms and conditions for further information on Dangerous/Hazard. If you are approved to
ship dangerous goods please supply an associated UN number. UN numbers are four-digit identifiers for
hazardous/dangerous substances, and articles (such as explosives, flammable liquids, toxic substances, etc.).
If you wish to obtain an estimate cost for the shipment please contact your TNT representative as Rating for
dangerous goods is not supported via ExpressConnect Shipping.
It is the shipper’s responsibility to identify, classify, package, mark, label, and complete documentation for
dangerous goods according to all national and international governmental regulations.
<HAZARDOUS>Y</HAZARDOUS>
<UNNUMBER>1845</UNNUMBER>
<PACKINGGROUP>II</PACKINGGROUP>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 33 of 160
Express ICS, 2017
5.18.1The PACKAGE element
The PACKAGE element provides details on the package line. There must be at least one Package per
Consignment when entered in detail form. There may not be more than 50Packages per Consignment when
entered in detail form with no more than 99 items for a consignment..
At least one package MUST exist per consignment, UNLESS the consignment is internal to the EU
The PACKAGE element describes a group of parcels (package) with the same details and dimensions. All parcels
must be identical.
The ITEMS is the total number of parcels and each one will need to be label.
DESCRIPTION describes the package.
The LENGTH, HEIGHT and WIDTH are supplied in meters.
The WEIGHT is in Kilos.
As a standard the following maximums are applied
Max weight per package 70kg
Max length per package 2.4m
Max height per package 1.5m
Max width per package 1.2m
On request, these limits can be raised for each customer. If this is required, please contact your TNT representative
who will arrange this for you.
<PACKAGE>
<ITEMS>3</ITEMS>
<DESCRIPTION>box 1</DESCRIPTION>
<LENGTH>0.1</LENGTH>
<HEIGHT>0.2</HEIGHT>
<WIDTH>0.3</WIDTH>
<WEIGHT>0.4</WEIGHT>
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
<INVOICEVALUE>2.30</INVOICEVALUE>
<INVOICEDESC>metal paperclips</INVOICEDESC>
<HTS>ABC</HTS>
<COUNTRY>GB</COUNTRY>
</ARTICLE>
</PACKAGE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 34 of 160
Express ICS, 2017
5.18.1.1The ARTICLE element
If the consignment is customs controlled, you should supply details on the article / goods being shipped.
Articles are not mandatory and there can be no more than 99Articles elements per Package. There can be up to
9999 items per article line.
The <COUNTRY> contains details on the country of original manufacture. This is an ISO 3166-1 Alpha-2 country
code. More information can be found in Appendix F: ISO 3166-1 Alpha 2 country codes.
For each article you need to capture the Tariff code.A tariff code is a product-specific code as documented in the
Harmonised System (HS) maintained by the World Customs Organisation (WCO). Tariff codes exist for almost
every product involved in global commerce.The Harmonized Item Description and Coding System (HS) is an
international standard maintained by the World Customs Organization (WCO) that classifies traded products. Items
are identified by a 6-digit harmonized number that is recognized by countries that have adopted the harmonized
system.
The Tariff code is supplied in the <HTS> element.
None of the values entered into the Items fields will be validated against the number of packages/articles submitted
with a consignment, the customer is responsible for making these values correspond if desired.
<ARTICLE>
<ITEMS>1</ITEMS>
<DESCRIPTION>paperclips</DESCRIPTION>
<WEIGHT>.03</WEIGHT>
<INVOICEVALUE>2.30</INVOICEVALUE>
<INVOICEDESC>metal paperclips</INVOICEDESC>
<HTS>123456</HTS>
<COUNTRY>GB</COUNTRY>
</ARTICLE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 35 of 160
Express ICS, 2017
5.19ACTIVITY Elements
This element allows you to state what you wish to do with the data you have passed in this call or passed previously
to TNT.
5.19.1Create Elements
This stores the consignment on the ExpressConnect Shipping database for a period of one week. A Consignment
Number will be returned for each successful consignment creation.
You may create up to 50 consignments in a single call but due to response times and timeouts it is recommended
that you process a maximum of 3 create per call.The same is true for all activities. You must state the unique key
<CONREF> supplied in the <CONSIGNMENT> element to identify which consignment you wish to create.
You must supply a <CREATE> for all consignmentsthat you require processing.
<CREATE>
<CONREF>ref01_008</CONREF>
</CREATE>
<ACTIVITY>
<CREATE>
<CONREF>ref01_008</CONREF>
</CREATE>
<RATE>
<CONREF>ref01_008</CONREF>
</RATE>
<BOOK>
<CONREF>ref01_008</CONREF>
</BOOK>
<SHIP>
<CONREF>ref01_008</CONREF>
</SHIP>
<PRINT>
<CONNOTE>
<CONREF>ref01_008</CONREF>
</CONNOTE>
<LABEL>
<CONREF>ref01_008</CONREF>
</LABEL>
<MANIFEST>
<CONREF>ref01_008</CONREF>
</MANIFEST>
<INVOICE>
<CONREF>ref01_008</CONREF>
</INVOICE>
<EMAILTO>bob.hitchens@tnt.com</EMAILTO>
<EMAILFROM>bob.hitchens@tnt.com</EMAILFROM>
</PRINT>
<SHOW_GROUPCODE/>
</ACTIVITY>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 36 of 160
Express ICS, 2017
5.19.2Ship Elements
To use the SHIP activity, the order must have previously been successfully created, using the CREATE activity.
These activities can be performed in the same call. The SHIP activity allows you to send your consignment
information directly into TNT’s back end shipping management systems without the need for a collection request.
Please note that the <COLLECTION> elements are mandatory and so need to be supplied even if using just the
<SHIP> activity.
This is especially useful if you are on a regular collection and so not need to raise a separate collection request each
new consignment, submitted through Express Connect.
The <SHIP> tag is only valid for the V2.2 and above versions of the interface.
If you have created the consignment in a previous call or you use your own consignment number, you can ship using
a unique consignment number.
In order to test shipping without sending data to the TNT backend systems and actually creating a real consignment
it is possible to request a test id for your company in addition to the live userid.
5.19.3RATE Elements
Using the same functionality as ExpressConnect Pricing, you can request an indicative rate for your consignment. A
rate is the projected cost of sending a consignment via TNT for a given service. You will usually have a number of
options with regards to the level of service you require for sending a consignment.
Again, if you have created the consignment in a previous call or you use your own consignment number, you can
ship using a unique consignment number.
<RATE>
<CONNUMBER>GE889350673NL</CONNUMBER>
</RATE>
<RATE>
<CONREF>ref01_008</CONREF>
</RATE>
<SHIP>
<CONNUMBER>GE889350673NL</CONNUMBER>
</SHIP>
<SHIP>
<CONREF>ref01_008</CONREF>
</SHIP>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 37 of 160
Express ICS, 2017
5.19.4BOOK Elements
This element allows you to arrange a collection for your parcels.
You can book a batch of consignments using the group code or Individual consignments using either the
<CONREF> or <CONNUMBER>.
For more information on the group code please refer to Appendix I Group Codes.
Two different confirmations are available. ExpressConnect can be set up to provide an email to confirm it has
received and processed information; this is on a per userid basis. The TNT booking system can send an email to the
sender/collection email address provided in the input XML to confirm the actual booking in the backend systems
together with the actual booking reference number.
When a customer requests a shipment using v2.2, they may also specify an additional attribute to the <BOOK> tag
called ShowBookingRef.
Setting the ShowBookingRef attribute to ‘Y’ will, when a collection request is raised successfully in TNT’s
collection booking system, return the booking reference number within the <BOOKINGREF> tag.
The element EMAILREQD which holds a character either 'Y' or 'N' indicating that a booking confirmation email is
required or not.
The default value is “N”.
It normally takes approximately 1 hour before this email is generated by the appropriate TNT booking application.
Please see Appendix F - Example Booking confirmation from backend systems
In order to test booking without sending data to the TNT backend systems and actually creating a real booking it is
possible to request a test id for your company in addition to the live userid.
<BOOK EMAILREQD="Y" ShowBookingRef="Y">
<CONREF>ref2</CONREF>
</BOOK>
<BOOK ShowBookingRef="Y">
<CONREF>ref2</CONREF>
</BOOK>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 38 of 160
Express ICS, 2017
5.19.5PRINT Elements
There are four shipping documents available for each submitted consignments: Consignment Note (Con note),
(address) label, commercial invoice and manifest. These will be returned with a style sheet, viewable as a document
in your web browser.
The manifest that is printed can take the form of a summary manifest if the group code is used, as opposed to the
individual consignment numbers or references. The XML data returned is the same for the manifest and summary
manifest, but with a different XSL style sheet specified in the processing instruction. For more information on the
group code please refer to Appendix I Group Codes.
It is also possible for the printed documentation to be sent as HTML files to a given email address, using the email
from and to elements. This allows you specify the email sender to imply it is generated from your application. This
is useful when arranging consignments to be collected from a different site to the ExpressConnect installation.
Please refer to Appendix H Returns Paperwork
Again, if you have created the consignment in a previous call or you use your own consignment number, you can
print using a unique consignment number.
To generate all possible shipment documents please specify the <REQUIRED> element.
Please refer to Shipping Documentation responses for more information on the shipment documents.
<PRINT>
<REQUIRED>
<CONREF>ref 2</CONREF>
</REQUIRED>
</PRINT>
<PRINT>
<CONNOTE>
<CONREF>ref 1</CONREF>
</CONNOTE>
<LABEL>
<CONREF>ref 1</CONREF>
</LABEL>
<MANIFEST>
<CONREF>ref 1</CONREF>
</MANIFEST>
<INVOICE>
<CONREF>ref 1</CONREF>
</INVOICE>
<EMAILTO>bob.hitchens@tnt.com</EMAILTO>
<EMAILFROM>bob.hitchens@tnt.com</EMAILFROM>
</PRINT>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 39 of 160
Express ICS, 2017
5.19.6SHOW_GROUPCODE Elements
To display the groupcode in the output XML (For further information on Group codes see Appendix I Group Codes).
<SHOW_GROUPCODE />
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 40 of 160
Express ICS, 2017
6.Processing the XML Response
You will be returned an access code and your code needs to take this access code and send it back as part of a
character string into the TNT server - in exactly the same way that you sent the XML document. The character string
you send it in will depend upon which XML document you wish to retrieve. The options using the example access
key ‘12345’ are:
GET_RESULT:12345
GET_CONNOTE:12345
GET_LABEL:12345
GET_MANIFEST:12345
GET_INVOICE:12345
So, if you require the consignment note XML you will actually be sending through the socket the message:
“xml_in=GET_CONNOTE:12345”
The XML files are stored on the TNT ExpressConnect server for a period of 26 days, if later retrieval is necessary.
For the Create, Rate, Ship and Book activities, the return data will be contained within one XML document
“RESULT”. This will also contain which and whether a shipping document has been successfully created.
The Print XM, to allow you to generate the shipping documentation will be contained without their own
XMLdocuments, retrieve as above. Please refer to Shipping Documentation responses on how to process the
shipping document XML returns.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 41 of 160
Express ICS, 2017
6.1Processing the RESULT XML Response
The XML document contains whether an activity was successful or failed.
The <GROUPCODE> element is using is group code process, for more information on group codes please refer to
Appendix J Group Codes.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<document>
<GROUPCODE>1736</GROUPCODE>
<CREATE>
<CONREF>ref01_008</CONREF>
<CONNUMBER>GE000003364GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
</CREATE>
<RATE>
<PRICE>
<RATEID>ref01_008</RATEID>
<SERVICE>15N</SERVICE>
<SERVICEDESC>Express</SERVICEDESC>
<OPTION>IN</OPTION>
<OPTIONDESC>Insurance</OPTIONDESC>
<CURRENCY>GBP</CURRENCY>
<RATE>996.61</RATE>
<RESULT>Y</RESULT>
</PRICE>
</RATE>
<BOOK>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<CONNUMBER>GE000003364GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
<FIRSTTIMETRADER>Y</FIRSTTIMETRADER>
</CONSIGNMENT>
</BOOK>
<SHIP>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<CONNUMBER>GE000003364GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
</CONSIGNMENT>
</SHIP>
<PRINT>
<CONNOTE>CREATED</CONNOTE>
<LABEL>CREATED</LABEL>
<MANIFEST>CREATED</MANIFEST>
<INVOICE>CREATED</INVOICE>
</PRINT>
</document>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 42 of 160
Express ICS, 2017
You may also receive a run time error:
If the validation fails, the reason will be supplied:
Please refer to Errors for more information.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<document>
<PRINT />
<ERROR>
<CODE>301</CODE>
<DESCRIPTION>Receiver company name must be entered</DESCRIPTION>
<SOURCE>Consignment reference: ref01_008</SOURCE>
</ERROR>
</document>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<runtime_error>
<error_reason>The request to ExpressConnect Shipping has failed. Please contact your local
service centre for further assistance</error_reason>
<error_srcText>For input string: "sion="1.0" encoding="UTF-8"
standalone="yes"?><runtime_error><error_reason>login details not
recognised</error_reason></runtime_error>"</error_srcText>
</runtime_error>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 43 of 160
Express ICS, 2017
6.1.1CREATE response element
The create element must be success to allow any other activity to be performed.
The <CONREF> identifies which consignment was created and the response includes the unique consignment
number.
<CREATE>
<CONREF>ref01_008</CONREF>
<CONNUMBER>GE000003364GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
</CREATE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 44 of 160
Express ICS, 2017
6.1.2RATE response element
The RATE element returns the indicative price for the shipment..
The price list element will contain a result. The rate identified supplied by the customer is returned along with the service
and options codes/descriptions, rate (excluding V.A.T.) and a result code. If the result code is N then no rate was available
for that service.
6.1.2.1RATE response element UK Domestic
UK Domestic RATE requests return additional information on the rate..
Continued below
<RATE>
<priceResponse>
<generatedByName>10.210.137.238</generatedByName>
<generatedById>10.210.137.238</generatedById>
<discount></discount>
<requestDateTime></requestDateTime>
<errorDescription></errorDescription>
<quoteReference>1608-000000</quoteReference>
<availableCollectionDate>2016-08-11T00:00:00</availableCollectionDate>
<hazardousGoodsAllowed>false</hazardousGoodsAllowed>
<collectionDepot></collectionDepot>
<ratingDepot>051</ratingDepot>
<accountName>JOHN GOOD LTD</accountName>
<divisionNumber>010</divisionNumber>
<noteType>3</noteType>
<enhancedLiabilityIndicator>false</enhancedLiabilityIndicator>
<options>CF</options>
<bookingStatus>QuoteViaWeb</bookingStatus>
<quoteComment>Generated via Web Request</quoteComment>
<availableDeliveries>
<date>2016-08-12T00:00:00</date>
<reference>1</reference>
<ratedServices>
<ratedService>
<deliveryReference></deliveryReference>
<code>1</code>
<description>EXPRESS</description>
<division>D</division>
<charge>89.41</charge>
<guaranteed>true</guaranteed>
<discount>0.00</discount>
<surcharges>
<category>CF</category>
<description>CF Surcharge</description>
<charge>5.00</charge>
<commodityCode></commodityCode>
<category>D</category>
<description>Residential Supplement - delivery</description>
<charge>2.00</charge>
<RATE>
<PRICE>
<RATEID>ref01_008</RATEID>
<SERVICE>15N</SERVICE>
<SERVICEDESC>Express</SERVICEDESC>
<OPTION>IN</OPTION>
<OPTIONDESC>Insurance</OPTIONDESC>
<CURRENCY>GBP</CURRENCY>
<RATE>996.61</RATE>
<RESULT>Y</RESULT>
</PRICE>
</RATE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 45 of 160
Express ICS, 2017
<availableDeliveries>
<date>2016-08-12T00:00:00</date>
<reference>1</reference>
<ratedServices>
<ratedService>
<deliveryReference></deliveryReference>
<code>1</code>
<description>EXPRESS</description>
<division>D</division>
<charge>89.41</charge>
<guaranteed>true</guaranteed>
<discount>0.00</discount>
<surcharges>
<category>CF</category>
<description>CF Surcharge</description>
<charge>5.00</charge>
<commodityCode></commodityCode>
<category>D</category>
<description>Residential Supplement - delivery</description>
<charge>2.00</charge>
<commodityCode></commodityCode>
<category>8</category>
<description>Express Index</description>
<charge>5.75</charge>
<commodityCode></commodityCode>
<category>G</category>
<description>2012 CPI Supplement</description>
<charge>3.60</charge>
<commodityCode></commodityCode>
<category>J</category>
<description>2013 CPI Supplement</description>
<charge>2.70</charge>
<commodityCode></commodityCode>
<category>K</category>
<description>2014 CPI Supplement</description>
<charge>1.90</charge>
<commodityCode></commodityCode>
<category>M</category>
<description>2015 CPI Supplement</description>
<charge>1.00</charge>
<commodityCode></commodityCode>
</surcharges>
<deliveryDate>2016-08-12T00:00:00</deliveryDate>
<accepted>true</accepted>
<commodityCode></commodityCode>
</ratedService>
<ratedService>
<deliveryReference></deliveryReference>
<code>AM</code>
<description>12:00 EXPRESS</description>
<division>D</division>
<charge>97.09</charge>
<guaranteed>true</guaranteed>
<discount>0.00</discount>
<surcharges>
....
</surcharges>
<deliveryDate>2016-08-12T00:00:00</deliveryDate>
<accepted>false</accepted>
<commodityCode></commodityCode>
</ratedService>
<ratedService>
...
</ratedService>
</ratedServices>
</availableDeliveries>
<quoteHistory></quoteHistory>
</priceResponse>
</RATE>on>
<charge>5.00</charge>
<commodityCode></commodityCode>
<category>D</category>
<description>Residential Supplement - delivery</description>
<charge>2.00</charge>
<commodityCode></commodityCode>
<category>8</category>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 46 of 160
Express ICS, 2017
6.1.2.1.1generatedByName, generatedById, requestDateTime and quoteReference elements
The generatedByName, generatedById, requestDateTime and quoteReference, are used to uniquely identify the rating
response.
6.1.2.1.2TheavailableCollectionDate element
The next available collection date after the supplied shipping date will be returned in the availableCollectionDate
element
The date format is CCYY-MM-DD.
6.1.2.1.3The collectionDepot, ratingDepot, accountName, divisionNumber, noteType, enhancedLiabilityIndicator,
options, bookingStatus and quoteComment elements
There are a number of elements that have been retained in the interface for backward compatibility or to be used
within TNT solutions using the same interface, they should not be coded into the user solution. These elements
provide information on the shipment based on the supplied input.
<collectionDepot>051</collectionDepot>
<ratingDepot></ratingDepot>
<accountName>Fredrick Bloggs Ltd.</accountName>
<divisionNumber>010</divisionNumber>
<noteType>3</noteType>
<enhancedLiabilityIndicator>false</enhancedLiabilityIndicator>
<options>CZ</options>
<bookingStatus>QuoteViaWeb</bookingStatus>
<quoteComment>Generated via Web Request</quoteComment>
<availableCollectionDate>2012-07-27T00:00:00</availableCollectionDate>
<generatedByName>10.210.132.246</generatedByName>
<generatedById>10.210.132.246</generatedById>
<requestDateTime>2012-07-27T08:56:16</requestDateTime>
<quoteReference>1207-000200</quoteReference>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 47 of 160
Express ICS, 2017
6.1.2.1.4TheavailableDeliveries section
There is an availableDeliveries section for each delivery date based on the services determined that the user may
select to delivery the shipment based on the details supplied. Normally there will be one section returned for the
next working day. This section contains all the serviced that can be used to delivery on this date, these are detailed
in the ratedServices.
6.1.2.1.5TheratedServices and ratedService sections
The ratedServices section can contain up to 10 ratedService elements. Each service that can be rated and is feasibility
used to delivery the shipment described in the price check.
<ratedServices>
<ratedService>
<deliveryReference>1</deliveryReference>
<code>1</code>
<description>EXPRESS</description>
<division>D</division>
<charge>90.71</charge>
<guaranteed>true</guaranteed>
<discount>0.00</discount>
<surcharges>
</surcharges>
<deliveryDate>2012-07-30T00:00:00</deliveryDate>
<accepted>true</accepted>
<commodityCode></commodityCode>
</ratedService>
<ratedService>
</ratedService>
</ratedServices>
<availableDeliveries>
<date>2012-07-30T00:00:00</date>
<reference>1</reference>
<ratedServices>
<ratedService>
</ratedService>
</ratedServices>
</availableDeliveries>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 48 of 160
Express ICS, 2017
The service code and description are returned in the code and description elements. The charge amount is in Pound
sterling, as is the discount that has been provided. The delivery date format is CCYY-MM-DD
6.1.2.1.6Thesurcharges sections
The surcharges section can contain up to 10 surcharges that applies to this shipment.
The surcharges category, associate description, charge code and where appropriate commodity code are returned for
each rated service. The charge amount is in Pound sterling.
<surcharges>
<category>CZ</category>
<description>CFwd and Hazardous Supplement</description>
<charge>41.00</charge>
<commodityCode></commodityCode>
<category>ELCF</category>
<description>Enhanced Liability with CF</description>
<charge>3.00</charge>
<commodityCode></commodityCode>
<category>D</category>
<description>Residential Supplement - delivery</description>
<charge>7.50</charge>
<commodityCode></commodityCode>
<category>8</category>
<description>Express Index</description>
<charge>11.11</charge>
<commodityCode></commodityCode>
</surcharges>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 49 of 160
Express ICS, 2017
6.1.3BOOK response element
This element highlights whether the book activity was successful or failed.
By setting the ShowBookingRef attribute to ‘Y’ in the request, and if the collection request is raised successfully in
TNT’s collection booking system, the return the booking reference number will be returned within the
<BOOKINGREF> tag. This is not available for UK domestic bookings.
Please refer to Appendix L First Time Trader Requirements for more information on the <FIRSTTIMETRADER>
element.
6.1.4SHIP response element
This element highlights whether the Ship activity was successful or failed.
<SHIP>
<CONSIGNMENT>
<CONREF>ref01_008</CONREF>
<CONNUMBER>GE000003364GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
</CONSIGNMENT>
</SHIP>
<BOOK>
<CONSIGNMENT>
<CONREF>ref2</CONREF>
<CONNUMBER>GE857115020GB</CONNUMBER>
<SUCCESS>Y</SUCCESS>
<FIRSTTIMETRADER>Y</FIRSTTIMETRADER>
<BOOKINGREF>CVT 803567</BOOKINGREF>
</CONSIGNMENT>
</BOOK>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 50 of 160
Express ICS, 2017
6.1.5PRINT response element
This element highlights which shipping documents are available
<PRINT>
<CONNOTE>CREATED</CONNOTE>
<LABEL>CREATED</LABEL>
<MANIFEST>CREATED</MANIFEST>
<INVOICE>CREATED</INVOICE>
</PRINT>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 51 of 160
Express ICS, 2017
7.Shipping Documentation responses
If a print request is successfully processed, XML documents will be created and should be retrieved by the customer
using the access key. This XML can be printed by either writing print software using the data inside the XML or by
simply parsing the XML documents with a suitable parser that conforms to the standards recommended by the W3C
(World Wide Web Consortium). The printed documentation is created using stylesheets. An XSL (Extensible
Stylesheet Language) stylesheet processor accepts a document or data in XML referencing an XSL stylesheet and
presents that XML source content as intended by the said stylesheet.
Three methods of producing the documentation are possible.
Development your own solution
Using the TNT stylesheets in an XML compliant browser
Producing HTML with a compliant XML / XSL parser
The current TNT document stylesheets can be located at:
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLConsignmentNoteRenderer.xsl
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLAddressLabelRenderer.xsl
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLManifestRenderer.xsl
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLSummaryManifestRenderer.xsl
https://express.tnt.com/expresswebservices-website/stylesheets/HTMLCommercialInvoiceRenderer.xsl
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 52 of 160
Express ICS, 2017
7.1Development your own solution
By implementing the XML/XSL standards, TNT has divorced the data from the presentation, for enhanced
flexibility and platform neutrality. If you wish to produce the required documentation through your own software
solution, then please note that the formats must conform to the standards implemented by TNT. Your documentation
will need to be passed to your local TNT representative for approval by TNT operations.
It is possible to host certain elements, for example stylesheets, on the client server. This is not recommended as it
means that the locally held elements will need to be refreshed in the event of changes being made to the centrally
held item.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 53 of 160
Express ICS, 2017
7.2Using the TNT stylesheets in an XML compliant browser
Producing the documentation using this option is by far the easiest to adopt, because TNT have already done the
work of creating the presentation.
Simply open the returned print XML, as an .xml file in the browser and the documentation will be automatically
rendered.
Each XML print document will contain a reference to an XSL stylesheet held on the TNT webservers e.g.
<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-website/stylesheets/HTMLCommercialInvoiceRenderer.xsl"
type="text/xsl"?>
The second line tells the XML browser that there is a stylesheet designed to process and format the XML for display
or print. The ‘href’ provides the address of the stylesheet and the ‘type’ tells the browser that the stylesheet is written
in XSL.
<!If you wish to retrieve documentation using the older version 2.0 stylesheets, which do not support receiver
pays functionality, then please reference the following declaration -- >
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-website/stylesheets/HTMLCommercialInvoiceRenderer.xsl"
type="text/xsl"?>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 54 of 160
Express ICS, 2017
7.3Producing HTML with a compliant XML / XSL parser
If you use a browser other than IE or another XML supporting browser, then the XML can still be parsed with the
stylesheets to produce HTML. This can then be rendered in any version 3.0+ browser supporting JavaScript.
The most compatible method of producing the HTML is using the Microsoft MSXML parser. This is the internal
COM parser used within IE. It is however available in a free redistributable version, from the Microsoft web site,
additional information can be found at.
https://msdn.microsoft.com/en-us/data/bb190600.aspx
Other parsers are available from IBM and Datachannel, both supporting the W3C DOM.
IBM’s browser is available at http://www.ibm.com
XML4J a platform independent parser written in Java
XML4C another IBM parser written in C++
Datachannel, who originally wrote the Microsoft parser also produce an XML parser available for download at
http://www.datachannel.com
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 55 of 160
Express ICS, 2017
7.4Documentation requirement rules
There are four shipping documents that can be produced. These are described below with ‘rules’ for their
production required information and suggested layout. If unsure as to which documents are required, the customer
has the option of passing in the conrefs/consignment numbers in the <PRINT><REQUIRED> element. This will
then return documents based on the rule table below:
Required Documents
ConsignmentType
Origin and destination
countries both within the
EU?
Documents to be printed
Document
N/A
Labels, connotes, manifest
Non-Doc
Y
Labels, manifest
Non-Doc
N
Labels, connotes, manifest,
commercial invoice
The (commercial) invoice is the primary document required by the Customs officials dealing with international
transactions.It is used as a customs declaration provided by the person or corporation that is exporting an item across
international borders.
Most large export companies have their own invoice and it is recommended that they use theirs, but ExpressConnect
Shipping will provide one if required.
Please note that it is also hereby certified and agreed that, as TNT Express (including any other carrier involved in
the transportation of the goods) does not have any possibility to control the accuracy of the information displayed on
the commercial invoice, theshipper, consignee and buyer release TNT Express from all and any liability in
connection with said information (including but not limited the declared value of the shipped goods) and agree to
indemnify and hold TNTExpress harmless from any and all claims, actions and judgment incurred in connection
therewith.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 56 of 160
Express ICS, 2017
7.5Consignment Note
A consignment note is a document that functions as a receipt for the goods to be shipped, and as evidence of the
contract of carriage by setting out the rights and obligations of the consignor and the carrier, as well as placing
limitations on the carrier’s liability for loss, damage or delay to the goods. It is not a document of title to the goods.
The xml response for the consignment note can be retrieve in Java script using
// Retrieve Consignment note
xml_in = 'GET_CONNOTE:'+AccessCode;
var ConNoteXML=SendXml(xml_in);
and has the following structure:
Continued below.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-
website/stylesheets/HTMLConsignmentNoteRenderer.xsl"
type="text/xsl"?>
<CONSIGNMENTBATCH>
<BARCODEURL>/barbecue/barcode?type=code39&height=70&width=1&data=</BARCODEURL>
<HOST>https://express.tnt.com</HOST>
<IMAGESDIR>/expresswebservices-website/rendering/images</IMAGESDIR>
<CONSIGNMENT originCountry="GB" marketType="INTERNATIONAL">
<HEADER last="true">
<SHIPMENTDATE>15/08/2016</SHIPMENTDATE>
<SENDER>
<COMPANYNAME>
<![CDATA[Sender Co 01-008]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT1]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT2]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT3]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>987654321</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 57 of 160
Express ICS, 2017
Continued below.
</SENDER>
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME>
<![CDATA[Receiver Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT7]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT8]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT9]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Bob]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 58 of 160
Express ICS, 2017
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">1.0</TOTALVOLUME>
<TOTALWEIGHT units="kg">1.4</TOTALWEIGHT>
<CUSTOMERREF>
<![CDATA[DISKS]]>
</CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE000003143GB</CONNUMBER>
<SERVICE>15N Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1>
<![CDATA[assorted office accessories]]>
</GOODSDESC1>
<TOTALITEMS>2</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST>
<![CDATA[Delivery Instructions TEST]]>
</DELIVERYINST>
<OPTION1>PR Priority</OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 59 of 160
Express ICS, 2017
When the xml is “Viewed in a browser they appear like this (International):
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 60 of 160
Express ICS, 2017
If producing your own, they must contain all the information shown on the templates above, both on the receiver
copy and on the customs copy.. If you create your own documentation it must be signed off by operations, your TNT
representative can arrange this for you.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 61 of 160
Express ICS, 2017
7.6Address labels
To be attached to the package/s out for collection. Allows barcode scanning and tracking of consignments during
delivery movement.
It is recommended to use a routing label which can be produced using an alternative Webserver Expresslabel, access
and assistance this can be arranged by your TNT representative. Further details can be found at:
https://express.tnt.com/expresswebservices-website/app/routinglabelrequest.html
The xml response for the label can be retrieve in Java script using
// Retrieve label
xml_in = 'GET_LABEL:'+AccessCode;
var LabelXML=SendXml(xml_in);
and has the following structure:
Continued below.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-website
/stylesheets/HTMLAddressLabelRenderer.xsl" type="text/xsl"?>
<CONSIGNMENTBATCH>
<BARCODEURL>/barbecue/barcode?type=code39&height=70&width=1&data=</BARCODEURL>
<HOST>http://gblabvl45.gb.tntpost.com:9082</HOST>
<IMAGESDIR>/expresswebservices-website/rendering/images</IMAGESDIR>
<CONSIGNMENT originCountry="GB" marketType="INTERNATIONAL">
<HEADER>
<SHIPMENTDATE>15/08/2016</SHIPMENTDATE>
<SENDER>
<COMPANYNAME>
<![CDATA[Sender Co 01-008]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT1]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT2]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT3]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>987654321</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 62 of 160
Express ICS, 2017
Continued below.
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME>
<![CDATA[Receiver Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT7]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT8]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT9]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Bob]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 63 of 160
Express ICS, 2017
Continued below.
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">1.0</TOTALVOLUME>
<TOTALWEIGHT units="kg">1.4</TOTALWEIGHT>
<CUSTOMERREF>
<![CDATA[DISKS]]>
</CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE000003143GB</CONNUMBER>
<SERVICE>15N Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1>
<![CDATA[assorted office accessories]]>
</GOODSDESC1>
<TOTALITEMS>2</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST>
<![CDATA[Delivery Instructions TEST]]>
</DELIVERYINST>
<OPTION1>PR Priority</OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 64 of 160
Express ICS, 2017
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
<PACKAGE>
<GOODSDESC>box 2</GOODSDESC>
<LENGTH units="cm">50.0</LENGTH>
<HEIGHT units="cm">60.0</HEIGHT>
<WIDTH units="cm">70.0</WIDTH>
<WEIGHT units="Kg">0.8</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.63</VOLUME>
<PACKAGEINDEX>2</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2128</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 65 of 160
Express ICS, 2017
Viewed in the browser, the standard label appear like this:
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 66 of 160
Express ICS, 2017
Below is an example of a UK domestic label:
If producing your own, they must contain all the information shown below. If you create your own it must be signed
off by operations, your TNT representative can arrange this for you.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 67 of 160
Express ICS, 2017
7.7Detail Manifest
The manifest is the form that lists the consignments traveling on a particular mode of transport on a particular date.
The xml response for the detail manifest can be retrieve in Java script using
// Retrieve manifest
xml_in = 'GET_MANIFEST:'+AccessCode;
var ManifestXML=SendXml(xml_in);
and has the following structure:
Continued below.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-
website/stylesheets/HTMLManifestRenderer.xsl" type="text/xsl"?>
<CONSIGNMENTBATCH>
<BARCODEURL>/barbecue/barcode?type=code39&height=70&width=1&data=</BARCODEURL>
<HOST>http://gblabvl45.gb.tntpost.com:9082</HOST>
<IMAGESDIR>/expresswebservices-website/rendering/images</IMAGESDIR>
<CONSIGNMENT originCountry="GB" marketType="INTERNATIONAL">
<HEADER>
<SHIPMENTDATE>15/08/2016</SHIPMENTDATE>
<SENDER>
<COMPANYNAME>
<![CDATA[Sender Co 01-008]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT1]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT2]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT3]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>987654321</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 68 of 160
Express ICS, 2017
Continued below.
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME>
<![CDATA[Receiver Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT7]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT8]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT9]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Bob]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 69 of 160
Express ICS, 2017
Continued below.
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">1.0</TOTALVOLUME>
<TOTALWEIGHT units="kg">1.4</TOTALWEIGHT>
<CUSTOMERREF>
<![CDATA[DISKS]]>
</CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE000003143GB</CONNUMBER>
<SERVICE>15N Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1>
<![CDATA[assorted office accessories]]>
</GOODSDESC1>
<TOTALITEMS>2</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST>
<![CDATA[Delivery Instructions TEST]]>
</DELIVERYINST>
<OPTION1>PR Priority</OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 70 of 160
Express ICS, 2017
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
<PACKAGE>
<GOODSDESC>box 2</GOODSDESC>
<LENGTH units="cm">50.0</LENGTH>
<HEIGHT units="cm">60.0</HEIGHT>
<WIDTH units="cm">70.0</WIDTH>
<WEIGHT units="Kg">0.8</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.63</VOLUME>
<PACKAGEINDEX>2</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2128</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 71 of 160
Express ICS, 2017
Viewed in the browser it appears like this:
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 72 of 160
Express ICS, 2017
7.8Summary Manifest
The summary manifest lists all of the consignments traveling on a particular mode of transport on a particular date,
as a part of a batch.
Viewed in the browser it appears like this:
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 73 of 160
Express ICS, 2017
7.9Commercial invoice
The seller issues a commercial invoice to the buyer stating the cost of the goods being supplied plus any other
charges that might be involved, e.g. insurance, freight. This type of invoice is raised when a commercial transaction
has taken place. One commercial invoice is produced per consignment.
The xml response for the Commercial Invoice can be retrieve in Java script using
// Retrieve Invoice
xml_in = 'GET_INVOICE:'+AccessCode;
var INVOICEXML=SendXml(xml_in);
and has the following structure:
Continued below.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml-stylesheet href="https://express.tnt.com/expresswebservices-
website/stylesheets/HTMLCommercialInvoiceRenderer.xsl" type="text/xsl"?>
<CONSIGNMENTBATCH>
<CONSIGNMENT originCountry="GB" marketType="INTERNATIONAL">
<HEADER last="true">
<SHIPMENTDATE>15/08/2016</SHIPMENTDATE>
<SENDER>
<COMPANYNAME>
<![CDATA[Sender Co 01-008]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT1]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT2]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT3]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 2ry</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>01827</CONTACTDIALCODE>
<CONTACTTELEPHONE>717733</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
<ACCOUNT>987654321</ACCOUNT>
</SENDER>
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 74 of 160
Express ICS, 2017
Continued below.
<COLLECTION>
<COMPANYNAME>
<![CDATA[Collection Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT4]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT5]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT6]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Atherstone]]>
</CITY>
<PROVINCE>
<![CDATA[Warwickshire]]>
</PROVINCE>
<POSTCODE>CV9 1TT</POSTCODE>
<COUNTRY>UNITED KINGDOM</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Contact]]>
</CONTACTNAME>
<CONTACTDIALCODE>00000</CONTACTDIALCODE>
<CONTACTTELEPHONE>700005</CONTACTTELEPHONE>
<CONTACTEMAIL>contact@tnt.com</CONTACTEMAIL>
</COLLECTION>
<CARRIAGEFORWARD>N</CARRIAGEFORWARD>
</HEADER>
<RECEIVER>
<COMPANYNAME>
<![CDATA[Receiver Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT7]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT8]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT9]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Bob]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</RECEIVER>
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 75 of 160
Express ICS, 2017
Continued below.
<DELIVERY>
<COMPANYNAME>
<![CDATA[Delivery Name]]>
</COMPANYNAME>
<STREETADDRESS1>
<![CDATA[TEST DO NOT COLLECT10]]>
</STREETADDRESS1>
<STREETADDRESS2>
<![CDATA[TEST DO NOT COLLECT11]]>
</STREETADDRESS2>
<STREETADDRESS3>
<![CDATA[TEST DO NOT COLLECT12]]>
</STREETADDRESS3>
<CITY>
<![CDATA[Amsterdam]]>
</CITY>
<POSTCODE>1012 AA</POSTCODE>
<COUNTRY>NETHERLANDS</COUNTRY>
<CONTACTNAME>
<![CDATA[Mr Frank]]>
</CONTACTNAME>
<CONTACTDIALCODE>1672</CONTACTDIALCODE>
<CONTACTTELEPHONE>987432</CONTACTTELEPHONE>
<CONTACTEMAIL>email@tnt.com</CONTACTEMAIL>
<VAT>VAT-0123</VAT>
</DELIVERY>
<TOTALVOLUME units="m3">1.0</TOTALVOLUME>
<TOTALWEIGHT units="kg">1.4</TOTALWEIGHT>
<CUSTOMERREF>
<![CDATA[DISKS]]>
</CUSTOMERREF>
<CONSIGNMENTTYPE>N</CONSIGNMENTTYPE>
<CONNUMBER>GE000003143GB</CONNUMBER>
<SERVICE>15N Express</SERVICE>
<INSURANCEVALUE>150.00</INSURANCEVALUE>
<GOODSDESC1>
<![CDATA[assorted office accessories]]>
</GOODSDESC1>
<TOTALITEMS>2</TOTALITEMS>
<GOODSVALUE>180.00</GOODSVALUE>
<DELIVERYINST>
<![CDATA[Delivery Instructions TEST]]>
</DELIVERYINST>
<OPTION1>PR Priority</OPTION1>
<OPTION2></OPTION2>
<OPTION3></OPTION3>
<OPTION4></OPTION4>
<OPTION5></OPTION5>
<CURRENCY>GBP</CURRENCY>
<INSURANCECURRENCY>GBP</INSURANCECURRENCY>
<PAYMENTIND>S</PAYMENTIND>
<CONREF>ref01_008</CONREF>
<STATCODE>ABC</STATCODE>
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 76 of 160
Express ICS, 2017
<PACKAGE>
<GOODSDESC>box 1</GOODSDESC>
<LENGTH units="cm">10.0</LENGTH>
<HEIGHT units="cm">20.0</HEIGHT>
<WIDTH units="cm">30.0</WIDTH>
<WEIGHT units="Kg">0.4</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.019</VOLUME>
<PACKAGEINDEX>1</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2127</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
<PACKAGE>
<GOODSDESC>box 2</GOODSDESC>
<LENGTH units="cm">50.0</LENGTH>
<HEIGHT units="cm">60.0</HEIGHT>
<WIDTH units="cm">70.0</WIDTH>
<WEIGHT units="Kg">0.8</WEIGHT>
<ITEMS>3</ITEMS>
<VOLUME units="m3">0.63</VOLUME>
<PACKAGEINDEX>2</PACKAGEINDEX>
<PACKAGEMAX>2</PACKAGEMAX>
<ARTICLE>
<PACKAGECODE>2128</PACKAGECODE>
<INVOICEDESC>
<![CDATA[metal paperclips]]>
</INVOICEDESC>
<INVOICEVALUE>2.30</INVOICEVALUE>
<ITEMS>1</ITEMS>
<DESCRIPTION>
<![CDATA[paperclips]]>
</DESCRIPTION>
<WEIGHT units="Kg">0.03</WEIGHT>
<HTS>ABC</HTS>
<ORIGINCOUNTRY>GB</ORIGINCOUNTRY>
</ARTICLE>
</PACKAGE>
</CONSIGNMENT>
</CONSIGNMENTBATCH>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 77 of 160
Express ICS, 2017
Viewed in the browser it appears like this:
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 78 of 160
Express ICS, 2017
8.Errors
There are a number of different errors that may occur when using ExpressConnect Shipping. Many of these are
likely to be encountered in the initial development phase and are concerned with the format of the XML message
and the presence of data items.
The remaining messages are concerned with validation of the data items and the availability of the service. The error
messages are shown below:
It would be sensible to ensure that your code is capable of handling all of the potential error messages returned by
ExpressConnect Shipping.
8.1Application generated errors
The standard behaviour is for you will to receive a response and then for you to check the result (with
GET_RESULT) to see if there are errors returned.
In some cases, errors are returned directly in the response with an error.
8.1.1Request errors
These are displayed as errors in response, for example Key value not written correctly.
8.1.2XML errors
Theses error occur if the XML is badly formatted, contain a typo and are returned via GET_RESULT.
For example, if the Element <STREETADDRESS> contains a typo.
<?xml version="1.0" standalone="yes"?>
<parse_error>
<error_reason>Element content is invalid according to the DTD/Schema. Expecting: STREETADDRESS3,
CITY.</error_reason>
<error_line>13</error_line>
<error_linepos>26</error_linepos>
<error_srcText>
<![CDATA[ <ASTREETADDRESS3 />]]>
</error_srcText>
</parse_error>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<runtime_error>
<error_reason>No data received at gateway from client error</error_reason>
<error_srcText></error_srcText>
</runtime_error>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 79 of 160
Express ICS, 2017
8.1.3Validation errors
Theses error occur if there is an issue with the data supplied in the XM and are returned via GET_RESULT.
For example, the XML contained the insurance element with a value, but the goods value element is missing
For possible validation or verification errors please see Table of application generated error codes, messages and
resolutions on the following pages.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<document>
<ERROR>
<CODE>351</CODE>
<DESCRIPTION>Goods value must be entered if insurance value supplied</DESCRIPTION>
<SOURCE>Consignment reference: ref0204</SOURCE>
</ERROR>
</document>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 80 of 160
Express ICS, 2017
8.2Table of application generated error codes, messages and resolutions
The Default Message column contains the English language message that is returned with each code. This value is
intended to be used by systems integrators. For content management you should use the error code.
An element is considered empty if it contains no value or only whitespace. Therefore all of the following elements
are empty:
For Shipping
Error
Code
Error Description
Resolution
1
No data received at gateway from client error
The request failed to receive a valid request please resend or contact your local service
centre for further assistance
This error is returned when the http request is received by the ExpressConnect application
without an XML payload.
We have found that this can be caused by multiple reasons, including but not limited to:
Temporary network issue. Solved by resending request
Expired/Invalid certificate. Solved by installing the express.tnt.com certificate
By remove the linefeed character from the TNT transaction ID
Sending the xml payload as a form/url encoded parameter, but not setting the
request header. Solved by setting the content type header appropriately.
Truncating the returned Requestid when requesting the result.
Please re-check the your connection codes to connect the TNT server. Review the sample
connection codes in this guide
2
The request to ExpressConnect Shipping has
failed. Please contact your local service centre
for further assistance
Please contact your local service centre for further assistance
3
The {invalidfield.name} specified must be
numeric
Please pass numeric data in the highlighted field
101
Error Reading Configuration file
Contact TNT Help Desk
102
Failure to load XML
Check that XML contains DTD in declaration
103
ConsignmentBatch Skipped - More Than 99
Packages
Maximum of 99 packages per consignment only
104
Length Exceeds maximum allowed - Skipped to
next consignment
Max length permitted for a package is 2.4m
105
Height Exceeds maximum allowed - Skipped to
next consignment
Max height permitted for a package is 1.5m
106
Width Exceeds Mamimum Allowed - Skipped to
next consignment
Max width permitted for a package is 1.2m
107
Weight Exceeds maximum allowed - Skipped
to next consignment
Max weight permitted for a package is 70 kg
108
Maximum Number Of Articles Exceeded -
Skipped to next Consignment
Maximum of 99 articles elements per package only
110
Maximum Number Of Consignments exceeded
Refer to customer documentation for maximum limits set *
<emptyElement/>
<emptyElement></emptyElement>
<emptyElement></emptyElement>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 81 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
113
Empty Consignment Reference found
ConRefs must be supplied
114
Duplicate Consignment Reference not allowed
ConRefs must be unique and are mandatory
115
Consignment Reference Not Recognized
Ensure that conrefs given in the Activity elements correspond to those in the Consignment
batches
116
Consignment Number Not Recognized
Ensure that connumbers given in the Activity elements correspond to those consignments
created less than 8 days ago.
118
Cannot Rate a receiver pays shipment
Unless you “own” the receiver account number it is not possible to see the estimated cost of
the shipment.
119
If the origin or destination of a consignment is
outside of the EU, the consignment must contain
at least one package
Add a package to the Input XML
120
Duplicate consignment references not allowed
for groupcode {groupcode}, conref {conref}
Maximum of 99 packages per consignment only
200
A user ID must be entered
Enter the Customer ID in the input XML
201
A company name must be entered
Enter company name in the input XML
202
The first line of the sender address must be
entered
The three lines of the origin address can not all be empty
203
A town for the sender address must be entered
Enter a sender town
204
A post code for the sender address must be
entered
Enter a sender post code
205
A country code for the sender address must be
entered
Enter a valid sender country code
206
Invalid country code for the sender address
entered
Enter a valid sender country code
207
Sender account must be numeric
Enter a valid sender account number
208
The sender address contact name must be
entered
Enter a Senders Contact Name
209
The sender address contact dial code must be
entered
Enter a sender contact dial code
210
The sender address contact dial code is too long
This field may only hold 7 digits
211
The sender address contact telephone number
must be entered
Enter a sender contact telephone number
212
The sender address contact telephone number is
too long
This field may only hold 9 digits
213
unable to determine the pick up depot from
sender address
Check sender address details are valid
214
Sender account number must be entered
Enter an account number associated with this customer
215
The collection address company name must be
entered
Enter collection company name
216
First line of the collection address must be
entered
The three lines of the collection address can not all be empty if these tags are used
217
A town for the collection address must be
entered
Enter a collection town
218
The collection address post code must be
entered
Enter a collection post code
219
The collection address country code must be
entered
Enter a valid collection country code
220
Invalid collection address country code entered
Enter a valid collection country code
221
The collection address contact name must be
entered
Enter a collection contact name
222
The collection address contact dial code must
be entered
Enter a collection contact dial code
223
The collection address contact dial code is too
long
This field may only hold 7 digits
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 82 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
224
The collection address contact telephone must
be entered
Enter a collection contact telephone number
225
The collection address contact telephone is too
long
This field may only hold 9 digits
226
unable to determine pick up depot from
collection address
Check collection address details are valid
227
The account number is invalid
The account number entered is not associated with this customer
228
Shipment date is invalid
Enter the shipment date in DD/MM/YYYY format
229
The shipment date cannot be in the past
Enter a shipment date that is not in the past
230
The shipment date cannot be more than
{max.days.ahead.booking.allowed} days in the
future
Enter a date not more than 14 days in the future
231
Collections can not be made on this date
The Country Cannot make a collection on the requested day
232
A preferred From collection-time must be
entered
Enter a valid time in HHMM format
233
The preferred From collection-time is invalid
The Prefered collection times must be completed in HHMM format
234
A preferred To collection-time must be entered
Enter a valid time in HHMM format
235
The preferred To collection -time is invalid
The Prefered collection times must be completed in HHMM format
236
Collection times must overlap with
{depot.opening.time} and {depot.closing.time}
Enter a preferred collection time between 09:00 and 16:00
237
The alternate From collection time must be
entered
Enter a valid time in HHMM format
238
The alternate From collection time is invalid
The alternate collection times must be completed in HHMM format
239
The alternate To collection time is invalid
Enter a valid time in HHMM format
240
The alternate To collection time is invalid
The alternate collection times must be completed in HHMM format
241
Alternate collection times must be between
09:00 and 16:00
Enter an alternate collection time between 09:00 and 16:00
242
The preffered and alternate collection times
must not overlap
Check your collection times do not overlap
243
Unable to allocate unique identifier - contact
administrator
There has been an internal error in ExpressConnect, please contact the administrator
244
Group Code {groupcode} does not exist
Check that the correct group code has been entered for an existing batch.
246
Error validating consignments for group code
{groupcode}
Check that there are cons defined for this group code.
247
Cutoff time today for submitting shipping
requests, {cutoff.date}, has passed
Please contact you TNT representative as the booking time has passed for the current day
and we are unable to take your booking via ExpressConnect.
248
The collection instruction is too long. Max
length 60 characters
The collection instruction can be a maximum of 24 characters in length.
300
Consignment reference must be entered
Enter a reference for the consignment
301
The receiver company name must be entered
Enter receiver company name in the input XML
302
The first line of the receiver address must be
entered
The three lines of the receiver address can not all be empty
303
Receiver town must be entered
Enter a receiver town
304
The receiver address post code must be entered
Enter a receiver post code
305
The receiver address country code must be
entered
Enter a valid receiver country code
306
An invalid receiver country code has been
entered
Enter a valid receiver country code
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 83 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
307
The receiver address contact name must be
entered
A recipient name must be entered
308
The receiver address dial code must be entered
Enter a receiver contact dial code
309
The receiver address dial code is too long
This field may only hold 7 digits
310
The receiver address contact telephone number
must be entered
Enter a receiver contact telephone number
311
The receiver address contact telephone number
is too long
This field may only hold 9 digits
312
Unable to determine the TNT delivery depot
from the receiver address
Check receiver address details are valid
313
The delivery address company name must be
entered
Enter delivery company name in the input XML
314
The first line of the delivery address must be
entered
The three lines of the delivery address can not all be empty
315
A delivery address town name must be entered
Enter a delivery town
316
A delivery address post code must be entered
Enter a delivery post code
317
A delivery address country code must be entered
Enter a valid delivery country code
318
The delivery address country code is invalid
Enter a valid delivery country code
319
A delivery address contact name must be
entered
A delivery name must be entered
320
A delivery address contact dial code must be
entered
Enter a delivery contact dial code
321
The delivery address contact dial code is too
long
This field may only hold 7 digits
322
A delivery address contact telephone number
must be entered
Enter a delivery contact telephone number
323
The delivery address contact telephone number
is too long
This field may only hold 9 digits
324
The delivery address company name must be
entered
Check delivery address details are valid
325
Domestic shipments are not allowed for this
country
The origin and destination countries must be different
326
The consignment type must be entered, N (non-
documents) or D (documents)
Enter a consignment type of ‘N’ (non-document) or ‘D’ (document)
327
Consignment type must be N (non-documents)
or D (documents)
Enter a consignment type of ‘N’ (non-document) or ‘D’ (document)
328
Payment indicator must be S (sender) or R
(receiver)
Terms of payments may only be (S)ender or (R)eceiver
329
The receivers account number is required for
receiver pays shipments
If Terms of payment is ‘R’ then the receivers account must be entered
330
Receivers pays shipments not allowed for this
account number
Receiver pays shipments are not allowed for this account
331
Total items must be entered
A Numeric value must be inserted into the item field
332
Total items must be numeric
A Numeric value must be inserted into the item field
333
Total items must be greater than zero
A Numeric value greater than zero must be inserted into the item field
334
The total weight must be entered
A Numeric value must be inserted into the weight field
335
The total weight must be numeric
A Numeric value must be inserted into the weight field
336
The total weight must be greater than zero
A Numeric value greater than zero must be inserted into the weight field
337
The total volume must be entered for non-
document shipments
If con type is Non Doc, then enter a volume
338
The total volume must be numeric
A Numeric value must be inserted into the volume field
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 84 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
339
The total volume must be greater than zero
A Numeric value greater than zero must be inserted into the volume field
340
The goods value must be numeric
A Numeric value must be inserted into the goods value field
341
The goods value must be greater than zero
A Numeric value greater than zero must be inserted into the goods value field
342
The goods value currency must be entered
If Goods Value is entered a valid currency must be entered also
343
The goods value currency is invalid
Enter a Valid Currency Code
344
The goods value must be entered if the currency
is given
If a Currency is entered, then a value must be entered also
345
The insurance value must be numeric
A Numeric value must be inserted into the insurance value field
346
The insurance value must be greater than zero
A Numeric value greater than zero must be inserted into the insurance value field
347
The insurance value currency must be entered
Enter an insurance currency along with the insurance value
348
An invalid insurance currency has been entered
Enter a valid Currency Code
349
The insurance value must be entered if currency
given
Enter an insurance value to go with the insurance currency
350
The insurance value must not exceed 110% of
goods value
Enter an insurance value which is not greater than 110% of the goods value
351
The goods value must be entered if insurance
value has been supplied
Enter an goods value if insurance value is supplied
352
An invalid service has been entered
Enter a valid service code
353
An invalid option code has been entered for this
shipping service
Enter valid options
354
Duplicate option codes have been entered
Remove the duplicated option code
355
The receivers account number must be numeric
The account number must be numeric
356
The receivers account number is invalid
The account number is not assoicated with the userid
357
The receiver account country code is invalid
This is an internal TNT error and so please contact your TNT representative
358
The receiver account country code must be
entered
The country code assiocate with the receiver is invalid
359
The receiver account country code must be
entered
For receiver pays shipments a valid receiver account is required
360
User not allowed to enter own consignment
numbers
The customer is not registered to allow them to use this functionality. Contact your TNT
representative to arrange this if required.
361
User entered an invalid consignment number
The last digit (check digit) on the consignment number is invalid. Enter a valid consignment
number
362
Duplicate consignment numbers entered
Enter a different consignment number
363
A UN Number must be provided if shipment is
hazardous
Provide a UN Number for the hazardous shipment(UK Domestic shipments only)
364
User are not authorised to ship hazardous goods
Contact your local CIT Representative to seek authorisation to ship Hazardous goods. (UK
Domestic Shipments Only)
365
Preferred Collection times must be between
09:00 and 23:59
Your perfered collection windows must match TNT availability
366
Alternate Collection times must be between
09:00 and 23:59 and not overlap with Preferred
collection times
Your Alternative (afternoon) collection windows must match TNT availability
367
An invalid delivery address country code
entered
The country code assiocate with the delivery is invalid
368
The UN Number is too long
The UN number must be 4 characters in length
369
An insurance value must be entered
The insurance value must be supplied.
400
The package items must be entered
Enter a numeric value in the items field of the package
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 85 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
401
The package items must be numeric
A Numeric value must be inserted into the package field
402
The package items must be greater than zero
A Numeric value greater than zero must be inserted into the package field
403
The package description must be entered
Enter some descriptiove text in the package description field
404
The package length must be entered
A length for the package must be entered
405
The package length must be numeric
A Numeric value must be inserted into the package length field
406
The package length must be greater than zero
A Numeric value greater than zero must be inserted into the package length field
407
The package width must be entered
A Width for the package must be entered
408
The package width must be numeric
A Numeric value must be inserted into the package width field
409
The package width must be greater than zero
A Numeric value greater than zero must be inserted into the package width field
410
The package height must be entered
A height for the package must be entered
411
The package height must be numeric
A Numeric value must be inserted into the package height field
412
The package Height must be greater than zero
A Numeric value greater than zero must be inserted into the package height field
413
The package weight must be entered
A weight for the package must be entered
414
The package weight must be numeric
A Numeric value must be inserted into the package weight field
415
The package weight must be greater than zero
A Numeric value greater than zero must be inserted into the package weight field
500
Article Items must be entered
The number of items for the article must be entered
501
Article items must be numeric
A Numeric value must be inserted into the article items field
502
Article Items must be greater than zero
A Numeric value greater than zero must be inserted into the article items field
503
Article description must be entered
The description for the article must be entered
504
Article weight must be entered
The weight for the article must be entered
505
Article weight must be numeric
A Numeric value must be inserted into the article weight field
506
Article weight must be greater than zero
A Numeric value greater than zero must be inserted into the article weight field
507
Article invoice value must be entered
The invoice value for the article must be entered
508
Article invoice value must be numeric
A Numeric value must be inserted into the article invoice field
509
Article invoice value must be greater than zero
A Numeric value greater than zero must be inserted into the article invoice field
510
Article invoice description must be entered
The invoice description for the article must be entered
511
Article origin country must be entered
The origin country of the article must be entered
512
An invalid article origin country code entered
Enter a valid origin country of the article
521
Invalid sender postcode format. Required:
{postcode.masks}
Please correct the postocde to the match the required format
522
Invalid collection postcode format. Required:
{postcode.masks}
Please correct the postocde to the match the required format
524
Invalid receiver postcode format. Required:
{postcode.masks}
Please correct the postocde to the match the required format
525
Invalid delivery postcode format. Required:
{postcode.masks}
Please correct the postocde to the match the required format
526
The collection address town and postcode has
not been supplied
Please supply the address details
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 86 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
527
The collection address town could not be found
Please supplied town (& postcode combination) in the required TNT spelling - please
contact you TNT Representative for more assistance.
528
The collection address town is not unique
Please supplied town (& postcode combination) is not unique - please contact you TNT
Representative for more assistance.
529
The collection address province length is too
long
The province can be a maximum of 30 characters in length
530
The collection address postcode is not allowed
for the selected country
The postcode is not required
531
The collection address province could not be
found
The supplied province could not be found - please contact you TNT Representative for
more assistance.
532
The collection address postcode is invalid
The supplied postcode is classed as invalid - please contact you TNT Representative for
more assistance.
533
The collection address postcode is not unique
The supplied postcode is not unique - please contact you TNT Representative for more
assistance.
534
The collection address town postcode
combination is invalid
The supplied Town & Postcode combination is classed as invalid - please contact you TNT
Representative for more assistance.
535
The collection address postcode is not in within
a valid range
We are unable to find this postcode for your supplied town
536
The collection address postcode could not be
found
We are unable to find this postcode
537
The collection address country code is not valid
The country code must be a valid ISO country code.
538
The collection address is not unique
The supplied address details are not unique - please contact you TNT Representative for
more assistance.
539
The collection postcode is below the minimum
length
The Postcode length does not match the required Postcode length
540
The sender address town and postcode has not
been supplied
Please supply the address details
541
The sender address town could not be found
Please supplied town (& postcode combination) in the required TNT spelling - please
contact you TNT Representative for more assistance.
542
The sender address town is not unique
Please supplied town (& postcode combination) is not unique - please contact you TNT
Representative for more assistance.
543
The sender address province length is too long
The province can be a maximum of 30 characters in length
544
The sender address postcode is not allowed for
the selected country
The postcode is not required
545
The sender address province could not be found
The supplied province could not be found - please contact you TNT Representative for
more assistance.
546
The sender address postcode is invalid
The supplied postcode is classed as invalid - please contact you TNT Representative for
more assistance.
547
The sender address postcode is not unique
The supplied postcode is not unique - please contact you TNT Representative for more
assistance.
548
The sender address town postcode combination
is invalid
The supplied Town & Postcode combination is classed as invalid - please contact you TNT
Representative for more assistance.
549
The sender address postcode is not in within a
valid range
We are unable to find this postcode for your supplied town
550
The sender address postcode could not be found
We are unable to find this postcode
551
The sender address country code is not valid
The country code must be a valid ISO country code.
552
The sender address is not unique
The supplied address details are not unique - please contact you TNT Representative for
more assistance.
553
The sender address postcode does not have the
minimum length
The Postcode length does not match the required Postcode length
554
The receiver address town and postcode has not
been supplied
Please supply the address details
555
The receiver address town could not be found
Please supplied town (& postcode combination) in the required TNT spelling - please
contact you TNT Representative for more assistance.
556
The receiver address town is not unique
Please supplied town (& postcode combination) is not unique - please contact you TNT
Representative for more assistance.
557
The receiver address province length is too long
The province can be a maximum of 30 characters in length
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 87 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
558
The receiver address postcode is not allowed for
the selected country
The postcode is not required
559
The receiver address province could not be
found
The supplied province could not be found - please contact you TNT Representative for
more assistance.
560
The receiver address postcode is invalid
The supplied postcode is classed as invalid - please contact you TNT Representative for
more assistance.
561
The receiver address postcode is not unique
The supplied postcode is not unique - please contact you TNT Representative for more
assistance.
562
The receiver address town postcode combination
is invalid
The supplied Town & Postcode combination is classed as invalid - please contact you TNT
Representative for more assistance.
563
The receiver address postcode is not in within a
valid range
We are unable to find this postcode for your supplied town
564
The receiver address postcode could not be
found
We are unable to find this postcode
565
The receiver address country code is not valid
The country code must be a valid ISO country code.
566
The receiver address is not unique
The supplied address details are not unique - please contact you TNT Representative for
more assistance.
567
The receiver address postcode does not have the
minimum length
The Postcode length does not match the required Postcode length
568
The delivery address town and postcode has not
been supplied
Please supply the address details
569
The delivery address town could not be found
Please supplied town (& postcode combination) in the required TNT spelling - please
contact you TNT Representative for more assistance.
570
The delivery address town is not unique
Please supplied town (& postcode combination) is not unique - please contact you TNT
Representative for more assistance.
571
The delivery address province length is too long
The province can be a maximum of 30 characters in length
572
the delivery address postcode not allowed for
the selected country
The postcode is not required
573
The delivery address province was not found
The supplied province could not be found - please contact you TNT Representative for
more assistance.
574
The delivery address postcode is invalid
The supplied postcode is classed as invalid - please contact you TNT Representative for
more assistance.
575
The delivery address postcode is not unique
The supplied postcode is not unique - please contact you TNT Representative for more
assistance.
576
The delivery address town and postcode
combination is invalid
The supplied Town & Postcode combination is classed as invalid - please contact you TNT
Representative for more assistance.
577
The delivery address postcode not within a valid
range
We are unable to find this postcode for your supplied town
578
The delivery address postcode could not be
found
We are unable to find this postcode
579
The delivery address country code is not valid
The country code must be a valid ISO country code.
580
The delivery address is not unique
The supplied address details are not unique - please contact you TNT Representative for
more assistance.
581
The delivery address postcode does not have the
minimum length
The Postcode length does not match the required Postcode length
582
Delivery in depot not valid
This is an internal TNT error and so please contact your TNT representative
583
The self collection TNT depot is not valid
This is an internal TNT error and so please contact your TNT representative
584
Unable to calculate transit time
This is an internal TNT error and so please contact your TNT representative
600
The sender address contact email is too long,
maximum length is 50
Please correct the field as requested.
601
The collection address contact email is too long,
maximum length is 50
Please correct the field as requested.
602
The receiver address contact email is too long,
maximum length is 50
Please correct the field as requested.
603
The delivery contact email is too long,
maximum length is 50
Please correct the field as requested.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 88 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
604
The sender address account number is too long,
maximum length is 10
Please correct the field as requested.
605
receiver address account number is too long,
maximum length is 10
Please correct the field as requested.
606
One or more of the option codes are too long,
maximum length is 3
Please correct the field as requested.
607
The application id is too long, maximum length
is 2
Please correct the field as requested.
608
The application version is too long, maximum
length is 5
Please correct the field as requested.
609
The package quantity is too long, maximum
length is 5
Please correct the field as requested.
610
The article quantity is too long, maximum length
is 3
Please correct the field as requested.
611
The currency code is too long, maximum length
is 3
Please correct the field as requested.
612
The article country code is too long, maximum
length is 3
Please correct the field as requested.
613
The article invoice description is too long,
maximum length is 78
Please correct the field as requested.
614
The sender address vat number is too long,
maximum length is 20
Please correct the field as requested.
615
The receiver address vat number is too long,
maximum length is 20
Please correct the field as requested.
616
The collection address vat number is too long,
maximum length is 20
Please correct the field as requested.
617
The delivery vat number is too long, maximum
length is 20
Please correct the field as requested.
618
The sender address, address line 1 is too long,
maximum length is 30
Please correct the field as requested.
619
The sender address, address line 2 is too long,
maximum length is 30
Please correct the field as requested.
620
The sender address, address line 3 is too long,
maximum length is 30
Please correct the field as requested.
621
The sender address postcode is too long,
maximum length is 9
Please correct the field as requested.
622
The sender address country code is too long,
maximum length is 3
Please correct the field as requested.
623
The sender address town is too long, maximum
length is 30
Please correct the field as requested.
624
The sender address province is too long,
maximum length is 30
Please correct the field as requested.
625
The sender address company name is too long,
maximum length is 50
Please correct the field as requested.
626
The sender address contact name is too long,
maximum length is 22
Please correct the field as requested.
627
The receiver address, address line 1 is too long,
maximum length is 30
Please correct the field as requested.
628
The receiver address, address line 2 is too long,
maximum length is 30
Please correct the field as requested.
629
The receiver address, address line 3 is too long,
maximum length is 30
Please correct the field as requested.
630
The receiver address postcode is too long,
maximum length is 9
Please correct the field as requested.
631
The receiver address country code is too long,
maximum length is 3
Please correct the field as requested.
632
The receiver address town is too long, maximum
length is 30
Please correct the field as requested.
633
The receiver address province is too long,
maximum length is 30
Please correct the field as requested.
634
The receiver address company name is too long,
Please correct the field as requested.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 89 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
maximum length is 50
635
The receiver address contact name is too long,
maximum length is 22
Please correct the field as requested.
636
The collection address address line 1 is too long,
maximum length is 30
Please correct the field as requested.
637
The collection address address line 2 is too long,
maximum length is 30
Please correct the field as requested.
638
The collection address address line 3 is too long,
maximum length is 30
Please correct the field as requested.
639
The collection address postcode is too long,
maximum length is 9
Please correct the field as requested.
640
The collection address country code is too long,
maximum length is 3
Please correct the field as requested.
641
The collection address town is too long,
maximum length is 30
Please correct the field as requested.
642
The collection address province is too long,
maximum length is 30
Please correct the field as requested.
643
The collection address company name is too
long, maximum length is 50
Please correct the field as requested.
644
The collection address contact name is too long,
maximum length is 22
Please correct the field as requested.
645
The delivery address, address line 1 is too long,
maximum length is 30
Please correct the field as requested.
646
The delivery address, address line 2 is too long,
maximum length is 30
Please correct the field as requested.
647
The delivery address, address line 3 is too long,
maximum length is 30
Please correct the field as requested.
648
The delivery address postcode code is too long,
maximum length is 9
Please correct the field as requested.
649
The delivery address country code is too long,
maximum length is 3
Please correct the field as requested.
650
The delivery address town is too long, maximum
length is 30
Please correct the field as requested.
651
The delivery address province is too long,
maximum length is 30
Please correct the field as requested.
652
The delivery address company name is too long,
maximum length is 50
Please correct the field as requested.
653
The delivery address contact name is too long,
maximum length is 22
Please correct the field as requested.
654
The package width is too long, maximum length
is 7
Please correct the field as requested.
655
The package length is too long, maximum length
is 7
Please correct the field as requested.
656
The package height is too long, maximum length
is 7
Please correct the field as requested.
657
The package weight is too long, maximum
length is 9
Please correct the field as requested.
658
The package description is too long, maximum
length is 60
Please correct the field as requested.
659
The article weight is too long, maximum length
is 9
Please correct the field as requested.
660
The article description is too long, maximum
length is 60
Please correct the field as requested.
661
The consignment delivery instructions are too
long, maximum length is 60
Please correct the field as requested.
662
The consignment total weight is too long,
maximum length is 8
Please correct the field as requested.
663
The consignment total volume is too long,
maximum length is 8
Please correct the field as requested.
664
The consignment user reference is too long,
maximum length is 24
Please correct the field as requested.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Page 90 of 160
Express ICS, 2017
Error
Code
Error Description
Resolution
665
The consignment service is too long, maximum
length is 4
Please correct the field as requested.
666
The application version value must be 2.2 or
greater
667
The consignment description is too long,
maximum length is 90
Please correct the field as requested.
668
The ExpressConnect application version must be
entered
669
Sender address postcode masks/format not
found for the selected country
This is an internal TNT error and so please contact your TNT representative
670
Collection address postcode masks/format not
found for the selected country
This is an internal TNT error and so please contact your TNT representative
671
Receiver address postcode masks/format not
found for the selected country
This is an internal TNT error and so please contact your TNT representative
672
Delivery address postcode masks/format not
found for the selected country
This is an internal TNT error and so please contact your TNT representative
673
The sender address province is not allowed for
the selected country
TNT does not require province for selected country
674
The collection address province is not allowed
for the selected country
TNT does not require province for selected country
675
The receiver address province is not allowed for
the selected country
TNT does not require province for selected country
676
The delivery address province is not allowed for
the selected country
TNT does not require province for selected country
677
Sender town location is too short
This is an internal TNT error and so please contact your TNT representative
678
Collection town location is too short
This is an internal TNT error and so please contact your TNT representative
679
Receiver town location is too short
This is an internal TNT error and so please contact your TNT representative
680
Delivery town location is too short
This is an internal TNT error and so please contact your TNT representative
681
Packaging group must be provided if shipment
is hazardous
The UN number and packaging group should be supplied for Dangerous Goods
682
ConsignmentBatch Skipped - More Than 3
Packages
No longer used
683
ConsignmentBatch Skipped - More Than 20
Packages
Please supply upto 20 package lines
689
Consignment Skipped - More Than 99 Items in
Packages
Please supply a maximum of 99 packages.
690
There must be one hour difference between
preferred collection times.
Please correct the collection times supplied.
691
There must be one hour difference between
alternate collection times.
Please correct the collection times supplied.
692
If the collection date is today, preferred
collection end time must be greater than now + 1
hour
Please correct the collection times supplied.
693
If the collection date is today, alternate
collection end time must be greater than now + 1
hour
Please correct the collection times s
997
Shipping request XML unmarshall failed with
parsing error.
Pleae correct the supplied XML
998
Shipping request XML unmarshall failed with
unknown error.
Pleae correct the supplied XML
999
login details not recognised
Your userid and password do not match the details stored for your user.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 91 of 160
Express ICS, 2017
The following errors maybe returned if your select the Rating activity.
Error
Code
Error Description
Default Message
Resolution
1
The XML in the request is not
formatted correctly.
Failure to format incoming XML
string
Ensure the XML in the request is of the correct structure. Refer to the
XSD and available documentation to rectify.
2
The services returned in the response
may not all be valid due to a failure to
validate the possible services.
Failure to specify available
Services: those returned might not
all apply
Resubmit the request for all services.
3
The options returned in the response
may not all be valid due to a failure to
validate the possible options.
Failure to specify available
Options: those returned might not
all apply
Resubmit the request for all options.
4
Failure to retrieve details of the service
or options.
Failure to retrieve Service/Option
details
Resubmit the request. If the problem persists, contact the TNT helpdesk.
5
A timeout occurred when making a
call to the database.
Price Check Failure: Time out on
database.
Resubmit the request. If the problem persists contact the TNT helpdesk.
6
An error occurred on the TNT server.
Price Check Failure: Error in
server
Resubmit the request. If the problem persists contact the TNT helpdesk.
7
No rates available for the request
Price Check Failure: No Rates
Returned.
Source and destination addresses need to be serviceable by TNT.
8
Mandatory fields missing or invalid in
the request XML.
FIELD/S MISSING OR
INVALID. MANDATORY
FIELDS ARE
ORIGINCOUNTRY,
DESTCOUNTRY,
CONTYPE,ITEMS,WEIGHT
AND VOLUME(IF NONDOC).
Ensure the XML in the request is of the correct structure and contains all
mandatory fields. Refer to the XSD and available documentation to
rectify.
9
No price requests found in the XML
No Price Requests Found
Refer to the XSD and available documentation to rectify.
10
The account number entered is not
Invalid Account Number
Enter a valid account number.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 92 of 160
Express ICS, 2017
Error
Code
Error Description
Default Message
Resolution
associated with this customer
11
The country code in the request XML
is invalid.
Invalid Country Code
Ensure the country code matches one of those in the TNT dataset.
12
The town group specified in the
request XML is invalid.
Invalid Town Group
TownGroup code must match a code in the TNT Towngroup dataset.
13
The rates returned are standard rates
and do not include any account
specific prices.
Standard Rates
If account specific rates are required then account details should be
populated in the request XML.
14
Domestic price requests are not
supported in the country specified.
Invalid Domestic Consignment
Domestic shipments should be within supported TNT countries.
15
The value of the Insurance element
should be a number.
Insurance value must be numeric
Ensure the value of the Insurance element is a number.
16
Options have been specified in the
request XML without an associated
service code.
Service required with options
Ensure a service code is specified for the requested options.
17
The system was unable to retrieve the
service and option for the request.
Unable to retrieve service/option
Refer to the XSD and available documentation to rectify.
18
The service specified in the request is
invalid.
Service is invalid
Ensure the service in the request matches a code in the TNT dataset.
19
The system was unable to parse the
request XML.
Pricing request failed with parsing
error.
Ensure the XML is of a valid structure. Refer to the XSD and available
documentation to rectify.
20
The request XML was not recognised
as a Express Connect request.
XML supplied is not recognised as
an ExpressConnect request.
Refer to the XSD and available documentation to rectify.
21
No data was received from the client.
No data received at gateway from
client error
Resubmit the request.
22
The maximum number of options per
service has been exceeded.
Exceeded maximum number of
allowed options
A maximum of 5 options per service are allowed.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 93 of 160
Express ICS, 2017
Error
Code
Error Description
Default Message
Resolution
101
Origin address town not supplied
Origin address town not supplied
Supply origin address town
102
Origin address town and postcode not
supplied
Origin address town and postcode
not supplied
Supply origin address town and postcode.
103
Origin address town has not been
recognized.
Origin address town not found
Ensure that the specified origin town is a valid town.
104
Origin address town results in more
than one match
Origin address town not unique
Ensure the origin town is entered correctly. Do not use partial town
names.
105
The origin address province maximum
length has been exceeded.
Origin address province length
exceeded
Maximum 30 characters.
106
Origin address postcode has been
entered for a country that does not
accept postcodes as part of the address.
Origin address postcode not
allowed for selected country
Remove the origin postcode element from the request.
107
Origin address province not found
Origin address province not found
Ensure origin province is entered correctly or remove the origin province
element.
108
The origin postcode is invalid in the
request.
Origin address postcode invalid
Ensure the origin postcode element is entered correctly.
109
Origin address postcode has an invalid
format. For example CV9 XTT is
incorrect for a UK postcode.
Origin address postcode invalid
format
Ensure the origin postcode element is entered correctly and is no longer
than 9 characters.
110
Origin address postcode matches more
than one town. This may occur if a
partial postcode is entered.
Origin address postcode not unique
Ensure the origin postcode is entered correctly.
111
Origin address has an invalid town /
postcode combination. For example if
you entered a London postcode for
Birmingham.
Origin address town/postcode
combination invalid
Ensure origin postcode and/or town are entered correctly.
112
Origin address postcode is not within
Origin address postcode not in
Ensure origin postcode and/or town are entered correctly.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 94 of 160
Express ICS, 2017
Error
Code
Error Description
Default Message
Resolution
the valid range of postcodes for the
town.
valid range
113
Origin postcode is missing from the
request XML.
Origin address postcode not found
Ensure origin postcode is entered correctly
114
Origin country not found in the XML
Origin address country not
supplied
Country is mandatory in the request.
115
Origin address country is not valid
ISO 3166-1 ALPHA-2. (2 character
alpha).
Origin address country not valid
ISO.
Ensure origin country is entered correctly.
116
Origin address town results in more
than one match.
Origin address not unique
Ensure origin town and/or postcode are entered correctly. Do not use
partial town or postcodes.
117
Origin address postcode is below
minimum length for selected country
Origin address postcode is below
minimum length for selected
country
Ensure origin town and/or postcode are entered correctly. Do not use
partial town or postcodes.
201
Destination address town not supplied
Destination address town not
supplied
Supply destination address town
202
Destination address town and postcode
not supplied
Destination address town and
postcode not supplied
Supply destination address town and postcode.
203
Destination address town has not been
recognized.
Destination address town not found
Ensure that the specified destination town is a valid town.
204
Destination address town results in
more than one match
Destination address town not
unique
Ensure the destination town is entered correctly. Do not use partial town
names.
205
The Destination address province
maximum length has been exceeded.
Destination address province
length exceeded
Maximum 30 characters.
206
Destination address postcode has been
entered for a country that does not
accept postcodes as part of the address.
Destination address postcode not
allowed for selected country
Remove the destination postcode element from the request.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 95 of 160
Express ICS, 2017
Error
Code
Error Description
Default Message
Resolution
207
Destination address province not
found
Destination address province not
found
Ensure destination province is entered correctly or remove the destination
province element.
208
The Destination postcode is invalid in
the request.
Destination address postcode
invalid
Ensure the destination postcode element is entered correctly.
209
Destination address postcode has an
invalid format. For example CV9 XTT
is incorrect for a UK postcode.
Destination address postcode
invalid format
Ensure the destination postcode element is entered correctly and is no
longer than 9 characters.
210
Destination address postcode matches
more than one town. This may occur if
a partial postcode is entered.
Destination address postcode not
unique
Ensure the destination postcode is entered correctly.
211
Destination address has an invalid
town / postcode combination. For
example if
you entered a London postcode for
Birmingham.
Destination address town/postcode
combination invalid
Ensure destination postcode and/or town are entered correctly.
212
Destination address postcode is not
within the valid range of postcodes for
the town.
Destination address postcode not in
valid range
Ensure destination postcode and/or town are entered correctly.
213
Destination postcode is missing from
the request XML.
Destination address postcode not
found
Ensure destination postcode is entered correctly
214
Destination country not found in the
XML
Destination address country not
supplied
Country is mandatory in the request.
215
Destination address country is not
valid ISO 3166-1 ALPHA-2. (2
character alpha).
Destination address country not
valid ISO.
Ensure destination country is entered correctly.
216
Destination address town results in
more than one match.
Destination address not unique
Ensure destination town and/or postcode are entered correctly. Do not use
partial town or postcodes.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 96 of 160
Express ICS, 2017
Error
Code
Error Description
Default Message
Resolution
217
Destination address postcode is below
the minimum length for selected
country
Destination address postcode is
below minimum length for selected
country
Ensure destination town and/or postcode are entered correctly. Do not use
partial town or postcodes.
301
The depot ID for the origin depot is
not valid.
Delivery in depot id is not valid
Depot ID should be one of the valid TNT towngroup codes contained
within the towngroup dataset.
302
The depot ID for the self collect
delivery address is not valid.
Self collect depot id is not valid
Depot ID should be one of the valid TNT towngroup codes contained
within the towngroup dataset.
401
The TNT backend system was unable
to determine the route between the
source and destination addresses.
Unable to determine traffic lane for
route
Contact TNT helpdesk.
999
The user name and password specified
in the request have not been
recognised.
login details not recognised
Enter the correct username and password combination. Contact the TNT
helpdesk if the problem persists.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 97 of 160
Express ICS, 2017
9.Connecting to ExpressConnect Shipping
ExpressConnect Shipping is a HTTP web service, which defines an XML interface for data transfer. The XSD for
the service can be found in the Shipping section of the website. Before sending an XML document through a
straight socket connection, you must verify that you can access TNT’s ExpressConnect applications by successfully
viewing the test/demonstration web site provided by TNT. This is located at
https://express.tnt.com/expresswebservices-website/app/landing.html
The demonstration site does NOT support foreign (non-ASCII) characters.
The demonstration site simulates a simple customer interface to the back-end ExpressConnect server. It is useful for
developers to use as a tool to test their XML and analyse their return XML results, prior to and during the
development of their front-end application.
When testing ExpressConnect Shipping, the results come back in five separate packages. The XML results
document holds the information pertaining to consignments created, rated or booked. The other four hold
information required for consignment documentation: consignment notes, labels, manifest, and invoice. These four
XML documents include a reference to an XSL style sheet
1
in the XML heading. If they are opened as XML files in
IE6.0 or above, they will be automatically formatted and displayed as TNT shipping documents.
Having made a successful submission of an XML document via the test page, you are ready to set up a socket
connection and make a real XML submission using the code similar to
Open a socket connection to the following address and port number.
Domain Name https://express.tnt.com/expressconnect/shipping/ship express.tnt.com
IP Address 164.39.122.33
Port 81
Send the following lines, data between quotes. N.B. 1 blank line should be sent after Content-length line.
"POST Shipping/ship HTTP/1.0"
"Accept: */*"
"User-Agent: Ship_socket/1.0";
"Content-type: application/x-www-form-urlencoded";
"Content-length: X"; (replace X with the length of data plus 7 for “xml_in=”)
""
"xml_in=XML document" (this is the content of message)
XML document isthe XML corresponding to the specified format (see later section).
1
The manifest document will refer to a different style sheet if it is a summary manifest.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 98 of 160
Express ICS, 2017
Once the above data has been sent, read from the socket until no more data is available. The data returned will
consist of some header information followed by a blank line, and then the shipping return code. This unique code is
your key with which you can retrieve the various XML documents that your shipping request has produced.
The return string will look like this: COMPLETED:nnnnnnnnnn
where nnnnnnnnnn is a unique number.
You will then send this number back in to the TNT server for each XML document results XML, consignment
XML, label XML, manifest XML or invoice XML that you need.
A code example of how this may be performed and the correct format of the requests are included below.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 99 of 160
Express ICS, 2017
9.1VB Script sample
ExpressConnect can be called from within a VB script. The sample script performs the following operations:
Access the request XML from a folder on the local ‘C:’ drive
Parse the basic XML to encode all non ASCII characters to their Hex equivalent. This is required to
correctly handle special characters such as “ß©@¼Ùäá”.
Send the encoded XML to ExpressConnect and retrieve the access code. The access code is a unique
number that identifies the data for this submission. This is used in subsequent calls to retrieve the
document, and summary information XML in subsequent calls.
Make five separate calls to ExpressConnect to retrieve the summary result information and the four
consignment documents, consignment notes, labels, commercial invoice and manifest.
The following characters have special meaning in XML strings and these need to be encoded by your own
application before being included in the request XML submitted: &<> “ ‘
To include these characters replace the character in your XML with the following literal string:
& &amp;
< &lt;
> &gt;
&quot;
&apos;
For example to pass the literal ‘Jack & Jill’ you need to pass in the XML: ‘Jack &amp; Jill’
The example can be run from your own server to show a successful connection and the format of the response XML.
Customers are free to utilize this code within their own application if they wish but please note that we cannot offer
support for this.
'FILE: Sample_HTTP_shipping_request.vbs
'AUTH: Paul Horsley
' Folders required C:\expressconnect
' Folders required C:\expressconnect\original // Put your request XML message here with
file name "TEST.xml"
' Ensure the <SHIPDATE> tag has a date of today or in the future, in the format
"DD/MM/YYYY"
Const TristateTrue = -1
Const TristateFalse = 0
xml_out = ""
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 100 of 160
Express ICS, 2017
'note ----- The shipping request XML document
dim objText
dim objfilesys
dim objSite
Dim iAccessCodeLen
Dim sfolder
Dim sfilename
Dim sUrl
Dim xml_in
Dim AccessCode
iAccessCodeLen = 7
sUrl = "https://express.tnt.com/expressconnect/shipping/ship"
sfolder = "C:\expressconnect\"
Wscript.Echo WScript.Scriptname &" : Calling TNT Express Connect Shipping @ " & sUrl
sFileName = "TEST.xml"
set objfilesys = wscript.createobject("scripting.filesystemobject")
‘ For input files with ANSI encoding
‘ Set the format argument to “TristateTrue” (-1) for Unicode files, or “TristateFalse”
(0) for ASCII files
set objText = objfilesys.opentextfile(objfilesys.BuildPath(sfolder , "original\" &
sfilename ), 1 ,False ,TristateFalse)
' Read in the request XML to xml_in variable
xml_in = objText.ReadAll
objText.close
' Encode the request XML
xml_in = HEXThisStream(xml_in)
' Send the encoded XML and place the result in AccessCode variable
AccessCode = Sendxml (xml_in ,"Shipping Connection response")
' Store the result in the "C:\expressconnect\" folder
PersistXmlTestResults sfolder , "AccessCode=" & AccessCode, "AccessCode"
' Extract just the numeric access code from the response
AccessCode = Right( AccessCode,iAccessCodeLen)
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 101 of 160
Express ICS, 2017
' Display the returned AccessCode. The access code is a unique number that identifies the
data for this submission.
' This is used in subsequent calls to retrieve the document, and summary information XML
in subsequent calls.
MsgBox "AccessCode - " & AccessCode
' Retrieve the consignment document XML
' The document XML will only be available if the appropriate tag has been included in the
<PRINT> node
' of the original request XML. For all four documents to be available the following XML
would need to be included
' with the appropriate reference or consignment number. "ref12" in the example below:
'
' <PRINT>
' <CONNOTE>
' <CONREF>ref12</CONREF>
' </CONNOTE>
' <LABEL>
' <CONREF>ref12</CONREF>
' </LABEL>
' <MANIFEST>
' <CONREF>ref12</CONREF>
' </MANIFEST>
' <INVOICE>
' <CONREF>ref12</CONREF>
' </INVOICE>
' </PRINT>
' Retrieve the consignment note XML if the <CONNOTE> tag has been included
' in the <PRINT> node
Xml_In="GET_CONNOTE:" & AccessCode
SendXml Xml_In, "Get_Connote"
' Retrieve the commercial invoice XML if the <INVOICE> tag has been included
' in the <PRINT> node
Xml_In="GET_INVOICE:" & AccessCode
SendXml Xml_In, "Get_Invoice"
' Retrieve the manifest XML if the <MANIFEST> tag has been included
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 102 of 160
Express ICS, 2017
' in the <PRINT> node
Xml_In="GET_MANIFEST:" & AccessCode
SendXml Xml_In, "Get_Manifest"
' Retrieve the label XML if the <LABEL> tag has been included
' in the <PRINT> node
Xml_In="GET_LABEL:" & AccessCode
SendXml Xml_In, "Get_Label"
'Retrieve the result summary information XML
Xml_In="GET_RESULT:" & AccessCode
SendXml Xml_In , "Get_Result_"
' Process finished
MsgBox "Done all"
' Encode the request XML before submitting to ExpressConnect
Function HEXThisStream ( sInput )
Dim i, k ' Numeric variables
Dim s, staticChars, t ' String variable
'Create a string of safe / status characters taht do not need encoding
staticChars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
'Test if the input string is NULL then exit, return a blank string
if IsNull(sInput) then
HEXThisStream = ""
exit function
end if
' Copy sInput string into local var s
s = sInput
' Iterate the s var content 1 character at a time
For i = 1 To Len ( s )
' Get the numeric ascii value for the current character
k = Asc ( Mid ( s , i , 1 ) )
' Test If the current character is one of the staticChars
If InStr( 1 , staticChars , Chr ( k ) , 1 ) > 0 Then
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 103 of 160
Express ICS, 2017
' If Test = true
' Add current character to temp string
t = t & Chr(k)
Else
' If test = False
' Test if the current character is a space
If k = 32 Then ' ASCII representation of Space char
' If True
' add "+" character to the temp string
t = t & "+"
Else
' If False
' add a fixed "%" character + the HEXidecimal value fixed to a lenght of
2 characters
' ( additional 0 included as a pad character / used when HEX returns a
single byte
' and encoding needs a double byte ("0D","0A" etc etc)
t = t & "%" & Right ( "0" & ( Hex ( k ) ) , 2 )
End If
End If
Next
'Copy the temp string output to the function handle
HEXThisStream = t
End Function
' Send the encoded XML to ExpressConnect
Function SendXML(xmlin , sxmlType)
Dim xmlout
'note ----- create a socket connection object
dim httpOb
set httpOb = WScript.CreateObject("Microsoft.XMLHTTP")
'note ----- open socket connection to given IP address and entry file
httpOb.Open "POST", sUrl , false, "", ""
'note -----display error message if socket opening fails
if Err Then
Wscript.Echo "Error connecting: "&Err.Number&" "& Err.Description
else
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 104 of 160
Express ICS, 2017
'note ----- if opening socket works send XML
httpOb.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
xmlin = "xml_in=" & xmlin
' Send the XML to ExpressConnect
httpOb.Send xmlin
'note ----- store returned XML result
xmlout = httpOb.responseText
PersistXmlTestResults sFolder , xmlout , sxmlType
end if
'note ------- release socket object
set httpObj = Nothing
SendXML = xmlout
End Function
' Write the retrieved XML to the "C:\expressconnect\" folder
Function PersistXmlTestResults(sFldr , Xml , xmlType)
Dim fs
Dim oFile
Dim ioFile
Set fs=CreateObject("Scripting.FileSystemObject")
ioFile = fs.BuildPath(sFldr , xmlType & ".xml")
set oFile=fs.CreateTextFile(ioFile, True , True)
oFile.write xml
oFile.close
set fs = nothing
End Function
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 105 of 160
Express ICS, 2017
9.2VB.net CONNECTION CODE EXAMPLE
Function RemoteConnection_TNT_ECSHIPPING(ByVal sXMLUNICODE As String, ByVal strid As
String) As String
Dim sResponse As String
' Create a request using a URL that can receive a post.
Dim request As WebRequest = WebRequest.Create(getECUrl)
' Set the Method property of the request to POST.
request.Method = "POST"
' Create POST data and convert it to a byte array, *** USE UTF-8 ***
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(sXMLUNICODE)
'SET CONNECTIVOTY TIME OUT
request.Timeout = 100000
'SET AUTHENTICATIOON TYPE
'request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested
' Set the ContentType property of the WebRequest.
request.ContentType = "application/x-www-form-urlencoded"
' Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length
Dim dataStream As Stream
Try
dataStream = request.GetRequestStream()
Catch ex As Exception
Return "Failure to process Shipping request, Please see results tab for more details."
End Try
' Get the request stream.
' Write the data to the request stream.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 106 of 160
Express ICS, 2017
dataStream.Write(byteArray, 0, byteArray.Length)
' Close the Stream object.
dataStream.Close()
' Call into TNT and get the response.
Dim response As WebResponse
Try
response = request.GetResponse()
Catch ex As Exception
Return "Failure to process Shipping request, " & ex.Message
End Try
' Get the stream containing content returned by the server.
dataStream = response.GetResponseStream()
' Open the stream using a StreamReader for easy access.
Dim reader As New StreamReader(dataStream, Encoding.UTF8)
' Read the content.
Dim responseFromServer As String = reader.ReadToEnd()
' Display the content.
sResponse = responseFromServer
' Clean up the streams.
reader.Close()
'CLOSE DATA STREAM AS PART OF CLEANUP
dataStream.Close()
'CLOSE RESPONSE OBJECT AS PART OF CLEANUP
response.Close()
Return sResponse
End Function
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 107 of 160
Express ICS, 2017
9.3JAVASCRIPT CONNECTION CODE EXAMPLE
JavaScript that performs the full five-call ‘conversation’ with the TNT server, sending in the returned access code to
retrieve the separate XML documents.
<%@ Language=JScript %>
<%
function SendXml(xml_in) {
// Send XML to TNT gateway
httpOb.Open("POST", "https://express.tnt.com/expressconnect/shipping/ship", false);
httpOb.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
httpOb.Send("xml_in="+escape(xml_in));
// Retrieve response from TNT Gateway
var HttpResult = httpOb.responseText;
return(HttpResult);
}
var xml_in = Request.Form("xml_in")
// Create instance of Microsoft XML Http Protocol object
var httpOb = Server.CreateObject("Microsoft.XMLHTTP");
// Retrieve access code from TNT Gateway
var AccessCode=SendXml(xml_in);
AccessCode=AccessCode.substring(9);
// Retrieve result file from TNT Gateway to show full results from transactions
xml_in = 'GET_RESULT:'+AccessCode;
var ResultXML=SendXml(xml_in);
// Retrieve Consignment note
xml_in = 'GET_CONNOTE:'+AccessCode;
var ConNoteXML=SendXml(xml_in);
// Retrieve Label
xml_in = 'GET_LABEL:'+AccessCode;
var LabelXML=SendXml(xml_in);
// Retrieve Manifest
xml_in = 'GET_MANIFEST:'+AccessCode;
var ManifestXML=SendXml(xml_in);
// Retrieve Invoice
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 108 of 160
Express ICS, 2017
xml_in = 'GET_INVOICE:'+AccessCode;
var InvoiceXML=SendXml(xml_in);
// Write all the results to files on our server
var FSO=Server.CreateObject("Scripting.FileSystemObject");
xFileName="ShippingResultFiles/xmlresults"+AccessCode+".xml";
xConNoteName="ShippingResultFiles/xmlconnote"+AccessCode+".xml";
xInvoiceName="ShippingResultFiles/xmlInvoice"+AccessCode+".xml";
xLabelName="ShippingResultFiles/xmlLabel"+AccessCode+".xml";
xManifestName="ShippingResultFiles/xmlManifest"+AccessCode+".xml";
var xmlresultfile = FSO.CreateTextFile(Server.MapPath(xFileName),false);
xmlresultfile.Write (ResultXML);
xmlresultfile.Close();
var xmlconfile = FSO.CreateTextFile(Server.MapPath(xConNoteName),false);
xmlconfile.Write (ConNoteXML);
xmlconfile.Close();
var xmlresultfile = FSO.CreateTextFile(Server.MapPath(xInvoiceName),false);
xmlresultfile.Write (InvoiceXML);
xmlresultfile.Close();
var xmlresultfile = FSO.CreateTextFile(Server.MapPath(xLabelName),false);
xmlresultfile.Write (LabelXML);
xmlresultfile.Close();
var xmlresultfile = FSO.CreateTextFile(Server.MapPath(xManifestName),false);
xmlresultfile.Write (ManifestXML);
xmlresultfile.Close();
//Choose what we want to see
//var DisplayObject = ResultXML;
//Response.Write(DisplayObject);
%>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 109 of 160
Express ICS, 2017
9.4C# EXAMPLE
The following example code uses superagent to wrap http calls http://visionmedia.github.io/superagent/
but you can use instead the//default http node.js module, this has been tested with node.js v6.5.0
#!/usr/bin/env node
'use strict';
//this example uses superagent to wrap http calls http://visionmedia.github.io/superagent/ you can use instead the
//default http node.js module
//tested with node.js v6.5.0
var fs = require('fs');
var request = require('superagent'); // require superagent module
//variables
var url = 'https://express.tnt.com/expressconnect/shipping/ship';
var accessCode;
//get xml
var xmlRequest = "[inputXMLString]" //fs.readFileSync('./example.xml').toString();
//initial call to server with callback
console.log('-- INITIAL CALL --');
sendRequest(xmlRequest, function (err, response) {
if (err) { return console.log(err) }; //log error in console if there is one.
console.log(response.text); //log server response
//stripe out the request id number
var responseSplit = response.text.split(':'); // split the answer string to be able to fill below properties
accessCode = responseSplit[1];
//call the service again to get the result
console.log('-- GET_RESULT --');
var resultRequest = "GET_RESULT:" + accessCode;
sendRequest(resultRequest, function (err, response) {
if (err) { return console.log(err) }; //log error in console if there is one.
console.log(response.text); //log server response
});
});
//generic function to call service
function sendRequest(body, callback) {
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 110 of 160
Express ICS, 2017
var serviceResponse = new Object();
request
.post(url)
.send('xml_in=' + body)
.set('Content-Type', 'application/x-www-form-urlencoded')
.end(function (err, res) {
if (err) { return callback(err); } // check if error occured if so return callback with error object
if (!res.ok) { return callback(res.error); } // check if status was not ok if so return callback with response error
serviceResponse.rawResponse = res; //store full server response
serviceResponse.text = res.text; //store server body reply
callback(null, serviceResponse);
});
};
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 111 of 160
Express ICS, 2017
9.5C# EXAMPLE
The following example code performs a shipping request and receive the result in c#.
//example in dotnetcore 1.0
//should run as well in other .Net framework versions
using System;
using System.IO;
using System.Net.Http;
using System.Collections.Generic;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
//define variables
string accessCodeReply;
string accessCode;
string resultReply;
string connoteReply;
try
{
//Load XML into variable
Console.WriteLine("-- INITIAL CALL --");
string xml_in = "[inputXMLstring]"; //File.ReadAllText(@"./example.xml"); //utf-8 only
accessCodeReply = CallWebservice(xml_in);
Console.WriteLine(string.Format("REPLY_FROM_SERVER: {0}", accessCodeReply));
//validate reply
if (accessCodeReply.StartsWith("COMPLETE:"))
{
accessCode = accessCodeReply.Substring(9);
}
else
{
throw new ArgumentException(string.Format("Webservice call ended in an error: {0}", accessCodeReply));
}
//call get result
Console.WriteLine("-- GET_RESULT --");
resultReply = CallWebservice(string.Format("GET_RESULT:{0}", accessCode));
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 112 of 160
Express ICS, 2017
Console.WriteLine(resultReply);
//call get connote
Console.WriteLine("-- GET_CONNOTE --");
connoteReply = CallWebservice(string.Format("GET_CONNOTE:{0}", accessCode));
Console.WriteLine(connoteReply);
}
catch (System.Exception ex)
{
//write exception message to console
Console.WriteLine(ex.Message.ToString());
if (ex.InnerException.Message != string.Empty)
{
Console.WriteLine(ex.InnerException.Message.ToString());
}
}
}
///function to call the webservice
private static string CallWebservice(string body)
{
//string serverUrl = "https://express.tnt.com/expressconnect/shipping/ship";
string serverUrl = "https://iconnection.tnt.com/shippergate2.asp";
try
{
//Call Express Connect
using (var client = new HttpClient())
{
//define dictionary to send body "xml_in=<..."
var values = new Dictionary<string, string>
{
{"xml_in", body}
};
//urlencode content
var content = new FormUrlEncodedContent(values);
//call webservice
var result = client.PostAsync(serverUrl, content).Result;
return result.Content.ReadAsStringAsync().Result;
}
}
catch (System.Exception)
{
throw;
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 113 of 160
Express ICS, 2017
}
}
}
}
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 114 of 160
Express ICS, 2017
9.6PHP Example
The following example code performs a shipping request and gets the returned result. Then it requests
the documents and renders these into html using the stylesheet in the returned xml.
// Function to connect to ExpressConnect post the XML and return the result.
function connectToEC3($xml_input) {
$url = "https://express.tnt.com/expressconnect/shipping/ship";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-
urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "xml_in=" . urlencode($xml_input));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// Then a function to visualize the returned xml in html page
function showXMLasHTML($xml_received){
//get stylesheet location from xml
$dom = new DOMDocument();
$dom->loadXml($xml_received);
$xpath = new DOMXpath($dom);
$styleLocation = $xpath->evaluate('string(//processing-instruction()[name() = "xml-stylesheet"])');
$last = explode("\"", $styleLocation, 3);
$xslLocation = $last[1];
$xslt = new xsltProcessor;
$xslt->importStyleSheet(DomDocument::load($xslLocation));
$html = $xslt->transformToXML(DomDocument::loadXML($xml_received));
return $html;
}
// The initiall posting of $xml_in to EC server (contains xml request)
$resultTab = connectToEC3($xml_in);
// Get the result details after posting the XML(only use the numbers from the initial response)
$resultTab2 = connectToEC3("GET_RESULT:" . preg_replace("/[^0-9]/", "", $resultTab));
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 115 of 160
Express ICS, 2017
// Get documentation (connote, label, manifest and invoice)
$connoteTab = connectToEC3("GET_CONNOTE:" . preg_replace("/[^0-9]/", "", $resultTab));
$labelTab = connectToEC3("GET_LABEL:" . preg_replace("/[^0-9]/", "", $resultTab));
$manifestTab = connectToEC3("GET_MANIFEST:" . preg_replace("/[^0-9]/", "", $resultTab));
$invoiceTab = connectToEC3("GET_INVOICE:" . preg_replace("/[^0-9]/", "", $resultTab));
// Show documentation
echo "Connote:<br>";
print showXMLasHTML($connoteTab);
echo "Label:<br>";
print showXMLasHTML($labelTab);
echo "Manifest:<br>";
print showXMLasHTML($manifestTab);
echo "Invoice:<br>";
print showXMLasHTML($invoiceTab);
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 116 of 160
Express ICS, 2017
10.Appendix A: XML elements definition (input)
These tables contain all of the possible Input XML nodes and some information about their use. All elements are
mandatory and must contain just one instance unless stated in the table below. If the data is optional then the
element does not need to be provided.
XML elements which do not contain a value but are merely a container for other elements are noted as Container
element, the elements contained therein are described in the rows immediately below. Please remember that field
values should be escaped using the ![CDATA[]] notation. At a minimum, all address fields should be escaped.
Failure to escape these areas could result in unexpected problems if the value in an element contains an Ampersand
(&).
For all data types described with a type prefix of 'xsd:' see XSD Data Types.
For all data types in the form ‘stringMinLengthXMaxLengthY’, ‘stringMaxLengthY’, ‘integerMin0Max9’,
doubleMaxExclusiveX or longMaxLengthX see Section Error! Reference source not found. Custom Data Types.
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
ESHIPPER
Y
Top level element
None
LOGIN
Y
Holds login elements
ESHIPPER
COMPANY
Y
Company Id
As allocated by
TNT
LOGIN
PASSWORD
Y
Company Password
As allocated by
TNT
LOGIN
APPID
Y
Application Id
The APPID
element should
be defaulted to
“IN”, unless it
has been
previously
agreed with your
TNT
Representative to
use an alternative
APPID. This
element is used
by various
source
applications to
highlight
where the
request was
LOGIN
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 117 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
made, it has no
bearing on the
functionality
offered.
APPVERSION
Y
Application Version
Please use 3.0
unless specified
to use an
alternative
interface version.
LOGIN
CONSIGNMENTBATCH
Y
Holds one collection
ESHIPPER
GROUPCODE (optional)
Y
Groupcode to use for the
subsequent consignments,
so that they can be treated
as a batch. (For further
information on Group
codes see appendix XII).
Returned via an
earlier request.
CONSIGNMEN
TBATCH
SENDER
Y
Holds details of the
sender and information
relating to the collection.
CONSIGNMEN
TBATCH
COMPANYNAME
Y
Full company name
This must match
up with the name
registered
against your
TNT account.
This will ensure
your
consignment
passes our Name
& Address
validation on the
mainframe
systems.
50
SENDER
STREETADDRESS1
Y
First line of address
30
SENDER
STREETADDRESS2
N
Second line of address
30
SENDER
STREETADDRESS3
N
Third line of address
30
SENDER
CITY
Y
Town name
Town MUST be
submitted.
30
SENDER
PROVINCE
N
Province name
30
SENDER
POSTCODE
N
Postcode
Postcode MUST
be submitted
unless country is
9
SENDER
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 118 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
a non-postcode
country.
COUNTRY
Y
Country
Must be TNT
country code
3
SENDER
ACCOUNT
Y
Company account upon
which collection is to be
booked/rated
Must be numeric
and be registered
against the
customer’s logon
details on the
ExpressConnect
database
13
SENDER
VAT
N
Company VAT number
20
SENDER
CONTACTNAME
Y
Name of person to be
contacted if needed
22
SENDER
CONTACTDIALCODE
Y
This person’s dial code
7
SENDER
CONTACTTELEPHONE
Y
This person’s telephone
number
9
SENDER
CONTACTEMAIL
N
This person’s email
address.
30
SENDER
COLLECTION
Y
Holds collection related
elements
SENDER
COLLECTIONADDRESS
N
Holds Collection Address
elements can only be
used if details, not
consignment numbers,
being passed in
consignmentbatch
COLLECTION
COMPANYNAME
Y
Full company name
50
COLLECTION
ADDRESS
STREETADDRESS1
Y
First line of address
30
COLLECTION
ADDRESS
STREETADDRESS2
N
Second line of address
30
COLLECTION
ADDRESS
STREETADDRESS3
N
Third line of address
30
COLLECTION
ADDRESS
CITY
Y
Town name
Town MUST be
submitted.
30
COLLECTION
ADDRESS
PROVINCE
N
Province name
30
COLLECTION
ADDRESS
POSTCODE
N
Postcode
Postcode MUST
be submitted
unless country is
9
COLLECTION
ADDRESS
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 119 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
a non-postcode
country.
COUNTRY
Y
Country
Must be TNT
country code
3
COLLECTION
ADDRESS
VAT
N
Company VAT number
20
COLLECTION
ADDRESS
CONTACTNAME
Y
Name of person to be
contacted if needed
22
COLLECTION
ADDRESS
CONTACTDIALCODE
Y
This person’s dial code
7
COLLECTION
ADDRESS
CONTACTTELEPHONE
Y
This person’s telephone
number
9
COLLECTION
ADDRESS
CONTACTEMAIL
N
This person’s email
address
30
COLLECTION
ADDRESS
SHIPDATE
Y
Date on which collection
is to be shipped
Must be
formatted
dd/mm/yyyy.
Cannot be in the
past.
12
COLLECTION
PREFCOLLECTTIME
Y
Preferred period of time
for collection holds
from and to elements
COLLECTION
ALTCOLLECTTIME (Optional)
N
Alternative collection
holds from and to
elements
COLLECTION
COLLINSTRUCTIONS
Y
Collection Instructions
60
COLLECTION
CONFIRMATIONEMAILADDRESS
(Optional)
N
An email address that will
be used should the
EMAILREQD attribute of
the BOOK element be set
to ‘Y’
Must be a valid
email address if
specified
60
COLLECTION
FROM
N
Start of time period
Must be entered
as hhmm in 24-
hour clock
format. Times
must be between
0900 and 1600.
If one time is
specified, the
other must also
be entered.
4
PREFCOLLEC
TTIME
TO
N
End of time period
As above
4
PREFCOLLEC
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 120 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
TTIME
FROM
N
Start of time period
As above
4
ALTCOLLECT
TIME
TO
N
End of time period
As above
4
ALTCOLLECT
TIME
CONSIGNMENT (may be multiple)
Y
Holds conref element and
EITHER detail element or
consignment number
element
Can be omitted
ONLY if the
<GROUPCODE
> element is
included in the
<BOOK>
activity. (For
further
information on
Group codes see
appendix XII).
CONSIGNMEN
TBATCH
CONREF
Y
Customer’s reference for
a consignment, used for
identifying data returned
by ExpressConnect
Shipping only not
stored.
Must be unique
within a
document i.e.
each con
submitted must
have its own
conref
20
CONSIGNMEN
T
DETAILS
Y
Holds consignment detail
elements
Either Details or
Connumber
element MUST
be present
(Details if
Sender element
is present within
this
consignmentbatc
h)
CONSIGNMEN
T
RECEIVER
Y
Holds receiver details
elements
DETAILS
COMPANYNAME
Y
Full company name
If receiver pays
then this must
match up with
the name
registered
against the
receiver TNT
50
RECEIVER
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 121 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
account.
STREETADDRESS1
Y
First line of address
30
RECEIVER
STREETADDRESS2
N
Second line of address
30
RECEIVER
STREETADDRESS3
N
Third line of address
30
RECEIVER
CITY
Y
Town name
Town MUST be
submitted.
30
RECEIVER
PROVINCE
N
Province name
30
RECEIVER
POSTCODE
N
Postcode
Postcode MUST
be submitted
unless country is
a non-postcode
country.
9
RECEIVER
COUNTRY
Y
Country
Must be TNT
country code
3
RECEIVER
VAT
N
Company VAT number
20
RECEIVER
CONTACTNAME
Y
Name of person to be
contacted if needed
22
RECEIVER
CONTACTDIALCODE
Y
This person’s dial code
7
RECEIVER
CONTACTTELEPHONE
Y
This person’s telephone
number
9
RECEIVER
CONTACTEMAIL
N
This person’s email
address. (See Appendix
VIII for more
information).
30
RECEIVER
ACCOUNT (Optional)
N
Receiver’s account to be
billed
Only include for
Receiver pays
13
RECEIVER
ACCOUNTCOUNTRY (Optional)
N
Country of account
As above
3
RECEIVER
DELIVERY
N
Holds Delivery Address
elements can only be
used if details, not
consignment numbers,
being passed in
consignmentbatch
DETAILS
COMPANYNAME
Y
Full company name
50
DELIVERY
STREETADDRESS1
Y
First line of address
30
DELIVERY
STREETADDRESS2
N
Second line of address
30
DELIVERY
STREETADDRESS3
N
Third line of address
30
DELIVERY
CITY
Y
Town name
Town MUST be
submitted.
30
DELIVERY
PROVINCE
N
Province name
30
DELIVERY
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 122 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
POSTCODE
N
Postcode
Postcode MUST
be submitted
unless country is
a non-postcode
country.
9
DELIVERY
COUNTRY
Y
Country
Must be TNT
country code
3
DELIVERY
VAT
N
Company VAT number
20
DELIVERY
CONTACTNAME
Y
Name of person to be
contacted if needed
22
DELIVERY
CONTACTDIALCODE
Y
This person’s dial code
7
DELIVERY
CONTACTTELEPHONE
Y
This person’s telephone
number
9
DELIVERY
CONTACTEMAIL
N
This person’s email
address
30
DELIVERY
CONNUMBER (optional for registered
customers only)
Y
Customers own
consignment number
The number can
be entered with
or without the
UPU (Universal
Postal Union)
characters. If
entered without
these characters
Express Connect
will generate
them based on
sender and
receiver country.
(See Appendix I
Modulus 11 or
7 Check Digit
for info on check
digit).
13
DETAILS
CUSTOMERREF
N
Customer reference
24
DETAILS
CONTYPE
Y
Consignment Type
MUST be ‘N’
(Non-Doc) or
‘D’ (Doc)
1
DETAILS
PAYMENTIND
Y
Payment Indicator
MUST be ‘S’
(sender pays) or
‘R’ (receiver
pays)
1
DETAILS
ITEMS
Y
Total number of packages
Must be an
3
DETAILS
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 123 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
in consignment
integer
TOTALWEIGHT
Y
Total weight of all
packages
Must be numeric
and in kilograms
4.3
DETAILS
TOTALVOLUME
Y
Total Volume of all
packages
Must be in
meters.
TotalVolume is
mandatory.
For a DOC
shipment a
volume of 0.0
must be entered
3.3
DETAILS
CURRENCY
N
Currency to be used
If either the
goodsvalue
element,
insurancevalue
or both contain
data, then
currency must
contain a valid
TNT currency
code
3
DETAILS
GOODSVALUE
N
Value of consignment in
specified currency
As above
12.2
DETAILS
INSURANCEVALUE
N.B. The insurance does not currently
impact the rates returned, but has been
included for future development
purposes
N
Insurance value of
consignment in specified
currency
As above.
Insurance value
MUST NOT be
more than 110%
of the goods
value for non-
documents or
500 Euros for
documents.
12.2
DETAILS
INSURANCECURRENCY
N
Insurance currency
If an insurance
value is included
but no insurance
currency is
entered, the
currency from
the CURRENCY
field will be
used.
3
DETAILS
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 124 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
DIVISION
N
The TNT division that the
service belongs. If this is
not supplied
ExpressConnect will
calculate the appropriate
division code. This is
used for special divisions
such as “S”
Must be valid
TNT division
code.
3
DETAILS
SERVICE
Y
The TNT service required
Must be valid
TNT service
code. Only
International and
UK domestic
services are
available as a
default. Other
domestic
services can be
activated at a
country level on
request through
your TNT
representative.
3
DETAILS
OPTION (may be up to 5 Option
elements)
N
Options required on this
service, only the first 5
will be processed.
Must be valid
TNT option
code. Note
specific rules
apply to ITLL
option (IT) see
Appendix IV
3
DETAILS
DESCRIPTION
N
Description of
Consignment
90
DETAILS
DELIVERYINST
Y
Delivery Instructions
60
DETAILS
CUSTOMCONTROLIN
N
Customs Controlled
Indicator
1
DETAILS
HAZARDOUS
N
Indicates if the shipment
contains dangerous goods.
(Available for UK
domestic only)
‘Y’ or ‘N’
1
DETAILS
UNNUMBER
N
The UN classification for
the dangerous goods
being carried
4 digit numeric
4
DETAILS
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 125 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
Please see Appendix N
Dangerous Goods
processing
PACKINGGROUP
N
The PACKING GROUP
classification for the
dangerous goods being
carried
Please see Appendix N
Dangerous Goods
processing
4 characters
4
DETAILS
PACKAGE (multiple package elements
allowed)
Y
Holds elements related to
the package
At least one
package MUST
exist per
consignment,
UNLESS the
consignment is
internal to the
EU
DETAILS
ITEMS
Y
Number of Packages of
package type
Must be an
integer
4
PACKAGE
DESCRIPTION
Y
Package description
60
PACKAGE
LENGTH
Y
Length of package
Must be in
meters. Max
length = 2.4m
1.2
PACKAGE
HEIGHT
Y
Height of package
Must be in
meters. Max
height = 1.5m
1.2
PACKAGE
WIDTH
Y
Width of package
Must be in
meters. Max
width = 1.2m
1.2
PACKAGE
WEIGHT
Y
Weight of package
Must be in
kilograms. Max
weight = 70kg
2.3
PACKAGE
ARTICLE (Optional multiple
allowed)
Y
Holds article related
elements
PACKAGE
ITEMS
Y
Number of items in article
4
ARTICLE
DESCRIPTION
Y
Article description
60
ARTICLE
WEIGHT
Y
Weight of article
Must be in
kilograms
2.3
ARTICLE
INVOICEVALUE
Y
Invoice Value of article
Must be in the
12.2
ARTICLE
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 126 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
currency stated
previously
INVOICEDESC
Y
Invoice Description of
article
60
ARTICLE
HTS
N
HTS number
15
ARTICLE
COUNTRY
N
Country of article’s origin
Must be valid
TNT country
code
3
ARTICLE
EMRN
N
Export Management
Reference Number
25
ARTICLE
ACTIVITY
Y
Holds different activity
elements
ESHIPPER
CREATE (optional)
Y
Holds the conref elements
indicating which
consignments are to be
created
ACTIVITY
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to be
created
20
CREATE
RATE (optional)
Y
Holds the conref and
connumber elements
indicating which
consignments are to be
rated
ACTIVITY
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to be
rated
20
RATE
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to be
rated. (See Appendix XI
for info on check digit).
15
RATE
BOOK (optional)
Y
Holds the conref elements
indicating which
consignments are to be
ACTIVITY
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 127 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
booked, or a
GROUPCODE element to
book a batch of
consignments. (For
further information on
Group codes see appendix
XII).
ShowBookingRef (attribute)
N
Indicates that express
connect should return the
collection booking service
reference number for 2.2
shipments
‘Y’ or ‘N’
1
ACTIVITY
EMAILREQD attribute
N
The element
CONFIRMATIONEMAI
LADDRESS specify the
field which comes under
the parent element
COLLECTION and used
for providing the email
address where you need
the booking confirmation.
The element
EMAILREQD which
holds a character either
'Y' or 'N' indicating that a
booking confirmation
email is required or not.
The default value is “N”
1
N/A
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to be
booked
20
BOOK
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to be
booked. (See Appendix
XI for info on check
15
BOOK
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 128 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
digit).
GROUPCODE (optional)
Y
Group code for batch of
consignments to book.
(For further information
on Group codes see
appendix XII).
Exclusive,
cannot be used
with CONREF
or
CONNUMBER
BOOK
SHIP (optional)
Y
Holds the conref elements
indicating which
consignments are to be
shipped
For further information
please see Ship Elements
ACTIVITY
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to be
shipped
20
SHIP
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to be
shipped. (See Appendix
XI for info on check
digit).
15
SHIP
PRINT (optional)
Y
Holds the print type
elements
ACTIVITY
REQUIRED (optional)
Y
PRINT
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to
have all required
documents
Printed (see rules in
printing section)
20
REQUIRED
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to
15
REQUIRED
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 129 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
have all required
documents
Printed (see rules in
printing section). (See
Appendix XI for info on
check digit).
CONNOTE (optional)
Y
PRINT
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to
have consignment notes
printed
20
CONNOTE
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to
have consignment notes
printed. (See Appendix XI
for info on check digit).
15
CONNOTE
LABEL (optional)
Y
PRINT
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to
have labels printed
20
LABEL
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to
have labels printed. (See
Appendix XI for info on
check digit).
15
LABEL
MANIFEST (optional)
Y
PRINT
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to
appear on a manifest
20
MANIFEST
CONNUMBER (optional multiple
Y
Consignment number
15
MANIFEST
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 130 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
allowed)
corresponding to
previously created
consignments in the
document which are to
appear on a manifest. (See
Appendix XI for info on
check digit).
GROUPCODE (optional)
Y
Group code for batch of
consignments to print as a
summary manifest. (For
further information on
Group codes see appendix
XII).
Exclusive,
cannot be used
with CONREF
or
CONNUMBER
MANIFEST
INVOICE (optional)
Y
PRINT
CONREF (optional multiple allowed)
Y
The consignment ref
corresponding to
consignments in the
document which are to
appear on an invoice
20
INVOICE
CONNUMBER (optional multiple
allowed)
Y
Consignment number
corresponding to
previously created
consignments in the
document which are to
appear on an invoice. (See
Appendix XI for info on
check digit).
15
INVOICE
EMAILTO (optional)
Y
Email address to send
documentation to. (For
more information see
appendix IX).
Valid email
address, must
have requested
some
documentation to
be produced
PRINT
Type attribute
Y
Define the type of email
to be sent if multiple
types are defined,
otherwise send default
Email types
defined and
submitted for
addition to
system via local
CIT coordinator
EMAILTO
EMAILFROM (optional)
Y`
Email address that the
returns email will have set
Valid email
address, must
PRINT
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 131 of 160
Express ICS, 2017
XML Element /attribute
Data
require
d
Description
Constraints
Max
Length
Parent Element
as the reply address. This
is in case customers try to
reply to the email.
have requested
some
documentation to
be produced
SHOW_GROUPCODE
N
Element to indicate that
the group code should be
included in the returned
XML. (For further
information on Group
codes see appendix XII).
ACTIVITY
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 132 of 160
Express ICS, 2017
11.Appendix B: XSD Data Types
XSD DATA TYPE
DESCRIPTION
dateTime
Data expected in the format CCYY-MM-DD'T'hh:mm:ss where CC indicates century, YY
year, MM month in 2 digit format, DD day of the month, hh hour of the day, mm
minutes and ss seconds.
For example 5:30 p.m. on 30th December 2008 would be 2008-12-30T17:30:00. This
data type describes instances identified by the combination of a date and a time. It is
described in Chapter 5.4 of ISO 8601 and the W3C XML Schema Recommendation.
Its lexical space is the extended format: [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]
double
Numeric data with decimal places in the range -
9007199254740991..9007199254740991.
int
Numeric data without decimal places in the range -2147483648..2147483647
long
Numeric data without decimal places in the range -
9223372036854775808..9223372036854775807
string
XML compatible alphanumeric data.
boolean
1 true, 0 - false
11.1Custom Data Types
CUSTOM DATA TYPE
DESCRIPTION
stringMinLengthXMaxLengthY
Data type of type xsd:string with a minimum length of X and a maximum length of Y.
If ‘MinLength’ is not specified in the data type name (e.g. stringMaxLength4) there is
no minimum length.
integerMin0Max9
Data type of type xsd:int with a minimum value of 0 and a maximum value of 9.
doubleMaxExclusiveX
Data type of type xsd:double with a value that must be less than X.
E.g. For ‘doubleMaxExclusive100’ the value cannot exceed 99.99.
longMaxLengthX
Data type of type xsd:long with a maximum length of X.
E.g. For ‘longMaxLength10’ the maximum value is 9999999999 (ten 9’s).
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 133 of 160
Express ICS, 2017
Notes
Max weight
As a standard the following are limited to:
Max weight per package 70kg
Max length per package 2.4m
Max height per package 1.5m
Max width per package 1.2m
On request, these limits can be raised for each customer. If this is required please contact your TNT representative
who will arrange this for you.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 134 of 160
Express ICS, 2017
12.Appendix C MANDATORY FIELDS (INPUT XML)
Company
Password
Appid
Appversion
(Sender) CompanyName
(Sender) StreetAddress1
(Sender) City
(Sender) Postcode (unless the country is a non-postcode country)
(Sender) Country
(Sender) Account
(Sender) Contact name
(Sender) ContactDialCode
(Sender) ContactTelephone
If CollectionAddress element is used
(Collection) CompanyName
(Collection) StreetAddress1
(Collection) City
(Collection) Postcode (unless the country is a non-postcode country)
(Collection) Country
(Collection) Account
(Collection) Contact name
(Collection) ContactDialCode
(Collection) ContactTelephone
Ship Date
Conref
Connumber
(Receiver) CompanyName
(Receiver) StreetAddress1
(Receiver) City
(Receiver) Postcode (unless the country is a non-postcode country)
(Receiver) Country
(Receiver) Account
(Receiver) Contact name
(Receiver) ContactDialCode
(Receiver) ContactTelephone
If Delivery element is used
(Delivery) CompanyName
(Delivery) StreetAddress1
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 135 of 160
Express ICS, 2017
(Delivery) City
(Delivery) Postcode (unless the country is a non-postcode country)
(Delivery) Country
(Delivery) Account
(Delivery) Contact name
(Delivery) ContactDialCode
(Delivery) ContactTelephone
ConType (Consignment type)
TotalWeight
TotalVolume
Consignment Items
Service
Package (unless the origin and destination countries are both within the EU). If included the following fields are
mandatory
(Package) Items
(Package) Description
(Package) Length
(Package) Height
(Package) Weight
(Package) Width
(Package) ArticleCount
Articles are not mandatory, but if included the following fields are mandatory
(Article) Items
(Article) Description
(Article) Weight
(Article) Invoicevalue
(Article) InvoiceDesc
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 136 of 160
Express ICS, 2017
13.Appendix D DATA RULES (INPUT XML)
A summary/reminder of the data input rules are listed below:
Sender Account is mandatory
ConRef must be unique suggest generating unique values for each submission of consignments and must
not contain special characters i.e. &, <>, “.
ConType (Consignment type)must be either ‘N’ (NonDoc) or ‘D’ (Doc).
All measurements must be in meters(m) and kilograms(kg), input as figures only
e.g. 301 grams input as ‘0.301’.
Dates must be entered in DD/MM/YYYY format.
ShipmentDate cannot be more than two weeks in advance
CollectionTimes must be entered in 24 hour clock format as HHMM
e.g. 3:21 p.m. input as 1521.
CollectionTimes are only mandatory for booking. However, if one of the pair is entered, the other must
also be. If the alternative times are entered, but the preferred are not, the alternative times are used. If they
are found to hold no values when the collection is being booked, the default of 0900 1600 is assumed.
PaymentInd is not a mandatory element. However, if included, this must contain the value ‘S’ (Sender
pays) or ‘R’ (Receiver pays).
If Contype is ‘N’ then the Volume is mandatory.
If the GoodsValue field contains a value, the Currency field must contain a value.
If the InsuranceValue field contains a value, the Currency field must contain a value.
The InsuranceValue may not be more than 110% of the GoodsValue for non document consignments and
not more than 500 Euros for document consignments
The insurance does not currently impact the rates returned, but has been included for future development
purposes
There may be 05 Option elements included, each of which must contain a value.
ITLL is available as an option. There are specific rules regarding its availability (see relevant section)
There must be at least one Package per Consignment when entered in detail form.
There may not be more than 3 Packages per Consignment when entered in detail form with no more than
99 items.
Each Package weight is limited to a maximum of 70kg. (Unless a prior arranged limit has been agreed
this can be coordinated through your TNT representative)
Articles are not mandatory.
There may not be more than 99 Articles elements per Package.
None of the values entered into the Items fields will be validated against the number of packages/articles
submitted with a consignment, the customer is responsible for making these values correspond if desired.
For valid country/currency/towns/service/option codes and postcode masks see Appendix III, for retrieval
of TNT datasets.
Non UK Domestic services are not available as default (UK Domestic services are available as default).
Domestic services can be activated at a country level through a request to your TNT representative. The
TNT representative will need to supply a list of domestic services / options available for the specified
country.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 137 of 160
Express ICS, 2017
There may be up to 50 Consignment elements.
Customers can enter their own consignment numbers if they have been registered to do so.ExpressConnect
will check the number for a valid check digit, a modulus 7 or 11 check digit should be used (see appendix
XI for further details). The consignment number can be added with or without the UPU (Universal Postal
Union) characters at the beginning and end of the number. If UPU characters are not added ExpressConnect
will generate them based on the origin and destination country. The TNT representative will coordinate
registration for this functionality if required.
Special characters may be used i.e. &, ‘, “, <, >. Details of encoding can be found in the Appendices.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 138 of 160
Express ICS, 2017
14.Appendix E: ISO 3166-1 Alpha-2 Country Codes
Country names
ISO 3166-1-alpha-2 code
A
AFGHANISTAN
AF
ÅLANDISLANDS
AX
ALBANIA
AL
ALGERIA
DZ
AMERICAN SAMOA
AS
ANDORRA
AD
ANGOLA
AO
ANGUILLA
AI
ANTARCTICA
AQ
ANTIGUA AND BARBUDA
AG
ARGENTINA
AR
ARMENIA
AM
ARUBA
AW
AUSTRALIA
AU
AUSTRIA
AT
AZERBAIJAN
AZ
B
BAHAMAS
BS
BAHRAIN
BH
BANGLADESH
BD
BARBADOS
BB
BELARUS
BY
BELGIUM
BE
BELIZE
BZ
BENIN
BJ
BERMUDA
BM
BHUTAN
BT
BOLIVIA
BO
BOSNIA AND HERZEGOVINA
BA
BOTSWANA
BW
BOUVET ISLAND
BV
BRAZIL
BR
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 139 of 160
Express ICS, 2017
BRITISH INDIAN OCEAN
TERRITORY
IO
BRUNEI DARUSSALAM
BN
BULGARIA
BG
BURKINA FASO
BF
BURUNDI
BI
C
CAMBODIA
KH
CAMEROON
CM
CANADA
CA
CAPE VERDE
CV
CAYMANISLANDS
KY
CENTRALAFRICANREPUBLIC
CF
CHAD
TD
CHILE
CL
CHINA
CN
CHRISTMAS ISLAND
CX
COCOS (KEELING) ISLANDS
CC
COLOMBIA
CO
COMOROS
KM
CONGO
CG
CONGO, THE DEMOCRATIC
REPUBLIC OF THE
CD
COOKISLANDS
CK
COSTA RICA
CR
CÔTE D'IVOIRE
CI
CROATIA
HR
CUBA
CU
CYPRUS
CY
CZECH REPUBLIC
CZ
D
DENMARK
DK
DJIBOUTI
DJ
DOMINICA
DM
DOMINICAN REPUBLIC
DO
E
ECUADOR
EC
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 140 of 160
Express ICS, 2017
EGYPT
EG
EL SALVADOR
SV
EQUATORIAL GUINEA
GQ
ERITREA
ER
ESTONIA
EE
ETHIOPIA
ET
F
FALKLAND ISLANDS (MALVINAS)
FK
FAROE ISLANDS
FO
FIJI
FJ
FINLAND
FI
FRANCE
FR
FRENCH GUIANA
GF
FRENCH POLYNESIA
PF
FRENCH SOUTHERN TERRITORIES
TF
G
GABON
GA
GAMBIA
GM
GEORGIA
GE
GERMANY
DE
GHANA
GH
GIBRALTAR
GI
GREECE
GR
GREENLAND
GL
GRENADA
GD
GUADELOUPE
GP
GUAM
GU
GUATEMALA
GT
GUERNSEY
GG
GUINEA
GN
GUINEA-BISSAU
GW
GUYANA
GY
H
HAITI
HT
HEARD ISLAND AND
MCDONALDISLANDS
HM
HOLY SEE (VATICAN CITYSTATE)
VA
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 141 of 160
Express ICS, 2017
HONDURAS
HN
HONG KONG
HK
HUNGARY
HU
I
ICELAND
IS
INDIA
IN
INDONESIA
ID
IRAN, ISLAMIC REPUBLIC OF
IR
IRAQ
IQ
IRELAND
IE
ISLE OF MAN
IM
ISRAEL
IL
ITALY
IT
J
JAMAICA
JM
JAPAN
JP
JERSEY
JE
JORDAN
JO
K
KAZAKHSTAN
KZ
KENYA
KE
KIRIBATI
KI
KOREA, DEMOCRATIC PEOPLE'S
REPUBLIC OF
KP
KOREA, REPUBLIC OF
KR
KUWAIT
KW
KYRGYZSTAN
KG
L
LAO PEOPLE'S DEMOCRATIC
REPUBLIC
LA
LATVIA
LV
LEBANON
LB
LESOTHO
LS
LIBERIA
LR
LIBYAN ARAB JAMAHIRIYA
LY
LIECHTENSTEIN
LI
LITHUANIA
LT
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 142 of 160
Express ICS, 2017
LUXEMBOURG
LU
M
MACAO
MO
MACEDONIA, THE
FORMERYUGOSLAVREPUBLIC OF
MK
MADAGASCAR
MG
MALAWI
MW
MALAYSIA
MY
MALDIVES
MV
MALI
ML
MALTA
MT
MARSHALL ISLANDS
MH
MARTINIQUE
MQ
MAURITANIA
MR
MAURITIUS
MU
MAYOTTE
YT
MEXICO
MX
MICRONESIA, FEDERATED STATES
OF
FM
MOLDOVA
MD
MONACO
MC
MONGOLIA
MN
MONTENEGRO
ME
MONTSERRAT
MS
MOROCCO
MA
MOZAMBIQUE
MZ
MYANMAR
MM
N
NAMIBIA
NA
NAURU
NR
NEPAL
NP
NETHERLANDS
NL
NETHERLANDS ANTILLES
AN
NEW CALEDONIA
NC
NEW ZEALAND
NZ
NICARAGUA
NI
NIGER
NE
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 143 of 160
Express ICS, 2017
NIGERIA
NG
NIUE
NU
NORFOLK ISLAND
NF
NORTHERN MARIANA ISLANDS
MP
NORWAY
NO
O
OMAN
OM
P
PAKISTAN
PK
PALAU
PW
PALESTINIANTERRITORY,
OCCUPIED
PS
PANAMA
PA
PAPUA NEW GUINEA
PG
PARAGUAY
PY
PERU
PE
PHILIPPINES
PH
PITCAIRN
PN
POLAND
PL
PORTUGAL
PT
PUERTO RICO
PR
Q
QATAR
QA
R
RÉUNION
RE
ROMANIA
RO
RUSSIAN FEDERATION
RU
RWANDA
RW
S
SAINT BARTHÉLEMY
BL
SAINT HELENA
SH
SAINT KITTS AND NEVIS
KN
SAINT LUCIA
LC
SAINT MARTIN
MF
SAINT PIERRE AND MIQUELON
PM
SAINT VINCENT AND THE
GRENADINES
VC
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 144 of 160
Express ICS, 2017
SAMOA
WS
SAN MARINO
SM
SAO TOME AND PRINCIPE
ST
SAUDI ARABIA
SA
SENEGAL
SN
SERBIA
RS
SEYCHELLES
SC
SIERRA LEONE
SL
SINGAPORE
SG
SLOVAKIA
SK
SLOVENIA
SI
SOLOMON ISLANDS
SB
SOMALIA
SO
SOUTH AFRICA
ZA
SOUTH GEORGIA AND THE SOUTH
SANDWICH ISLANDS
GS
SPAIN
ES
SRI LANKA
LK
SUDAN
SD
SURINAME
SR
SVALBARD AND JAN MAYEN
SJ
SWAZILAND
SZ
SWEDEN
SE
SWITZERLAND
CH
SYRIANARABREPUBLIC
SY
T
TAIWAN, PROVINCE OF CHINA
TW
TAJIKISTAN
TJ
TANZANIA, UNITED REPUBLIC OF
TZ
THAILAND
TH
TIMOR-LESTE
TL
TOGO
TG
TOKELAU
TK
TONGA
TO
TRINIDAD AND TOBAGO
TT
TUNISIA
TN
TURKEY
TR
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 145 of 160
Express ICS, 2017
TURKMENISTAN
TM
TURKS AND CAICOS ISLANDS
TC
TUVALU
TV
U
UGANDA
UG
UKRAINE
UA
UNITED ARAB EMIRATES
AE
UNITED KINGDOM
GB
UNITED STATES
US
UNITED STATES MINOR OUTLYING
ISLANDS
UM
URUGUAY
UY
UZBEKISTAN
UZ
V
VANUATU
VU
VATICAN CITYSTATE
see HOLY SEE
VENEZUELA
VE
VIET NAM
VN
VIRGINISLANDS, BRITISH
VG
VIRGIN ISLANDS, U.S.
VI
W
WALLIS AND FUTUNA
WF
WESTERN SAHARA
EH
Y
YEMEN
YE
Z
ZAMBIA
ZM
ZIMBABWE
ZW
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 146 of 160
Express ICS, 2017
15.Appendix E: VAT codes
Country (including
code)
VAT number format
VAT in local
languages
Austria (AT)
U12345678 (9 characters. The first character
is always ‘U’)
USt
Belgium (BE)
1234567890 (10 characters. Prefix with zero
‘0’ if the customer provides a 9 digit VAT
number)
BTW, TVA,
NWSt
Bulgaria (BG)
123456789, 1234567890 (9 or 10 characters)
ДДС
Croatia (HR)
12345678901 (11 characters)
PDV
Republic of Cyprus
(CY)
12345678X (9 characters. The last character
must always be a letter)
ΦΠΑ
Czech Republic (CZ)
12345678, 123456789, 1234567890, (8, 9 or
10 characters. If more than 10 characters are
provided delete the first 3 as these are a tax
code)
DPH
Denmark, except the
Faroe Islands and
Greenland (DK)
12345678 (8 characters)
moms
Estonia (EE)
123456789 (9 characters)
km
Finland, but excluding
the Åland Islands (FI)
12345678 (8 characters)
ALV, Moms
France, including
Monaco but excluding
Guadeloupe,
Martinique, Réunion,
St. Pierre and
Miquelon, and French
Guiana (FR)
12345678901, X1234567890, 1X123456789,
XX123456789, (11 characters. May include
alphabetical characters (any except O or I) as
first or second or first and second characters.)
TVA
Germany, except
Büsingen and the Isle
of Heligoland (DE)
123456789 (9 characters)
MwSt., Ust.
Greece (EL)
123456789 (9 characters)
ΦΠΑ
Hungary (HU)
12345678 (8 characters)
ÁFA
Ireland (IE)
1234567X, 1X23456X, 1234567XX, (8 or 9
characters. Includes one or two alphabetical
characters (last, or second and last, or last 2))
CBL, VAT
Italy, except the
communes of Livigno
and Campione d’Italia
and the Italian waters
12345678901 (11 characters)
IVA
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 147 of 160
Express ICS, 2017
Country (including
code)
VAT number format
VAT in local
languages
of Lake Lugano (IT)
Latvia (LV)
12345678901 (11 characters)
PVN
Lithuania (LT)
123456789, 123456789012, (9 or 12
characters)
PVM
Luxembourg (LU)
12345678 (8 characters)
TVA
Malta (MT)
12345678 (8 characters)
VAT
Netherlands (NL)
123456789B01 (12 characters. The tenth
character is always B)
BTW
Poland (PL)
1234567890 (10 characters)
PTU, VAT
Portugal, including the
Azores and Madeira
(PT)
123456789 (9 characters)
IVA
Romania (RO)
12, 123, 1234, 12345, 123456, 1234567,
12345678, 123456789, 1234567890, (from 2
to 10 characters)
TVA
Slovak Republic (SK)
1234567890 (10 characters)
DPH
Slovenia (SI)
12345678 (8 characters)
DDV
Spain, including the
Balearic Islands but
excluding Ceuta,
Melilla and the Canary
Islands (ES)
X12345678, 12345678X, X1234567X, (9
characters. Includes one or two alphabetical
characters (first or last or first and last.))
IVA
Sweden (SE)
123456789012 (12 characters)
Moms
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 148 of 160
Express ICS, 2017
16.Appendix F - Example Booking confirmation from backend systems
Please note, this is not available for UK Domestic shipments.
Email sent automatically if the EMAILREQD attribute is set on the BOOK element (see Activities/functional
features )
Email sent from: collection.request@tnt.com
Dear Customer,
Thank you for choosing to work with TNT.
We would like to confirm the collection request details that
have been raised with the following details
Company Name: COLLECTION NAME
Address: TEST DO NOT COLLECT4
TEST DO NOT COLLECT5
TEST DO NOT COLLECT6
Town: ATHERSTONE
WARWICKSHIRE
Contact Name: Mr Contact
Collection Date: 25.07.2016
Open and Close time collection address: 09.00 10.00
Your collection request number is: CVT 818154
For more information please visit http://www.TNT.com or call (+44) 1827 711711
For more information on our shipping terms please visit our website.
Note: This e-mail was sent from a notification-only e-mail address
that cannot accept incoming e-mail. Please do not reply to
this message.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 149 of 160
Express ICS, 2017
17.Appendix G - Advanced Shipping Notification
If a receiver’s email <CONTACTEMAIL> is entered within the <RECEIVER> element of the shipping input XML
an automatic Advanced Shipping Notification email is sent to the specified email address. The format of the email is
as follows:
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 150 of 160
Express ICS, 2017
18.Appendix H Returns Paperwork
If the <EMAILTO>and <EMAILFROM>elements in the print activity of the shipping input XML is filled with a
valid email address an email is sent to the specified email address with the documentation files as HTML
attachments. The format of the email is shown below. It is possible to arrange for alternative email formats to be
used. This can be arranged via your local TNT representative.
From: <EMAILFROM> value
Subject : Returns paperwork for your consignment
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 151 of 160
Express ICS, 2017
19.Appendix I Modulus 11 or 7 Check Digit
To validate a consignment number, a modulus 11 or 7 check digit is used.
This method creates a digit which will be appended to the end of a consignment number. The digit is created from
each of the other digits in the consignment.
19.1 Modulus 11 Check Digit
Steps taken:
Assign weights to the digits. In the case of Express Connect, the weights are 8, 6, 4, 2, 3, 5, 9 and 7
Multiply each digit in the consignment by it’s assigned weight.
Add together the results.
Divide the result by 11
Subtract the remainder from 11 leaving behind the check digit.
Example for modulus 11:
Con: 40392321
4*8 = 32
0*6 = 0
3*4 = 12
9*2 = 18
2*3 = 6
3*5= 15
2*9 = 18
1*7 = 7
32+0+12+18+6+15+18+7= 108
108/ 11 = 9.81818182
0.81818182 * 11 = 9
11-9 = 2
Check digit = 2
NOTE: if the remainder is 0 or 1, the subtraction will result in either 10 or 11 (two digit check digits are not
allowed). To resolve this, if the check digit is 11, then it is changed to 5. If the check digit is 10, then it is changed to
0.
(Continued)
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 152 of 160
Express ICS, 2017
Modulus 11
4
0
3
9
2
3
2
1
Con Id
8
6
4
2
3
5
9
7
Weight
s
32
0
12
18
6
15
18
7
Derived values ( Digit *
Weight )
108
Sum
9
Sum MOD 11 : ( Remainder )
2
Modulus Eleven Check Digit ( 11 - Remainder )
when 11 substitute 5, when 10 substitute 0 ...
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 153 of 160
Express ICS, 2017
19.2 Modulus 7 Check Digit
Steps taken:
Divide the consignment number by 7
Multiple the integer by 7
Subtract this value from the consignment Number leaving behind the check digit.
A = (Interger(consignment number / 7)*7)
Chech digit = consignment number - A
Modulus 7
40392321
Con Id
5770331
Con Id / 7 : ( Weighted Con )
40392317
Weighted Con * 7 : ( Mod7 Con )
4
Modulus Seven Check Digit ( Con Id - Mod7 Con )
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 154 of 160
Express ICS, 2017
20.Appendix J Group Codes
GroupCode is a TNT assigned ID to start batch/Grouping activities. Including the tag <SHOW_GROUPCODE/>
will return a group code.
Example: The first order of the day is sent to TNT and TAG <SHOW_GROUPCODE/> is present.
Successful results from TNT would show:
The users system should store this returned GROUPCODE and insert it into all following orders that should be
grouped under this TNT generated / assigned code.
After a GROUPCODE has been created, it can then be included in all relevant requests to group the cons.
<!--Example request with group code -->
For batch booking, the CONSIGNMENT elements can be omitted, i.e.,
<LOGIN>
<COMPANY>YOUR USERID</COMPANY>
<PASSWORD>YOUR PASSWORD</PASSWORD>
<APPID>EC</APPID>
<APPVERSION>2.2</APPVERSION>
</LOGIN>
<CONSIGNMENTBATCH>
<GROUPCODE>9799763</GROUPCODE>
<SENDER>
<COMPANYNAME>BT Europe AB</COMPANYNAME>
<?xml version="1.0" standalone="yes"?><document>
<GROUPCODE>9799763</GROUPCODE>
<CREATE>
<CONREF>TEST1</CONREF>
<CONNUMBER>GE466478018SE</CONNUMBER>
<SUCCESS>Y</SUCCESS>
</CREATE>
<PRINT>
* Returns confirm of requested printables….
</PRINT>
</document>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 155 of 160
Express ICS, 2017
<ESHIPPER>
<LOGIN>
<! mandatory -->
<COMPANY>YOUR USERID</COMPANY>
<PASSWORD>YOUR PASSWORD</PASSWORD>
<APPID>IN</APPID>
<APPVERSION>2.2</APPVERSION>
</LOGIN>
<CONSIGNMENTBATCH>
<SENDER>
</SENDER>
<CONSIGNMENTBATCH>
<ACTIVITY>
<BOOK EMAILREQD="Y" ShowBookingRef="Y">
<GROUPCODE>12345678</GROUPCODE>
</BOOK>
<SHIP>
<GROUPCODE>12345678</GROUPCODE>
</SHIP>
<PRINT>
<MANIFEST>
<- - Print summary manifest for the batch with the groupcode 12345678 - -
>
<GROUPCODE>12345678</GROUPCODE>
</MANIFEST>
</PRINT>
</ACTIVITY>
</ESHIPPER>
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 156 of 160
Express ICS, 2017
21.Appendix K Security/connectivity requirements
The SSL site certificate for https://express.tnt.com will be renewed each year and this is the certificate used by
Express Connect. Currently our root certificate and certificate are supplied byVerisign/Symantec. This 2048-bit
RSA public root certificate is something that the operating system providers, such as Microsoft or Apple, provide as
part of their operating system software. The certificates are updated with the regular specific browser updates and
operating system service pack updates.
Your CIT representative will contact you prior to the certificate being renewed and it is vital that you know whether
your application environment will automatically renew the certificate or whether you need to manually add the
certificate to the trust store. This can be undertaken by the update mechanism used within your environment.
Normally the Trusted Root Certification Authorities list would be updated by routine patching of the client OS or
browser upgrades.
TNT if required can provide the certificates or urls to Symantec to download the root certificate.
As part of the software installation please ensure you have fully documented the steps required to install a new
certificate to your application environment.
The error “"No Data Received at gateway from Client" is returned when no XML payload has been
received by the ExpressConnect application. This can occur if the certificate is not valid or expired.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 157 of 160
Express ICS, 2017
22.Appendix L First Time Trader Requirements
The first time trade flag is used to highlight TNT’s RIGHT OF INSPECTION”.
If are shipping with TNT, you must agree that we or any governmental authority including customs may open and
inspect your shipment at any time.
By default we inspect all “1st time shippers” initial parcels.
Important information for 1st time TNT Shipping Users
1. Please leave the package open for inspection by the driver. This is standard policy with all first time customers
and is an important part of our security procedure. Unfortunately we cannot accept packages, which have not
been inspected by our driver.
2. If your package is not a document and is traveling outside the European Union, you will need to prepare a
Commercial Invoice to accompany it. Please give the Commercial Invoice to the driver when your package is
collected.
3. As this is the first time you have dealt with us, we will be happy to call you when your package has been
delivered.
Thank you.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 158 of 160
Express ICS, 2017
23.Appendix M XML markup Language characters
XML has 5 "special" characters that are markup characters and must be escaped <>'&" The old version of
ExpressConnect use to handle these characters without the need for them to be escaped. This is not good
practice and so this feature has been removed.
There are two ways to do this, escape each one in turn &lt; (<), &amp; (&), &gt; (>), &quot; ("), and
&apos; (').
For example
<COMPANYNAME>Test &amp; Test again</COMPANYNAME>
For a company name of “Test & Test again”.
The other simpler approach is to escape the full string using CDATA. CDATA is a section of element
content that is marked for the parser to interpret as only character data, not markup.
For example
<COMPANYNAME><![CDATA[Test & Test again]]></COMPANYNAME>
For a company name of “Test & Test again”.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 159 of 160
Express ICS, 2017
24.Appendix N Dangerous Goods processing
Dangerous Goods are articles or substances which are capable of posing a significant risk to health, safety, property
or the environment. The consequences of not being aware of what we are transporting can be far reaching and can
affect everyone to the possible extent of loss of life. It is therefore necessary that all regulations and instructions are
followed carefully.
Transport of Dangerous Goods on the TNT Express Networks is strictly prohibited except to and from the
Dangerous Goods Approved Countries by Dangerous Goods Approved Customers. These Dangerous Goods
shipments must be in compliance with all applicable regulations and any TNT Express specific requirements.
If you have been approved by TNT to ship Dangerous Goods, then we now support 3 additional fields within
ExpressConnect:
<HAZARDOUS>Y</HAZARDOUS>
<UNNUMBER>1845</UNNUMBER>
<PACKINGGROUP>II</PACKINGGROUP>
Lithium batteries are considered as hazardous goods due to the fact that they can overheat and ignite under certain
conditions. Customers must declare any shipments of Lithium Batteries or electronic devices containing Lithium
Batteries, by using the LB option code.
Certain types of Lithium Batteries are classed as “Excepted” and the normal Dangerous Goods policy does not apply
in these circumstances.
• Dangerous Goods Customer Approval is not required.
• Dangerous Goods Country Approval is not required.
• Accepted on the TNT Express Fixed Networks (Road & Air).
• Accepted for transport on the Commercial Linehauls.
For Excepted Lithium Batteries, the Dangerous Goods flag should be set to Yes and HZ should not be applied. An
LB option should be applied.
The Proper shipping name must be supplied in the Special Instructions element. For example for UN 3481 “Lithium
Ion Batteries in compliance with Section II of PI 966”
Additional details can be located at https://www.tnt.com/express/en_gb/site/home/how-to-ship-parcel/dangerous-
goods/lithium-batteries.html.
You must use you own stylesheets for the Consignment clearly highlighting that the goods being shipped are
dangerous.
ExpressConnect Shipping Integration Guide
Version: 1.0
Date: 05/08/2016
Developer Notes
Page 160 of 160
Express ICS, 2017
You must use the ExpressLabel web service for your labelling solution and not the supplied label in ExpressConnect.
Please work with your CIT representative if you are shipping dangerous goods or Lithium batteries.
It’s the shipper’s responsibility to ensure dangerous goods
are correctly declared, packed and labelled with the right
documentation for the countries of origin, transit and
destination.

Navigation menu