MyDHL API SOAP Developer Guide v2.16
MyDHL API SOAP Developer Guide v2.16
PAGE 1 OF 280
MYDHL API – DEVELOPER GUIDE
DOCUMENT CONTROL
REVISION HISTORY:
Version Release Date Comments
1.7.2 19/06/2020 Updated ShipmentRequest with Advanced PLT processing
1.7.3 23/07/2020 Baselined for Loose BBX functionality
1.7.4 02/09/2020 Updated AWB Numbers in TrackingRequest
1.7.5 22/09/2020 Updated for VAT22 functionality
1.7.6 17/11/2020 Updated for Label-Free functionality
1.7.15 25/02/2021 Update DocumentImage maximum size and Customer Logo maximum size
2.2 02/03/2021 Finalize and embed new WSDL
2.3 15/03/2021 Added SOAP Example with ExportDeclaration
2.4 22/03/2021 Updated Description max length in ShipmentRequest
Marked InvoiceDate as Mandatory in ShipmentRequest
2.5 08/04/2021
Added AddressValidate Error Appendix section
2.6 18/05/2021 Updated ItemNumber description in ShipmentRequest
Added Upload Invoice Data service details, Updated CI Mask v1.24.2 data
2.7 23/06/2021 in ShipmentRequest, PlaceOfIncoterm cardinality updates from
Mandatory to Optional.
Update reference data for:
a) <NumberTypeCode> added with DLI, NID, PAS and MID
b) <InvoiceReferenceType> added with
AAM,ABT,ACL,ADA,AES,AFD,ANT,BKN,BOL,CDN,COD,DSC,FF,FN,FTR,
HWB,IBC,IPP,LLR,MAB,MWB,NLR,OBC,PD,PRN,RMA,RTL,SID,SS,SWN
2.8 07/07/2021
c) <ItemReferenceType>
- added with AAM,CFR,DOM,FOR,USG,MAT
- removed ECN as no longer supported
d) <CustomsDocumentType> added with ELP
e) <CustomsPaperworkType> added with ELP
2.9 14/07/2021 Updated Appendix section for Registration Number Type Codes
Updated Create Shipment and Upload Invoice service on Export Line Item
2.10 06/08/2021
– QuantityUnitOfMeasurement list of enumeration (page 134, 352)
a) Updated Section 9.1 UPDATESHIPMENT - DESCRIPTION
b) Added LandedCost updates:
1. Updated Request Section with new optional elements
“EstimatedTariffRateType”, “GetTariffFormula”, “GetQuotationID” and
“GetDetailedLineItemLevelStatus”.
2.11 03/09/2021
2. Updated Response Section with new optional elements “QuotationID”,
“TariffRateFormula” and introduced “MessageDetail” for Notification.
3. Updated Appendix: Introduced RateRequest LandedCost Warnings
4. Updated Appendix: Introduced RateRequest LandedCost Category
Codes
PAGE 2 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 3 OF 429
MYDHL API – DEVELOPER GUIDE
a) Section 4. RATEREQUEST
1. Introduced element
<RequestValueAddedServicesAndRuleGroups> and
<StrictValidation> in Section 4.2 and 4.3
2. Introduced element <MutuallyExclusiveChargesGroups> and
<DependencyRuleGroups> in Section 4.4 and 4.5
b) Section 5. SHIPMENTREQUEST
1. Introduced role “UltimateConsignee” in Section 5.2 and 5.3
2. Introduced element <StrictValidation> in Section 5.2 and 5.3
c) Section 14. UPLOADINVOICEDATA
1. Introduced role “UltimateConsignee” in Section 14.2 and 14.3
2.16 07/09/2022
d) Section 16 APPENDIX: Updated new error codes and messages
e) Remove Create Shipment 7089 error code as it subject to DCT
capability validation
f) Section 5. SHIPMENTREQUEST
1. Introduced element <InvoiceIndicativeCustomsValues> Section
5.2 and 5.3
2. Updated element <OtherCharges> regarding ChargeType “SOTHR”
being displayed last sequence order in COMMERCIAL_INVOICE 10
template and reference to InvoiceIndicativeCustomsValues
3. Updated element <Content> regarding ExportDeclaration being
mandatory if shipment is dutiable
PAGE 4 OF 429
MYDHL API – DEVELOPER GUIDE
The information contained in this document is the property Deutsche Post DHL.
No part of its contents may be divulged to third parties without the express written approval of DHL
Express.
All rights reserved; no part of this document may be reproduced, stored in a retrieval system, or
transmitted in any form or by any other means, electronic, mechanical, photocopying, recording
otherwise without the prior written permission of DHL Express.
This document may not be lent, resold, hired out or otherwise disposed of by way of trade in any
form, binding or cover other than that in which it is published, without the prior written permission
of DHL Express.
This document contains (as detailed) the latest information received in time to be incorporated
for publication. However, DHL Express reserves the right to modify the information contained
herein without published notification.
Deutsche Post World Net offers no warranty, express or implied, regarding its accuracy, sufficiency,
merchantability, or fitness for any purpose of the information contained herein. Any use made
thereof is made entirely at the risk and for the account of the user.
The requirements and specifications outlined in this manual are governed by DHL’s Terms and
Conditions of Carriage, found on DHL’s website, www.DHL.com.
AUDIENCE
This document is intended to serve as a guide to assist DHL customers and third party developers
during the integration development process. The primary audience of this document is intended to
be a trading partner’s technical resources and internal MyDHL API support staff.
PAGE 5 OF 429
MYDHL API – DEVELOPER GUIDE
CONTENT
CONTENT ..................................................................................................................................................................6
1. INTRODUCTION........................................................................................................................................... 10
1.1 MYDHL API OVERVIEW ........................................................................................................................... 10
1.2 REQUIREMENTS – TECHNICAL SKILLS .............................................................................................. 10
1.3 REQUIREMENTS – BUSINESS UNDERSTANDING ........................................................................... 10
2. MYDHL API OVERVIEW OVERVIEW ........................................................................................................ 10
2.1 WEB SERVICE DEFINITION LANGUAGE AND REFERENCE DOCUMENTS ................................. 11
2.2 SECURITY AND AUTHENTICATION...................................................................................................... 13
3. WHAT WEB SERVICES OPERATIONS ARE AVAILABLE?.................................................................... 14
4. RATEREQUEST ............................................................................................................................................ 16
4.1 RATEREQUEST - DESCRIPTION ............................................................................................................ 16
4.2 RATEREQUEST - INPUT .......................................................................................................................... 16
4.3 RATEREQUEST – INPUT FIELD LIST .................................................................................................... 31
4.4 RATEREQUEST - OUTPUT ...................................................................................................................... 44
4.5 RATE RESPONSE – OUTPUT FIELD LIST ............................................................................................ 55
5. SHIPMENTREQUEST .................................................................................................................................. 61
5.1 SHIPMENTREQUEST - DESCRIPTION ................................................................................................. 61
5.2 SHIPMENTREQUEST - INPUT ............................................................................................................... 62
5.3 SHIPMENT REQUEST – INPUT FIELD LIST...................................................................................... 101
5.4 SHIPMENTREQUEST - OUTPUT ........................................................................................................ 166
5.5 SHIPMENT RESPONSE – OUTPUT FIELD LIST ............................................................................... 175
6. SHIPMENTDELETEREQUEST................................................................................................................ 182
6.1 SHIPMENTDELETEREQUEST - DESCRIPTION ............................................................................... 182
6.2 SHIPMENTDELETEREQUEST - INPUT ............................................................................................. 182
6.3 SHIPMENTDELETEREQUEST – INPUT FIELD LIST ....................................................................... 184
6.4 SHIPMENTDELETEREQUEST – OUTPUT ......................................................................................... 185
6.5 SHIPMENTDELETEREQUEST – OUTPUT FIELD LIST ................................................................... 186
7. TRACKINGREQUEST ............................................................................................................................... 188
7.1 TRACKINGREQUEST - DESCRIPTION .............................................................................................. 188
7.2 TRACKINGREQUEST - INPUT ............................................................................................................. 189
7.3 TRACKINGREQUEST – INPUT FIELD LIST ....................................................................................... 192
7.4 TRACKINGRESPONSE - OUTPUT ...................................................................................................... 197
7.5 TRACKINGRESPONSE – OUTPUT FIELD LIST ................................................................................ 203
8. DOCUMENTRETRIEVE - EPOD ............................................................................................................. 208
PAGE 6 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 7 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 8 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 9 OF 429
MYDHL API – DEVELOPER GUIDE
1. INTRODUCTION
This document describes how to integrate these services to your own applications and is intended as
a user guide for developers.
In order to access the web service, a SOAP protocol, RESTful Services or plain XML is used and
developers should be familiar with XML/JSON and have a basic understanding of web services.
Please find a list of helping resources in the Appendix.
There are some main points that must be noted before getting started with MyDHL API integration -
• The DHL customer web services consist of Port types and bindings that contain
information about the service operation, service endpoints and service location.
PAGE 10 OF 429
MYDHL API – DEVELOPER GUIDE
• MyDHL API can used via SOAP & REST(visit developer.dhl.com/express for the REST
documentation and discard this document including the endpoints)
PAGE 11 OF 429
MYDHL API – DEVELOPER GUIDE
RateRequest
ShipmentRequest https://wsbexpress.dhl.com/sndpt/expressRateBook
ShipmentDeleteRequest
TrackingRequest https://wsbexpress.dhl.com/sndpt/glDHLExpressTrack
DocumentRetrieve
https://wsbexpress.dhl.com/sndpt/getePOD
(ePOD)
updateShipment https://wsbexpress.dhl.com/sndpt/updateShipment
requestPickup https://wsbexpress.dhl.com/sndpt/requestPickup
updatePickup https://wsbexpress.dhl.com/sndpt/updatePickup
addressValidate https://wsbexpress.dhl.com/sndpt/addressValidate
requestIdentifier https://wsbexpress.dhl.com/sndpt/requestIdentifier
uploadInvoiceData https://wsbexpress.dhl.com/sndpt/uploadInvoiceData
documentImageRequest https://wsbexpress.dhl.com/sndpt/documentImageRequest
The product SoapUI (http://www.soapui.org/) provides advanced support for testing Web Services.
Prior to development cycle, this tool can be used to independently verify the DHL services in a test
environment, and provide verification and context during the system development life cycle. It is also
useful in providing functionality context to the consumer prior to development and independently
validating security credentials.
The input data for MyDHL API is validated in several steps. The first step is general XML validation
based on data cardinality and data content restrictions defined by the request message format (i.e.
schema validation). In a second step, several business rules are applied on the passed data. The
results of these validations are placed in the result message of the service operation. The service
PAGE 12 OF 429
MYDHL API – DEVELOPER GUIDE
operation always delivers a result message. All errors or validation errors are stored in this result
messages. Please refer to the Appendix for complete list of error codes.
2.2 SECURITY AND AUTHENTICATION
External Web Service calls from the customer to DHL will be handled through the DHL Web Services
Broker. The Web Services Broker is an XML and web services gateway used by DHL providing
governance, security, virtualization, and enhanced performance for web service transactions.
The primary transport protocol for these calls is https (standard port 443). For this solution, the DHL
Web Service Broker will validate that the messages are well formed and provide security and data
encryption. DHL utilizes WS-Security features of the SOAP protocol.
WS-Security offers a general-purpose mechanism for associating security tokens with message
content. The specification defines three approved token types, but for the purposes of these services,
UsernameToken will be used.
For example, the UsernameToken Profile describes how a Web service client can supply a
UsernameToken as a way to identify the requestor by a username and by supplying a password. The
SOAP header also requires the setting of Password Type as ‘PasswordText’. The following XML
snippet shows a sample WS-Security UsernameToken:
<wsse:UsernameToken wsu:Id="Example">
<wsse:Username> ... </wsse:Username>
<wsse:Password Type="..."> ... </wsse:Password>
<wsse:Nonce EncodingType="..."> ... </wsse:Nonce>
<wsu:Created> ... </wsu:Created>
</wsse:UsernameToken>
To authenticate using WS-Security for DHL Web Services, the consumer would need to add a SOAP
header to the SOAP envelope. This header would contain the WS-Security information.
For more information about this please take a look into http://docs.oasis-open.org/wss/
The applicable statement for user access relates to the authentication properties enforced at the web
service broker. Authentication details will be stored on the Web Service broker as a configuration,
and this solution assumes the customer will have established integration credentials at application
level. Credentials will not be managed at the customer user level.
Example:
Customer XYZ is building a web portal ABC with internal user administration. This web portal will
call MyDHL API. Just the application itself will get access to MyDHL API and not each user registered
in the application ABC.
The authentication credentials will be provided by your DHL point of contact for the integration
project.
PAGE 13 OF 429
MYDHL API – DEVELOPER GUIDE
g) requestPickup – This service allows for a stand-alone pickup request to be sent to the
DHL Express Customer Services team for Export and Import bookings.
h) updatePickup – This service allows for a pickup initated via MyDHL API to be
modified
i) addressValidate – This service validates DHL’s nearest service area details for a
certain origin or destination address in the input data.
PAGE 14 OF 429
MYDHL API – DEVELOPER GUIDE
The services are called independently, but can also be used in concert (i.e. using output from one
service as input into the next service) to meet the consumer requirements.
REST – visit developer.dhl.com/express for full REST documentation and discard this
document.
PAGE 15 OF 429
MYDHL API – DEVELOPER GUIDE
4. RATEREQUEST
The Rate request will return DHL’s product capabilities (products, services and estimated delivery
time) and prices (where applicable) for a certain set of input data.
Using the shipper and receiver address as well as the dimension and weights of the pieces
belonging to a shipment, this operation returns the available products and service including the
shipping price (where applicable) and the potential delivery date considering the planned pickup
date.
A shipment request can just be successfully executed (assuming the same input data) for a
product and service combination which is returned by the rate request.
If the <LandedCost> segment is provided within the Request then the Service will return the Total
Costs (Landed Costs) for all Items specified in the request.
Within the RateRequest, the ClientDetail and Request are optional nodes for reference use, and
does not affect functionality. The critical elements are contained within the RequestedShipment
node.
PAGE 16 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 17 OF 429
MYDHL API – DEVELOPER GUIDE
Optional section to populate information used to identify customer request for troubleshooting
or tracking. DHL Express recommends that this information is provided. For Third party
vendors/ecommerce this is mandatory to provide continuous support.
PAGE 18 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 19 OF 429
MYDHL API – DEVELOPER GUIDE
The GetRateEstimates element is used to provide options to return DHL products and services
without showing the price. This will further improve response times for those who simply would
like to know the available products and services that DHL offer for the prospective shipments.
This element is not to be used in combination with the LandedCost element. There are three
possible cases for this field.
• GetRateEstimates = Y – the response message will show all charges related to the DHL
products and services
• GetRateEstimates = N – the response message will show all charges related elements as
empty (0.00) for the available DHL products and services
• GetRateEstimates is not provided. If value is not provided for this field, the default value is
Y. Hence, the response message will show charges for the related DHL products and
services.
This element can return currencies based on ‘BILLC’ – billing currency, ‘PULCL’ – pickup location
currency, ‘BASEC’ – base currency. The possible values for this element are as below;
PAGE 20 OF 429
MYDHL API – DEVELOPER GUIDE
• IncludeAdditionalCurrencies = N, the response will return all the rates in Billing currency
only.
The DropoffType is used to indicate whether a scheduled pickup is required as part of the
consideration for the rate request. There are two possible values to indicate whether a pickup is
considered. The possible values are as follows;
• REGULAR_PICKUP – The pickup location is already serviced by regularly scheduled
courier pickup and an additional pickup does not need to be considered for this service.
• REQUEST_COURIER- The rating response returns products, for which the pickup
capability is given, based on ShipmentTimeStamp.
The NextBusinessDay field is used to indicate that the Rate Request process should query the next
business day for available services if the current request is beyond cutoff, or occurs on a weekend
or holiday. There are three possible use cases for this field.
• NextBusinessDay is null (node not included) – This represents the base functionality. In
this case, the process will filter out any services which has a pickup date <> to the
requested ship date. For example, if the requested shipment date is a Monday, but the
next available pickup date is a Tuesday, this option will not present these services.
• NextBusinessDay = N – This case will behave identically to the above null case.
• NextBusinessDay = Y – This case will provide services for the subsequent business day, if
available.
The Ship section outlines the shipper and receiver for the specific rate request. In the context to
rate requests, the street address elements are not critical, since capability and rate are determined
PAGE 21 OF 429
MYDHL API – DEVELOPER GUIDE
based on city, postal code, and country code. Please note that the Shipper and Recipient
structures are identical.
The Packages section details the weight and dimensions of the individual pieces of the shipment.
For example, the shipper may tender a single shipment with multiple pieces, and each piece may
have a distinct shipping label. In this context, a RequestedPackage node represents each
individual piece, and there is a limitation of 999 RequestedPackage nodes in the request.
PAGE 22 OF 429
MYDHL API – DEVELOPER GUIDE
pickup, station dropoff, etc. Please note that the timestamp for this event does not represent the
time of the execution of the service, and should not be considered a system event.
The UnitOfMeasurement node conveys the unit of measurements used in the operation. This
single value corresponds to the units of weight and measurement which are used throughout the
message processing. The value of ‘SI’ corresponds to KG and CM, respectively, while the value of
‘SU’ corresponds to LB and IN, respectively.
The Contents node details whether a shipment is non-dutiable (value DOCUMENTS) or dutiable
(NON_DOCUMENTS). Depending on the nature of the contents of the shipment, if customs duties
are applicable, different products may be offered by the DHL web services.
The DeclaredValue contains the value of the shipment. The field is optional decimal with a total
length of 18 characters 3 corresponding to the fraction part.
This is to specify the currency code for the declared value. It is an optional field with a length of 3
characters.
PAGE 23 OF 429
MYDHL API – DEVELOPER GUIDE
The Account field details the DHL account number used for the rate request. When the account
number is in this field, this account number serves as both the shipper account as well as payer
account. DHL recommends to use the more robust “Billing” structure (detailed further below)
This field (when enabled by DHL Express) is to allow rate requests with no account number to be
provided. If you need this function to enabled, please contact your DHL Express IT Consultant.
DHL customers will receive the rate response if the request complies as below;
The Billing structure functions as a more robust alternative to the single Account field, and allows
for using a payer account different than the shipper account (to allow for bill-to receiver or bill-to
third party). The web service requestor should use either the Account field or the Billing structure
to communicate account information, and DHL recommends this Billing structure.
PAGE 24 OF 429
MYDHL API – DEVELOPER GUIDE
The SpecialServices section communicates additional shipping services, such as Insurance (or
Shipment Value Protection).
PAGE 25 OF 429
MYDHL API – DEVELOPER GUIDE
The NetworkTypeCode field is used to filter the facility network type code. The default value is
“AL” (return all products).”DD” for Economy Select products and “TD” for Time Definite products
This element is used for filtering standard and non-standard products. If the value is “N”, the
response message will return the standard products only. The default value for this field is “Y”.
ValidateReadyTime is used to validate the ready time for the shipment to be picked up from the
customer against the pickup window start on Economy Select products. The default value is “N”,
where MyDHL API will NOT validate the shipment to be picked up from customer against pickup
window start.
StrictValidation indicates strict validation of address details, and any products and services provided
in request.
PAGE 26 OF 429
MYDHL API – DEVELOPER GUIDE
If Freight charges are not provided in the request then the ServiceType (DHL Express Product
Code) has to be provided.
GetItemCostBreakdown – if set to “Y” the service returns the Landed Cost quotation with all
breakdowns for all Items.
ShipmentCurrencyCode - currency code for the item price (the product being sold) and freight
charge. The Landed Cost calculation result will be returned in this defined currency.
MerchantSelectedCarrierName – Name of the carrier being shipped with (DHL, UPS, FEDEX, TNT,
POST or OTHERS).
GetTariffFormula – if set to “Y”, the service returns the Tariff Rate Formula for the duty/tax/fee
calculation on Line Item Level and/or Shipment Level. To receive the Line Item and/or Shipment
Level Tariff Formula it is also mandatory to provide the <GetItemCostBreakdown> element value
“Y”.
GetQuotationID – if set to “Y”, the service returns the unique quotation id for successful landed
cost estimation which may be used internally to correlate the estimated landed cost and actual
cost charged.
GetDetailedLineItemLevelStatus – if set to “Y”, the service returns error details with line item
number which helps to identify the respective Item Number segment caused issue.
PAGE 27 OF 429
MYDHL API – DEVELOPER GUIDE
If the duties and taxes are billed at destination then the Special Services segment with Service
Code “DD” is not required.
PAGE 28 OF 429
MYDHL API – DEVELOPER GUIDE
Regulatory bodies in some countries may apply additional fees based on the characteristics of the
goods being sold. We recommend to provide this information.
For example:
PAGE 29 OF 429
MYDHL API – DEVELOPER GUIDE
GoodsCharacteristic Codes are stored within Trade system and directly related to HS
Codes.
This section is mandatory; and therefore at least one characteristic is required (even with EMPTY
Code and Value).
For some Items additional quantity type has to be provided on top of specified under
QuantityType.
“FREIGHT”
“ADDITIONAL_CHARGE”
“INSURANCE”
If the “FREIGHT” charge is not provided then the ServiceType has to be populated.
PAGE 30 OF 429
MYDHL API – DEVELOPER GUIDE
Mandatory Value
Rate Request fields Comments
/Optional constraints
RateRequest
RateRequest/ClientDetail
RateRequest/Request
RateRequest/Request/ServiceHeader (0:1)
Format:
YYYY-MM-
DD(T)hh:mm:ssGMTTIMEOFFSET
e.g.
2010-11-24T00:17:20+01:00
MessageReference O (M) AN 36 Used for tracking purpose on the
customer side. The same ID will be
returned within response per
request if it is provided. Mandatory
when Landed Cost is requested.
WebstorePlatform O AN 20 Reserved for Third Party Vendors
identification
PAGE 31 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 32 OF 429
MYDHL API – DEVELOPER GUIDE
YYYY-MM-DDTHH:MM:SSGMT+k
2010-02-26T17:00:00GMT+01:00
PAGE 33 OF 429
MYDHL API – DEVELOPER GUIDE
Possible values:
- CFR, Cost And Freight
- CIF, Cost, Insurance and Freight
- CIP, Carriage And Insurance Paid
To
- CPT, Carriage Paid To
- DAF, Delivered At Frontier
- DDP, Delivery Duty Paid
- DDU, Delivery Duty Unpaid
- DAP, Delivered At Place
- DEQ, Delivered Ex Quay (Duty Paid)
- DES, Delivered Ex Ship
- EXW, Ex Works
- FAS, Free Alongside Ship
- FCA, Free Carrier
- FOB, Free On Board
PAGE 34 OF 429
MYDHL API – DEVELOPER GUIDE
An example of a customer
agreement product is Medical
Express.
ValidateReadyTime O "Y", "N" Validate ready time against pickup
window start on Economy Select
products.
StrictValidation O "Y", "N" Indicates strict validation of address
details, and any products and
services provided in request.
RateRequest/RequestedShipment/Ship
RateRequest/RequestedShipment/Ship/Shipper
StreetLines O AN 45 Shipper street name and number
StreetName O AN 250 Shipper street name if you wish to
break StreetLines into Street Name
and number instead of using the
StreetLines element.
PAGE 35 OF 429
MYDHL API – DEVELOPER GUIDE
RateRequest/RequestedShipment/Ship/Recipient
StreetLines O AN 45 Recipient street name and number
StreetName O AN 250 Receiver street name if you wish to
break StreetLines into Street Name
and number instead of using the
StreetLines element.
PAGE 36 OF 429
MYDHL API – DEVELOPER GUIDE
RateRequest/RequestedShipment/Packages (1:1)
RateRequest/RequestedShipment/Packages/RequestedPackages (1:999)
@number M N Will be used as Piece Sequence
number and returned in the
response.
PackageTypeCode O AN 3 Global package type
Valid enumeration;
- 3BX
PAGE 37 OF 429
MYDHL API – DEVELOPER GUIDE
- 2BC
- 2BP
- CE1
- 7BX
- 6BX
- 4BX
- 2BX
- 1CE
- WB1
- WB3
- XPD
- 8BX
- 5BX
- WB6
- TBL
- TBS
- WB2
RateRequest/RequestedShipment/Packages/RequestedPackages/Weight
Value M N 15.3 Weight of the individual
pieces/packages the rating request
is for. Minimum allowed weight is
0.1kg – please see your DHL
Account rate card for more
information on minimum and
maximum weights per piece.
RateRequest/RequestedShipment/Packages/RequestedPackages/Dimensions
Length M 10.3 D Length of the piece listed.
Width M 10.3 D Width of the piece listed.
Height M 10.3 D Height of the piece listed.
RateRequest/RequestedShipment/Billing
ShipperAccountNumber M AN 12 The DHL account number used for
the shipment. Used as the shipper
account number.
Please note if you use this billing
section then the above <Account>
tag is not needed.
<ShipperAccountNumber> is
mandatory then.
ShippingPaymentType M AN 1 Possible values:
- S (use ShipperAccountNumber as
payer)
PAGE 38 OF 429
MYDHL API – DEVELOPER GUIDE
- R (use BillingAccountNumber as
bill-to receiver account number)
- T (use BillingAccountNumber as
bill-to third party account number)
Please note if you use value R or T
in this tag then the next tag
<BillingAccountNumber> is also
mandatory
BillingAccountNumber O AN 12 The DHL account number used for
the shipment, if
ShippingPaymentType is equal to R
or T.
RateRequest/RequestedShipment/SpecialServices
RateRequest/RequestedShipment/SpecialServices/Service (1:99)
ServiceType M AN 6 Enter II if you wish to get a quote for
Insurance with your prospect
shipment. If not needed then leave
the
SpecialServices section out.
Note: Insurance Charge is only
applicable for the RateRequest
service
LocalServiceType O AN 3 The DHL local or country specific
Product Code used to ship the items
ServiceValue O N 18.3 Monetary value of service (e.g.
Insured Value) – this is needed if you
wish to get a quote on Insurance
with your prospect shipment
CurrencyCode O AN 3 Currency code) – this is needed if you
wish to get a quote on Insurance
with your prospect shipment
PaymentCode O AN 3 For future use.
StartDate O Date For future use.
EndDate O Date For future use.
TextInstruction O AN 50 For future use.
RateRequest/RequestedShipment/ProductsAndServices
RateRequest/RequestedShipment/ProductsAndServices/ProductAndServices (0:99)
ServiceType M AN 6 The shipping product requested for
this shipment, corresponding to the
DHL Global Product codes.
LocalServiceType O AN 3 DHL “local / country specific”
Product Code used to ship the items.
RateRequest/RequestedShipment/ProductsAndServices/ProductAndServices/SpecialServices
PAGE 39 OF 429
MYDHL API – DEVELOPER GUIDE
RateRequest/RequestedShipment/ProductsAndServices/ProductAndServices/SpecialServices
/Service (0:99)
ServiceType M AN 6 Enter II if you wish to get a quote for
Insurance with your prospect
shipment. If not needed then leave
the
SpecialServices section out.
LocalServiceType O AN 3 The DHL local or country specific
Product Code used to ship the items
"COMMERCIAL" – B2B
"PERSONAL" – B2C
ShipmentTransportation O Enumerated Possible value:
Mode
"AIR"
"OCEAN"
"GROUND"
MerchantSelectedCarrier O Enumerated Carrier being used to ship with.
Name Allowed values are:
“DHL”,”UPS”,”FEDEX”,”TNT”,”POST”,
PAGE 40 OF 429
MYDHL API – DEVELOPER GUIDE
”OTHERS”
GetTariffFormula O Enumerated Possible value:
RateRequest/RequestedShipment/LandedCost/Items (1:1)
RateRequest/RequestedShipment/LandedCost/Items/Item (1:1000)
PAGE 41 OF 429
MYDHL API – DEVELOPER GUIDE
“BOX” - Box
PAGE 42 OF 429
MYDHL API – DEVELOPER GUIDE
Possible Values:
DEFAULT_RATE - Actual rate (either
standard or preferential rate) is
returned only if full Harmonized
System Code (HS Code) is provided.
Error is returned when full HS code
is not provided.
RateRequest/RequestedShipment/LandedCost/Items/Item/GoodsCharacteristics (1:1)
RateRequest/RequestedShipment/LandedCost/Items/Item/GoodsCharacteristics/GoodsCh
aracteristic (1:999)
PAGE 43 OF 429
MYDHL API – DEVELOPER GUIDE
RateRequest/RequestedShipment/LandedCost/Items/Item/AdditionalQuantityDefinitions
RateRequest/RequestedShipment/LandedCost/Items/Item/AdditionalQuantityDefinitions
/AdditionalQuantityDefinition (0:100)
RateRequest/RequestedShipment/LandedCost/ShipmentMonetaryAmount
RateRequest/RequestedShipment/LandedCost/ShipmentMonetaryAmount/Charges
(1:20)
“FREIGHT”
“ADDITIONAL_CHARGE”
“INSURANCE”
PAGE 44 OF 429
MYDHL API – DEVELOPER GUIDE
Each of the individual sections of Rate Response is represented below in schema diagram, with
context, and a detailed description of each field follows in the Output Field List.
The ServiceHeader structure includes MessageReference which is taken from the request as
well as MessageTime showing when the request has been processed on DHL side. The
ServiceInvocationID is DHL internal Service invoation ID to expedite support. The QuotationID
returns for every successful landed cost estimation only when it is requested in LandedCost
segment of request message(<GetQuotationID>Y<GetQuotationID>).
This is only available when the LandedCost segment is part of the request.
The Notification structure includes the result code and message, based on the results of the
processing. Successful messages will include a zero error code and no corresponding message,
while exceptions will be noted with both code and message. MessageDetail will return line item
number with error details for LandedCost. MessageDetail returns only when line item level error
is requested in LandedCost segment of request message (<GetDetailedLineItemLevelStatus>Y<
GetDetailedLineItemLevelStatus>).
PAGE 45 OF 429
MYDHL API – DEVELOPER GUIDE
For successful responses, there will be 1-to-M Service nodes returned, which will include all of
the information about the DHL product returned. A critical element of the Service structure is
the @type attribute, which designates the DHL global product code that corresponds to that
service quotation. The charges and delivery times for that product are in the subsequent nodes
within Service.
PAGE 46 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 47 OF 429
MYDHL API – DEVELOPER GUIDE
TotalChargeTypes pertains to the type of charges returned. This element will only show when
GetRateEstimates = Y and GetDetailedRateBreakdown = Y.
Different types of total charges will be returned in Breakdown/Type element with possible values
as:
Items in the response contain one or many charge details (if explicitly requested providing
<GetItemCostBreakdown>Y</GetItemCostBreakdown>) for all Landed Cost Items.
TariffRateFormula returns formula used for charges (duty/tax/fee) calculation only when
requested in LandedCost segment of request
message(<GetTariffFormula>Y</GetTariffFormula>) for one or many charge details for all
Landed Cost Items.
PAGE 48 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 49 OF 429
MYDHL API – DEVELOPER GUIDE
This section provides line item visibility into the components of that charge and value added
service codes that are available for the prospect shipment. In this context, the sum of the charges
communicated in this structure will be equal to the charge in TotalNet. The Currency field will
apply for all of the subsequent charges, and the ChargeType is a description of the local charge
code description for that charge. The text in the ChargeType may vary, depending on locale.
Important: The <ChargeCode> field is the Value Added Service code you can use in your prospect
shipment when using ShipmentRequest. Please note that FF (Fuel Surcharge) should not be used
as this is automatically added during billing.
<ChargeType> is the name of the service i.e. Shipment Insurance or Dangerous Goods.
<MutuallyExclusiveChargesGroups> returns service codes where only one among the list must
be provided for the shipment request.
<DependencyRuleGroups> returns conditional rules for a particular service code. The logic will be
grouped by <DependentChargeCode>.
PAGE 50 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 51 OF 429
MYDHL API – DEVELOPER GUIDE
The freight charge as provided by Merchant for the purpose of landed cost
MFCHG
calculation.
The DeliveryTime field is provided for each Service, and details the local timestamp (based on
delivery location) when the shipment will be delivered by.
The DeliveryType field is a delivery date capabilities considering customs clearance days. The
possible value of this field is as below;
• QDDF - is the fastest ("docs") transit time as quoted to the customer at booking or
shipment creation. No custom clearance is considered.
PAGE 52 OF 429
MYDHL API – DEVELOPER GUIDE
The CutoffTime field is optionally provided for each Service, and details the local timestamp
(based on origin location) when the service offered in the response has its operational cutoff. This
is the timestamp when the shipment needs to be tendered to the courier in order to meet the
cutoff for that day’s shipping. When the GetDetailedBreakdown = Y, the CutOffTime will be
returned in GMT format and respective offset in the CutoffTimeGMT and CutoffTimeOffset field.
The NextBusinessDayInd field is optionally provided for each Service, and is a Y/N indicator to
alert the consumer that the next available pickup date is beyond the requested shipment date.
When the Request NextBusinessDay flag is not used (or N), this value will always be N. Otherwise,
this value may have a value of Y or N, depending on how the next available pickup date relates to
the requested shipment date/time.
This complex element contains the Service Area code and Service Area description for the origin
of the shipment.
This complex element contains the Service Area Code and Service Area Description for the
destination of the shipment.
PAGE 53 OF 429
MYDHL API – DEVELOPER GUIDE
The ExchangeRates is used to show exchange of Billing vs Base Currency and Origin/Pickup Local
vs Base Currency. This element will only show in the response when the IncludeAllCurriences = Y.
PAGE 54 OF 429
MYDHL API – DEVELOPER GUIDE
Mandatory Value
Rate Response fields /Optional constraints Comments
RateResponse
RateResponse/Provider
RateResponse/Provider/ServiceHeader
RateResponse/Provider/Notification
RateResponse/Provider/Service
"@type" M AN This is the code for the product for which the
delivery is feasible respecting the input data
from the request.
PAGE 55 OF 429
MYDHL API – DEVELOPER GUIDE
CutoffTime O TIMESTAMP This is the cutoff time for the service offered in
the response. This represents the latest time
(local to origin) which the shipment can be
tendered to the courier for that service on that
day.
Example: (e.g. 2019-06-26T17:00:00)
CutoffTimeGMT O TIME Pickup cut off time in GMT
HH:MM:SS
CutoffTimeOffset O TIME Pickup cut off time GMT Offset
NextBusinessDayInd O A1 This indicator has values of Y or N, and tells
the consumer if the service in the response
has a pickup date on the same day as the
requested shipment date (per the request).
PickupWindowEarliestTime O TIME The DHL earliest time possible for pickup
PickupWindowLatestTime O TIME The DHL latest time possible for pickup
ServiceName O A1 Local service name
LocalServiceType O A DHL “local / country specific” Product Code
used to ship the items. Optional and
applicable only to get Landed Cost
LocalServiceCountryCode O AN 2 The country code for the local service used
NetworkTypeCode O Enumerated The NetworkTypeCode element indicates the
product belongs to the Day Definite (DD) or
Time Definite (TD) network.
Possible Values;
PAGE 56 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 57 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 58 OF 429
MYDHL API – DEVELOPER GUIDE
RateResponse/Provider/Service/Charges/Charge/ChargeBreakdown
RateResponse/Provider/Service/Charges/Charge/ChargeBreakdown/Breakdown (0:99)
ChargeType O AN If a breakdown is provided, details can either
be;
- "TAX",
- "DISCOUNT"
Type O AN Discount or tax type codes as provided by
DHL Express. Example values;
For discount;
P – promotional
S – special
Amount O N The actual amount of the discount/tax
Rate O N Percentage of the discount/tax
BaseAmount O N The base amount of the service charge
RateResponse/Provider/Service/TotalChargeTypes (0:3)
@type O Enumerated Possible Values :
PAGE 59 OF 429
MYDHL API – DEVELOPER GUIDE
Possible values;
- DUTY
- TAX
- FEE
ChargeAmount M N
The charge amount of the line item charge.
RateResponse/Provider/Service/Items/Item/Charge/ChargeBreakdown
RateResponse/Provider/Service/Items/Item/Charge/ChargeBreakdown/Breakdown (0:99)
ChargeType O AN If a breakdown is provided, details can either
be; - "TAX",
- "DISCOUNT"
Type O AN Discount or tax type codes as provided by
DHL.
Example values;
For discount;
P – promotional
PAGE 60 OF 429
MYDHL API – DEVELOPER GUIDE
S – special
Amount O N The actual amount of the discount/tax
Rate O N Percentage of the discount/tax
BaseAmount O N The base amount of the service charge
RateResponse/Provider/Service/Items/Item/Notification (0:1)
“@Code” O String Error/Warning > 0 or Success Code = 0
Message O AN 128 Short description of the error / status
DetailedMessage O AN 1024 Detailed description of the error / status
RateResponse/Provider/ExchangeRates
RateResponse/Provider/ExchangeRates/ExchangeRate (1:3)
Rate M N Rate of the currency exchange
Currency M AN 3 The currency code
BaseCurrency M AN 3 The currency code of the base currency is
either USD or EUR
5. SHIPMENTREQUEST
While the RateRequest and ShipmentRequest services can be used independently, DHL
recommends the use of RateRequest to first validate the products available for the
PAGE 61 OF 429
MYDHL API – DEVELOPER GUIDE
shipper/receiver. The global product codes which are output during the RateResponse can be
used directly as input into the Shipment Request, as both perform similar validations in terms of
service capability.
Within the ShipmentRequest, the ClientDetail is an optional node for reference use, and does not
affect functionality. The critical elements are contained within the RequestedShipment node.
Each of the individual sections of RequestedShipment is shown below in schema diagram, with
context, and a detailed description of each field follows in the Input Field List.
PAGE 62 OF 429
MYDHL API – DEVELOPER GUIDE
Optional section to populate information used to identify customer request for troubleshooting
or tracking. DHL Express recommends that this information is provided.
PAGE 63 OF 429
MYDHL API – DEVELOPER GUIDE
The ShipmentInfo section provides general shipment detail, pertaining to operational and billing
features. The Billing, Special Services, Document Images, Label Option and Shipment Reference
substructures are detailed in below sections.
PAGE 64 OF 429
MYDHL API – DEVELOPER GUIDE
The DropOffType is a required field with two possible values, and these values are used to
determine whether a driver pickup will be scheduled as part of this orchestrated service. If a
pickup is requested (REQUEST_COURIER), the web service consumer can expect the optional
DispatchConfirmationNumber to be populated in the response. Otherwise, no pickup will be
scheduled, and no pickup reference information will be provided in the response.
The ServiceType is a required field which corresponds to the DHL global product code, which
describes the product requested for this shipment. These product codes are available as output
from Rate Request, and the product codes provided will be validated against the origin-
destination requested in the Shipment Request.
The Account field is a required business field, but is optional within the schema as this information
can be provided in one of two structures. It must either be provided in this field or within the
Billing structure (see below). DHL recommends use of more robust Billing structure. This field
corresponds to the Shipper account number and usage of this field presumes that the account will
also be used as the Payer account. This field is validated as a valid account for usage within this
process. For dutiable shipment, account will be assumed as the
DutyAndTaxPayerAccountNumber if the
DutyAndTaxPyerAccountNumber is not provided under Billing section.
PAGE 65 OF 429
MYDHL API – DEVELOPER GUIDE
If the Billing structure is included, the first two fields are required. This schema structure
conveys the Shipper Account Number, as well as extensibility to convey receiver or third party
account number as payer. The DutyAndTaxPayerAccountNumber field indicates the DHL
account number used for duties payment.
N (No) - overwrite with derived DHL Billing Service via Account Validation - Create Shipment
service - default behavior
Y (Yes) - use customers provided billing special service code to derive the DHL Billing service (not
recommended)
PAGE 66 OF 429
MYDHL API – DEVELOPER GUIDE
The SpecialServices section communicates additional shipping services, such as Insurance (or
Shipment Value Protection). For example, to support Insurance, the ServiceType would have a
value of ‘II, which the ServiceValue and CurrencyCode containing the insured value and currency,
respectively. Please note that for all other Value Added Service like Saturday Delivery, Dangerous
goods etc you do not need to declare the service charge and currency.
For indicating Cash on Delivery service (ServiceType value of ‘KB’), details of amount to be
collected needs to be provided in fields ServiceValue, CurrencyCode and
PaymentMethods/PaymentMethod to indicate the mode of payment.
PAGE 67 OF 429
MYDHL API – DEVELOPER GUIDE
1. Customer sends the CreateShipment request with relevant shipment information and
below mandatory fields:
<SpecialServices/Service[n]/ServiceType> element must contain value of ‘PM’.
2. CreateShipment request is not expected to contain the ExportDeclaration element and its
child nodes. However, if request message does contain the ExportDeclaration element
this section is ignored during the data merge process. Instead, the ExportDeclaration data
from UploadInvoiceData service will be taken as part of the data merging process.
5. Customer sends the UploadInvoiceData request message with commercial invoice data to
complete the process. Refer to Section 14 UploadInvoiceData Service for detailed
information on Request and Response structure.
• <ShipmentInfo/ShipmentIdentificationNumber> in request message must be the
value from CreateShipment response in step 3.
b) Customer submits the Commercial Invoice data followed by the Shipment Request
1. Customer sends the UploadInvoiceData request message with commercial invoice data.
Refer to Section 14 UploadInvoiceData Service for detailed information on Request and
Response structure.
Request message must contain the below mandatory fields:
• Shipment reference must be provided in
<InvoiceReferences/InvoiceReference/InvoiceReferenceNumber> where
<InvoiceReferences/InvoiceReference/InvoiceReferenceType> value of ‘CU’
• <Billing/ShipperAccountNumber> must contain the payer account number
PAGE 68 OF 429
MYDHL API – DEVELOPER GUIDE
3. Customer sends the CreateShipment request with relevant shipment information and
below mandatory fields:
a. <SpecialServices/Service[n]/ServiceType> element must contain value of ‘PM’.
b. <ShipmentReferences/ShipmentReference/ShipmentReference> where
<ShipmentReferences/ShipmentReference/ShipmentReferenceType> element must
contain value of ‘CU’ with Shipment Reference number from step 1.
c. <Billing/ShipperAccountNumber> must contain the same payer account number
provided in step 1.
Note: To effectively merge the Shipment Details and Commercial Invoice, values
provided in Shipment Reference and ShipperAccountNumber in step 1 and step
3 must be the same.
The Currency field is a required field which details the currency for the Customs Value.
The UnitOfMeasurement node conveys the unit of measurements used in the operation. This
single value corresponds to the units of weight and measurement used throughout the message
processing. The value of ‘SI’ corresponds to KG and CM, respectively, while the value of ‘SU’
corresponds to LB and IN, respectively.
The ShipmentIdentificationNumber should only be used if discussed with your DHL Express IT
Consultant. This field (when enabled by DHL Express) allows you to use your own DHL Express
allocated Waybill number range to be used – please note that the norm is to not use this field and
each shipment will automatically have its own Waybill number assigned when creating the
shipment.
PAGE 69 OF 429
MYDHL API – DEVELOPER GUIDE
Express allocated Waybill number range to be used and tells MyDHL API that you wish to provide
your own Waybill number for each shipment – please note that the norm is to not use this field
and each shipment will automatically have its own Waybill number assigned when creating the
shipment.
The LabelType node conveys the label type used in the operation. It is an optional field. This single
value corresponds to the label type returned to customer. Customer can send one of the four
values in this field (PDF, ZPL, EPL, LP2). If customer didn’t include this tag, the default is PDF.
The LabelTemplate node conveys the label template used in the operation. It is an optional field.
This single value corresponds to the label template used to generate labels. – Please check with
your DHL Express IT representative which templates meets your requirements. If this tag is not
included, then the default of ECOM26_84_001 will be used
The QRCodeTemplate node conveys the QRCode template used in the operation. It is an optional
field. This single value corresponds to the QR template used to generate the QR code image.
Please check with your DHL Express IT representative which template meets your requirements.
If this tag is not included, then the default of QR_1_00_LL_PNG_001 will be used.
PAGE 70 OF 429
MYDHL API – DEVELOPER GUIDE
The QRCodeImageFormat node conveys the QRCode image type used in the operation. It is an
optional field. If this tag is not included, then the default of PNG image format will be used.
The CustomsInvoiceTemplate node conveys the Customs Invoice template used in the operation.
It is an optional field. This single value corresponds to the customs invoice template used to
generate customs invoice only when the RequestDHLCustomsInvoice= Y. The default template is
'COMMERCIAL_INVOICE_P_10'.
There are several template options to choose from. Below are the possible template values and
their description:
- COMMERCIAL_INVOICE_04
This template can print the Shipper, Recipient, Buyer and Importer address details and is on
portrait orientation. This template is for exclusive use for preparing Loose BBX (LBBX) shipment.
- COMMERCIAL_INVOICE_L_10
This template can print the Shipper, Recipient, Seller, Buyer, Importer and Exporter address
details and is on landscape orientation.
- COMMERCIAL_INVOICE_P_10 (default)
This template can print the Shipper, Recipient and upto two more additional address details,
as this template can print upto four address details. This template is on portrait orientation.
Note: If customer provided more than four address roles in the request message and this
template is selected, the rendered invoice will only contain four address roles based on order
of priority: Shipper, Recipient, Seller, Importer, Exporter, Buyer - and a warning message will
be included in shipment response. Payer role is not printed in any customs invoice template.
- RET_COM_INVOICE_A4_01
This template can print the Shipper, Recipient and Importer of Record address details and is
on landscape orientation. This template is for exclusive use for those shipments where the
goods are actual ‘returns’. The Shipper is the party that earlier has received the goods, but now
wishes to return the goods to its originating party. The Recipient in this shipment scenario will
receive the ‘returned goods’. Therefore such request of shipment with an invoice rendering
may utilize the specific invoice template for ‘Returns Invoice’.
PAGE 71 OF 429
MYDHL API – DEVELOPER GUIDE
The ShipmentReceiptTemplate node conveys the Shipment Receipt template used in the
operation. It is an optional field. This element is currently only published with Russia’s Shipment
Receipt’s template which is mainly used for Russia only when the RequestShipmentReceipt = Y.
The default and valid template for this field is ‘SHIP_RECPT_A4_RU_002’.
The DocumentImages node is to support multiple base64 encoded string with the image of export
documentation for Paperless Trade images. When an invalid base64 encoded string is provided, an
error message will be returned.
PAGE 72 OF 429
MYDHL API – DEVELOPER GUIDE
The LabelOptions section give customer options to generate the Transport documents in several
configurable options. The options are as follow;
• CustomerLogo: The customer company logo. This will enable the customer to
generate the Transport label using their own company logo. The children elements
are;
- LogoImage: The customer logo image. Supported image file format are RGB
and B&W
- LogoImageFormat : Format of the logo image
• CustomerBarcode: Customer can print their barcode content as well as the text
below barcode. Can only be used if the following label template is used:
‘ECOM26_84CI_002’
The children element are:
- BarcodeType: Type of barcode (39,93,128)
- BarcodeContent: The content in the barcode
- TextBelowBarcode: Thext below barcode
• PrinterDPI: The value will be passed as input parameter of resolution on the barcode
quality on the shipping labels. The default is 200.
PAGE 73 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 74 OF 429
MYDHL API – DEVELOPER GUIDE
• SplitLabelsByPieces: This field provide the option to generate a single PDF or thermal
output image file for each pieces for the Transport Label and single PDF or thermal
output image file for Waybill Document will be returned in the create shipment
response. The default value is N, a single PDF or thermal output image file for each
pieces for Transport Label and single PDF or thermal output image file for Waybill
Document will be returned in create shipment response
PAGE 75 OF 429
MYDHL API – DEVELOPER GUIDE
The RequestBarcodeInfo element is an optional value to include response fields such as waybill
number, license plate(s) for each piece(s), origin and destination service area code, DHL routing
and Client ID barcode in base64 image format.
N (No) – response will not include additional barcode information - default behavior
Y (Yes) – response will include aforementioned additional barcode fields
The RequestLabelsToFitA4 element is an optional value to print the Transport Label and Waybill
document into A4 margin PDF. Note: Applicable to ECOM26_A6_002, ECOM26_84CI_001,
ECOM26_84CI_002, ARCH_6X4, ARCH_8X4 templates. This option is applicable only for PDF
LabelType selection.
N (No) – Transport Label and Waybill document will use default margin settings - default
behavior
Y (Yes) – Transport Label and Waybill document will print into A4 margin PDF
The RequestDHLLogoOnLabel element is an optional value to include DHL Logo on Transport Label
and Waybill document. Default value is Y, DHL Logo will be printed in the Label and Waybill
document.
N (No) – Transport Label and Waybill document will not print DHL Logo
Y (Yes) – Transport Label and Waybill document will print DHL Logo
The RequestTransportLabel element is an optional value to request for Transport Label. This
element can be set as N only when requesting for a QRCode in the Shipment response
(RequestQRCode = Y ).
PAGE 76 OF 429
MYDHL API – DEVELOPER GUIDE
The RequestQRCode element is an optional value to request for QR Code image in replacement of a
printable Transport Label. Default value is N, QRCode is not returned in Shipment response
message.
Label-Free shipment processing – requires approval from your local DHL Express IT
representative and DHL Express Operations.
2. There will be no Transport Label image and Waybill doc image returned in response by
default. <RequestTransportLabel> element value must be ‘Y’ if requiring a Transport
Label image returned in response, together with the QR code image.
<RequestWaybillDoc> element value must be ‘Y’ if requiring a Waybill doc image
returned in response.
PAGE 77 OF 429
MYDHL API – DEVELOPER GUIDE
The ShipmentReferences is an optional value that supported for maximum 999 occurrences.
The first reference will be printed on the transport label. If this field is not provided in the
request message, the 1st entry of PackageReferences will be used and printed on the transport
label. If the shipment reference is provided more than 1 in the request message, only the first
ShipmentReference will be printed in the transport label. There are 2 children element under
this field, ShipmentReferences and ShipmentReferenceType.
BBX shipment processing – requires approval from your local DHL Express IT representative
and DHL Express Operations.
Steps to prepare a conventional BBX shipment:
1) Customer sends the create shipment request message for Mother Shipment with relevant
shipment information and the below information:
a. The <RequestedPackages> element should declare the relevant package’s piece
details.
b. <SpecialServices/Service[n]/ServiceType> element must contain value of ‘YW’
c. <ShipmentInfo/ServiceType> element must contain value of ‘P’ or ‘H’
2) Customer receives create shipment response message for Mother Shipment with the
Pieces IDs (<TrackingNumber> in MyDHL API create shipment response). The successful
response is used to create the Mother shipment label.
3) Customer sends the create shipment request message for Baby Shipment with relevant
shipment information and the below information:
a. At the baby shipment level,
• <ParentShipmentIdentificationNumber> element must contain the
Mother Shipment ID
• <ShipmentInfo/ServiceType> element must contain value of ‘B’
b. For each baby piece id
PAGE 78 OF 429
MYDHL API – DEVELOPER GUIDE
1) Customer to invoke MyDHL API RequestIdentifier service (refer section #13) to retrieve the
Parent Shipment ID and Parent Pallet ID.
2) Customer sends the Create Shipment request message for Baby Shipment with relevant
shipment information and the below information:
a. At the baby shipment level,
• <ParentShipmentIdentificationNumber> element must contain the
Parent Shipment ID from Step 1.
• <ShipmentInfo/ServiceType> element must contain value of ‘B’
b. For each baby piece ID,
• <ParentPieceIdentificationNumber> element must contain the corresponding
Parent Pallet ID from Step 1.
3) Customer receives Create Shipment response message for Baby Shipment. The successful
Create Shipment response can be used to create the Baby shipment label.
4) Customer to decide if required additional pallet (Parent Pallet ID) or ready to complete the
BBX process by creating the Parent Shipment.
5) If customer requires additional pallet, customer to invoke MyDHL API RequestIdentifier
service to retrieve the Parent Pallet ID. Customer to request only the PID in this step.
6) Repeat steps 2, 3, and 4 to create Baby Shipment for additional pallet.
7) Customer to invoke MyDHL API CreateShipment service to create the Parent Shipment. In this
step, customer to use the “UseOwnShipmentIdentificationNumber” and
“UseOwnPieceIdentifierNumber” elements and provide the Parent Shipment ID and Piece ID
retrieved in Step 1 and Step 5 (if applicable).
a. <ShipmentIdentificationNumber> element must contain the Parent Shipment ID from
Step 1.
b. <PieceIdentifierNumber> element must contain the Parent Piece ID from Step 1 and
Step 5 (if applicable)
c. <UseOwnShipmentIdentificationNumber> element contain value of ‘Y’
d. SpecialServices/Service/ServiceType element must contain value of ‘YW’
e. ShipmentInfo/ServiceType element must contain value of ‘P’ or ‘H’
f. Parent Shipment’s related information must contain correct total weight, customs
value and piece details of all baby shipments created in Step 2.
8) Customer receives CreateShipment response message for Parent Shipment. The
successful response can be used to create the Parent’s shipment label.
1) Customer to invoke MyDHL API RequestIdentifier service (refer Section 13. RequestIdentifier)
to retrieve the Parent Shipment ID.
2) Customer sends the Create Shipment request message for Baby Shipment with relevant
shipment information below:
PAGE 79 OF 429
MYDHL API – DEVELOPER GUIDE
3) Customer receives Create Shipment response message for Baby Shipment. The successful
Create Shipment response can be used to create the Baby shipment Transport label and Waybill
document.
5) Complete Loose BBX process by creating the Parent Shipment. Provide relevant Parent
shipment details below:
a. Parent shipment must include correct Weight, Customs Value, and Piece
details of all Baby Shipments’ Piece Identification Number (PID) created in
Step 2 and 4.
b. <ShipmentIdentificationNumber> element must contain the Parent’s
Shipment ID from Step 1.
c. <UseOwnShipmentIdentificationNumber> element contain value of ‘Y’
d. SpecialServices/Service/ServiceType element must contain value of ‘YM’
e. ShipmentInfo/ServiceType element must contain value of ‘P’, the Parent
Shipment’s Global Product Code
f. RequestedPackages/UseOwnPieceIdentificationNumber must contain value
of ‘Y’
g. RequestedPackages/PieceIdentificationNumber must contain the Baby
Shipment’s Piece Identification Number, repeated for all Baby Shipments’
pieces.
Additional notes for Loose BBX Parent shipment:
• It is customer’s responsibility to declare the shipments with accurate shipment
weight from each baby shipment pieces in
RequestedShipment/Packages/RequestedPackages/Weight and total customs value
in RequestedShipment/InternationalDetail/ /CustomsValue in the Create Shipment
request message. Note that there is no auto-calculate functionality available
currently for all baby shipments linked to their respective mother shipment.
• Customer may prepare PLT shipment, upload own Customs Invoice or request for DHL
Customs Invoice by declaring all the export declaration line items in the request
message.
PAGE 80 OF 429
MYDHL API – DEVELOPER GUIDE
• To request for DHL Customs Invoice, customer must use customs invoice template
‘COMMERCIAL_INVOICE_04’.
6) Customer receives Create Shipment response message for Parent Shipment. The
successful response can be used to create the Parent Shipment’s Customs Invoice
document if RequestDHLCustomsInvoice option is selected.
Note: Response message for Parent Shipment will always return Transport Label. It
is not necessary for customer to print the Transport Label as Parent Shipment is a
virtual shipment.
PAGE 81 OF 429
MYDHL API – DEVELOPER GUIDE
The RequestEstimatedDeliveryDate node is an optional field to have Estimated Delivery Date (EDD)
details in the shipment response. The default value is N, where no additional fields related to
Estimated Delivery Date is included in response.
This node comes in pair with RequestEstimatedDeliveryDate field. There are two options of EDD
type – QDDF or QDDC.
QDDF - is the fastest ("docs") transit time as quoted to the customer at booking or shipment
creation. When clearance or any other non-transport operational component is expected to impact
transit time, QDDF does not constitute DHL's service commitment.
PAGE 82 OF 429
MYDHL API – DEVELOPER GUIDE
The RequestPickupDetails node is an optional field to have pickup related details such as
ReadyByTime, CallInTime, Pickup Location Additional Day to be returned in shipment response
The ParentShipmentServiceType node is an optional field to indicate the global product code of a
Loose BBX parent shipment.
The ParentShipmentPackagesCount node is an optional field to indicate the total pieces count of a
Loose BBX parent shipment.
The ShipmentTimeStamp node is the date/time stamp (including GMT offset) when the shipment
will be ready for shipping and tendered to the carrier, either as part of a scheduled pickup, regular
pickup, station dropoff, etc. Please note that the timestamp for this event does not represent the
time of the execution of the service, and should not be considered a system event.
The PickupLocationCloseTime node identifies the pickup location close time (i.e. what time do the
premises where the collection is supposed to happen close). The value must be in local time. The
value component must be HH:MM (using a 24-hours clock format, e.g. 14:00). This node is
optional and must be used with DropOffType = ‘REQUEST_COURIER’.
PAGE 83 OF 429
MYDHL API – DEVELOPER GUIDE
The PickupLocation node provides information on where the package should be picked up by DHL
courier. This node is optional and must be used with DropOffType = ‘REQUEST_COURIER’.
The PaymentInfo node details the potential terms of trade for this specific shipment, and the
schema itself defines the possible enumerated values for this field.
The Description field is used as a description of goods for the label and manifest.
The CustomsValue field communicates the customs value of the shipment, used for manifesting.
The USFilingTypeValue is used for the US AES4, FTR and ITN numbers to be printed on the
Transport Label
The Content node details whether a shipment is non-dutiable (value DOCUMENTS) or dutiable
(NON_DOCUMENTS). Depending on the nature of the contents of the shipment, is customs duties
are applicable, different products may be offered by the DHL web services.
PAGE 84 OF 429
MYDHL API – DEVELOPER GUIDE
If requesting to render a Commercial Invoice PDF, optional elements may be provided in request
such as InvoiceDeclarationTexts, InvoiceSignatureDetails, OtherCharges, Remarks,
InvoiceInstructions and CustomerDataTextEntries.
PAGE 85 OF 429
MYDHL API – DEVELOPER GUIDE
CustomsDocuments will contain child node CustomsDocument and used to indicate the document
type code and document ID that corresponds to one ore more associated document(s) for customs
declaration purposes.
PAGE 86 OF 429
MYDHL API – DEVELOPER GUIDE
InvoiceReferences section contains child node InvoiceReference that can be repeated up to max
100 occurences. Data provided in this section is passed on to the manifest data.
Remarks will contain repeating child node Remark of up to max 3 occurences. This element will be
printed to the commercial invoice PDF.
PAGE 87 OF 429
MYDHL API – DEVELOPER GUIDE
OtherCharges will contain repeating child node OtherCharge. This section can be used to input
any other monetary charges associated with the shipment such as Freight, Insurance, Fuel
Surchage etc.
ChargeValue is mandatory element and are included in calculation of Shipment Total Declared
Amount.
ChargeType is mandatory element together with ChargeValue and provides more detail as to
categorize the charge being provided. Refer to below tables for list of charge type codes and
descriptions.
For printing charges in commercial invoice, refer to Appendix: Commercial Invoice Template Guide
on what ChargeType codes can be printed across different Commercial Invoice templates.
OtherCharges with ChargeType “SOTHR” will always be displayed in last sequence order in
Commercial Invoice template: COMMERCIAL_INVOICE_P_10 and
COMMERCIAL_INVOICE_L_10.
PAGE 88 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 89 OF 429
MYDHL API – DEVELOPER GUIDE
ExportLineItems contains a child node ExportLineItem which can repeat up to 999 occurences.
This section is used to provide details of invididual items to be listed in the commercial invoice.
If requesting to render a Commercial Invoice PDF, optional elements may be provided in request
such as CommodityCode, LicenseNumber and AdditionalInformation.
PAGE 90 OF 429
MYDHL API – DEVELOPER GUIDE
ItemReferences section contains child node ItemReference that can be repeated up to max 100
occurences. Data provided in this section is passed on to the manifest data. First five
ItemReference in request message can be printed in templates COMMERCIAL_INVOICE_P_10 and
COMMERCIAL_INVOICE_L_10.
PAGE 91 OF 429
MYDHL API – DEVELOPER GUIDE
CustomsPaperworks will contain child node CustomsPaperwork and used to indicate the document
type code and document ID that corresponds to one ore more associated document(s) for customs
declaration purposes.
PAGE 92 OF 429
MYDHL API – DEVELOPER GUIDE
PAGE 93 OF 429
MYDHL API – DEVELOPER GUIDE
These 2 elements are only applicable for Commercial Invoice printing purpose in Customs
Invoice template*: COMMERCIAL_INVOICE_P_10 and COMMERCIAL_INVOICE_L_10.
If any of this child nodes are present, it will only be able to display up to three OtherCharges.
Nonetheless, the ShipmentRequest can still contain up to five OtherCharges.
If there are more than three Other Charges, the third Other Charges onwards will be combined
and displayed under one single caption of “Other Charges”.
Note: If either first or second OtherCharges has ChargeType of “SOTHR”, and there are more
than three OtherCharges provided in the request, the OtherCharges with ChargeType of
“SOTHR” will be consolidated under the combined “Other Charges” caption as well.
The OnDemandDeliveryOptions section conveys data elements for On Demand Delivery (ODD)
service.
The Delivery option is to define which on demand delivery option you wish to choose optionally
when your shipment is to be delivered. The options are:
- SX (Signature release)
The Location is mandatory if the above delivery option is SX and should advise DHL where exactly
to leave the shipment (ie.front door etc)
The instructions is optional – additional information that is useful for the DHL Express courier
The GateCode is optional – is the entry code to gain access to an apartment complex or gate
The LWNTypeCode is mandatory if the above delivery option is SW. The possible values are
PAGE 94 OF 429
MYDHL API – DEVELOPER GUIDE
The AuthorizerName is mandatory if delivery option is SX – this is the person that this authorised
to sign and receive the DHL Express shipment.
The SelectedServicePointID is mandatory if delivery option is TV – this is the unique DHL Express
Service point location ID of where the parcel should be delieverd (please contact your local DHL
Express Account Manager to obtain the list of the servicepoint IDs)
PAGE 95 OF 429
MYDHL API – DEVELOPER GUIDE
The Ship section outlines the shipper, receiver and optional buyer, importer, exporter, seller,
payer, pickup and ultimate consignee address for the specific shipment request. In the context to
rate requests, the street address elements are not critical, since capability and rate are determined
based on city, postal code, and country code.
Please note that the Shipper, Pickup, BookingRequestor, Buyer, Recipient, Exporter, Importer,
Seller, Payer and UltimateConsignee structures are identical.
If included in the message, this optional Pickup structure will be used as precedence over the
Shipper address when the Pickup service is invoked. The Pickup address will not be used in
manifesting.
PAGE 96 OF 429
MYDHL API – DEVELOPER GUIDE
5.2.48 RegistrationNumbers
Is used to provide Registration Number(s) of the Shipper and/ or Recipient issued by any country
regulatory office. This is applicable for Shipper, Buyer, Recipient, Exporter, Importer, Seller,
Payer and UltimateConsignee segments.
Refer to Appendix: Registration Number Type Codes attached in this document for full list of
codes, their description and applicable issuing country and shipping roles.
For printing registration numbers in commercial invoice, refer to Appendix: Commercial Invoice
Template Guide on what NumberTypeCode values can be printed across different Commercial
Invoice templates.
PAGE 97 OF 429
MYDHL API – DEVELOPER GUIDE
The Packages section details the contents of individual pieces (or discrete shipping containers)
within the shipment. The minimum number of packages or pieces in a shipment is one and the
upper limit is 999.
The InsuredValue field is an optional field in the Packages section which will be deprecated from
the interface, as the SpecialServices section should be used to convey Insured Value.
The Weight and Dimensions fields represent the weight and dims of the individual pieces.
The PackageReference field is used as the Piece Reference and the first instance is also used as
the Shipment Reference. Currently only the Shipment Reference appears on the label.
The ParentPieceIdentificationNumber is the Parent (Mother) Piece ID number. This field will be
used to indicate the Mother Shipment's Piece ID for linkage purposes when the customer is using
the conventional BreakBulk Express (BBX) service.
The BespokeLabelData is to print additional customer information in the Transport Label. This
segment is required when the LabelTemplate value is ECOM26_84CI_003.
PAGE 98 OF 429
MYDHL API – DEVELOPER GUIDE
The DangerousGoods section indicates if there is dangerous good content within the shipment.
The
ContentID node contains the Content ID for the Dangerous Good classification (please contact
your
DHL Express representative for the list of the codes). If the shipment is Dry Ice UN1845 (Content
ID – 901) then the additional node needs to be populated - “DryIceTotalNetWeight.”
If is the shipment is “Excepted Quantities” then the additional node needs to be populated –
“UNCode”
This ShipmentNotifications section is to support sending email notification once the shipment is
created. The email will contain the basic information on the shipper, recipient, waybill number,
and shipment information. The minimum number of shipment email notification to be sent is
one and the upper limit is 5.
PAGE 99 OF 429
MYDHL API – DEVELOPER GUIDE
• BespokeMessage: Any additional message from the shipper to be added to the body
of the mail
• LanguageCode: Email content language. Please refer to the input field table for list of
supported language in this field.
• LanguageCountryCode: Email notification language country code.
Values or
Shipment Request fields M/O Comments
Constraints
ShipmentRequest
ShipmentRequest/ClientDetail
sso O This field is for internal use only
plant O This field is for internal use only
ShipmentRequest/Request
ShipmentRequest/Request/ServiceHeader
MessageTime O TIMESTAMP Format:
YYYY-MM-DD(T)hh:mm:ss-
GMTTIMEOFFSET e.g.
2010-11-24T00:17:20+01:00
MessageReference O AN 36 Message reference, between 28-36
characters in length.
WebstorePlatform O AN 20 Reserved for Third Party Vendors
identification
Reserved for Third Party Vendors
WebstorePlatformVersion O AN 15
identification
ShippingSystemPlatform O AN 30 Reserved for Third Party Vendors
identification
O AN 15 Reserved for Third Party Vendors
ShippingSystemPlatformVersion
identification
PlugIn O AN 20 Reserved for Third Party Vendors
identification
PlugInVersion O AN 15 Reserved for Third Party Vendors
identification
ShipmentRequest/RequestedShipment
YYYY-MM-DDTHH:MM:SSGMT+k
2010-02-26T17:00:00GMT+01:00
HH:mm
Sample: 17:00
SpecialPickupInstruction O AN 75 This node details special pickup
instructions you may wish to send to
the DHL Courier
PickupLocation O AN 80 This node provides information on
where the package should be picked
up by DHL courier.
PaymentInfo M AN 3 Possible values:
- CFR – Cost And Freight
- CIF – Cost, Insurance and
Freight
- CIP – Carriage And
Insurance Paid To
- CPT – Carriage Paid To
- DAF – Delivered At Frontier
- DDP – Delivery Duty Paid
- DDU – Delivery Duty
Unpaid
- DAP – Delivered At Place
- DAT – Delivered At
Terminal
- DEQ – Delivered Ex Quay
(Duty Paid)
- DES – Delivered Ex Ship
- EXW – Ex Works
- FAS – Free Alongside Ship
- FCA – Free Carrier
- FOB – Free On Board
- DPU – Delivered at Place
Unloaded
OnDemandDeliveryURLRequest O A1 Request for ODD link URL for the
specified
Possible values;
- Y
- N (default)
GetRateEstimates O A1 This field is used to return the
TotalNet in the response message.
The default value for this field is N.
Please note that this may increase
response times.
Possible values;
- Y
- N (default)
The default is N.
ShipmentRequest/RequestedShipment/ShipmentInfo
Possible values:
Possible values;
- ECOM26_84_A4_001
- ECOM26_84_001
- ECOM_TC_A4
- ECOM26_A6_002
- ECOM26_84CI_001
- ECOM_A4_RU_002
- ECOM26_84CI_002
- ECOM26_84CI_003
- ECOM26_84_LBBX_001
ArchiveLabelTemplate O AN 25 Any valid DHL Express archive label
template
(please contact your DHL Express IT
representative for a list of labels) – If
this node is left blank then the default
DHL ecommerce label template will
be used.
Possible values;
- ARCH_8X4_A4_002
- ARCH_8X4
- ARCH_6X4
- ARCH_A4_RU_002
QRCodeTemplate O AN 25 QR Code template name
Possible value:
- QR_1_00_LL_PNG_001
(default)
QRCodeImageFormat O Enumerated QR Code image format
Possible value:
- PNG
Possible values:
- COMMERCIAL_INVOICE_04
This template can print the Shipper,
Recipient, Buyer and Importer
address details and is on portrait
orientation. (note: this template is
for exclusive use for preparing
Loose BBX shipment.)
- COMMERCIAL_INVOICE_L_10
This template can print the
“Shipper”, “Recipient”, “Seller”,
“Importer”, “Exporter” and “Buyer”
address details and is on landscape
orientation.
- COMMERCIAL_INVOICE_P_10
(default)
This template can print the
Shipper, Recipient and upto two
more additional address details,
as this template can print upto
four address details. This
template is on portrait
orientation. Note: If customer
provided more than four
address roles in the request
message and this template is
selected, the rendered invoice
will only contain four address
roles based on order of priority:
Shipper, Recipient, Seller,
Importer, Exporter, Buyer - and
a warning message will be
included in shipment response.
Payer role is not printed in any
customs invoice template.
- RET_COM_INVOICE_A4_01
This template can print the
Shipper, Recipient and Importer
of record address details and is
on landscape orientation. This
template is for exclusive use for
- SHIP_RECPT_A4_RU_002
Possible values:
Possible values:
Possible values:
Applicable for
ECOM26_84_LBBX_001 template
only.
Applicable for
ECOM26_84_LBBX_001 template
only.
ShipmentRequest/RequestedShipment/ShipmentInfo/Billing
ShipperAccountNumber M/O AN 12 The DHL account number used for the
shipment. Used as the shipper
account number. Please note if you
use this billing section then the above
<Account> tag is not needed.
<ShipperAccountNumber> is
mandatory then.
ShippingPaymentType M/O AN 1 Possible values:
- S (use ShipperAccountNumber
as payer)
- R (use BillingAccountNumber as
bill-to receiver account number)
T (use BillingAccountNumber as bill-
to third party account number) Please
note if you use value R or T in this tag
then the next tag
<BillingAccountNumber> is also
mandatory
BillingAccountNumber O AN 12 The DHL account number used for the
shipment, if ShippingPaymentType is
equal to R or T.
DutyAndTaxPayerAccountNumb O AN 12 The DHL account number used for
er duties and tax payments.
- CASH
ShipmentRequest/RequestedShipment/ShipmentInfo/DocumentImages
ShipmentRequest/RequestedShipment/ShipmentInfo/DocumentImages/DocumentImage
(1:1000)
DocumentImageType O Enumerated The type of document for the image
provided
Possible values;
- INV, Invoice
- PNV, Proforma
- COO, Certificate of Origin
- NAF, Nafta Certificate of Origin
- CIN, Commercial Invoice
- DCL, Custom Declaration
- AWB, Air Waybill and Waybill
Document
DocumentImage M The image of the document.
Base64 Binary
Maximum size: 2 MB
DocumentImageFormat O AN 5 Possible values;
- PDF
- PNG
- TIFF
- GIF
- JPEG
ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOptions
PrinterDPI O Enumerated Resolution for X-axis and Y-axis (in
DPI) for transport label and waybill
document output
Possible values:
- 200
- 300
HideAccountInWaybillDocumen O AN 1 Hide account number in waybill
t document.
Possible values;
- Y, account number will NOT be
printed on the label for both
FRT and DTP account field.
- N, account number will be
printed on the Waybill
Document (Default)
RequestWaybillDocument O AN 1 Possible values;
- Y, Waybill document will be
returned in shipment response.
- N, Waybill document will not be
returned in shipment response.
(Default)
NumberOfWaybillDocument O INT Number of copies of Waybill
Copies document printout to be generated
and returned in shipment response.
Min Value : 1 ; Max Value : 2
RequestDHLCustomsInvoice O AN 1 Possible values;
Possible values;
- COMMERCIAL_INVOICE
(default)
- PROFORMA_INVOICE
- RETURNS_INVOICE
LabelRegText O AN 150 Customer data that can be printed in
certain Transport Label template.
ECOM26_A6_002
ECOM_TC_A4
ECOM26_84CI_001
CustData O AN 250 Customer data that can be printed in
certain Transport Label templates.
ECOM26_84_A4_001
ECOM_TC_A4
ECOM26_84CI_001
RequestShipmentReceipt O AN 1 Possible values;
Possible values:
Possible values:
ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOptions/CustomerLogo
- RGB
- B&W, Black and White
Maximum size: 1 MB
LogoImageFormat M Enumerated Possible values;
- GIF
- JPEG
- JPG
- PNG
ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOptions/CustomerBarcode (0:1)
(CustomerBarcode is only applicable when LabelTemplate=‘ECOM26_84CI_002’)
BarcodeType O AN The customer barcode type
Possible values:
- 93 , Code 93
- 39 , Code 39
- 128, Code 128
BarcodeContent O AN Customer barcode code
TextBelowBarcode O AN Customer barcode text
ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOptions/DetachOptions
AllInOnePDF O AN 1 This field provide option to generate
a single
PDF file consists of Transport Label,
Waybill Document, Shipment Receipt
and Commercial Invoice.
Possible values:
Possible values:
Possible values:
Possible values:
Possible values:
ShipmentRequest/RequestedShipment/ShipmentInfo/ShipmentReferences
ShipmentRequest/RequestedShipment/ShipmentInfo/ShipmentReferences/ShipmentRefere
nce (1:999)
Possible values;
Possible values:
- CSH (cash)
- CRC (credit card)
- CHQ (cheque)
- DRD (direct debit)
- MOB (payment with mobile
phone)
ShipmentRequest/RequestedShipment/InternationalDetail
- DOCUMENTS
- NON_DOCUMENTS
ShipmentRequest/RequestedShipment/InternationalDetail/Commodities
The description of the content of the
Description M AN 70
shipment.
CustomsValue O 18.3 D The value which needs to be declared
for customs.
USFilingTypeValue O AN 20 The US filing Type Value for
shipments from the US
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration
ExporterCode O AN Exporter Code
Possible values:
PERMANENT
TEMPORARY
RETURN
USED_EXHIBITION_GOODS_TO_ORIG
IN
INTERCOMPANY_USE
COMMERCIAL_PURPOSE_OR_SALE
PERSONAL_BELONGINGS_OR_PERSO
NAL_USE
SAMPLE
GIFT
RETURN_TO_ORIGIN
WARRANTY_REPLACEMENT
DIPLOMATIC_GOODS
DEFENCE_MATERIAL
ExportReason O AN 30 Export Reason
Possible values:
- PERSONAL
- COMMERCIAL
PackageMarks O AN Package marks
PayerGSTVAT O AN Payer GST VAT details
RecipientReference O AN Recipient reference
TermsOfPayment O AN Terms of payment
Possible values:
- DOV, Invoice
- PFI, Pro-Forma
- PAS, Passport
Note:
Printed only when using Customs
Invoice template
COMMERCIAL_INVOICE_03,
COMMERCIAL_INVOICE_P_10 and
COMMERCIAL_INVOICE_L_10.
ChargeValue M 18.3 D Customs Invoice's Other Charges
maximum of 5 fields:
Possible values
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/InvoiceSignatu
reDetails
SignatureName O AN 35 Name of signatory
SignatureTitle O AN 35 Title of signatory
SignatureImage O Signature image in base64 format
Max of size is 1 MB
Base64 Binary
Valid format of image are: PNG, GIF,
JPEG, JPG.
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/InvoiceDeclar
ationTexts
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/InvoiceDeclar
ationTexts/InvoiceDeclarationText (1:3)
Additional Declaration text maximum
of 3.
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/CustomerData
TextEntries
(CustomerDataTextEntries is only applicable when
CustomsInvoiceTemplate=‘COMMERCIAL_INVOICE_04’)
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/CustomerData
TextEntries/CustomerDataTextEntry (1:6)
CustomerDataTextNumber M INT 1-6 Running sequence number of data
text
CustomerDataText M AN 45 Customer data text to be printed in
customs invoice
Possible values:
- ACL, Parent Shipment ID for BBX
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/ExportLineIte
ms/ExportLineItem (1:999)
CommodityCode O AN 18 Export Commodity code for the
shipment at item line level
ImportCommodityCode O AN 18 Import Commodity code for the
shipment at item line level
PERMANENT
TEMPORARY
RETURN
USED_EXIBITION_GOODS_TO_ORIGI
N
INTERCOMPANY_USE
COMMERCIAL_PURPOSE_OR_SALE
PERSONAL_BELONGINGS_OR_PERS
ONAL_USE
SAMPLE
GIFT
RETURN_TO_ORIGIN
WARRANTY_REPLACEMENT
DIPLOMATIC_GOODS
DEFENCE_MATERIAL
ItemNumber M Digit 1-999 Item sequence number e.g. 1, 2, 3 …
999
Quantity M INT 1 -
Quantity of the particular line item
1000000000
QuantityUnitOfMeasurement M Enumerated The quantity unit of measurement
- BOX Boxes
- 2GM Centigram
- 2M Centimeters
- 2M3 Cubic Centimeters
- 3M3 Cubic Feet
- M3 Cubic Meters
- DPR Dozen Pairs
- DOZ Dozen
- 2NO Each
- PCS Pieces
- GM Grams
- GRS Gross
- KG Kilograms
- L Liters
- M Meters
- 3GM Milligrams
- 3L Milliliters
- X No Unit Required
- NO Number
- 2KG Ounces
- PRS Pairs
- 2L Gallons
- 3KG Pounds
- CM2 Square Centimeters
- 2M2 Square Feet
- 3M2 Square Inches
- M2 Square Meters
- 4M2 Square Yards
- 3M Yards
- CM Centimeters
- CONE Cone
- CT Carat
- EA Each
- LBS Pounds
- RILL Rill
- ROLL Roll
- SET Set
- TU Time Unit
- YDS Yard
ItemDescription M AN 512 The description of the line item
Possible values;
- Y
- N
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/ExportLineIte
ms/ExportLineItem/AdditionalInformation
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/ExportLineIte
ms/ExportLineItem/ItemReferences/ItemReference (1:100)
Possible values:
- ALX, Model
- BRD, Brand
- MAK, Make
- OID, Order ID
- PAN, Part No
- USG, Usage
- MAT, Material
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/ExportLineIte
ms/ExportLineItem/CustomPaperworks
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/ExportLineIte
ms/ExportLineItem/CustomPaperworks/CustomPaperwork (1:50)
Possible values:
- DOV, Invoice
- PFI, Pro-Forma
- PAS, Passport
CustomsPaperworkID M AN 35
Line item customs paperwork ID
ShipmentRequest/RequestedShipment/InternationalDetail/ExportDeclaration/InvoiceIndicati
veCustomsValues
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Shipper/Contact
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Pickup/Contact
PersonName M AN 255 A contact name of a person who will
give the shipment.to the courier
CompanyName M AN 100 The company name the person is
working in.
PhoneNumber M AN 70 The contact person phone number. In
case of questions, this person can be
called by the courier.
EmailAddress O AN 70 The email address of the contact
person.
MobilePhoneNumber O AN 70 The mobile phone number of the
contact person.
ShipmentRequest/RequestedShipment/Ship/Pickup/Address
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/BookingRequestor/Contact
PersonName M AN 255 A contact name of a person who is
requesting the pickup.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Buyer/Contact
A contact name of a person who acts as
Buyer
Possible values:
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Recipient/Contact
PersonName M AN 255 A contact name of a person who will
ship the shipment.
When using
OnDemandDeliveryOptions (ODD),
recommended max length is 40
characters.
EmailAddress O AN 70 The email address of the contact
person.
When using
OnDemandDeliveryOptions (ODD),
recommended max length is 40
characters.
MobilePhoneNumber O AN 70 The mobile phone number of the
contact person.
When using
OnDemandDeliveryOptions (ODD),
recommended max length is 40
characters.
ShipmentRequest/RequestedShipment/Ship/Recipient/Address
StreetLines M AN 45 The street line should contain street
name and number of the shipper.
StreetName O AN 250 Recipient street name should be sent as
separate attribute if feasible.
BuildingName O AN 50 The Recipient building number
StreetNumber O AN 50 Recipient street number should be
sent as separate attribute, if feasible.
O Recipient additional address
StreetLines2 AN 45
information
StreetLines3 O AN 45 Recipient additional address
information
City M AN 45 Recipient city name
StateOrProvinceCode O AN 2 2 Letter state code for the USA only
PostalCode M AN 12 Recipient postal code
CountryCode M AN 2 ISO 2 character codes of the Receiver
country.
Suburb O AN 45 Recipient suburb
StateOrProvinceName O AN 35 Recipient State or Province Name
CountryName O AN 35 Recipient Country Name
ShipmentRequest/RequestedShipment/Ship/Recipient/RegistrationNumbers
ShipmentRequest/RequestedShipment/Ship/Recipient/RegistrationNumbers/RegistrationNu
mber (1:50)
Number M AN 35 Registration Number of the Recipient
NumberTypeCode M AN 3 Type of the registration number.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Exporter/Contact
PersonName M AN 255 A contact name of a person who acts as
Exporter
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Importer/Contact
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Seller/Contact
PersonName M AN 255 A contact name of a person who acts as
Seller
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/Payer/Contact
PersonName M AN 255 A contact name of a person who acts as
Payer
CompanyName M AN 100 The company name the Payer
PhoneNumber M AN 70 The contact person phone number
EmailAddress O AN 70 The email address of the contact
person.
MobilePhoneNumber O AN 70 The mobile phone number of the
contact person.
ShipmentRequest/RequestedShipment/Ship/Payer/Address
StreetLines M AN 45 The street line should contain street
name and number of the Payer.
StreetName O AN 250 Payer street name should be sent as
separate attribute if feasible.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
ShipmentRequest/RequestedShipment/Ship/UltimateConsignee/Contact
Possible values:
- PAS, Passport
- MID, Manufacturer ID
ShipmentRequest/RequestedShipment/Ship/UltimateConsignee/BankDetails/BankDetail
BankName O AN To be mapped in Customs Invoice -
Russia Bank Name field
O AN To be mapped in Customs Invoice -
BankSettlementAccountNum
Russia Bank Settlement Account
berInLocalCurrency
Number in RUR field
BankSettlementAccountNum O AN To be mapped in Customs Invoice -
berInForeignCurrency Russia Bank Settlement Account
Number in USD/EUR
ShipmentRequest/RequestedShipment/Packages (1:1)
ShipmentRequest/RequestedShipment/Packages/RequestedPackages (1:999)
@number M Integer Running number of the packages.
InsuredValue O 15.3 D Insurance values of the package.
Weight M 15.3 D The weight of the package.
UseOwnPieceIdentificationNumb O A1 Y = allows you to define your own
er PieceID in the tag below
Valid enumeration;
- 3BX
- 2BC
- 2BP
- CE1
- 7BX
- 6BX
- 4BX
- 2BX
- 1CE
- WB1
- WB3
- XPD
- 8BX
- 5BX
- WB6
- TBL
- TBS
- WB2
PieceIdentificationNumberDataI O AN 4 Piece Identification Number Data
dentifier Identifier
Possible Values:
ShipmentRequest/RequestedShipment/Packages/RequestedPackages/Dimensions
Length M 10.3 D Length of the piece listed.
Width M 10.3 D Width of the piece listed.
Possible values;
- eng, (Default)
- eng, British
- CH
- GB
- US
Each of the individual sections of ShipmentResponse is shown above in schema diagram, with
context, and a detailed description of each field follows in the Output Field List.
The Notification structure includes the result code and message, based on the results of the
processing. Successful messages will include a zero error code and no corresponding message, while
exceptions have both code and message.
The PackagesResult provides the DHL piece ID associated to each RequestedPackage from the
ShipmentRequest. In this case, the TrackingNumber is the Piece ID returned from the service. In
order to tie the RequestedPackages from the ShipmentRequest with the PackageResult in the
response, the @number attribute is used to referentially link the request and result packages.
The TrackingNumber field is the identifier for that specific piece of the shipment, of which there can
be many.
The QRCode field contains children elements ImageFormat and Image in which contains the QR code
image in base64 binary.
The Label Image section of the response provides the label format in the LabelImageFormat field (i.e.
PDF), as well as the base64 encoded label image in the GraphicImage field. The HTML Image is not
used.
The Documents section will return additional paperwork with its sub-element such as Customs
Invoice and Shipmet Receipt document. This section can return multiple documents in the response
message based on the customer input provided in the request message.
• DocumentFormat: The format of the document returned. This value will be base on
the customer input provided in the request message.
This field corresponds to the airbill number associated to this shipment. This is the primary tracking
identifier within DHL, and is the DHL primary reference field in calling application.
This field is the confirmation number generated by the creation of a pickup, if requested. This data
will need to be persisted if the web service consumer intends to utilize the DeleteShipment
functionality, as it is a required field.
This field will provide the On Demand Delivery (ODD) URL link.
The TotalNet section will show total shipping charges in three currencies, BILLC, PULCL, and BASEC.
There are 3 children element under this section.
• Charges: This element will breakdown the charges of the special services if customer
provides it in the request message.
The AdditionalInformation section is to return additional information in the create shipment response
message. MyDHL API will return this field when the request message have below input;
QDDF - is the fastest ("docs") transit time as quoted to the customer at booking or shipment
creation. When clearance or any other non-transport operational component is expected to impact
transit time, QDDF does not constitute DHL's service commitment .
The PickupDetails section will include fields related to pickup capabilities. This section will include
the origin service area’s cutoff time for pickup and the pickup window hours for the given shipment
date.
ShipmentResponse/PackagesResult/PackageResult (1:999)
e.g. PNG
Image M Base64 This field contains the actual
Binary QRCode image as Base64
binary.
ShipmentResponse/LabelImage (0:2000)
ShipmentResponse/Documents
ShipmentResponse/Documents/Document (0:999)
ShipmentResponse/TotalNet (0:3)
Possible values;
ShipmentResponse/TotalNet/Charges/Charge (1:99)
Possible values;
- QDDC, constitutes
DHL's service
commitment as
quoted at
booking/shipment
creation
- QDDF, is the fastest
("docs") transit time as
quoted to the
customer at booking
or shipment creation
ShipmentResponse/PickupDetails
CutOffTime O TIME This is the cutoff time for the
service offered in the
response. This represents the
latest time (local to origin)
which the shipment can be
tendered to the courier for
that service on that day.
Example: (e.g. 2019-06-
26T17:00:00)
CutoffTimeGMT O AN Pickup cut off time in GMT
HH:MM:SS
CutoffTimeOffset O AN Pickup cut off time GMT
Offset
PickupWindowEarliestTime O AN The DHL earliest time
possible for pickup
PickupWindowLatestTime O AN The DHL latest time possible
for pickup
TotalTransitDays O INTEGER The number of transit days
6. SHIPMENTDELETEREQUEST
Within the DeleteRequest, the ClientDetail is an optional node for reference use, and does not affect
functionality. The critical elements are the remaining nodes in the request.
The ServiceHeader element contains the header information about the request message such as
message time, message reference for tracking purpose on customer side.
The PickupDate is the day of the scheduled pickup, previously communicated as part of the
ShipmentTimestamp of the ShipmentRequest. For example, if the ShipmentTimestamp for the
successful shipment was “2010-11-30T12:30:47GMT+01:00”, then the PickupDate would be
“2010-11-30”.
The PickupCountry is the two character country code which was used in the original request.
The RequestorName is a required field, but is not validated against the original ShipmentRequest.
This value is not validated against the original request, and can be defaulted if necessary.
The Reason value is an optional field, and used to indicate the reason for the cancellation. The
possible values are included in the table below. Value of 7 (“Other”) used in the absence of
transmitted data.
Reason Value
007 Other
Mandatory
Value
ShipmentDeleteRequest fields /Optional constraints Comments
DeleteRequest
DeleteRequest/Request/ServiceHeader
e.g.
2010-11-24T00:17:20Z
2010-11-24T00:17:20+08:00
2010-11-24T00:17:20-07:00
MessageReference O AN 36 Shipper Reference Number which is
used for tracking by merchant. The
same transaction ID will be returned as
per request if it is provided.
WebstorePlatform O AN 20 Reserved for Third Party Vendor’s
identification
WebstorePlatformVersion O AN 15 Reserved for Third Party Vendor’s
identification
DeleteResponse
DeleteResponse/Response
DeleteResponse/Response/ServiceHeader
DeleteResponse/Notification (1:1000)
Please note, for the 3rd use case, there is a very small window of time between when the original
pickup request is processed and when the backend system creates the pickup (< 30 secs). During this
time, it may not be possible to delete the pickup request.
7. TRACKINGREQUEST
When presenting the results of the web service, note that the resulting piece and shipment events
should not be grouped separately. Depending on the type of event or DHL processing facility, only
piece or shipment data (or both piece and shipment) may be available. Merging the resulting Piece
and Shipment events will provide a consolidated view of the event history for the DHL Shipment.
The following diagram details the schema diagram for the TrackingRequest, as input. There are three
options available to track the shipment, which is AWBNumber, LPNumber and ShipmentReference
with ShipperAccountNumber.
The LanguageCode element helps to identify the language code and provide the shipment and piece
level translation of checkpoint descriptions based on language code provided by user.
The AWBNumber element must contain at least one element within the ArrayOfAWBNumberItem
node. The DHL Waybill element is defined at a maximum length of 11 characters; the standard DHL
Waybill used in shipping will typically be 10 digits. The AWBNumber element allows multiple DHL
Waybill numbers in a single request, as multiple Waybill requests are batched on the backend to
populate the response for multiple shipments.
The LPNumber element is used as input to track the shipment form the LPNumber provided in the
request message.
The ReferenceQuery element helps to query using the Shipper‘s Reference Number, Account Number
and Shipment Date. This element is not allowed to be use along with the DHL Waybill number and
License Plate Number. There are 3 children under this element;
• ShipmentReference – A mandatory element that have 2 children element; Value and Type that
will be used to retrieve the response with the Shipment Details and checkpoints associated with
the AccountNumber, ReferenceID and ReferenceType (if provided) in Request message.
• ShipmentDateRange – An optional element that helps to filter data based on the provided dates.
There are 2 children element; From and To.
The PiecesEnabled element contains an enumerated value for shipment and/or piece details and
events requested in the response. It is an optional element in the request, applies to all shipments in
the request and has the following values.
• B = Both Piece and Shipment Details (recommended value) • S = Shipment Details Only
• P = Piece Details Only.
- swe, Swedish
- chi, Chinese
- tha, Thai
- tur, Turkish
- twi,
- ukr, Ukrainian
- ice, Icelandic
LanguageScriptCode O AN 4 The script of the language code
LanguageCountryCode O AN 2 The country code of the language
LevelOfDetails M Enumerated Checkpoint Detail Indicator.
Possible values;
- LAST_CHECKPOINT_ONLY
- ALL_CHECKPOINTS
- SHIPMENT_DETAILS_ONLY
- ADVANCE_SHIPMENT
- BBX_CHILDREN
Possible values;
TrackingRequest/Request/ServiceHeader
e.g.
2010-11-24T00:17:20Z
2010-11-24T00:17:20-07:00
MessageReference M AN 32 Message reference, between 28-32
characters in length.
WebstorePlatform O AN 20 Reserved for Third Party Vendors
identification
WebstorePlatformVersio O AN 15 Reserved for Third Party Vendors
n identification
ShippingSystemPlatfor O AN 20 Reserved for Third Party Vendors
m identification
ShippingSystemPlatfor O AN 15 Reserved for Third Party Vendors
mVersion identification
PlugIn O AN 20 Reserved for Third Party Vendors
identification
PlugInVersion O AN 15 Reserved for Third Party Vendors
identification
TrackingRequest/ClientDetail
Possible value;
Please note that when testing the Tracking Web service, only the Waybill numbers below are loaded
and any production Waybill numbers or ones created via CreateShipment will not be trackable.
At a high level, the TrackingResponse contains a Response element and an AWBInfo element.
Within the AWBInfo element, each ArrayOfAWBInfoItem corresponds to the response for each DHL
Airbill submitted in the original request.
The remaining subsections of 7.4 will provide additional context to the structures immediately below
TrackingResponse, while the individual nodes are described in further detail in section 7.5.
The Response element contains the service header information for the message. This includes the
timestamp when the response generated to the consumer, as well as the unique message reference
generated by DHL.
The AWBInfo element is a complex element which maintains an array of airbill responses for each airbill
requested. The ArrayOfAWBInfoItem consists of five child elements
• AWBNumber
• TrackedBy
• Status
• ShipmentInfo
• Pieces
The AWBNumber returned in the response corresponds to the DHL Airbill Number in the Tracking
Request. For multiple shipment requests, this field is used to distinguish between the multiple
responses.
This is an optional element which gets populated in response message only when user performed
tracking query by License Plate Number. This is only applicable to track by Piece ID option only.
The Status element consists of a summary ActionStatus field, which describes the success of the
service. Expected values for this element are “Success” and “No Shipments Found”.
The optional Condition element consists of additional error information, and is only present in the
case of an exception. Appendix A contains specific information on the values of the ConditionCode
and ConditionData returned in the case of a Not Found exception.
The ShipmentInfo element is an optional element within the response, and will be populated for
successful invocations. This element describes the shipment details, as well as provide optional
ShipmentEvents. The ShipmentInfo element consists of the following child elements:
• OriginServiceArea – This complex element contains the Service Area code and Service Area
description for the origin of the shipment.
• DestinationServiceArea – This complex element contains the Service Area Code and Service
Area Description for the destination of the shipment.
• ShipperName – The name or title associated to the shipper.
• ShipperAccountNumber – The account number for shipping, currently not included for tracking
purposes.
• ConsigneeName – The name or title associated to the receiver.
• ShipmentDate – The date of the shipment initiation.
• Pieces – The number of pieces in the shipment.
• Weight – The weight of the shipment.
• WeightUnit – The unit of measure for shipment weight
• ServiceType – The global or network product code of the shipment.
• ShipmentDescription – The description of the shipment
• Shipper – The optional element which contains the shipper or origin city, division code, postal
code and country/region code of the shipment.
• Consignee – The optional element which contains the consignee or destination city, division
code, postal code and country/region code of the shipment.
The ShipmentEvent element is an optional complex element detailing the specific shipment events
for the entire shipment, and has a cardinality of zero to many. Each event will be detailed under the
element ArrayOfShipmentEventItem, and the events will appear in descending order by date/time.
The ArrayOfShipmentEventItem element consists of these child elements.
The EstimatedDeliveryDate is an optional element the populated the estimated delivery date (EDD).
The following diagram details the Pieces element of ArrayOfAWBInfoItem. The Pieces element is an
optional element which contains a single complex PieceInfo element. The PieceInfo element consists
of one to many ArrayOfPieceInfoItem elements.
Within the ArrayOfPieceInfoItem element, there are two complex child elements.
• PieceDetails – This element describes attributes of the specific piece, including piece id,
dimensions and weight.
• PieceEvent – This element contains one to many events at the piece level, including a description
of the event, the date/time of the event, and the location of the event. In this sense, it is identical
in structure to the ShipmentEvent element.
e.g 2011-01-12T18:41:12Z
MessageReference M AN 36 The unique message reference for this response.
LanguageCode O AN 3 These elements should populate only if provided
in Request message.
LanguageScriptCode O AN 4 These elements should populate only if provided
in Request message.
LanguageCountryCod O AN 2 These elements should populate only if provided
e in Request message.
ServiceInvocationID O Token This information will get populate in Response
Message for all Error and Success scenarios.
- ALL_CHECKPOINTS
- LAST_CHECKPOINT_ONLY
- SHIPMENT_DETAILS_ONLY
- BBX_CHILDREN
- ADVANCE_SHIPMENT
TrackingResponse/AWBInfo
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem (1:100)
AWBNumber M AN 11 Identifies the piece number as a counter, same as
input.
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/TrackedBy
LPNumber M AN 35 License Plate Number
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Status
ActionStatus M AN 20 The summary status of the request.
Values include;
“Success”
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo
ShipperName M AN 45 Shipper Name
ShipperAccountNumb O AN 12 Shipper’s Account Number
er
(currently not populated for tracking)
ConsigneeName M AN 45 Receiver’s Name
ShipmentDate M Date The shipment initiation date, local to origin
YYYY-MM-DD(T)HH:MM:SS+GMT
2010-11-09T14:30:00+01:00
Pieces O N6 Number of pieces in shipment
Weight O AN 15 Weight of shipment
Format 999999999999.999
WeightUnit O AN 1 L = Pounds
K = Kilogram
G = Grams
ServiceType O AN 4 The shipping product requested for this
shipment, corresponding to the DHL Global
Product codes.
ShipmentDescription O AN The description of the shipment
EstimatedDeliveryDat O Date Estimted delivery date (EDD)
e
YYYY-MM-DD(T)HH:MM:SS+GMT
2010-11-09T14:30:00+01:00
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/OriginServiceArea
ServiceAreaCode O AN 3 The DHL Service Area Code for the origin of the
Shipment
Description O AN 40 The description of the Service Area Code.
OutboundSortCode O AN 4 Outbound Sort Code of Origin
(currently not available)
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/DestinationServiceArea
ServiceAreaCode O AN 3 The DHL Service Area Code for the destination of
the Shipment
Description O AN 40 Description
FacilityCode O AN 3 The DHL Facility Code for the Destination
InboundSortCode O AN 4 Inbound Sort Code of Destination (currently not
available)
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/Shipper
City O AN 35 Shipper city name
IdentificationNumbers
ChildShipmentIdentifi M AN 11 The children AWB numbers of requested Mother
cationNumber AWB Number
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/ShipmentEvent
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/ShipmentEvent/
ArrayOfShipmentEventItem(1:100)
Date M Date Local Date of Shipment Event
YYYY-MM-DD
Time M Time Local Time of Shipment Event
Signatory O AN 20 The signee for the shipment, only occurs for final
disposition events (such as OK event)
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/ShipmentEvent/
ArrayOfShipmentEventItem/ServiceEvent
EventCode M AN 2 The event code for this specific event.
Description M AN 50 The description of the event
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/ShipmentEvent/
ArrayOfShipmentEventItem/EventRemarks
FurtherDetails M AN The further details describe from the event
description
NextSteps M AN Explained the next step for the shipment
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/ShipmentInfo/ShipmentEvent/
ArrayOfShipmentEventItem/ServiceArea
ArrayOfPieceInfoItem/PieceDetails
AWBNumber M AN 11 Airbill associated to the Piece (same as the parent
node airbill)
LicensePlate M AN 35 Piece ID associated to the Piece
PieceNumber O N6 Number of the Piece
ActualDepth O AN 10 Actual Depth of shipment
Format 9999999.999
ActualWidth O AN 10 Actual Width of shipment
Format 9999999.999
ActualHeight O AN 10 Actual Height of shipment
Format 9999999.999
ActualWeight O AN 15 Actual Weight of shipment
Format 999999999999.999
Depth O AN 10 Depth of shipment
Format 9999999.999
Width O AN 10 Width of shipment
Format 9999999.999
Height O AN 10 Height of shipment
Format 9999999.999
Weight O AN 15 Weight of shipment
Format 999999999999.999
PackageType O AN 3 Package Type of Shipment
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Pieces/PieceInfo/
ArrayOfPieceInfoItem/PieceEvent
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Pieces/PieceInfo/
ArrayOfPieceInfoItem/PieceEvent/ArrayOfPieceEventItem (1:100)
Date M Date Local Date of Piece Event
YYYY-MM-DD
Time M Time Local Time of Shipment Event
HH:MM:SS
Signatory O AN 20 The signee for the piece, only occurs for final
disposition events (such as OK event)
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Pieces/PieceInfo/ArrayOfPieceInfoItem/
PieceEvent/ArrayOfPieceEventItem/ServiceEvent
EventCode M AN 2 The event code for this specific event.
Description O AN 50 The description of the event
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Pieces/PieceInfo/ArrayOfPieceInfoItem/
PieceEvent/ArrayOfPieceEventItem/ServiceArea
ServiceAreaCode O AN 3 The DHL Service Area Code for the event
Description O AN 40 The description of the service area code.
TrackingResponse/AWBInfo/ArrayOfAWBInfoItem/Pieces/PieceInfo/ArrayOfPieceInfoItem/
PieceEvent/ArrayOfPieceEventItem/ShipperReference
ReferenceID O AN 35 Reference ID for shipment
ReferenceType O AN 2 Reference Type
TrackingResponse/Fault
TrackingResponse/Fault/PieceFault
TrackingResponse/Fault/PieceFault/ArrayOfPieceFaultItem (1:100)
PieceID M AN 35 License Plate Number
ConditionCode M AN Error code
ConditionData M AN Error Messsage
8. DOCUMENTRETRIEVE - EPOD
Using Waybill number as well as other shipment criteria, this operation returns the available ePOD
image including, if requested, the ePOD details.
Hdr
Bd
Shp
GenrcRq
Mandatory: Version of the DHL canonical format. This is a constant value that should be set to 1.038.
Correlation id can be used to link a message. It is optional and it is only used in the response.
Mandatory: The AppCd identifies the application sending the request to the backend system. In this
case, the value should be DCG.
Optional: The AppNm node contains the name of the sending application.
Optional: The CmptNm is the name of the component in the application that is sending the request.
Optional: Recipient identification. This section is only used in the response no need to use it in the
request.
Optional: Shipment pick-up datetime (Optional (part of Shipment Key)) The date and time when the
goods are collected from shipper. If not provided, the shipment with the most recent pickup date
matching the other search criteria is considered.
Account Number. This is optional if requesting a summary ePOD, however it is mandatory for each
Waybill number to declare the corresponding account number.
Optional: If the AccNo is provided this field also should be provided. Customer role type code: It is
optional for summary ePOD but mandatory for detail ePOD. This is the code that uniquely identifies a
customer role. Values are: PY=Payer RV=Receiver SP=Shipper
/Country code: this is optional for ePOD retrieval. The country code is a two-character code that
uniquely identifies a country. The code should be aligned to the ISO (ISO 3166-1-alpha-2 code
elements) standards or in certain circumstances created by DHL. Values are e.g. BE=Belgium
FR=France XC=Curacao (Not ISO - part of Netherlands Antilles).
Mandatory: Document type code: identifies uniquely a document type. In this case POD (electronic proof
of delivery)
The Img (Image) section contains only the Img (image) field. Image of the document. Please note
that this tag is only used in this service as the place where the ePOD image is returned. Not need to
send it in the request.
3. "DOC_RND_REQ" - Optional. Presentation format. If not provided the default is all documents in one
file.
4."EXT_REQ" - Optional. Specifies whether the request is done for DHL internal purpose or whether the
data is requested by a customer.
5. "DUPL_HANDL" - Optional . From a set of matching documents which have identical values in the
specified metadata fields, only one will be returned.
6. "SORT_BY" – Optional. Sort order within a group of matching documents for which only one will be
returned. The top most entry in the sort order will be returned.
3. DOC_RND_REQ. The possible values are: true if one output file for all shipments which is the default
or false one file for each shipment.
4. EXT_REQ. The possible values are: true (default) if the purpose is customer use or false if it is for
internal purpose.
7. Language codes are defined according to ISO 639-1 standard. Thus the 2-character code must be in
lower-case letters. e.g. en, de. If not provided en is the default.
./SDoc(1:M)
@DocTyCd M AN3 Document type code: identifies uniquely
a document type. Value = POD
(electronic proof of delivery)
./GenrcRq(0:M)
output types above will return ePOD with eSIG (if the eSIG
is available), else ePOD without eSIG will be returned.
Version of the DHL canonical format. This is a value backend returns based on the canonical format
version used. For example 1.038.
The AppCd identifies the application sending the response. In this case, the value is ESB.
The AppNm node contains the name of the responding application. The value is ESB.
The SCDtl section contains shipment customer detail. This is not returned.
Image mime type : Specifies MIME type of Image. In this case the value is application/pdf.
The DatTrErr is where any messages generated during the process of the request are returned.
Correlation Message identification (Referenced to ID). In this case a unique number is returned(e.g.:
72563197).
Sndr only returns fields AppNm and CmptNm with values “ESB” and “ESB”
8.4.26 Rp Output
This section returns information about the backend service operation that processed the request. The
below three attributes are returned.
Backend returns the name of the operation that processed the ePOD request. It will always be the value
“DocumentManagement.ShipmentDocumentRetrieveProvider”.
8.4.30 Rp Output:GId
General identification of the message. This is optional and might return two attributes: Id which is the
message identification value and IdTp, which is the identification type.
The error message general info (ErrMsgGI) returns attributes that provide information about
messages generated by backend. For this service only returns three attributes: Ty, Pri, and Sev. Only
those three attributes will be described below.
Severity: the perceived severity of the status the event is describing with respect to the application that
reports the event.
Transfer Error Message (TfErrMsg) returns any errors related to the transfer of the message.
This structure display the details of the error related to the transfer of the message. Usually Backend
returns only MsgClgd and Dsc.
This structure display the details of the error related to the message data. Usually backend returns only
MsgClgd and Dsc.
Backend returns error messages when mandatory fields are missing. The error message will be in the
section FldErr.
This structure returns FldXPth with the Xpath of the field that is missing, for example: <FldId
FldXPth="/ns:MSG/Bd/Shp/ShpInDoc/Sdoc@DocTyCd"/>
ErrMsgDtl returns the field Dsc with the description of the missing field, for example: <ErrMsgDtl
Dsc="DocTyCd is not set"/>
./ShpInDoc(1:M)
./SDoc(1:M)
@DocTyCd M AN 3 Document type code: Value returned: POD (electronic proof
of delivery)
./Img (0:M)
@Img O Base64Binary Base64 encoded image
./DatTrErr(0:M)
./OrgHdr(0:1)
@Id M AN 20 Unique identifier of the response. In this case the field is
returned with an empty value
@Ver M AN 7 Version schema format. Service returns null value in this
field.
@Dtm M DateTime Response creation date-time. Service returns null value in
this field.
./Sndr(0:1) The service does not return anything from this section
@AppCd M AN 5 This field is not returned.
@AppNm O AN 20 This field is not returned.
@CmptNm O AN 256 This field is not returned.
./Rp(0:1)
@AppCd M AN 5 The service returns a null value in this field.
@AppNm O AN 20 The service does not return this field.
@CmptNm O AN 256 The service returns value
“DocumentManagement.ShipmentDocu
mentRetrieveProvider”
./ErrMsgGI(0:1) Only 3 fields from this section sometimes are returned
@Ty O AN 20 Error message type identifier: e.g.:CF
@Pri O NUMBER Priority:e.g.:2
@Sev O NUMBER Severity: e.g.: 10
./TfErrMsg(0:M)
./ErrMsgDtl(0:1)
./ErrMsgDtl(0:1)
./FldErr(0:M)
./FldId(0:1)
@ FldXPth O AN 512 This structure returns FldXPth with the Xpath of the field
that is missing, for example: <FldId
FldXPth="/ns:MSG/Bd/Shp/ShpInDoc/Sd oc@DocTyCd"/>
./ErrMsgDtl(0:1)
@ Dsc O AN 128 ErrMsgDtl returns the field Dsc with the description of the
missing field, for example: <ErrMsgDtl Dsc="DocTyCd is
not set"/>
9. UPDATESHIPMENT
The updateShipment request also allows for upload and reupload of PLT images to a previously
created shipment. The PLT images for the shipment can be uploaded before the shipment has been
physically collected by DHL courier. However, the original shipment must contain WY as the special
service otherwise, an error will be returned when the customer wants to use the reupload function in
this updateShipment service.
As an output you will receive either the additional transport labels only or you can request all the
labels to be printed – this allows flexibility based on your operational processes when labelling the
parcels.
IMPORTANT: Please note that at least 10mins must be given between the initial createShipment
request and then the updateShipment request (including subsequent updateShipment request). This
is to ensure that the shipment data has propagated into the DHL Operations backend and that MyDHL
API retrieves the current number of pieces back to provide an operationally correct Transport Label.
In addition you can optionally define the label/archive template and label type in the request. To give
full operational flexibility you can decide whether you wish to print all labels including the previous
generated ones or only the new additional labels for the additional pieces that are being added.
• DocumentImageType – the type of document image uploaded, the default value for this field
is ‘INV’
If the DocumentImages section and the Packages section is both provided in the request message, an
error will be returned. This
The RequestWaybillDocument element provide option to the customer to print or not to print the
waybill document. The default value of this field is N, which is only print the waybill document for all
dutiable shipment. If the value is set to Y, MyDHL API will print for waybill document for all
shipments including non-dutiable and dutiable shipment.
DetachOption section is to provide the customer flexibility on the label files received in response. There
are 2 children element under this section.
• SplitLabelsByPieces – the default value is N, where piece labels will be in a single file. If the
value is set as Y, the transport label will be separated as one file per piece.
The Packages section details the contents of individual pieces (or discrete shipping containers) within
the shipment. The minimum number of packages or pieces in a shipment is one and the upper limit
is 99. If this Packages section and the DocumentImages section is both provided in the request
message, an error will be returned. Both of this field must be used separately.
The Weight and Dimensions fields represent the weight and dims of the individual pieces.
UpdateRequest/ClientDetail
UpdateRequest/Request/ServiceHeader
YYYY-MM-DD(T)hh:mm:ss-Time
Zone
MessageReference O AN 36 Message reference, between 28 to 36
characters in length.
WebstorePlatform O AN 20 Reserved for Third Party Vendors identification
WebstorePlatformVersion O AN 15 Reserved for Third Party Vendors identification
ShippingSystemPlatform O AN 20 Reserved for Third Party Vendors identification
ShippingSystemPlatformVer O AN 15
Reserved for Third Party Vendors identification
sion
PlugIn O AN 20 Reserved for Third Party Vendors identification
PlugInVersion O AN 15 Reserved for Third Party Vendors identification
UpdateRequest/UpdatedShipment
Example (2017-11-15)
UpdateRequest/UpdatedShipment/ShipmentInfo
- PDF
- ZPL - EPL
- LP2
LabelTemplate O AN 20 Any valid DHL Express label template (please
contact your DHL Express IT representative for a
list of labels) – If this node is left blank then the
default DHL ecommerce label template will be
used.
ArchiveLabelTemplate O AN 20 Any valid DHL Express archive label template
(please contact your DHL Express IT
representative for a list of labels) – If this node is
left blank then the default DHL ecommerce label
template will be used.
IncludePreviousPieceLabels O AN1 Y or 1= All previously
pieces/packages will be included when the label
image is returned
UpdateRequest/UpdatedShipment/ShipmentInfo/Billing
ShipperAccountNumber M AN 12 The DHL account number used for the shipment.
Used as the shipper account number. Please
note if you use this billing section then the above
<Account> tag is not needed.
<ShipperAccountNumber> is mandatory then.
Maximum size: 2 MB
DocumentImageFormat O AN 5 Possible values;
- PDF
- PNG
- TIFF
- GIF
- JPEG
UpdateRequest/UpdatedShipment/ShipmentInfo/LabelOptions
PrinterDPI O “200” , Resolution for X-axis and Y-axis (in DPI) for
“300” transport label and waybill document output
HideAccountInWaybillDocum O AN 1 Hide account number in waybill document.
ent Possible values :
- ‘Y’, account number will NOT be printed on the
label
- ‘N’, account number will be printed on the label
(Default)
RequestWaybillDocument O AN 1 Possible values :
- ‘Y’, waybill document will be returned in
shipment response
- ‘N’, waybill document will NOT be returned in
shipment response (Default)
NumberOfWaybillDocCopies O INT 2 Number of copies of Waybill document printout
to be generated and returned in shipment
response
UpdateRequest/UpdatedShipment/ShipmentInfo/LabelOptions/CustomerLogo
LogoImage M Base64 The customer logo image
LogoImageFormat Possible values;
Enumerate - PNG
M d - GIF
- JPEG
- JPG
Maximum size: 1 MB
UpdateRequest/UpdatedShipment/ShipmentInfo/LabelOptions/CustomerBarcode
(CustomerBarcode is only applicable when LabelTemplate=‘ECOM26_84CI_002’)
BarcodeType O N/A The customer barcode type. The first barcode
code type valid value is 93, 39 or 128.
BarcodeContent O AN Customer barcode code content
TextBelowBarcode M/O AN Customer barcode text below the barcode. This
field is mandatory if BarcodeType is provided.
UpdateRequest/UpdatedShipment/ShipmentInfo/LabelOptions/DetachOptions
Possible values;
Possible values;
PieceIdentificationNumber O AN35 You can request your own Piece ID range from
your DHL Express IT consultant and store these
locally in your integration however this is not
needed as if you leave this tag then DHL will
automatically assign the piece ID centrally.
If you wish to use this function then the above tag
UseOwnPieceIdentificationNumber needs to be
set as Y or 1
PackageContentDescription O AN70 This optional field allows you to provide the
content description on a piece level instead of
Shipment level.
CustomerReferences O AN 35 Customer Reference for the piece.
CustomerReferenceType O AN 3 Piece Reference Type
Valid enumeration;
- 3BX
- 2BC
- 2BP
- CE1 - 7BX - 6BX - 4BX - 2BX - 1CE
- WB1
- WB3
- XPD
- 8BX - 5BX
- WB6
- TBL
- TBS
- WB2
PieceIdentificationNumberDa O AN 4 Piece Identification Number Data Identifier
taIdentifier
Possible Values:
UpdateRequest/UpdatedShipment/Packages/RequestedPackages/Dimensions
Length M 10.3 D Length of the piece listed.
Each of the individual sections of ShipmentResponse is shown below in schema diagram, with context,
and a detailed description of each field follows in the Output Field List.
The ServiceHeader structure includes MessageReference which is taken from the request as well as
MessageTime showing when the request has been processed on DHL side. This is only available in
response when Request/ServiceHeader is present in request.
The Notification structure includes the result code and message, based on the results of the
processing. Successful messages will include a zero error code and no corresponding message, while
exceptions have both code and message.
The Warning structure includes the warning code and message, based on the results of the
processing. This structure doesn’t return at exceptions.
The PackagesResult provides the DHL piece ID associated to each RequestedPackage from the
ShipmentRequest. In this case, the TrackingNumber is the Piece ID returned from the service. In
order to tie the RequestedPackages from the ShipmentRequest with the PackageResult in the
response, the @number attribute is used to referentially link the request and result packages.
The TrackingNumber field is the identifier for that specific piece of the shipment, of which there can be
many.
The Label Image section of the response provides the label format in the LabelImageFormat field (i.e.
PDF), as well as the base64 encoded label image in the GraphicImage field. The HTML Image is not
used.
This field corresponds to the airbill number associated to this shipment. This is the primary tracking
identifier within DHL, and is the DHL primary reference field in calling application.
e.g 2011-01-12T18:41:12Z
MessageReference O AN 36 MessageReference as send from
request message
ServiceInvocationID M Format:
ServiceInvocationID =
MyDHLAPIProcessingStartDate
timeGMT_MyDHLAPINodeIdO
bfuscated_GuidV4
UpdateResponse/Notification (1:999)
@code O N6 Error > 0 or Success Code = 0
Message M AN Response Message, see Error codes for
more details
UpdateResponse/Warning (0:999)
10. REQUESTPICKUP
You can request Remote Booking via MyDHL API. When BookingRequestor section is provided and
Country Code is different to the Country Code specified under Shipper section then booking is marked
as “Remote” under CSV. If the BookingRequestor section exists but the Shipper Country Code and
Booking Requestor Country Code is the same, then error message will be send to the customer.
Each of the individual sections of RequestPickUp is shown below in schema diagram, with context, and
a detailed description of each field follows in the Input Field List.
The root of the RequestPickUp holds the shipment details, pickup time stamp, optional pickup location
close time, special pickup instructions, remarks, pickup location (i.e. front door, reception etc.) and
pickup location type. The mandatory elements ShipmentDetails, PickupTimestamp, Billing, and Ship
are required for requesting a pickup.
The ShipmentDetails section contains the ServiceType (Global Product Code ex. “P” for Express
Worldwide), LocalServiceType (Local Product Code), SpecialServices (Special Service Code ex. “II” for
Shipment Insurance), the UnitOfMeasurement (SI or SU), and Content (Documents/Non_Documents),
ShipmentIdentificationNumber (Waybill), NumberOfPieces, ShipmentWeight, DeclaredValue,
DeclaredValueCurrencyCode and Packages that is applicable to the pickup.
- ServiceType - The shipping product requested for this shipment, corresponding to the DHL
Global Product codes.
- LocalServiceType - DHL “local / country specific” Product Code used to ship the items.
Important when shipping domestic products – please consult your DHL Express IT consultant if
needed.
- Content - The Content field details whether a shipment is non-dutiable (value DOCUMENTS)
or dutiable (NON_DOCUMENTS). Depending on the nature of the contents of the shipment, is
customs duties are applicable, different products may be offered by the DHL web services.
- Packages – The Packages section details the contents of individual pieces (or discrete
shipping containers) within the shipment. The minimum number of packages or pieces in a
shipment is one and the upper limit is 999. The Weight and Dimensions fields represent the weight
and dimensions of the individual pieces. The CustomerReferences field is used as the Piece
Reference.
An error message will be thrown to customer if Packages is missing. At least one piece details is
required for booking request.
10.2.3.5 RequestPickUp Input: PickupShipment – Remarks – any remarks for pickup of the
shipment.
10.2.3.8 RequestPickUp Input: PickupShipment - Billing – this section contains the account number
information which is required to create a pickup.
- ShipperAccountNumber
o The DHL account number used for the shipment. Used as the shipper account number.
- ShippingPaymentType
o Possible values:
▪ S (use ShipperAccountNumber as payer)
▪ R (use BillingAccountNumber as bill-to receiver account number)
▪ T (use BillingAccountNumber as bill-to third party account number)
Please note if you use value R or T in this tag then the next tag <BillingAccountNumber> is also
mandatory.
- BillingAccountNumber
o The DHL account number used for the shipment, if ShippingPaymentType is equal to R or T.
An error message will be thrown when customer provided the <ShippingPaymentType> value as R or T
and <BillingAccountNumber> is not provided.
The Ship section outlines the Shipper, Pickup, Recipient and BookingRequestor addresses.
Shipper – Is the address of the individual/company that is shipping the parcel(s).
Pickup Address – is optional in case the pickup address is different to the shipper address
Booking Requestor – is optional in case the booking requestor is not the same the shipper
Recipient – Is the destination address where the shipment is to be delivered
For Remote Booking Requests, Booking Requestor and Recipient details are mandatory. An error
message will be thrown when Booking Requestor or Recipient details is missing for remote booking.
For Regular Booking Requests, Recipient details is optional.
Values or
requestPickup fields M/O Comments
Constraints
PickUpRequest
PickUpRequest/ClientDetail
Possible values:
PickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/SpecialServices (0:1)
PickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/SpecialServices/Service (1:99)
ServiceType M AN 6 Enter the DHL Express Service code you wish
to add – i.e. II for insurance
ServiceValue O 18.3 D Monetary value of service (currently only
applicable for Insurance)
CurrencyCode O AN 3 Currency code
PickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/Packages (1:1)
PickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/Packages/RequestedPackages
(1:99)
<BillingAccountNumber> is also
mandatory
BillingAccountNumber O AN 9
The DHL account number used for the
shipment, if
ShippingPaymentType is equal to R or T.
PickUpRequest/PickUpShipment/Ship (1:1)
PickUpRequest/PickUpShipment/Ship/Shipper (1:1)
PickUpRequest/PickUpShipment/Ship/Shipper/Contact (1:1)
PersonName M AN 255 A contact name of a person who will ship the
shipment.
Each of the individual sections of RequestPickUp Response is shown below in the schema diagram, with
context, and a detailed description of each field follows in the Output Field List.
The ServiceHeader structure includes the MessageTime which is the time the request was processed and
MessageReference which will have the same value as provided in Request Message. Customer can track
messages by this reference.
The Notification structure includes the result code and message, based on the results of the
processing. Successful messages will include a zero error code and no corresponding message, while
exceptions have both code and message.
The Warning structure includes the result code and message, based on the results of the processing.
This is for future use.
This field is the confirmation number generated by the creation of a pickup. This data will need to be
persisted if the web service consumer intends to utilize the UpdatePickup or DeleteShipment
functionality, as it is a required field.
PickUpResponse
PickUpResponse/ServiceHeader
PickUpResponse/Notification
11. UPDATEPICKUP
It is not possible to update a local pickup to remote and vice versa. An error message will be thrown
in this instance
Each of the individual sections of UpdatePickUp is shown below in the schema diagram, with context,
and a detailed description of each field.
pickup location type. The mandatory elements ShipmentDetails, PickupTimestamp, Billing, and Ship
are required for creating a request pickup.
The ShipmentDetails section contains the ServiceType (Global Product Code eg. “P” for Express
Worldwide), LocalServiceType (Local Product Code), SpecialServices (Special Service Code eg. “II” for
Shipment Insurance), the UnitOfMeasurement (SI or SU), and Content (Documents/Non_Documents),
ShipmentIdentificationNumber (Waybill), NumberOfPieces, ShipmentWeight, DeclaredValue,
DeclaredValueCurrencyCode and Packages that is applicable to the pickup.
- ServiceType - The shipping product requested for this shipment, corresponding to the DHL
Global Product codes.
- LocalServiceType - DHL “local / country specific” Product Code used to ship the items.
Important when shipping domestic products – please consult your DHL Express IT consultant if
needed.
- Content - The Content field details whether a shipment is non-dutiable (value DOCUMENTS)
or dutiable (NON_DOCUMENTS). Depending on the nature of the contents of the shipment, is
customs duties are applicable, different products may be offered by the DHL web services.
- Packages – The Packages section details the contents of individual pieces (or discrete
shipping containers) within the shipment. The minimum number of packages or pieces in a
shipment is one and the upper limit is 999. The Weight and Dimensions fields represent the weight
and dimensions of the individual pieces. The CustomerReferences field is used as the Piece
Reference.
An error message will be thrown to customer if Packages is missing. At least one piece details is
required for booking request.
11.2.6.5 RequestPickUp Input: PickupShipment – Remarks – any remarks for pickup of the
shipment.
11.2.6.8 RequestPickUp Input: PickupShipment - Billing – the Billing structure converys the Shipper
Account Number (Similar like ShipmentRequest and RateRequest). Receiver or third party account number
as payer can be used if required.
- ShipperAccountNumber
o The DHL account number used for the shipment. Used as the shipper account number.
- ShippingPaymentType
o Possible values:
▪ S (use ShipperAccountNumber as payer)
▪ R (use BillingAccountNumber as bill-to receiver account number)
▪ T (use BillingAccountNumber as bill-to third party account number)
Please note if you use value R or T in this tag then the next tag
<BillingAccountNumber> is also mandatory.
- BillingAccountNumber
o The DHL account number used for the shipment, if ShippingPaymentType is equal to R or
T.
An error message will be thrown when customer provided the <ShippingPaymentType> value as R or T
and <BillingAccountNumber> is not provided.
The Ship section outlines the Shipper, Pickup, Recipient and BookingRequestor addresses.
Shipper – Is the address of the individual/company that is shipping the parcels
Pickup Address – is optional in case the pickup address is different to the shipper address
Booking Requestor – is optional in case the booking requestor is not the same the shipper
Recipient – Is the destination address where the shipment is to be delivered
For Remote Booking Requests, Booking Requestor and Recipient details are mandatory. An error
message will be thrown when Booking Requestor and Recipient details is missing for remote booking.
For Regular Booking Requests, Recipient details is optional.
M/ Values or
UpdatePickUp fields Comments
O Constraints
UpdatePickUpRequest
UpdatePickUpRequest/ClientDetail
UpdatePickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/SpecialServices (0:1)
UpdatePickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/SpecialServices/Service
(1:99)
ServiceType M AN 6 Enter the DHL Express Service code you wish
to add – i.e. II for insurance
ServiceValue O 18.3 D Monetary value of service (currently only
applicable for Insurance)
CurrencyCode O AN 3 Currency code
UpdatePickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/Packages/RequestedPa
ckages
@number M Integer Running number of the packages.
Weight M 15.3 D The weight of the package.
UpdatePickUpRequest/PickUpShipment/ShipmentDetails/ShipmentDetail/Packages/RequestedPa
ckages /Dimensions
Length M 10.3 D Length of the piece listed.
Width M 10.3 D Width of the piece listed.
Height M 10.3 D Height of the piece listed.
UpdatePickUpRequest/PickUpShipment/SpecialPickupInstructions
UpdatePickUpRequest/PickUpShipment/SpecialPickupInstructions/SpecialPickupInstruction
Instruction M AN 80 Any special instructions user wish to send to
the courier for the order pick-up
InstructionTypeCode O AN 3 This element is reserved for future use only
UpdatePickUpRequest/PickUpShipment/Billing
ShipperAccountNumber M AN 9 The DHL account number used for the
shipment. Used as the shipper account
number.
UpdatePickUpRequest/PickUpShipment/Ship/Shipper (1:1)
UpdatePickUpRequest/PickUpShipment/Ship/Shipper/Contact (1:1)
PersonName M AN 255 A contact name of a person who will ship
the shipment.
CompanyName M AN 100 The company name the person is working
in.
PhoneNumber M AN 70 The contact person phone number. In case
of questions, this person can be called by
the courier.
EmailAddress O AN 70 The email address of the contact person.
MobilePhoneNumber O AN 70 The mobile phone number of the contact
person.
UpdatePickUpRequest/PickUpShipment/Ship/Shipper/Address (1:1)
Each of the individual sections of UpdatePickUp Response is shown below in the schema diagram, with
context, and a detailed description of each field follows in the Output Field List.
The Response structure includes the ServiceHeader which has MessageTime and MessageReference.
MessageTime which is the time the request was processed and MessageReference which will have the
same value as provided in Request Message. Customer can track messages by this reference.
The Notification structure includes the result code and message, based on the results of the
processing. Successful messages will include a zero error code and no corresponding message, while
exceptions have both code and message.
The Warning structure includes the result code and message, based on the results of the processing.
This is for future use.
This field is the confirmation number generated by the creation of a pickup, if requested. This data
will need to be persisted if the web service consumer intends to utilize the UpdatePickup or
DeleteShipment functionality, as it is a required field.
UpdatePickUpResponse
UpdatePickUpResponse/ServiceHeader
UpdatePickUpResponse/Notification
12. ADDRESSVALIDATE
There are two modes of address validation that can be performed – 1) StrictValidation is Y, or 2)
StrictValidation is N.
- StrictValidation = Y the service will return a success result only when an exact match is found
with the input city, postal code, country
- StrictValidation = N the service will return success results even when partial match is found
with the input city, postal code, country
Each of the individual sections of AddressValidate request is shown below in schema diagram, with
context, and a detailed description of each field follows in the Input Field List.
Optional section to populate information used to identify customer request for troubleshooting or
tracking. DHL Express recommends that this information is provided.
AddressValidateRequest
AddressValidateRequest /ClientDetail
AddressValidateRequest/Request
AddressValidateRequest/Request/ServiceHeader
YYYY-MM-DD(T)hh:mm:ssZ
e.g 2020-01-12T08:41:12Z
AddressValidateRequest/AddressValidate
AddressType M Enumerated
Indicator whether the address in
the input data is an origin address
or destination address
returned, the service area code, and the geographical information of the address. All successful
AddressValidate responses will conform to this schema.
Each of the individual sections of AddressValidate response is represented below in schema diagram,
with context, and a detailed description of each field follows in the Output Field List.
The ServiceHeader structure includes MessageReference which is taken from the request message as
well as MessageTime showing when the request has been processed on DHL side.
The Notification structure includes the result code and message, based on the results of the processing.
Successful messages will include a zero error code and no corresponding message, while exceptions
will be noted with both code and message.
Successful response message may include one to many Address records, depending on the number of
matching results found. An Address record may return empty PostalCode or no Suburb depending on
geographical detail of the country.
AddressValidateResponse
AddressValidateResponse/Response
AddressValidateResponse/Response/ServiceHeader
Format:
MessageTime M TIMESTAMP YYYY-MM-DD(T)hh:mm:ss
e.g 2020-01-12T18:41:12
MessageReference as sent from
MessageReference O AN 36
request message
DHL internal Service invocation
ServiceInvocationID M
ID to expedite support
AddressValidateResponse/Notification
13. REQUESTIDENTIFIER
Each of the individual sections of RequestIdentifier request is shown below in schema diagram, with
context, and a detailed description of each field follows in the Input Field List.
SID – Shipment ID
PID – Piece ID
IdentifierRequest
IdentifierRequest/ClientDetail
IdentifierRequest/Request
IdentifierRequest/Request/ServiceHeader
YYYY-MM-DD(T)hh:mm:ssZ
e.g 2020-01-12T08:41:12Z
IdentifierRequest/Requestor
IdentifierRequest/Identifiers/Identifier (1:999)
SID – Shipment ID
PID – Piece ID
The following diagram shows an overview of the RequestIdentifier response structure. The critical
information to derive from this response are the notification codes for the response and the range of
identifiers together with their identifier type code. All successful RequestIdentifier responses will
conform to this schema.
Each of the individual sections of RequestIdentifier response is represented below in schema diagram,
with context, and a detailed description of each field follows in the Output Field List.
The ServiceHeader structure includes MessageReference which is taken from the request message as
well as MessageTime showing when the request has been processed on DHL side.
The Notification structure includes the result code and message, based on the results of the processing.
Successful messages will include a zero error code and no corresponding message, while exceptions
will be noted with both code and message.
IdentifierResponse
IdentifierResponse/Response
IdentifierResponse/Response/ServiceHeader
Format:
MessageTime M TIMESTAMP YYYY-MM-DD(T)hh:mm:ss
e.g 2020-01-12T18:41:12
MessageReference as sent from
MessageReference O AN 36
request message
DHL internal service invocation ID to
ServiceInvocationID M
expedite support
IdentifierResponse/Notification
SID – Shipment ID
PID – Piece ID
IdentifierResponse/Identifiers/Identifier/IdentifierNumbers
IdentifierNumber M AN 35 Unique value identifier number
14. UPLOADINVOICEDATA
Important Note: UploadInvoiceData service is not enabled by default and must be requested per
customer. Use of this service is only enabled on exceptional basis and DHL Express recommends to
submit shipment requests together with a commercial invoice data. To enable use of
UploadInvoiceData service, please contact your DHL Express IT representative.
To use UploadInvoiceData service, it is required that ‘PM’ service code is provided in MyDHL API Create
Shipment request. ‘PM’ service code is not enabled by default for the customers, and needs to be
enabled upon request.
When Shipment is created via MyDHL API Create Shipment service before uploading the Commercial
Invoice (CIN) data, it is mandatory to provide the Shipment Identification Number as received in MyDHL
API Create Shipment service Response.
When Commercial Invoice (CIN) data is uploaded prior to creating a shipment via MyDHL API Create
Shipment service, it is mandatory to provide Invoice Reference Number with Invoice Reference Type
value “CU” and Shipper Account Number. These elements are mandatory to facilitate an effective data
merge of the Commercial Invoice (CIN) data with Shipment Data.
As an output customer will receive Notification element value “0” on successful upload of Commercial
Invoice (CIN) data. DHL backend application performs the subsequent data merging process of the
Shipment Data and Commercial Invoice data.
Further consideration points on merging the Shipment Data and Commercial Invoice Data:
1. Shipper and Receiver name and address details are to be taken from Shipment Data, not
Commercial Invoice Data. Other roles in Shipment Data such as Buyer, Seller, Importer, Exporter
and UltimateConsignee will be overwritten by value in Commercial Invoice Data, if provided.
2. Any ExportDeclaration data provided within the Shipment Data will be overwritten by Commercial
Invoice Data.
3. Ensure that Weight and Dimension unit of measurement is consistent between Shipment Data and
Commercial Invoice Data. If ‘kg’ is used as the piece’s weight uom, therefore ‘kg’ must be used as
well as the Commercial Invoice line item weight uom.
4. Shipment’s Total Declared Value will be re-calculated at the backend application based on
Commercial Invoice Data sum of all line item amount and any accessorial charges provided. Thus,
Currency code provided in Commercial Invoice Data will overwrite Currency code in Shipment Data.
6. Once data merge process has taken place at the backend application, subsequent Commercial
Invoice Data submitted will no longer be considered for merging.
7. DHL backend application keeps Shipment Data and Commercial Invoice Data that are pending data
merge for a period of 30 days. Data older than 30 days are deleted.
Each of the individual sections of UploadInvoiceData request is shown below in schema diagram, with
context, and a detailed description of each field follows in the Input Field List.
Optional section to populate information used to identify customer request for troubleshooting or
tracking. DHL Express recommends that this information is provided.
The ShipmentInfo section provides general shipment detail, pertaining to operational and billing
features. The Billing, Output Image Options substructures are detailed in below sections.
This field is optional which corresponds to the waybill number associated to this shipment.
UploadInvoiceData service will perform validation only when this field is provided to merge the
Commercial Invoice (CIN) data with respective Shipment Data.
Note: Please ensure to provide the correct waybill number for which you wish to merge the Commercial
Invoice (CIN) data with Shipment Data.
This field is optional which corresponds to planned shipping date or the shipping date indicated in the
shipment request.
This field is optional which corresponds to the Billing structure which conveys the Shipper Account
Number (Similar like ShipmentRequest) and receiver or third party account number as payer can be used
if required.
- ShipperAccountNumber
o The DHL account number used for the shipment. Used as the shipper account number.
- BillingAccountNumber
o Optional field which conveys the DHL account number used for the shipment.
Note: Please ensure to provide the same account details which were used to create the shipment for
successful merging of Commercial Invoice data with Shipment Data.
This field is optional which corresponds to the Output image options that available for commercial invoice
printing.
- RequestDHLCustomsInvoice
o This flag is used to generate Customs Invoice using a DHL Express invoice template. The
default is N, customers using their own invoice and DHL Express will not generate the
invoice. If the flag is set to Y, and CustomsInvoiceTemplate is not provided, the Customs
Invoice is generated using the “COMMERCIAL_INVOICE_P_10” template.
Possible Values: Y (Yes) and N (No)
- CustomsInvoiceTemplate
o The CustomsInvoiceTemplate node conveys the Customs Invoice template used in the
operation. It is an optional field. This single value corresponds to the Customs Invoice
template used to generate Customs Invoice only when the RequestDHLCustomsInvoice=
Y. The default template is 'COMMERCIAL_INVOICE_P_10'.
o There are several template options to choose from. Below are the possible template
values and their description:
COMMERCIAL_INVOICE_04
This template can print the Shipper, Recipient, and Buyer and Importer address details and
is on portrait orientation. This template is for exclusive use for preparing Loose BBX
(LBBX) shipment.
COMMERCIAL_INVOICE_L_10
This template can print the Shipper, Recipient, Seller, Buyer, Importer and Exporter
address details and is on landscape orientation.
COMMERCIAL_INVOICE_P_10 (default)
This template can print the Shipper, Recipient and upto two more additional address
details, as this template can print upto four address details. This template is on portrait
orientation. Note: If customer provided more than four address roles in the request
message and this template is selected, the rendered invoice will only contain four
address roles based on order of priority: Shipper, Recipient, Seller, Importer, Exporter,
Buyer.
This field is mandatory which details the potential terms of trade for this specific shipment, and the
schema itself defines the possible enumerated values for this field.
This field is optional which corresponds the reason code for exporting and the schema itself defines the
possible enumerated values for this field.
This field is optional which contains the name of port of departure, shipment or destination, as required
under the applicable delivery term.
When using Customs Invoice template COMMERCIAL_INVOICE_P_10 and COMMERCIAL_INVOICE_L_10,
recommended max length is 25 characters.
This field is optional which indicates if the shipment was sent for Personal or Commercial reasons and
the schema itself defines the possible enumerated values for this field.
This field is mandatory which describes the purpose of document details captured and are planned to be
used.
Possible values:
- IMPORT
- EXPORT
- BOTH
CustomsDocuments will contain child node CustomsDocument and used to indicate the document type
code and document ID that corresponds to one ore more associated document(s) for customs declaration
purposes.
OtherCharges will contain repeating child node OtherCharge. This section can be used to input any
other monetary charges associated with the shipment such as Freight, Insurance, and Fuel Surchage etc.
ChargeValue is mandatory element and are included in calculation of Shipment Total Declared Amount.
ChargeType is mandatory element together with ChargeValue and provides more detail as to categorize
the charge being provided. Refer to below tables for list of charge type codes and descriptions.
For printing charges in commercial invoice, refer to Appendix: Commercial Invoice Template Guide on
what ChargeType codes can be printed across different Commercial Invoice templates.
Remarks will contain repeating child node Remark of up to max 3 occurences. This element will be
printed to the commercial invoice PDF.
Optional field to indicate the type code of Exporter’s ID number provided in ExporterID tag – e.g. DUN,
SSN, and EIN.
InvoiceReferences section contains child node InvoiceReference that can be repeated up to max 100
occurences. Data provided in this section is passed on to the manifest data.
Note: For UploadInvoice Data request without a ShipmentIdentification Number and having multiple
invoices, InvoiceReferenceType with value “CU” must be in each ExportDeclaration instance, so that all
ExportDeclaration instance will be included in merged data.
ExportLineItems contains a child node ExportLineItem which can repeat up to 999 occurences. This
section is used to provide details of invididual items to be listed in the commercial invoice.
ItemReferences section contains child node ItemReference that can be repeated up to max 100
occurences. Data provided in this section is passed on to the manifest data. First five ItemReference in
request message can be printed in templates COMMERCIAL_INVOICE_P_10 and
COMMERCIAL_INVOICE_L_10.
CustomsPaperworks will contain child node CustomsPaperwork and used to indicate the document type
code and document ID that corresponds to one ore more associated document(s) for customs declaration
purposes.
The Ship section outlines the Seller, Buyer, Importer, Exporter and UltimateConsignee for the specific
UploadInvoiceData request. Please note that all the roles’ structures are identical.
The subsequent data merge process takes the Seller, Buyer, Exporter, Importer and UltimateConsignee
details provided in UploadInvoiceData request and ignores any Seller, Buyer, Exporter, Importer and
UltimateConsignee information provided in CreateShipment request.
14.2.4.4 RegistrationNumbers
This is applicable for Seller, Buyer, Exporter, Importer and UltimateConsignee segments.
For printing registration numbers in commercial invoice, refer to Appendix: Commercial Invoice
Template Guide on what NumberTypeCode values can be printed across different Commercial Invoice
templates.
UploadInvoiceDataRequest
UploadInvoiceDataRequest/ClientDetail
UploadInvoiceDataRequest/Request
UploadInvoiceDataRequest/Request/ServiceHeader
YYYY-MM-DD(T)hh:mm:ssZ
e.g 2020-01-12T08:41:12Z
WebstorePlatform O AN 20
Reserved for Third Party Vendors identification
WebstorePlatformVersion O AN 15
Reserved for Third Party Vendors identification
ShippingSystemPlatform O AN 20
Reserved for Third Party Vendors identification
ShippingSystemPlatformVersio O AN 15
n Reserved for Third Party Vendors identification
PlugIn O AN 20
Reserved for Third Party Vendors identification
PlugInVersion O AN 15
Reserved for Third Party Vendors identification
UploadInvoiceDataRequest/InvoiceData
UploadInvoiceDataRequest/InvoiceData/ShipmentInfo
UploadInvoiceDataRequest/InvoiceData/ShipmentInfo/Billing
UploadInvoiceDataRequest/InvoiceData/ShipmentInfo/OutputImageOptions
Possible values:
- COMMERCIAL_INVOICE_04
This template can print the Shipper,
Recipient, and Buyer and Importer address
details and is on portrait orientation. (Note:
this template is for exclusive use for
preparing Loose BBX shipment.)
- COMMERCIAL_INVOICE_L_10
This template can print the Shipper,
Recipient, Buyer, and Importer and Exporter
address details and is on landscape
orientation.
- COMMERCIAL_INVOICE_P_10 (default)
This template can print the Shipper,
Recipient and upto two more additional
address details. This template is on portrait
orientation. Note: If customer provided
more than four address roles in the request
message and this template is selected, the
rendered invoice will only contain four
address roles based on order of priority:
Shipper, Recipient, Seller, Importer, Exporter,
Buyer.
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations (1:1)
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration (1:20)
Possible values:
PERMANENT
TEMPORARY
RETURN
USED_EXHIBITION_GOODS_TO_ORIGIN
INTERCOMPANY_USE
COMMERCIAL_PURPOSE_OR_SALE
PERSONAL_BELONGINGS_OR_PERSONAL_USE
SAMPLE
GIFT
RETURN_TO_ORIGIN
WARRANTY_REPLACEMENT
DIPLOMATIC_GOODS
DEFENCE_MATERIAL
Possible values:
- PERSONAL
- COMMERCIAL
Possible values:
- IMPORT
- EXPORT
- BOTH
ExporterCode O AN Exporter Code
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/CustomsDocument
s (0:1)
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/CustomsDocument
s/CustomsDocument (1:50)
CustomsDocumentType M AN 3 Export declaration customs document type code
Possible values :
- DOV, Invoice
- PFI, Pro-Forma
- PAS, Passport
Possible values
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/InvoiceReferences
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/InvoiceReferences
/InvoiceReference (1:100)
InvoiceReferenceType M AN 3 Export declaration level reference type code
Possible values:
- ACL, Parent Shipment ID for BBX
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineItems
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineIte
ms/ExportLineItem (1:999)
ItemNumber M Digit 1- Item sequence number e.g. 1, 2, 3 … 999
999
ItemDescription M AN 512 The description of the line item.
- BOX Boxes
- 2GM Centigram
- 2M Centimeters
- 2M3 Cubic Centimeters
- 3M3 Cubic Feet
- M3 Cubic Meters
- DPR Dozen Pairs
- DOZ Dozen
- 2NO Each
- PCS Pieces
- GM Grams
- GRS Gross
- KG Kilograms
- L Liters
- M Meters
- 3GM Milligrams
- 3L Milliliters
- X No Unit Required
- NO Number
- 2KG Ounces
- PRS Pairs
- 2L Gallons
- 3KG Pounds
- CM2 Square Centimeters
- 2M2 Square Feet
- 3M2 Square Inches
- M2 Square Meters
- 4M2 Square Yards
- 3M Yards
- CM Centimeters
- CONE Cone
- CT Carat
- EA Each
- LBS Pounds
- RILL Rill
- ROLL Roll
- SET Set
- TU Time Unit
- YDS Yard
UnitPrice M D 18.3 Monetary value of each line item
PERMANENT
TEMPORARY
RETURN
USED_EXIBITION_GOODS_TO_ORIGIN
INTERCOMPANY_USE
COMMERCIAL_PURPOSE_OR_SALE
PERSONAL_BELONGINGS_OR_PERSONAL_USE
SAMPLE
GIFT
RETURN_TO_ORIGIN
WARRANTY_REPLACEMENT
DIPLOMATIC_GOODS
DEFENCE_MATERIAL
TaxesPaid O Enumerated TaxesPaid if set to N. The default is N
Possible values;
- Y
- N
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineIte
ms/ExportLineItem/ItemReferences
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineIte
ms/ExportLineItem/ItemReferences/ItemReference (1:100)
Possible values:
- ALX, Model
- BRD, Brand
- MAK, Make
- OID, Order ID
- PAN, Part No
- USG, Usage
- MAT, Material
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineIte
ms/ExportLineItem/CustomPaperworks
UploadInvoiceDataRequest/InvoiceData/ExportDeclarations/ExportDeclaration/ExportLineIte
ms/ExportLineItem/CustomPaperworks/CustomPaperwork (1:50)
Possible values:
- DOV, Invoice
- PFI, Pro-Forma
- PAS, Passport
CustomsPaperworkID M AN 35
Line item customs paperwork ID
UploadInvoiceDataRequest/InvoiceData/Ship
UploadInvoiceDataRequest/InvoiceData/Ship/Seller
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
UploadInvoiceDataRequest/InvoiceData/Ship/Seller/Contact
UploadInvoiceDataRequest/InvoiceData/Ship/Seller/Address
UploadInvoiceDataRequest/InvoiceData/Ship/Seller/RegistrationNumbers
UploadInvoiceDataRequest/InvoiceData/Ship/Seller/RegistrationNumbers/RegistrationNumber
(1:10)
Number M AN 35 Registration Number of the Seller.
NumberTypeCode M AN 3 Type of the registration number.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
UploadInvoiceDataRequest/InvoiceData/Ship/Buyer/Contact
UploadInvoiceDataRequest/InvoiceData/Ship/Buyer/Address
StreetLines M AN 45 The street line should contain street name and
number of the Buyer.
StreetName O AN 250 Buyer street name should be sent as separate
attribute if feasible.
UploadInvoiceDataRequest/InvoiceData/Ship/Buyer/RegistrationNumbers
UploadInvoiceDataRequest/InvoiceData/Ship/Buyer/RegistrationNumbers/RegistrationNumber
(1:10)
Number M AN 35 Registration Number of the Buyer.
NumberTypeCode M AN 3 Type of the registration number.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
UploadInvoiceDataRequest/InvoiceData/Ship/Exporter/Contact
UploadInvoiceDataRequest/InvoiceData/Ship/Exporter/Address
StreetLines M AN 45 The street line should contain street name and
number of the Exporter.
StreetName O AN 250 Exporter street name should be sent as separate
attribute if feasible.
BuildingName O AN 50 The Exporter building name
UploadInvoiceDataRequest/InvoiceData/Ship/Exporter/RegistrationNumbers
UploadInvoiceDataRequest/InvoiceData/Ship/Exporter/RegistrationNumbers/RegistrationNumber
(1:10)
Number M AN 35 Registration Number of the Exporter.
NumberTypeCode M AN 3 Type of the registration number.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
UploadInvoiceDataRequest/InvoiceData/Ship/Importer/Contact
UploadInvoiceDataRequest/InvoiceData/Ship/Importer/Address
StreetLines M AN 45 The street line should contain street name and
number of the Importer.
StreetName O AN 250 Importer street name should be sent as separate
attribute if feasible.
BuildingName O AN 50 The Importer building name
UploadInvoiceDataRequest/InvoiceData/Ship/Importer/RegistrationNumbers
UploadInvoiceDataRequest/InvoiceData/Ship/Importer/RegistrationNumbers/RegistrationNumber
(1:10)
Number M AN 35 Registration Number of the Importer.
NumberTypeCode M AN 3 Type of the registration number.
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Possible values:
- BU (business)
- DC (direct consumer)
- GV (government)
- OT (other)
- PR (private)
- RE (reseller)
UploadInvoiceDataRequest/InvoiceData/Ship/UltimateConsignee/Contact
A contact name of a person who acts as Ultimate
PersonName M AN 255
Consignee
UploadInvoiceDataRequest/InvoiceData/Ship/UltimateConsignee/Address
StreetLines M AN 45 The street line should contain street name and
number of the UltimateConsignee.
StreetName O AN 250 UltimateConsignee street name should be sent
as separate attribute if feasible.
BuildingName O AN 50 The UltimateConsignee building name
Possible values:
- PAS, Passport
- MID, Manufacturer ID
Each of the individual sections of ShipmentResponse is shown below in schema diagram, with context,
and a detailed description of each field follows in the Output Field List.
The Response structure includes the ServiceHeader which includes MessageTime, MessageReference
and ServiceInvocationID. MessageReference which is taken from the request and MessageTime
shows when the request has been processed on DHL side. Customer can track messages by
ServiceInvocationID.
The Notification structure includes the result code and message, based on the results of the processing.
Successful messages will include a zero error code and no corresponding message, while exceptions have
both code and message.
The Warning structure includes the result code and message, based on the results of the processing.
This is for future use.
UploadInvoiceDataResponse/Response/ServiceHeader
UploadInvoiceDataResponse/Notification
15. DOCUMENTIMAGEREQUEST
The document image retrieve request is successfully executed if the correct combination of shipper
account number, Waybill number, the shipment’s pickup year and month and document type name is
sent in the request.
Important Note: DocumentImageRequest service is not enabled by default and must be requested per
customer. To enable use of DocumentImageRequest service, please contact your DHL Express IT
representative.
Each of the individual sections of DocumentImageRequest is shown below in schema diagram, with
context, and a detailed description of each field follows in the Input Field List.
This field is mandatory which corresponds to the waybill number associated to the shipment.
DocumentImageRequest service will perform validation on this field to retrieve the image data with
respective Shipment Data.
Note: Please ensure to provide the same waybill number which was generated after successful shipment
creation for the successful retrieve of Document Images.
Note: Please ensure to provide the same account details which were used to create the shipment for
successful retrieve of Document Images.
This field is optional which corresponds to image options for document image result.
There are 3 children elements:
• DocumentImageFormat – this field is optional which corresponds to provide the image mime type
i.e. PDF and TIFF.
• AllInOnePDF – this field is optional with default value as N.
When provided “Y”, merge all resulting images in one PDF file with multiple pages.
• CompressedPackage – this field is optional with default value as N.
When provided “Y”, return zipped file for the resulting images.
DocumentImageRequest Values or
M/O Comments
fields Constraints
DocumentImageRequest
DocumentImageRequest/ClientDetail
DocumentImageRequest/Request
DocumentImageRequest/Request/ServiceHeader
YYYY-MM-DD(T)hh:mm:ssZ
e.g 2020-01-12T08:41:12Z
WebstorePlatform O AN 20
Reserved for Third Party Vendors identification
WebstorePlatformVersion O AN 15
Reserved for Third Party Vendors identification
ShippingSystemPlatform O AN 20
Reserved for Third Party Vendors identification
ShippingSystemPlatformVersio O AN 15
n Reserved for Third Party Vendors identification
PlugIn O AN 20
Reserved for Third Party Vendors identification
PlugInVersion O AN 15
Reserved for Third Party Vendors identification
DocumentImageRequest/DocumentImages
DocumentImageRequest/DocumentImages/DocumentImage
DocumentImageRequest/DocumentImages/DocumentImage/DocumentTypes(1:1)
DocumentImageRequest/DocumentImages/DocumentImage/DocumentTypes/DocumentType(1:3)
Possible Values:
• CUSTOMS_ENTRY
• WAYBILL
• COMMERCIAL_INVOICE
DocumentImageRequest/DocumentImages/DocumentImage/OutputImageOptions(0:1)
Possible Values:
• PDF
• TIFF
Each of the individual sections of response is shown below in schema diagram, with context, and a
detailed description of each field follows in the Output Field List.
The Response structure includes the ServiceHeader which includes MessageTime, MessageReference
and ServiceInvocationID. MessageReference which is taken from the request and MessageTime shows
when the request has been processed on DHL side. Customer can track messages by
ServiceInvocationID.
The Notification structure includes the result code and message, based on the results of the processing.
Successful messages will include a zero error code and no corresponding message, while exceptions have
both code and message.
The Warning structure includes the result code and message, based on the results of the processing.
This is for future use.
This section returns the requested Document Images having 4 children elements as below:
DocumentImageResponse/Response/ServiceHeader
DocumentImageResponse/Notification
- COMMERCIAL_INVOICE
- WAYBILL
- CUSTOMS_ENTRY
- PDFDOCUMENT
(indicating merged PDF
images)
- ARCHIVE (indicating
compressed zip file)
DocumentImageFormat M The format of the document
image as provided in request
message
- PDF
- TIFF
- ZIP
16 APPENDIX
8003 Account not allowed for this service. Please contact your DHL Express
representative.
6018 Requested service XX requires also usage of one of following services < the
XX will be replaced by Dependent service (service code) followed by list of
Required services (service codes) separated by ", ">
6021 Requested service(s) requires usage of just ONE service from – followed by
service-service group(s) violated, in from: (DependentService -> list of
Required services separated by "-" – each dependent group in separated in
brackets e.g. (PZ -> PT-PU-PV-PW)
1001 The requested product(s) not available based on your search criteria.
1003 Pick-up service is not provided on this day.
1004 Product not available between this origin and destination.
340001 The origin country code could not be found. Please check the country code.
340002 The destination country code could not be found. Please check the country code.
340003 The payment country code could not be found.
340004 The location information is missing. At least one attribute post code, city name
or suburb name should be provided
340005 The pickup date is missing. The pickup date is a mandatory field.
340006 The ready time is missing. This is a mandatory parameter.
340007 The commodity code could not be found, please check the commodity code.
340008 The piece weight is missing. This is mandatory information.
340009 The number of pieces is missing.
340010 The total shipment volume is missing.
340011 The maximum piece weight is missing.
340012 The maximum piece height is missing.
340013 The maximum piece length is missing.
340014 The maximum piece width/diameter is missing.
340015 The declared value is missing.
340016 The piece type is invalid.
340017 The unit of weight is missing.
340018 The declared value cannot exceed the limit set for the country.
340019 Unknown unit of measure for weight.
340020 Unknown unit of measure for dimensions.
340021 The currency is missing.
340022 The maximum piece weight is greater than the total shipment weight.
340023 Unknown currency symbol.
340024 The global or local product code(s) missing.
340025 The global or local service code(s) missing.
340026 Invalid combination of units of weight and dimension.
340027 Invalid product service combination.
340028 The unit of measure is missing.
340029 UOM should be same for all dimensions
340030 Unknown Generic Criteria code
340031 The format of the dimensions is not correct. Please check the dimensions
format.
340032 The format of the weight is not correct. Please check the weight format.
340033 Invalid ready time format
340035 The unit of dimension is missing
340036 Outbound departure date should have format YYYY-MM-DD
340038 VLDPICKUP = N set in the request then Facility Departure Date should be part of
request
340039 VLDPICKUP = Y set in the request then Facility Departure Date should NOT be
part of request
340040 The only allowed operators are 'eq'- equal, 'ge' - greater than or equal, 'gt' -
greater than
ACCOUNT VALIDATION
For both Rate and Shipment, the account number must be valid and configured for use within the
services. For help for account setup and configuration, please see your DHL integration point of
contact.
Account Validation Errors
PICKUP ERRORS
For select Shipment requests, which include a pickup request (REQUEST_COURIER), the following
errors may occur during processing of the pickup. Each of the pickup adaptor errors below carries
the same Error Code.
Pickup Errors
(Shipment Requests only)
GENERAL ERRORS
Unexpected errors are handled with a standard error message. These error messages also contain a
process id number, which is used during troubleshooting or follow-up.
Shipment Date Errors
(Shipment Requests Only)
Error Error Text Notes (if applicable)
Code
998 Process failure occurred. Process ID Where 9999999 is the process id
associated for that transaction (9999999)
TRACKING ERRORS
For TrackingRequest service, the primary exception for the service will be “Shipment Not Found”, with a
corresponding ConditionCode of 101.
Tracking Errors
Error Error Text
Code
8032 Not authorized to use this service. Please contact your DHL Express
representative.
200000 Invalid line item's weight value. Value exceeds the limit.
(Invalid Ln\Meas\Wgt value. Not Supportable value)
200000 Invalid insurance charge currency code from merchant. Currency code not
supported in GTS.
(Invalid MonAmt SINSV CurCd value. Not Supportable Currency)
200000 Invalid insurance charge currency code from merchant. If provided, should be in
alphabetic format with 3 characters.
(Invalid MonAmt SINSV CurCd value. Valid format is [A-Z]{3})
200000 Invalid insurance charge from merchant. If provided, should be in decimal format.
(Invalid MonAmt SINSV value.Value must be BigDecimal and not empty)
200000 Invalid insurance charge from merchant. Negative value is not acceptable.
(Invalid MonAmt SINSV value. Only allow positive value)
200000 Invalid other charge currency code from merchant. Currency code not supported
in GTS.
(Invalid MonAmt MACHG CurCd value. Not Supportable Currency)
200000 Invalid other charge currency code from merchant. If provided, should be in
alphabetic format with 3 characters.
(Invalid MonAmt MACHG CurCd value. Valid format is [A-Z]{3})
200000 Invalid other charges value. If provided, should be in decimal format.
(Invalid MonAmt MACHG value.Value must be BigDecimal and not empty)
200000 Invalid other charges value. Negative value is not acceptable.
(Invalid MonAmt MACHG value. Only allow positive value)
200000 Invalid freight charge currency code from merchant. Currency code not supported
in GTS. (Invalid MonAmt MFCHG CurCd value. Not Supportable Currency)
200000 Invalid freight charge currency code from merchant. If provided, should be in
alphabetic format with 3 characters.
(Invalid MonAmt MFCHG CurCd value. Valid format is [A-Z]{3})
200000 Invalid freight charge value. If provided, should be in decimal format.
(Invalid MonAmt MFCHG value.Value must be BigDecimal and not empty)
200000 Invalid freight charge value. Negative value is not acceptable.
(Invalid MonAmt MFCHG value. Only allow positive value)
200000 Invalid piece' weight value. If provided, should be in decimal format.
(Invalid PcsMeas\Wgt value.Value must be BigDecimal and not empty)
200000 Invalid piece' weight value. Negative value is not acceptable.
(Invalid PcsMeas\Wgt value. Only allow positive value)
200000 Invalid piece' weight UOM value. Weights' UOM not supported in GTS. .
(Invalid PcsMeas\Wgt uom value. Not Supportable Weights' UOM)
200000 Invalid piece' height dimension value. If provided, should be in decimal format.
(Invalid PcsMeas\H value.Value must be BigDecimal and not empty)
200000 Invalid piece' height dimension value. Negative value is not acceptable.
(Invalid PcsMeas\H value. Only allow positive value)
200000 Invalid piece' height dimension UOM value. Dimensions' UOM not supported in
GTS. .
(Invalid PcsMeas\H uom value. Not Supportable Dimensions' UOM)
200000 Invalid piece' length dimension value. If provided, should be in decimal format.
(Invalid PcsMeas\L value. Value must be BigDecimal and not empty.)
200000 Invalid piece' length dimension value. Negative value is not acceptable.
(Invalid PcsMeas\L value. Only allow positive value.)
200000 Invalid piece' length dimension UOM value. Dimensions' UOM not supported in
GTS. .
(Invalid PcsMeas\L uom value. Not Supportable Dimensions' UOM)
200000 Invalid piece' width dimension value. If provided, should be in decimal format.
(Invalid PcsMeas\W value.Value must be BigDecimal and not empty)
200000 Invalid piece' width dimension value. Negative value is not acceptable.
(Invalid PcsMeas\W value. Only allow positive value)
200000 Invalid piece' width dimension UOM value. Dimensions' UOM not supported in
GTS. .
(Invalid PcsMeas\W uom value. Not Supportable Dimensions' UOM)
200000 Invalid shipper account number value. If provided, should be in numeric format.
(Invalid SP Cust\NtwAccNo value. Valid format is \d+)
200000 Invalid shipper’s country code value. If provided, should be in alphabetic format
with 2 characters.
(Invalid SP Cust\Addr\ActPntSp\CtryCd value. Valid format is [A-Z]{2})
200000 Invalid shipper's country code value. Country not supported in GTS.
(Invalid SP Cust\Addr\ActPntSp\CtryCd value. Not Supportable Country)
200000 Invalid receiver's country code value. If provided, should be in alphabetic format
with 2 characters.
(Invalid RV Cust\Addr\ActPntSp\CtryCd value. Valid format is [A-Z]{2})
200000 Invalid receiver's country code value. Country not supported in GTS.
(Invalid RV Cust\Addr\ActPntSp\CtryCd value. Not Supportable Country)
200000 Invalid payer account number value. If provided, should be in numeric format.
(Invalid PY Cust\NtwAccNo value. Valid format is \d+)
200000 Invalid payer's country code value. Country code not supported in GTS.
(Invalid PY Cust\Addr\ActPntSp\CtryCd value. Not Supportable Country)
200000 Invalid line item's import commodity code value. If provided, should be in
alphanumeric and dots format.
(Invalid Ln\CmdtClss\Ib value. Valid format is [a-zA-Z0-9.]+)
200000 Invalid line item's part number value. If provided, should be in numeric format.
(Invalid Ln\PartNo value. Valid format is \d+)
200000 Invalid Shipment Purpose. Acceptable values are [PERSONAL, COMMERCIAL,
GIFT] .
Weight content
CGM content gram
CKG content kilogram
CTN content ton
Time
HUR Hours
MIN Minutes
SEC Seconds
Area
MTK square meters (MTK)
CMK square centimetres (CMK)
FTK square feet (FTK)
INK square inches (INK)
KMK square kilometres (KMK)
YDK square yards (YDK)
Energy
GJ Gigajoule (GJ)
KWH kilowatt hour (KWH)
MWH megawatt hour (MWH)
GWH gigawatt hour (GWH)
KCAL kilocalorie (KCAL)
Frequency
HTZ hertz
KHZ kilohertz
MHZ megahertz
Length
Weight
PC per card
PHC per hundred cards
Power
WTT watts
KWT kilowatts
Pressure
KPA kilopascals
MPA megapascals
Radioactivity
MBQ megabecquerels
GBQ giqabecquerels
MCU millicuries
CUR curies
Radioactivity
C Celsius (C)
CE_EL Number of Cells (CE_EL)
CT Cartons (CT)
CTL Carrying Capacity in Tons (CTL)
CU Cubic (CU)
CY Clean Yield (CY)
D Denier (D)
DC Direct Current (DC)
DEG Degrees (DEG)
FBM Fibre Meters (FBM)
FIB Fibres (FIB)
GI_FS Grams of Fissile Isotopes (GI_FS)
GRL Gross Lines (GRL)
GT Gross Ton (GT)
GVW Gross Vehicle Weight (GVW)
HP Horse Power (HP)
IMPERIAL_GALLON Imperial Gallon (IMPERIAL_GALLON)
IRC Internal Revenue Code (IRC)
JWL Jewels (JWL)
KG_90PERCENT_SDT Kilogram of Substance 90% Dry (KG_90PERCENT_SDT)
KG_BDC Kilogram of Bio Diesel Content (KG_BDC)
KG_BEC Kilogram of Bio Ethanol Content (KG_BEC)
KG_H2O2 Kilogram of Hydrogen Peroxide (KG_H2O2)
KG_K2O Kilogram of Potassium Oxide (KG_K2O)
KG_KOH Kilogram of Potassium Hydroxide (KG_KOH)
KG_METAM Kilogram Methylamines (KG_METAM)
KG_N Kilogram of Nitrogen (KG_N)
KG_NAOH Kilogram of Sodium Hydroxide (KG_NAOH)
KG_NET_MAS Kilogram Net Weight of Dry Matter (KG_NET_MAS)
KG_NETEDA Kilogram Net Drained (KG_NETEDA)
KG_P2O5 Kilogram of Disphosphorus Pentaoxide (KG_P2O5)
KG_TOT_ALC Kilograms of Total Alcohol (KG_TOT_ALC)
KG_U Kilogram of Uranium (KG_U)
KGB Kilogram Brut (KGB)
KGDL Kilogram Dry Lactic Matter (KGDL)
EOR Economic Operator Registration AT, BE, BG, CY, CZ, DE, DK, All
ID EE, ES, FI, FR, GR, HR, HU,
IE, IT, LT, LU, LV, MT, NL, PL,
PT, RO, SE, SI, SK
FTZ Free Trade Zone ID AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, All
AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE,
BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ,
BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD,
CF, CG, CH, CI, CK, CL, CM, CN, CO, CR,
CU, CV, CW, CX, CY, CZ, DE, DJ, DK,
DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET,
FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE,
GF, GG, GH, GI, GL, GM, GN, GP, GQ,
GR, GS, GT, GU, GW, GY, HK, HM, HN,
HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR,
IS, IT, JE, JM, JO, JP, KE, KG, KH, KI,
KM, KN, KP, KR, KW, KY, KZ, LA, LB,
LC, LI, LK, LR, LS, LT, LU, LV, LY, MA,
MC, MD, ME, MF, MG, MH, MK, ML,
MM, MN, MO, MP, MQ, MR, MS, MT,
MU, MV, MW, MX, MY, MZ, NA, NC, NE,
NF, NG, NI, NL, NO, NP, NR, NU, NZ,
OM, PA, PE, PF, PG, PH, PK, PL, PM,
PN, PR, PS, PT, PW, PY, QA, RE, RO, RS,
RU, RW, SA, SB, SC, SD, SE, SG, SH, SI,
SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV,
SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK,
TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA,
UG, UM, US, UY, UZ, VA, VC, VE, VG, VI,
VN, VU, WF, WS, YE, YT, ZA, ZM, ZW
RGP EU Registered Exporters AT, BE, BG, CY, CZ, DE, DK, EE, ES, FI, Exporter
FR, GR, HR, HU, IE, IT, LT, LU, LV, MT,
registration ID NL, PL, PT, RO,SE, SI, SK
SDT Import One-Stop-Shop (IOSS) AT, BE, BG, CN, CY, CZ, DE, Shipper
DK, EE, ES, FI, FR, GR, HR,
VAT VAT Registration (VAT / GST) AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, All
AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE,
BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ,
BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD,
CF, CG, CH, CI, CK, CL, CM, CN, CO, CR,
CU, CV, CW, CX, CY, CZ, DE, DJ, DK,
DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET,
FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE,
GF, GG, GH, GI, GL, GM, GN, GP, GQ,
GR, GS, GT, GU, GW, GY, HK, HM, HN,
HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR,
IS, IT, JE, JM, JO, JP, KE, KG, KH, KI,
KM, KN, KP, KR, KW, KY, KZ, LA, LB,
LC, LI, LK, LR, LS, LT, LU, LV, LY, MA,
MC, MD, ME, MF, MG, MH, MK, ML,
MM, MN, MO, MP, MQ, MR, MS, MT,
MU, MV, MW, MX, MY, MZ, NA, NC, NE,
NF, NG, NI, NL, NO, NP, NR, NU, NZ,
OM, PA, PE, PF, PG, PH, PK, PL, PM,
PN, PR, PS, PT, PW, PY, QA, RE, RO, RS,
RU, RW, SA, SB, SC, SD, SE, SG, SH, SI,
SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV,
SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK,
TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA,
UG, UM, US, UY, UZ, VA, VC, VE, VG, VI,
VN, VU, WF, WS, YE, YT, ZA, ZM, ZW
Manufacturers IDentification
MID Global EP
code
COMMERCIAL_INVOICE_P_10 VAT, EOR, VAT, EOR VAT, VAT, EOR VAT, EOR Any 5 charge type
SDT EOR
COMMERCIAL_INVOICE_L_10
ADDRESSVALIDATE ERRORS
3003 The identified service area for the given address is not
yet open.
3005 The identified service area for the given address has an
unknown status.
UPLOADINVOICEDATA ERRORS
CREATESHIPMENT ERRORS
7005 Customer logo image data failed in validation due to wrong data.
Please provide valid image instead of text data.
7007 The Special Service Code element must contain the value of
<configurable PLT service code eg. WY> for Paperless Trade (PLT)
shipment.
7009 The
'ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOpti
ons/CustomerLogo/LogoImage' cannot be exceed <configurable
logo image size>. Please check the Customer Logo image size and
retry.
7010 The
"ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOpti
ons/CustomerBarcode/Type" is mandatory when
CustomerBarcode/TextInBarcode or
CustomerBarcode/TextBelowBarcode is provided.
7012 You are not allowed to prepare Paperless Trade (PLT) shipment .
Please contact your DHL account manager.
7019 An email with invalid format has been provided. Please update and
try again.
7027 Failure to upload the Paperless Trade (PLT) image. Please check
the document image and try again or contact your DHL technical
representative.
7028 Net weight value must be greater than <global or customer profile
level> <global or customer profile level minimum weight>. Please
update
shipreq:ShipmentRequest/RequestedShipment/ExportDeclaratio
n/ExportLineItem/NetWeight field value and try again.
7031 Image upload is not possible for this shipment at this point.
7013 Pickup is not allowed for this shipment date. Please update and re-
try again.
7024 The Paperless Trade (PLT) image file size of the export
documentation is too large. Please ensure that this does not
exceed ''{0}'' and is either a pdf, jpg or png file type.
7034 Unit Price value must be greater than <”global or customer profile
level” + global or customer profile level minimum Customs
Value>. Please update
shipreq:ShipmentRequest/RequestedShipment/ExportDeclaratio
n/ExportLineItem/UnitPrice field value and retry it again. ”
7036 Request labels to fit A4 format is applicable for label type of PDF.
Please update and re-try again
tDeclaration/ExportLineItems/ExportLineItem{0}/CustomsPaper
works/CustomsPaperwork{0}/CustomsPaperworkType, please
update and try again.
7093 You are not authorized to prepare shipment with feature Service
Type = ‘’PM’. Please contact your DHL account manager.
7100 Invalid value of country code in <xpath>. Please check the request
message and retry.
7114 Missing line item Net weight or Gross Weight at <xpath>, please
update the request and try again.
8032 Not authorized to use this service. Please contact your DHL
Express representative.
7120 Field
ShipmentRequest/RequestedShipment/ShipmentInfo/DocumentI
mages/DocumentImage/DocumentImage or
ShipmentRequest/RequestedShipment/ShipmentInfo/LabelOptio
ns/RequestDHLCustomsInvoice is mandatory when ServiceType
is set as WY.
7121 Field
ShipmentRequest/RequestedShipment/InternationalDetail/Expor
tDeclaration is mandatory when provided product is Dutiable.
7123 You are not authorized to prepare shipment with special service
code of $DeniedSpecialServices. Please contact your DHL account
manager.
7124 Not authorized to bypass PLT Validation. Please contact your DHL
Express representative.
7125 Domestic shipment for Mexico is not allowed for your username.
Please contact your DHL sales representative.
7992 State or Province code has been replaced to valid GREF State or
Provicen Code.
7990 Rendered commercial invoice PDF can only print certain number
of shipping roles and addresses.
REQUESTPICKUP ERRORS
5001 The pickup request is past the booking cutoff time for
the pickup location (this includes taking the time zone
into consideration if applicable).
UPDATEPICKUP ERRORS
DOCUMENTIMAGEREQUEST ERRORS
UPDATESHIPMENT WARNINGS
UpdateShipment Warning
<StreetLines>1-16-24, Minami-gyotoku</StreetLines>
<City>Ichikawa-shi, Chiba</City>
<PostalCode>272-0138</PostalCode>
<CountryCode>JP</CountryCode>
</Shipper>
<Recipient>
<StreetLines>63 RENMIN LU, QINGDAO SHI</StreetLines>
<City>QINGDAO SHI</City>
<PostalCode>266033</PostalCode>
<CountryCode>CN</CountryCode>
</Recipient>
</Ship>
<Packages>
<RequestedPackages number="1">
<Weight>
<Value>2.0</Value>
</Weight>
<Dimensions>
<Length>13</Length>
<Width>12</Width>
<Height>9</Height>
</Dimensions>
</RequestedPackages>
</Packages>
<ShipTimestamp>2010-11-26T12:00:00GMT-06:00</ShipTimestamp>
<UnitOfMeasurement>SU</UnitOfMeasurement>
<Content>NON_DOCUMENTS</Content>
<DeclaredValue>200.00</DeclaredValue>
<DeclaredValueCurrecyCode>USD</DeclaredValueCurrecyCode>
<PaymentInfo>DAP</PaymentInfo>
<Account> XXXXXXXXX</Account>
</RequestedShipment>
</RateRequest>
<Amount>20569.00</Amount>
</TotalNet>
<Charges>
<Currency>JPY</Currency>
<Charge>
<ChargeType>EXPRESS WORLDWIDE</ChargeType>
<ChargeAmount>17580.00</ChargeAmount>
</Charge>
<Charge>
<ChargeType>FUEL SURCHARGE</ChargeType>
<ChargeAmount>2989.00</ChargeAmount>
</Charge>
</Charges>
<DeliveryTime>2010-12-02T23:59:00</DeliveryTime>
</Service>
</Provider>
</rateresp:RateResponse>
</Weight>
<Dimensions>
<Length>45</Length>
<Width>30</Width>
<Height>10</Height>
</Dimensions>
</RequestedPackages>
</Packages>
<ShipTimestamp>2018-08-22T09:30:00GMT+01:00</ShipTimestamp>
<UnitOfMeasurement>SI</UnitOfMeasurement>
<Content>NON_DOCUMENTS</Content>
<DeclaredValue>20</DeclaredValue>
<DeclaredValueCurrencyCode>EUR</DeclaredValueCurrencyCode>
<Billing>
<ShipperAccountNumber>111111111</ShipperAccountNumber>
<ShippingPaymentType>S</ShippingPaymentType>
<BillingAccountNumber>999999999</BillingAccountNumber>
</Billing>
<LandedCost>
<MerchantSelectedCarrierName>DHL</MerchantSelectedCarrierName>
<GetItemCostBreakdown>Y</GetItemCostBreakdown>
<ShipmentCurrencyCode>EUR</ShipmentCurrencyCode>
<ShipmentPurpose>PERSONAL</ShipmentPurpose>
<ShipmentTransportationMode>AIR</ShipmentTransportationMode>
<Items>
<Item>
<ItemNumber>1</ItemNumber>
<Description>KNITWEAR COTTON</Description>
<Remark>KNITWEAR 100% COTTON REDUCTION PRICE FALL COLLECTION</Remark>
<ManufacturingCountryCode>DE</ManufacturingCountryCode>
<SKUPartNumber>12345555</SKUPartNumber>
<Quantity>150.345</Quantity>
<UnitPrice>12.50</UnitPrice>
<UnitPriceCurrencyCode>EUR</UnitPriceCurrencyCode>
<ItemWeight>1.6</ItemWeight>
<HarmonizedSystemCode>61101XXXXX</HarmonizedSystemCode>
<ItemWeightUnitofMeasurement>SI</ItemWeightUnitofMeasurement>
<Category>204</Category>
<EstimatedTariffRateType>HIGHEST_RATE</EstimatedTariffRateType>
</Item>
</Items>
<ShipmentMonetaryAmount>
<Charges>
<ChargeType>FREIGHT</ChargeType>
<ChargeAmount>19</ChargeAmount>
<CurrencyCode>EUR</CurrencyCode>
</Charges>
</ShipmentMonetaryAmount>
<GetTariffFormula>Y</GetTariffFormula>
<GetQuotationID>Y</GetQuotationID>
<GetDetailedLineItemLevelStatus>Y</GetDetailedLineItemLevelStatus>
</LandedCost>
</RequestedShipment>
</RateRequest>
<ChargeAmount>18.00</ChargeAmount>
</Charge>
<Charge>
<ChargeType>FEE</ChargeType>
<ChargeAmount>250.00</ChargeAmount>
<ChargeName>CONCESSION_FEE</ChargeName>
<ChargeCurrencyCode>EUR</ChargeCurrencyCode>
<TariffRateFormula>((0.3464 % COST) MAX (528.33))</TariffRateFormula>
</Charge>
</Charges>
<Items>
<Item>
<ItemNumber>1</ItemNumber>
<Charge>
<ChargeType/>
<ChargeAmount>94.50</ChargeAmount>
<ChargeName>CIF</ChargeName>
<ChargeCurrencyCode>EUR</ChargeCurrencyCode>
<TariffRateFormula>COST + INSURANCE + FREIGHT</TariffRateFormula>
</Charge>
<Charge>
<ChargeType>DUTY</ChargeType>
<ChargeAmount>2.36</ChargeAmount>
<ChargeName>DUTY</ChargeName>
<ChargeCurrencyCode>EUR</ChargeCurrencyCode>
<TariffRateFormula>Deminimus :: (CIF * 0.025)</TariffRateFormula>
</Charge>
<Charge>
<ChargeType>TAX</ChargeType>
<ChargeAmount>18.40</ChargeAmount>
<ChargeName>VAT</ChargeName>
<ChargeCurrencyCode>EUR</ChargeCurrencyCode>
<TariffRateFormula>(0.19 * (CIF + DUTY + EXCISE + ADDITIONAL_DUTY))</TariffRateFormula>
</Charge>
</Item>
</Items>
</Service>
</Provider>
</RateResponse>
SOAP RATEREQUEST LANDEDCOST: RESPONSE WITH LINE ITEM NUMBER ERROR DETAILS
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<rateresp:RateResponse xmlns:rateresp="http://scxgxtt.phx-dc.dhl.com/euExpressRateBook/RateMsgResponse">
<Provider code="DHL">
<ServiceHeader>
<MessageTime>2021-06-28T08:14:40.922+00:00</MessageTime>
<MessageReference>GGEDS109311111112222222229876</MessageReference>
<ServiceInvocationID>20210628081440_c027_60d849c9-522e-4571-a41b-544cd772239d</ServiceInvocationID>
</ServiceHeader>
<Notification code="200000">
<Message>At least one item has invalid provided product category.</Message>
</Notification>
<Notification code="200000">
<Message>Invalid message content</Message>
<MessageDetail>Line ItemNumber 1: Provided product category is invalid. Please look at the possible category values listed under
documentation.</MessageDetail>
</Notification>
<Notification code="200000">
<Message>Invalid message content</Message>
<MessageDetail>Line ItemNumber 2: Provided product category is invalid. Please look at the possible category values listed under
documentation.</MessageDetail>
</Notification>
<Notification code="999">
<Message>Process failure occured. Please contact the Administrator with Error Sequence as '82163295'</Message>
</Notification>
</Provider>
</rateresp:RateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<ImportCommodityCode>4202.91.8090</ImportCommodityCode>
<Quantity>1</Quantity>
<QuantityUnitOfMeasurement>PCS</QuantityUnitOfMeasurement>
<ItemDescription>Fall collection: vegan leather pouchette small</ItemDescription>
<UnitPrice>45.00</UnitPrice>
<NetWeight>0.300</NetWeight>
<GrossWeight>0.300</GrossWeight>
<ExportReasonType>PERMANENT</ExportReasonType>
<ManufacturingCountryCode>CN</ManufacturingCountryCode>
<TaxesPaid>N</TaxesPaid>
<ItemReferences>
<ItemReference>
<ItemReferenceType>PAN</ItemReferenceType>
<ItemReferenceNumber>10597122</ItemReferenceNumber>
</ItemReference>
<ItemReference>
<ItemReferenceType>OID</ItemReferenceType>
<ItemReferenceNumber>0323434422</ItemReferenceNumber>
</ItemReference>
</ItemReferences>
<CustomsPaperworks>
<CustomsPaperwork>
<CustomsPaperworkType>INV</CustomsPaperworkType>
<CustomsPaperworkID>MyDHLAPI - LN#1-CUSDOC-001</CustomsPaperworkID>
</CustomsPaperwork>
</CustomsPaperworks>
</ExportLineItem>
</ExportLineItems>
<CustomsDocuments>
<CustomsDocument>
<CustomsDocumentType>INV</CustomsDocumentType>
<CustomsDocumentID>MyDHLAPI - CUSDOC-001</CustomsDocumentID>
</CustomsDocument>
</CustomsDocuments>
<PackageMarks>Package Marks</PackageMarks>
<PayerGSTVAT>yes</PayerGSTVAT>
<RecipientReference>01291344</RecipientReference>
<Remarks>
<Remark>
<RemarkDescription>Invoice Remarks 1st</RemarkDescription>
</Remark>
</Remarks>
<TermsOfPayment>60 days</TermsOfPayment>
<InvoiceTotalNetWeight>1.500</InvoiceTotalNetWeight>
<InvoiceTotalGrossWeight>1.500</InvoiceTotalGrossWeight>
<InvoiceInstructions>This is invoice instruction</InvoiceInstructions>
<InvoiceReferences>
<InvoiceReference>
<InvoiceReferenceType>CU</InvoiceReferenceType>
<InvoiceReferenceNumber>MyDHLAPI - CUREF-001</InvoiceReferenceNumber>
</InvoiceReference>
</InvoiceReferences>
</ExportDeclaration>
</InternationalDetail>
<Ship>
<Shipper>
<Contact>
<PersonName>John Smith</PersonName>
<CompanyName>MyDHL API</CompanyName>
<PhoneNumber>123456789</PhoneNumber>
</Contact>
<Address>
<StreetLines>Address Line 1</StreetLines>
<StreetLines2>Address Line 2</StreetLines2>
<StreetLines3>Address Line 3</StreetLines3>
<City>HAIKOU</City>
<PostalCode>570000</PostalCode>
<CountryCode>CN</CountryCode>
</Address>
<RegistrationNumbers>
<RegistrationNumber>
<Number>VAT23249923</Number>
<NumberTypeCode>VAT</NumberTypeCode>
<NumberIssuerCountryCode>CN</NumberIssuerCountryCode>
</RegistrationNumber>
</RegistrationNumbers>
<BusinessPartyTypeCode>BU</BusinessPartyTypeCode>
</Shipper>
<Recipient>
<Contact>
<PersonName>John Smith</PersonName>
<CompanyName>MyDHL API IE</CompanyName>
<PhoneNumber>123456789</PhoneNumber>
<EmailAddress>[email protected]</EmailAddress>
<MobilePhoneNumber>123456789</MobilePhoneNumber>
</Contact>
<Address>
<StreetLines>Address Line 1</StreetLines>
<StreetLines2>Address Line 2</StreetLines2>
<StreetLines3>Address Line 3</StreetLines3>
<City>DUBLIN</City>
<PostalCode/>
<CountryCode>IE</CountryCode>
</Address>
<RegistrationNumbers>
<RegistrationNumber>
<Number>977961111</Number>
<NumberTypeCode>EOR</NumberTypeCode>
<NumberIssuerCountryCode>IE</NumberIssuerCountryCode>
</RegistrationNumber>
</RegistrationNumbers>
<BusinessPartyTypeCode>BU</BusinessPartyTypeCode>
</Recipient>
</Ship>
<Packages>
<RequestedPackages number="1">
<Weight>1.5</Weight>
<PackageContentDescription>travel bags</PackageContentDescription>
<Dimensions>
<Length>30</Length>
<Width>30</Width>
<Height>20</Height>
</Dimensions>
</RequestedPackages>
</Packages>
</RequestedShipment>
</ShipmentRequest>
</soapenv:Body>
</soapenv:Envelope>
<ArrayOfAWBInfoItem>
<AWBNumber>2331017371</AWBNumber>
<Status>
<ActionStatus>Success</ActionStatus>
</Status>
<ShipmentInfo>
<OriginServiceArea>
<ServiceAreaCode>FLR</ServiceAreaCode>
<Description>Florence - Italy</Description>
</OriginServiceArea>
<DestinationServiceArea>
<ServiceAreaCode>BRI</ServiceAreaCode>
<Description>Bari - Italy</Description>
<FacilityCode>WAD</FacilityCode>
</DestinationServiceArea>
<ShipperName>NUOVO PIGNONE SPA</ShipperName>
<ConsigneeName>NUOVO PIGNONESPA</ConsigneeName>
<ShipmentDate>2010-11-09T14:33:00+01:00</ShipmentDate>
<Pieces>1</Pieces>
<Weight>0.500</Weight>
<ShipmentEvent>
<ArrayOfShipmentEventItem>
<Date>2010-11-10</Date>
<Time>15:12:00</Time>
<ServiceEvent>
<EventCode>MD</EventCode>
<Description>Missed Delivery Cycle</Description>
</ServiceEvent>
<Signatory/>
<ServiceArea>
<ServiceAreaCode>BRI</ServiceAreaCode>
<Description>Bari - Italy</Description>
</ServiceArea>
</ArrayOfShipmentEventItem>
</ShipmentEvent>
</ShipmentInfo>
<Pieces>
<PieceInfo>
<ArrayOfPieceInfoItem>
<PieceDetails>
<AWBNumber>2331017371</AWBNumber>
<LicensePlate>JD012038742880020267</LicensePlate>
<ActualDepth>0.000</ActualDepth>
<ActualWidth>0.000</ActualWidth>
<ActualHeight>0.000</ActualHeight>
<Depth>1.000</Depth>
<Width>1.000</Width>
<Height>1.000</Height>
<Weight>0.500</Weight>
<PackageType/>
<DimWeight>0.520</DimWeight>
<WeightUnit>KG</WeightUnit>
</PieceDetails>
<PieceEvent>
<Date>2010-11-11</Date>
<Time>11:52:00</Time>
<ServiceEvent>
<EventCode>OK</EventCode>
<Description>Delivery</Description>
</ServiceEvent>
<Signatory>DEPALMA</Signatory>
<ServiceArea>
<ServiceAreaCode>BRI</ServiceAreaCode>
<Description>Bari - Italy</Description>
</ServiceArea>
<ShipperReference>
<Message>Piece update is not possible as shipment information not found in the database</Message> </Notification>
<Notification code="999">
<Message>Failed to process your request. Process ID associated for this transaction (1234567890)</Message>
</Notification>
</updateresp:UpdateResponse>
<City>CITY</City>
<PostalCode>11111</PostalCode>
<CountryCode>US</CountryCode>
</Address>
</Shipper>
<Recipient>
<Contact>
<PersonName>PERSON_NAME</PersonName>
<CompanyName>COMPANY_NAME</CompanyName>
<PhoneNumber>+6012345678</PhoneNumber>
<EmailAddress>[email protected]</EmailAddress>
<MobilePhoneNumber>+6012345654</MobilePhoneNumber>
</Contact>
<Address>
<StreetLines>STREET_LINES</StreetLines>
<StreetName>test123</StreetName>
<StreetNumber>10</StreetNumber>
<StreetLines2>StreetLines2</StreetLines2>
<StreetLines3>StreetLines3</StreetLines3>
<City>Cyberjaya</City>
<PostalCode>63000</PostalCode>
<CountryCode>MY</CountryCode>
</Address>
</Recipient>
</Ship>
</PickUpShipment>
</upd1:UpdatePickUpRequest>
<AllInOnePDF>N</AllInOnePDF>
<CompressedPackage>N</CompressedPackage>
</OutputImageOptions>
</DocumentImage>
</DocumentImages>
</docimgreq:DocumentImageRequest>
XML.Org Home Page, Organization for the Advancement of Structured Information Standards
(OASIS)
http://www.xml.org/