VB.NET / DHL Express APIs (MyDHL API) / Retrieve available DHL Express products for a one piece Shipment
Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
Dim success As Boolean
http.BasicAuth = True
http.Login = "<Basic Auth Username>"
http.Password = "<Basic Auth Password>"
Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateString("accountNumber","Ut aliqua")
queryParams.UpdateString("originCountryCode","CZ")
queryParams.UpdateInt("originPostalCode",14800)
queryParams.UpdateString("originCityName","Prague")
queryParams.UpdateString("destinationCountryCode","CZ")
queryParams.UpdateInt("destinationPostalCode",14800)
queryParams.UpdateString("destinationCityName","Prague")
queryParams.UpdateString("weight","502356858543.692")
queryParams.UpdateString("length","1581008670.588")
queryParams.UpdateString("width","335941494.827")
queryParams.UpdateString("height","1808157249.254")
queryParams.UpdateString("plannedShippingDate","2020-02-26")
queryParams.UpdateString("isCustomsDeclarable","false")
queryParams.UpdateString("unitOfMeasurement","metric")
queryParams.UpdateString("nextBusinessDay","false")
queryParams.UpdateString("strictValidation","false")
queryParams.UpdateString("getAllValueAddedServices","false")
queryParams.UpdateString("requestEstimatedDeliveryDate","true")
queryParams.UpdateString("estimatedDeliveryDateType","QDDF")
http.SetRequestHeader("Webstore-Platform-Name","")
http.SetRequestHeader("Shipping-System-Platform-Name","")
http.SetRequestHeader("Message-Reference","d0e7832e-5c98-11ea-bc55-0242ac13")
http.SetRequestHeader("Plugin-Version","")
http.SetRequestHeader("Plugin-Name","")
http.SetRequestHeader("Shipping-System-Platform-Version","")
http.SetRequestHeader("Accept","application/json")
http.SetRequestHeader("Message-Reference-Date","Wed, 21 Oct 2015 07:28:00 GMT")
http.SetRequestHeader("Webstore-Platform-Version","")
Dim resp As Chilkat.HttpResponse = http.QuickRequestParams("GET","https://api-mock.dhl.com/mydhlapi/products",queryParams)
If (http.LastMethodSuccess = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())
Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
Debug.WriteLine("Response Header:")
Debug.WriteLine(resp.Header)
Debug.WriteLine("Failed.")
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "products": [
' {
' "productName": "EXPRESS 12:00 DOC",
' "productCode": "T",
' "localProductCode": "T",
' "localProductCountryCode": "US",
' "networkTypeCode": "TD",
' "isCustomerAgreement": false,
' "weight": {
' "volumetric": 100,
' "provided": 50,
' "unitOfMeasurement": "metric"
' },
' "breakdown": [
' {
' "name": "EXPRESS 12:00 DOC",
' "serviceCode": "AB",
' "localServiceCode": "AB",
' "typeCode": "EXPRESS 12:00",
' "serviceTypeCode": "XCH",
' "isCustomerAgreement": false,
' "isMarketedService": false,
' "isBillingServiceIndicator": false
' },
' {
' "name": "EXPRESS 12:00 DOC",
' "serviceCode": "AB",
' "localServiceCode": "AB",
' "typeCode": "EXPRESS 12:00",
' "serviceTypeCode": "XCH",
' "isCustomerAgreement": false,
' "isMarketedService": false,
' "isBillingServiceIndicator": false
' }
' ],
' "serviceCodeMutuallyExclusiveGroups": [
' {
' "serviceCodeRuleName": "Exclusive Billing Services",
' "description": "Mutually exclusive Billing Services - shipment can contain just one of following",
' "serviceCodes": [
' {
' "serviceCode": "PZ"
' },
' {
' "serviceCode": "PZ"
' }
' ]
' },
' {
' "serviceCodeRuleName": "Exclusive Billing Services",
' "description": "Mutually exclusive Billing Services - shipment can contain just one of following",
' "serviceCodes": [
' {
' "serviceCode": "PZ"
' },
' {
' "serviceCode": "PZ"
' }
' ]
' }
' ],
' "serviceCodeDependencyRuleGroups": [
' {
' "dependentServiceCode": "PZ",
' "dependencyRuleGroup": [
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' },
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' }
' ]
' },
' {
' "dependentServiceCode": "PZ",
' "dependencyRuleGroup": [
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' },
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' }
' ]
' }
' ],
' "pickupCapabilities": {
' "nextBusinessDay": false,
' "localCutoffDateAndTime": "2019-09-18T15:00:00",
' "GMTCutoffTime": "16:00:00",
' "pickupEarliest": "09:30:00",
' "pickupLatest": "16:00:00",
' "originServiceAreaCode": "ELA",
' "originFacilityAreaCode": "ELA",
' "pickupAdditionalDays": 0,
' "pickupDayOfWeek": 3
' },
' "deliveryCapabilities": {
' "deliveryTypeCode": "QDDC",
' "estimatedDeliveryDateAndTime": "2019-09-20T12:00:00",
' "destinationServiceAreaCode": "PRG",
' "destinationFacilityAreaCode": "PR3",
' "deliveryAdditionalDays": 0,
' "deliveryDayOfWeek": 5,
' "totalTransitDays": 2
' }
' },
' {
' "productName": "EXPRESS 12:00 DOC",
' "productCode": "T",
' "localProductCode": "T",
' "localProductCountryCode": "US",
' "networkTypeCode": "TD",
' "isCustomerAgreement": false,
' "weight": {
' "volumetric": 100,
' "provided": 50,
' "unitOfMeasurement": "metric"
' },
' "breakdown": [
' {
' "name": "EXPRESS 12:00 DOC",
' "serviceCode": "AB",
' "localServiceCode": "AB",
' "typeCode": "EXPRESS 12:00",
' "serviceTypeCode": "XCH",
' "isCustomerAgreement": false,
' "isMarketedService": false,
' "isBillingServiceIndicator": false
' },
' {
' "name": "EXPRESS 12:00 DOC",
' "serviceCode": "AB",
' "localServiceCode": "AB",
' "typeCode": "EXPRESS 12:00",
' "serviceTypeCode": "XCH",
' "isCustomerAgreement": false,
' "isMarketedService": false,
' "isBillingServiceIndicator": false
' }
' ],
' "serviceCodeMutuallyExclusiveGroups": [
' {
' "serviceCodeRuleName": "Exclusive Billing Services",
' "description": "Mutually exclusive Billing Services - shipment can contain just one of following",
' "serviceCodes": [
' {
' "serviceCode": "PZ"
' },
' {
' "serviceCode": "PZ"
' }
' ]
' },
' {
' "serviceCodeRuleName": "Exclusive Billing Services",
' "description": "Mutually exclusive Billing Services - shipment can contain just one of following",
' "serviceCodes": [
' {
' "serviceCode": "PZ"
' },
' {
' "serviceCode": "PZ"
' }
' ]
' }
' ],
' "serviceCodeDependencyRuleGroups": [
' {
' "dependentServiceCode": "PZ",
' "dependencyRuleGroup": [
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' },
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' }
' ]
' },
' {
' "dependentServiceCode": "PZ",
' "dependencyRuleGroup": [
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' },
' {
' "dependencyRuleName": "Labelfree and PLT rule",
' "dependencyDescription": "Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly",
' "dependencyCondition": "Must provide the requiredServiceCode if it is allowed for the productCode",
' "requiredServiceCodes": [
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' },
' {
' "serviceCode": {
' "value": "<Error: Too many levels of nesting to fake this schema>"
' }
' }
' ]
' }
' ]
' }
' ],
' "pickupCapabilities": {
' "nextBusinessDay": false,
' "localCutoffDateAndTime": "2019-09-18T15:00:00",
' "GMTCutoffTime": "16:00:00",
' "pickupEarliest": "09:30:00",
' "pickupLatest": "16:00:00",
' "originServiceAreaCode": "ELA",
' "originFacilityAreaCode": "ELA",
' "pickupAdditionalDays": 0,
' "pickupDayOfWeek": 3
' },
' "deliveryCapabilities": {
' "deliveryTypeCode": "QDDC",
' "estimatedDeliveryDateAndTime": "2019-09-20T12:00:00",
' "destinationServiceAreaCode": "PRG",
' "destinationFacilityAreaCode": "PR3",
' "deliveryAdditionalDays": 0,
' "deliveryDayOfWeek": 5,
' "totalTransitDays": 2
' }
' }
' ],
' "warnings": [
' "Limited products capabilities",
' "Limited products capabilities"
' ]
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim productName As String
Dim productCode As String
Dim localProductCode As String
Dim localProductCountryCode As String
Dim networkTypeCode As String
Dim isCustomerAgreement As Boolean
Dim Volumetric As Integer
Dim Provided As Integer
Dim UnitOfMeasurement As String
Dim NextBusinessDay As Boolean
Dim LocalCutoffDateAndTime As String
Dim GMTCutoffTime As String
Dim PickupEarliest As String
Dim PickupLatest As String
Dim OriginServiceAreaCode As String
Dim OriginFacilityAreaCode As String
Dim PickupAdditionalDays As Integer
Dim PickupDayOfWeek As Integer
Dim DeliveryTypeCode As String
Dim EstimatedDeliveryDateAndTime As String
Dim DestinationServiceAreaCode As String
Dim DestinationFacilityAreaCode As String
Dim DeliveryAdditionalDays As Integer
Dim DeliveryDayOfWeek As Integer
Dim TotalTransitDays As Integer
Dim j As Integer
Dim count_j As Integer
Dim name As String
Dim serviceCode As String
Dim localServiceCode As String
Dim typeCode As String
Dim serviceTypeCode As String
Dim isMarketedService As Boolean
Dim isBillingServiceIndicator As Boolean
Dim serviceCodeRuleName As String
Dim description As String
Dim k As Integer
Dim count_k As Integer
Dim dependentServiceCode As String
Dim dependencyRuleName As String
Dim dependencyDescription As String
Dim dependencyCondition As String
Dim json1 As Chilkat.JsonObject
Dim i1 As Integer
Dim count_i1 As Integer
Dim Value As String
Dim strVal As String
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("products")
While i < count_i
jResp.I = i
productName = jResp.StringOf("products[i].productName")
productCode = jResp.StringOf("products[i].productCode")
localProductCode = jResp.StringOf("products[i].localProductCode")
localProductCountryCode = jResp.StringOf("products[i].localProductCountryCode")
networkTypeCode = jResp.StringOf("products[i].networkTypeCode")
isCustomerAgreement = jResp.BoolOf("products[i].isCustomerAgreement")
Volumetric = jResp.IntOf("products[i].weight.volumetric")
Provided = jResp.IntOf("products[i].weight.provided")
UnitOfMeasurement = jResp.StringOf("products[i].weight.unitOfMeasurement")
NextBusinessDay = jResp.BoolOf("products[i].pickupCapabilities.nextBusinessDay")
LocalCutoffDateAndTime = jResp.StringOf("products[i].pickupCapabilities.localCutoffDateAndTime")
GMTCutoffTime = jResp.StringOf("products[i].pickupCapabilities.GMTCutoffTime")
PickupEarliest = jResp.StringOf("products[i].pickupCapabilities.pickupEarliest")
PickupLatest = jResp.StringOf("products[i].pickupCapabilities.pickupLatest")
OriginServiceAreaCode = jResp.StringOf("products[i].pickupCapabilities.originServiceAreaCode")
OriginFacilityAreaCode = jResp.StringOf("products[i].pickupCapabilities.originFacilityAreaCode")
PickupAdditionalDays = jResp.IntOf("products[i].pickupCapabilities.pickupAdditionalDays")
PickupDayOfWeek = jResp.IntOf("products[i].pickupCapabilities.pickupDayOfWeek")
DeliveryTypeCode = jResp.StringOf("products[i].deliveryCapabilities.deliveryTypeCode")
EstimatedDeliveryDateAndTime = jResp.StringOf("products[i].deliveryCapabilities.estimatedDeliveryDateAndTime")
DestinationServiceAreaCode = jResp.StringOf("products[i].deliveryCapabilities.destinationServiceAreaCode")
DestinationFacilityAreaCode = jResp.StringOf("products[i].deliveryCapabilities.destinationFacilityAreaCode")
DeliveryAdditionalDays = jResp.IntOf("products[i].deliveryCapabilities.deliveryAdditionalDays")
DeliveryDayOfWeek = jResp.IntOf("products[i].deliveryCapabilities.deliveryDayOfWeek")
TotalTransitDays = jResp.IntOf("products[i].deliveryCapabilities.totalTransitDays")
j = 0
count_j = jResp.SizeOfArray("products[i].breakdown")
While j < count_j
jResp.J = j
name = jResp.StringOf("products[i].breakdown[j].name")
serviceCode = jResp.StringOf("products[i].breakdown[j].serviceCode")
localServiceCode = jResp.StringOf("products[i].breakdown[j].localServiceCode")
typeCode = jResp.StringOf("products[i].breakdown[j].typeCode")
serviceTypeCode = jResp.StringOf("products[i].breakdown[j].serviceTypeCode")
isCustomerAgreement = jResp.BoolOf("products[i].breakdown[j].isCustomerAgreement")
isMarketedService = jResp.BoolOf("products[i].breakdown[j].isMarketedService")
isBillingServiceIndicator = jResp.BoolOf("products[i].breakdown[j].isBillingServiceIndicator")
j = j + 1
End While
j = 0
count_j = jResp.SizeOfArray("products[i].serviceCodeMutuallyExclusiveGroups")
While j < count_j
jResp.J = j
serviceCodeRuleName = jResp.StringOf("products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodeRuleName")
description = jResp.StringOf("products[i].serviceCodeMutuallyExclusiveGroups[j].description")
k = 0
count_k = jResp.SizeOfArray("products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodes")
While k < count_k
jResp.K = k
serviceCode = jResp.StringOf("products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodes[k].serviceCode")
k = k + 1
End While
j = j + 1
End While
j = 0
count_j = jResp.SizeOfArray("products[i].serviceCodeDependencyRuleGroups")
While j < count_j
jResp.J = j
dependentServiceCode = jResp.StringOf("products[i].serviceCodeDependencyRuleGroups[j].dependentServiceCode")
k = 0
count_k = jResp.SizeOfArray("products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup")
While k < count_k
jResp.K = k
dependencyRuleName = jResp.StringOf("products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyRuleName")
dependencyDescription = jResp.StringOf("products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyDescription")
dependencyCondition = jResp.StringOf("products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyCondition")
json1 = jResp.ObjectOf("products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k]")
i1 = 0
count_i1 = json1.SizeOfArray("requiredServiceCodes")
While i1 < count_i1
json1.I = i1
Value = json1.StringOf("requiredServiceCodes[i].serviceCode.value")
i1 = i1 + 1
End While
k = k + 1
End While
j = j + 1
End While
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("warnings")
While i < count_i
jResp.I = i
strVal = jResp.StringOf("warnings[i]")
i = i + 1
End While
Curl Command
curl -G -d "accountNumber=Ut%20aliqua"
-d "originCountryCode=CZ"
-d "originPostalCode=14800"
-d "originCityName=Prague"
-d "destinationCountryCode=CZ"
-d "destinationPostalCode=14800"
-d "destinationCityName=Prague"
-d "weight=502356858543.692"
-d "length=1581008670.588"
-d "width=335941494.827"
-d "height=1808157249.254"
-d "plannedShippingDate=2020-02-26"
-d "isCustomsDeclarable=false"
-d "unitOfMeasurement=metric"
-d "nextBusinessDay=false"
-d "strictValidation=false"
-d "getAllValueAddedServices=false"
-d "requestEstimatedDeliveryDate=true"
-d "estimatedDeliveryDateType=QDDF"
-u '<Basic Auth Username>:<Basic Auth Password>'
-H "Message-Reference: d0e7832e-5c98-11ea-bc55-0242ac13"
-H "Message-Reference-Date: Wed, 21 Oct 2015 07:28:00 GMT"
-H "Plugin-Name: "
-H "Plugin-Version: "
-H "Shipping-System-Platform-Name: "
-H "Shipping-System-Platform-Version: "
-H "Webstore-Platform-Name: "
-H "Webstore-Platform-Version: "
-H "Accept: application/json"
https://api-mock.dhl.com/mydhlapi/products
Postman Collection Item JSON
{
"name": "Retrieve available DHL Express products for a one piece Shipment",
"request": {
"method": "GET",
"header": [
{
"description": "Please provide message reference\n",
"key": "Message-Reference",
"value": "d0e7832e-5c98-11ea-bc55-0242ac13"
},
{
"description": "Optional reference date in the HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2",
"key": "Message-Reference-Date",
"value": "Wed, 21 Oct 2015 07:28:00 GMT"
},
{
"description": "Please provide name of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Name",
"value": " "
},
{
"description": "Please provide version of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Version",
"value": " "
},
{
"description": "Please provide name of the shipping platform(applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the shipping platform (applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Version",
"value": " "
},
{
"description": "Please provide name of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Version",
"value": " "
},
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/products?accountNumber=Ut aliqua&originCountryCode=CZ&originPostalCode=14800&originCityName=Prague&destinationCountryCode=CZ&destinationPostalCode=14800&destinationCityName=Prague&weight=502356858543.692&length=1581008670.588&width=335941494.827&height=1808157249.254&plannedShippingDate=2020-02-26&isCustomsDeclarable=false&unitOfMeasurement=metric&nextBusinessDay=false&strictValidation=false&getAllValueAddedServices=false&requestEstimatedDeliveryDate=true&estimatedDeliveryDateType=QDDF",
"host": [
"{{baseUrl}}"
],
"path": [
"products"
],
"query": [
{
"key": "accountNumber",
"value": "Ut aliqua",
"description": "(Required) DHL Express customer account number"
},
{
"key": "originCountryCode",
"value": "CZ",
"description": "(Required) A short text string code (see values defined in ISO 3166) specifying the shipment origin country. https://gs1.org/voc/Country, Alpha-2 Code"
},
{
"key": "originPostalCode",
"value": "14800",
"description": "Text specifying the postal code for an address. https://gs1.org/voc/postalCode"
},
{
"key": "originCityName",
"value": "Prague",
"description": "(Required) Text specifying the city name"
},
{
"key": "destinationCountryCode",
"value": "CZ",
"description": "(Required) A short text string code (see values defined in ISO 3166) specifying the shipment destination country. https://gs1.org/voc/Country, Alpha-2 Code"
},
{
"key": "destinationPostalCode",
"value": "14800",
"description": "Text specifying the postal code for an address. https://gs1.org/voc/postalCode"
},
{
"key": "destinationCityName",
"value": "Prague",
"description": "(Required) Text specifying the city name"
},
{
"key": "weight",
"value": "502356858543.692",
"description": "(Required) Gross weight of the shipment including packaging."
},
{
"key": "length",
"value": "1581008670.588",
"description": "(Required) Total length of the shipment including packaging."
},
{
"key": "width",
"value": "335941494.827",
"description": "(Required) Total width of the shipment including packaging."
},
{
"key": "height",
"value": "1808157249.254",
"description": "(Required) Total height of the shipment including packaging."
},
{
"key": "plannedShippingDate",
"value": "2020-02-26",
"description": "(Required) Timestamp represents the date you plan to ship your prospected shipment\n"
},
{
"key": "isCustomsDeclarable",
"value": "false",
"description": "(Required) "
},
{
"key": "unitOfMeasurement",
"value": "metric",
"description": "(Required) 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.\n"
},
{
"key": "nextBusinessDay",
"value": "false",
"description": "When set to true and there are no products available for given plannedShippingDate then products available for the next possible pickup date are returned\n"
},
{
"key": "strictValidation",
"value": "false",
"description": "If set to true, indicate strict DCT validation of address details, and validation of product and service(s) combination provided in request."
},
{
"key": "getAllValueAddedServices",
"value": "false",
"description": "Option to return list of all value added services and its rule groups if applicable"
},
{
"key": "requestEstimatedDeliveryDate",
"value": "true",
"description": "Option to return Estimated Delivery Date in response"
},
{
"key": "estimatedDeliveryDateType",
"value": "QDDF",
"description": "Estimated Delivery Date Type. QDDF: is the fastest 'docs' transit time as quoted to the customer at booking or shipment creation. No custom clearance is considered. QDDC: constitutes DHL's service commitment as quoted at booking or shipment creation. QDDc builds in clearance time, and potentially other special perational non-transport component(s), when relevant. "
}
]
},
"description": "The GET Products API will return DHL's product capabilities for a certain set of input data. \nUsing the shipper and receiver address as well as the dimension and weight of the piece belonging to a shipment, this operation returns the available products.\n"
},
"response": [
{
"name": "Products found",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
},
{
"description": "Please provide message reference\n",
"key": "Message-Reference",
"value": "d0e7832e-5c98-11ea-bc55-0242ac13"
},
{
"description": "Optional reference date in the HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2",
"key": "Message-Reference-Date",
"value": "Wed, 21 Oct 2015 07:28:00 GMT"
},
{
"description": "Please provide name of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Name",
"value": " "
},
{
"description": "Please provide version of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Version",
"value": " "
},
{
"description": "Please provide name of the shipping platform(applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the shipping platform (applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Version",
"value": " "
},
{
"description": "Please provide name of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Version",
"value": " "
}
],
"url": {
"raw": "{{baseUrl}}/products?accountNumber=Ut aliqua&originCountryCode=CZ&originPostalCode=14800&originCityName=Prague&destinationCountryCode=CZ&destinationPostalCode=14800&destinationCityName=Prague&weight=502356858543.692&length=1581008670.588&width=335941494.827&height=1808157249.254&plannedShippingDate=2020-02-26&isCustomsDeclarable=false&unitOfMeasurement=metric&nextBusinessDay=false&strictValidation=false&getAllValueAddedServices=false&requestEstimatedDeliveryDate=true&estimatedDeliveryDateType=QDDF",
"host": [
"{{baseUrl}}"
],
"path": [
"products"
],
"query": [
{
"key": "accountNumber",
"value": "Ut aliqua"
},
{
"key": "originCountryCode",
"value": "CZ"
},
{
"key": "originPostalCode",
"value": "14800"
},
{
"key": "originCityName",
"value": "Prague"
},
{
"key": "destinationCountryCode",
"value": "CZ"
},
{
"key": "destinationPostalCode",
"value": "14800"
},
{
"key": "destinationCityName",
"value": "Prague"
},
{
"key": "weight",
"value": "502356858543.692"
},
{
"key": "length",
"value": "1581008670.588"
},
{
"key": "width",
"value": "335941494.827"
},
{
"key": "height",
"value": "1808157249.254"
},
{
"key": "plannedShippingDate",
"value": "2020-02-26"
},
{
"key": "isCustomsDeclarable",
"value": "false"
},
{
"key": "unitOfMeasurement",
"value": "metric"
},
{
"key": "nextBusinessDay",
"value": "false"
},
{
"key": "strictValidation",
"value": "false"
},
{
"key": "getAllValueAddedServices",
"value": "false"
},
{
"key": "requestEstimatedDeliveryDate",
"value": "true"
},
{
"key": "estimatedDeliveryDateType",
"value": "QDDF"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"products\": [\n {\n \"productName\": \"EXPRESS 12:00 DOC\",\n \"productCode\": \"T\",\n \"localProductCode\": \"T\",\n \"localProductCountryCode\": \"US\",\n \"networkTypeCode\": \"TD\",\n \"isCustomerAgreement\": false,\n \"weight\": {\n \"volumetric\": 100,\n \"provided\": 50,\n \"unitOfMeasurement\": \"metric\"\n },\n \"breakdown\": [\n {\n \"name\": \"EXPRESS 12:00 DOC\",\n \"serviceCode\": \"AB\",\n \"localServiceCode\": \"AB\",\n \"typeCode\": \"EXPRESS 12:00\",\n \"serviceTypeCode\": \"XCH\",\n \"isCustomerAgreement\": false,\n \"isMarketedService\": false,\n \"isBillingServiceIndicator\": false\n },\n {\n \"name\": \"EXPRESS 12:00 DOC\",\n \"serviceCode\": \"AB\",\n \"localServiceCode\": \"AB\",\n \"typeCode\": \"EXPRESS 12:00\",\n \"serviceTypeCode\": \"XCH\",\n \"isCustomerAgreement\": false,\n \"isMarketedService\": false,\n \"isBillingServiceIndicator\": false\n }\n ],\n \"serviceCodeMutuallyExclusiveGroups\": [\n {\n \"serviceCodeRuleName\": \"Exclusive Billing Services\",\n \"description\": \"Mutually exclusive Billing Services - shipment can contain just one of following\",\n \"serviceCodes\": [\n {\n \"serviceCode\": \"PZ\"\n },\n {\n \"serviceCode\": \"PZ\"\n }\n ]\n },\n {\n \"serviceCodeRuleName\": \"Exclusive Billing Services\",\n \"description\": \"Mutually exclusive Billing Services - shipment can contain just one of following\",\n \"serviceCodes\": [\n {\n \"serviceCode\": \"PZ\"\n },\n {\n \"serviceCode\": \"PZ\"\n }\n ]\n }\n ],\n \"serviceCodeDependencyRuleGroups\": [\n {\n \"dependentServiceCode\": \"PZ\",\n \"dependencyRuleGroup\": [\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n },\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n }\n ]\n },\n {\n \"dependentServiceCode\": \"PZ\",\n \"dependencyRuleGroup\": [\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n },\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n }\n ]\n }\n ],\n \"pickupCapabilities\": {\n \"nextBusinessDay\": false,\n \"localCutoffDateAndTime\": \"2019-09-18T15:00:00\",\n \"GMTCutoffTime\": \"16:00:00\",\n \"pickupEarliest\": \"09:30:00\",\n \"pickupLatest\": \"16:00:00\",\n \"originServiceAreaCode\": \"ELA\",\n \"originFacilityAreaCode\": \"ELA\",\n \"pickupAdditionalDays\": 0,\n \"pickupDayOfWeek\": 3\n },\n \"deliveryCapabilities\": {\n \"deliveryTypeCode\": \"QDDC\",\n \"estimatedDeliveryDateAndTime\": \"2019-09-20T12:00:00\",\n \"destinationServiceAreaCode\": \"PRG\",\n \"destinationFacilityAreaCode\": \"PR3\",\n \"deliveryAdditionalDays\": 0,\n \"deliveryDayOfWeek\": 5,\n \"totalTransitDays\": 2\n }\n },\n {\n \"productName\": \"EXPRESS 12:00 DOC\",\n \"productCode\": \"T\",\n \"localProductCode\": \"T\",\n \"localProductCountryCode\": \"US\",\n \"networkTypeCode\": \"TD\",\n \"isCustomerAgreement\": false,\n \"weight\": {\n \"volumetric\": 100,\n \"provided\": 50,\n \"unitOfMeasurement\": \"metric\"\n },\n \"breakdown\": [\n {\n \"name\": \"EXPRESS 12:00 DOC\",\n \"serviceCode\": \"AB\",\n \"localServiceCode\": \"AB\",\n \"typeCode\": \"EXPRESS 12:00\",\n \"serviceTypeCode\": \"XCH\",\n \"isCustomerAgreement\": false,\n \"isMarketedService\": false,\n \"isBillingServiceIndicator\": false\n },\n {\n \"name\": \"EXPRESS 12:00 DOC\",\n \"serviceCode\": \"AB\",\n \"localServiceCode\": \"AB\",\n \"typeCode\": \"EXPRESS 12:00\",\n \"serviceTypeCode\": \"XCH\",\n \"isCustomerAgreement\": false,\n \"isMarketedService\": false,\n \"isBillingServiceIndicator\": false\n }\n ],\n \"serviceCodeMutuallyExclusiveGroups\": [\n {\n \"serviceCodeRuleName\": \"Exclusive Billing Services\",\n \"description\": \"Mutually exclusive Billing Services - shipment can contain just one of following\",\n \"serviceCodes\": [\n {\n \"serviceCode\": \"PZ\"\n },\n {\n \"serviceCode\": \"PZ\"\n }\n ]\n },\n {\n \"serviceCodeRuleName\": \"Exclusive Billing Services\",\n \"description\": \"Mutually exclusive Billing Services - shipment can contain just one of following\",\n \"serviceCodes\": [\n {\n \"serviceCode\": \"PZ\"\n },\n {\n \"serviceCode\": \"PZ\"\n }\n ]\n }\n ],\n \"serviceCodeDependencyRuleGroups\": [\n {\n \"dependentServiceCode\": \"PZ\",\n \"dependencyRuleGroup\": [\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n },\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n }\n ]\n },\n {\n \"dependentServiceCode\": \"PZ\",\n \"dependencyRuleGroup\": [\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n },\n {\n \"dependencyRuleName\": \"Labelfree and PLT rule\",\n \"dependencyDescription\": \"Labelfree requires Paperless Trade (PLT) only if PLT is allowed for product globaly\",\n \"dependencyCondition\": \"Must provide the requiredServiceCode if it is allowed for the productCode\",\n \"requiredServiceCodes\": [\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n },\n {\n \"serviceCode\": {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n }\n ]\n }\n ]\n }\n ],\n \"pickupCapabilities\": {\n \"nextBusinessDay\": false,\n \"localCutoffDateAndTime\": \"2019-09-18T15:00:00\",\n \"GMTCutoffTime\": \"16:00:00\",\n \"pickupEarliest\": \"09:30:00\",\n \"pickupLatest\": \"16:00:00\",\n \"originServiceAreaCode\": \"ELA\",\n \"originFacilityAreaCode\": \"ELA\",\n \"pickupAdditionalDays\": 0,\n \"pickupDayOfWeek\": 3\n },\n \"deliveryCapabilities\": {\n \"deliveryTypeCode\": \"QDDC\",\n \"estimatedDeliveryDateAndTime\": \"2019-09-20T12:00:00\",\n \"destinationServiceAreaCode\": \"PRG\",\n \"destinationFacilityAreaCode\": \"PR3\",\n \"deliveryAdditionalDays\": 0,\n \"deliveryDayOfWeek\": 5,\n \"totalTransitDays\": 2\n }\n }\n ],\n \"warnings\": [\n \"Limited products capabilities\",\n \"Limited products capabilities\"\n ]\n}"
},
{
"name": "Wrong input parameters",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
},
{
"description": "Please provide message reference\n",
"key": "Message-Reference",
"value": "d0e7832e-5c98-11ea-bc55-0242ac13"
},
{
"description": "Optional reference date in the HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2",
"key": "Message-Reference-Date",
"value": "Wed, 21 Oct 2015 07:28:00 GMT"
},
{
"description": "Please provide name of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Name",
"value": " "
},
{
"description": "Please provide version of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Version",
"value": " "
},
{
"description": "Please provide name of the shipping platform(applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the shipping platform (applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Version",
"value": " "
},
{
"description": "Please provide name of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Version",
"value": " "
}
],
"url": {
"raw": "{{baseUrl}}/products?accountNumber=Ut aliqua&originCountryCode=CZ&originPostalCode=14800&originCityName=Prague&destinationCountryCode=CZ&destinationPostalCode=14800&destinationCityName=Prague&weight=502356858543.692&length=1581008670.588&width=335941494.827&height=1808157249.254&plannedShippingDate=2020-02-26&isCustomsDeclarable=false&unitOfMeasurement=metric&nextBusinessDay=false&strictValidation=false&getAllValueAddedServices=false&requestEstimatedDeliveryDate=true&estimatedDeliveryDateType=QDDF",
"host": [
"{{baseUrl}}"
],
"path": [
"products"
],
"query": [
{
"key": "accountNumber",
"value": "Ut aliqua"
},
{
"key": "originCountryCode",
"value": "CZ"
},
{
"key": "originPostalCode",
"value": "14800"
},
{
"key": "originCityName",
"value": "Prague"
},
{
"key": "destinationCountryCode",
"value": "CZ"
},
{
"key": "destinationPostalCode",
"value": "14800"
},
{
"key": "destinationCityName",
"value": "Prague"
},
{
"key": "weight",
"value": "502356858543.692"
},
{
"key": "length",
"value": "1581008670.588"
},
{
"key": "width",
"value": "335941494.827"
},
{
"key": "height",
"value": "1808157249.254"
},
{
"key": "plannedShippingDate",
"value": "2020-02-26"
},
{
"key": "isCustomsDeclarable",
"value": "false"
},
{
"key": "unitOfMeasurement",
"value": "metric"
},
{
"key": "nextBusinessDay",
"value": "false"
},
{
"key": "strictValidation",
"value": "false"
},
{
"key": "getAllValueAddedServices",
"value": "false"
},
{
"key": "requestEstimatedDeliveryDate",
"value": "true"
},
{
"key": "estimatedDeliveryDateType",
"value": "QDDF"
}
]
}
},
"status": "Bad Request",
"code": 400,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"instance\": \"/expressapi/products\",\n \"detail\": \"The account number is not found or invalid. Please check the account number and retry.\",\n \"title\": \"Bad request\",\n \"message\": \"Bad request\",\n \"status\": \"400\"\n}"
},
{
"name": "Process errors",
"originalRequest": {
"method": "GET",
"header": [
{
"description": "Added as a part of security scheme: basic",
"key": "Authorization",
"value": "Basic <credentials>"
},
{
"description": "Please provide message reference\n",
"key": "Message-Reference",
"value": "d0e7832e-5c98-11ea-bc55-0242ac13"
},
{
"description": "Optional reference date in the HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2",
"key": "Message-Reference-Date",
"value": "Wed, 21 Oct 2015 07:28:00 GMT"
},
{
"description": "Please provide name of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Name",
"value": " "
},
{
"description": "Please provide version of the plugin (applicable to 3PV only)\n",
"key": "Plugin-Version",
"value": " "
},
{
"description": "Please provide name of the shipping platform(applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the shipping platform (applicable to 3PV only)\n",
"key": "Shipping-System-Platform-Version",
"value": " "
},
{
"description": "Please provide name of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Name",
"value": " "
},
{
"description": "Please provide version of the webstore platform (applicable to 3PV only)\n",
"key": "Webstore-Platform-Version",
"value": " "
}
],
"url": {
"raw": "{{baseUrl}}/products?accountNumber=Ut aliqua&originCountryCode=CZ&originPostalCode=14800&originCityName=Prague&destinationCountryCode=CZ&destinationPostalCode=14800&destinationCityName=Prague&weight=502356858543.692&length=1581008670.588&width=335941494.827&height=1808157249.254&plannedShippingDate=2020-02-26&isCustomsDeclarable=false&unitOfMeasurement=metric&nextBusinessDay=false&strictValidation=false&getAllValueAddedServices=false&requestEstimatedDeliveryDate=true&estimatedDeliveryDateType=QDDF",
"host": [
"{{baseUrl}}"
],
"path": [
"products"
],
"query": [
{
"key": "accountNumber",
"value": "Ut aliqua"
},
{
"key": "originCountryCode",
"value": "CZ"
},
{
"key": "originPostalCode",
"value": "14800"
},
{
"key": "originCityName",
"value": "Prague"
},
{
"key": "destinationCountryCode",
"value": "CZ"
},
{
"key": "destinationPostalCode",
"value": "14800"
},
{
"key": "destinationCityName",
"value": "Prague"
},
{
"key": "weight",
"value": "502356858543.692"
},
{
"key": "length",
"value": "1581008670.588"
},
{
"key": "width",
"value": "335941494.827"
},
{
"key": "height",
"value": "1808157249.254"
},
{
"key": "plannedShippingDate",
"value": "2020-02-26"
},
{
"key": "isCustomsDeclarable",
"value": "false"
},
{
"key": "unitOfMeasurement",
"value": "metric"
},
{
"key": "nextBusinessDay",
"value": "false"
},
{
"key": "strictValidation",
"value": "false"
},
{
"key": "getAllValueAddedServices",
"value": "false"
},
{
"key": "requestEstimatedDeliveryDate",
"value": "true"
},
{
"key": "estimatedDeliveryDateType",
"value": "QDDF"
}
]
}
},
"status": "Internal Server Error",
"code": 500,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"instance\": \"/expressapi/products\",\n \"detail\": \"999: Process failure occurred. Process ID associated for that transaction (1234567890)\",\n \"title\": \"Internal Server Error\",\n \"message\": \"Internal Server Error\",\n \"code\": \"500\"\n}"
}
]
}