Xojo / 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
success = queryParams.UpdateString("accountNumber","Ut aliqua")
success = queryParams.UpdateString("originCountryCode","CZ")
success = queryParams.UpdateInt("originPostalCode",14800)
success = queryParams.UpdateString("originCityName","Prague")
success = queryParams.UpdateString("destinationCountryCode","CZ")
success = queryParams.UpdateInt("destinationPostalCode",14800)
success = queryParams.UpdateString("destinationCityName","Prague")
success = queryParams.UpdateString("weight","502356858543.692")
success = queryParams.UpdateString("length","1581008670.588")
success = queryParams.UpdateString("width","335941494.827")
success = queryParams.UpdateString("height","1808157249.254")
success = queryParams.UpdateString("plannedShippingDate","2020-02-26")
success = queryParams.UpdateString("isCustomsDeclarable","false")
success = queryParams.UpdateString("unitOfMeasurement","metric")
success = queryParams.UpdateString("nextBusinessDay","false")
success = queryParams.UpdateString("strictValidation","false")
success = queryParams.UpdateString("getAllValueAddedServices","false")
success = queryParams.UpdateString("requestEstimatedDeliveryDate","true")
success = 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
resp = http.QuickRequestParams("GET","https://api-mock.dhl.com/mydhlapi/products",queryParams)
If (http.LastMethodSuccess = False) Then
System.DebugLog(http.LastErrorText)
Return
End If
Dim sbResponseBody As New Chilkat.StringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())
Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
System.DebugLog("Response Header:")
System.DebugLog(resp.Header)
System.DebugLog("Failed.")
Return
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 Int32
Dim Provided As Int32
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 Int32
Dim PickupDayOfWeek As Int32
Dim DeliveryTypeCode As String
Dim EstimatedDeliveryDateAndTime As String
Dim DestinationServiceAreaCode As String
Dim DestinationFacilityAreaCode As String
Dim DeliveryAdditionalDays As Int32
Dim DeliveryDayOfWeek As Int32
Dim TotalTransitDays As Int32
Dim j As Int32
Dim count_j As Int32
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 Int32
Dim count_k As Int32
Dim dependentServiceCode As String
Dim dependencyRuleName As String
Dim dependencyDescription As String
Dim dependencyCondition As String
Dim json1 As Chilkat.JsonObject
Dim i1 As Int32
Dim count_i1 As Int32
Dim Value As String
Dim strVal As String
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = 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
Wend
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
Wend
j = j + 1
Wend
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
Wend
k = k + 1
Wend
j = j + 1
Wend
i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("warnings")
While i < count_i
jResp.I = i
strVal = jResp.StringOf("warnings[i]")
i = i + 1
Wend
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}"
}
]
}