Chilkat Online Tools

PureBasic / DHL Express APIs (MyDHL API) / Retrieve available DHL Express products for a one piece Shipment

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"

Procedure ChilkatExample()

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    CkHttp::setCkBasicAuth(http, 1)
    CkHttp::setCkLogin(http, "<Basic Auth Username>")
    CkHttp::setCkPassword(http, "<Basic Auth Password>")

    queryParams.i = CkJsonObject::ckCreate()
    If queryParams.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(queryParams,"accountNumber","Ut aliqua")
    CkJsonObject::ckUpdateString(queryParams,"originCountryCode","CZ")
    CkJsonObject::ckUpdateInt(queryParams,"originPostalCode",14800)
    CkJsonObject::ckUpdateString(queryParams,"originCityName","Prague")
    CkJsonObject::ckUpdateString(queryParams,"destinationCountryCode","CZ")
    CkJsonObject::ckUpdateInt(queryParams,"destinationPostalCode",14800)
    CkJsonObject::ckUpdateString(queryParams,"destinationCityName","Prague")
    CkJsonObject::ckUpdateString(queryParams,"weight","502356858543.692")
    CkJsonObject::ckUpdateString(queryParams,"length","1581008670.588")
    CkJsonObject::ckUpdateString(queryParams,"width","335941494.827")
    CkJsonObject::ckUpdateString(queryParams,"height","1808157249.254")
    CkJsonObject::ckUpdateString(queryParams,"plannedShippingDate","2020-02-26")
    CkJsonObject::ckUpdateString(queryParams,"isCustomsDeclarable","false")
    CkJsonObject::ckUpdateString(queryParams,"unitOfMeasurement","metric")
    CkJsonObject::ckUpdateString(queryParams,"nextBusinessDay","false")
    CkJsonObject::ckUpdateString(queryParams,"strictValidation","false")
    CkJsonObject::ckUpdateString(queryParams,"getAllValueAddedServices","false")
    CkJsonObject::ckUpdateString(queryParams,"requestEstimatedDeliveryDate","true")
    CkJsonObject::ckUpdateString(queryParams,"estimatedDeliveryDateType","QDDF")

    CkHttp::ckSetRequestHeader(http,"Webstore-Platform-Name","")
    CkHttp::ckSetRequestHeader(http,"Shipping-System-Platform-Name","")
    CkHttp::ckSetRequestHeader(http,"Message-Reference","d0e7832e-5c98-11ea-bc55-0242ac13")
    CkHttp::ckSetRequestHeader(http,"Plugin-Version","")
    CkHttp::ckSetRequestHeader(http,"Plugin-Name","")
    CkHttp::ckSetRequestHeader(http,"Shipping-System-Platform-Version","")
    CkHttp::ckSetRequestHeader(http,"Accept","application/json")
    CkHttp::ckSetRequestHeader(http,"Message-Reference-Date","Wed, 21 Oct 2015 07:28:00 GMT")
    CkHttp::ckSetRequestHeader(http,"Webstore-Platform-Version","")

    resp.i = CkHttp::ckQuickRequestParams(http,"GET","https://api-mock.dhl.com/mydhlapi/products",queryParams)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        ProcedureReturn
    EndIf

    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpResponse::ckGetBodySb(resp,sbResponseBody)

    jResp.i = CkJsonObject::ckCreate()
    If jResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jResp,sbResponseBody)
    CkJsonObject::setCkEmitCompact(jResp, 0)

    Debug "Response Body:"
    Debug CkJsonObject::ckEmit(jResp)

    respStatusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "Response Status Code = " + Str(respStatusCode)
    If respStatusCode >= 400
        Debug "Response Header:"
        Debug CkHttpResponse::ckHeader(resp)
        Debug "Failed."
        CkHttpResponse::ckDispose(resp)

        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        CkStringBuilder::ckDispose(sbResponseBody)
        CkJsonObject::ckDispose(jResp)
        ProcedureReturn
    EndIf

    CkHttpResponse::ckDispose(resp)

    ; 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

    productName.s
    productCode.s
    localProductCode.s
    localProductCountryCode.s
    networkTypeCode.s
    isCustomerAgreement.i
    Volumetric.i
    Provided.i
    UnitOfMeasurement.s
    NextBusinessDay.i
    LocalCutoffDateAndTime.s
    GMTCutoffTime.s
    PickupEarliest.s
    PickupLatest.s
    OriginServiceAreaCode.s
    OriginFacilityAreaCode.s
    PickupAdditionalDays.i
    PickupDayOfWeek.i
    DeliveryTypeCode.s
    EstimatedDeliveryDateAndTime.s
    DestinationServiceAreaCode.s
    DestinationFacilityAreaCode.s
    DeliveryAdditionalDays.i
    DeliveryDayOfWeek.i
    TotalTransitDays.i
    j.i
    count_j.i
    name.s
    serviceCode.s
    localServiceCode.s
    typeCode.s
    serviceTypeCode.s
    isMarketedService.i
    isBillingServiceIndicator.i
    serviceCodeRuleName.s
    description.s
    k.i
    count_k.i
    dependentServiceCode.s
    dependencyRuleName.s
    dependencyDescription.s
    dependencyCondition.s
    json1.i
    i1.i
    count_i1.i
    Value.s
    strVal.s

    i.i = 0
    count_i.i = CkJsonObject::ckSizeOfArray(jResp,"products")
    While i < count_i
        CkJsonObject::setCkI(jResp, i)
        productName = CkJsonObject::ckStringOf(jResp,"products[i].productName")
        productCode = CkJsonObject::ckStringOf(jResp,"products[i].productCode")
        localProductCode = CkJsonObject::ckStringOf(jResp,"products[i].localProductCode")
        localProductCountryCode = CkJsonObject::ckStringOf(jResp,"products[i].localProductCountryCode")
        networkTypeCode = CkJsonObject::ckStringOf(jResp,"products[i].networkTypeCode")
        isCustomerAgreement = CkJsonObject::ckBoolOf(jResp,"products[i].isCustomerAgreement")
        Volumetric = CkJsonObject::ckIntOf(jResp,"products[i].weight.volumetric")
        Provided = CkJsonObject::ckIntOf(jResp,"products[i].weight.provided")
        UnitOfMeasurement = CkJsonObject::ckStringOf(jResp,"products[i].weight.unitOfMeasurement")
        NextBusinessDay = CkJsonObject::ckBoolOf(jResp,"products[i].pickupCapabilities.nextBusinessDay")
        LocalCutoffDateAndTime = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.localCutoffDateAndTime")
        GMTCutoffTime = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.GMTCutoffTime")
        PickupEarliest = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.pickupEarliest")
        PickupLatest = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.pickupLatest")
        OriginServiceAreaCode = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.originServiceAreaCode")
        OriginFacilityAreaCode = CkJsonObject::ckStringOf(jResp,"products[i].pickupCapabilities.originFacilityAreaCode")
        PickupAdditionalDays = CkJsonObject::ckIntOf(jResp,"products[i].pickupCapabilities.pickupAdditionalDays")
        PickupDayOfWeek = CkJsonObject::ckIntOf(jResp,"products[i].pickupCapabilities.pickupDayOfWeek")
        DeliveryTypeCode = CkJsonObject::ckStringOf(jResp,"products[i].deliveryCapabilities.deliveryTypeCode")
        EstimatedDeliveryDateAndTime = CkJsonObject::ckStringOf(jResp,"products[i].deliveryCapabilities.estimatedDeliveryDateAndTime")
        DestinationServiceAreaCode = CkJsonObject::ckStringOf(jResp,"products[i].deliveryCapabilities.destinationServiceAreaCode")
        DestinationFacilityAreaCode = CkJsonObject::ckStringOf(jResp,"products[i].deliveryCapabilities.destinationFacilityAreaCode")
        DeliveryAdditionalDays = CkJsonObject::ckIntOf(jResp,"products[i].deliveryCapabilities.deliveryAdditionalDays")
        DeliveryDayOfWeek = CkJsonObject::ckIntOf(jResp,"products[i].deliveryCapabilities.deliveryDayOfWeek")
        TotalTransitDays = CkJsonObject::ckIntOf(jResp,"products[i].deliveryCapabilities.totalTransitDays")
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"products[i].breakdown")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            name = CkJsonObject::ckStringOf(jResp,"products[i].breakdown[j].name")
            serviceCode = CkJsonObject::ckStringOf(jResp,"products[i].breakdown[j].serviceCode")
            localServiceCode = CkJsonObject::ckStringOf(jResp,"products[i].breakdown[j].localServiceCode")
            typeCode = CkJsonObject::ckStringOf(jResp,"products[i].breakdown[j].typeCode")
            serviceTypeCode = CkJsonObject::ckStringOf(jResp,"products[i].breakdown[j].serviceTypeCode")
            isCustomerAgreement = CkJsonObject::ckBoolOf(jResp,"products[i].breakdown[j].isCustomerAgreement")
            isMarketedService = CkJsonObject::ckBoolOf(jResp,"products[i].breakdown[j].isMarketedService")
            isBillingServiceIndicator = CkJsonObject::ckBoolOf(jResp,"products[i].breakdown[j].isBillingServiceIndicator")
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"products[i].serviceCodeMutuallyExclusiveGroups")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            serviceCodeRuleName = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodeRuleName")
            description = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeMutuallyExclusiveGroups[j].description")
            k = 0
            count_k = CkJsonObject::ckSizeOfArray(jResp,"products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodes")
            While k < count_k
                CkJsonObject::setCkK(jResp, k)
                serviceCode = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeMutuallyExclusiveGroups[j].serviceCodes[k].serviceCode")
                k = k + 1
            Wend
            j = j + 1
        Wend
        j = 0
        count_j = CkJsonObject::ckSizeOfArray(jResp,"products[i].serviceCodeDependencyRuleGroups")
        While j < count_j
            CkJsonObject::setCkJ(jResp, j)
            dependentServiceCode = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependentServiceCode")
            k = 0
            count_k = CkJsonObject::ckSizeOfArray(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup")
            While k < count_k
                CkJsonObject::setCkK(jResp, k)
                dependencyRuleName = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyRuleName")
                dependencyDescription = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyDescription")
                dependencyCondition = CkJsonObject::ckStringOf(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k].dependencyCondition")

                json1 = CkJsonObject::ckObjectOf(jResp,"products[i].serviceCodeDependencyRuleGroups[j].dependencyRuleGroup[k]")
                i1 = 0
                count_i1 = CkJsonObject::ckSizeOfArray(json1,"requiredServiceCodes")
                While i1 < count_i1
                    CkJsonObject::setCkI(json1, i1)
                    Value = CkJsonObject::ckStringOf(json1,"requiredServiceCodes[i].serviceCode.value")
                    i1 = i1 + 1
                Wend
                CkJsonObject::ckDispose(json1)

                k = k + 1
            Wend
            j = j + 1
        Wend
        i = i + 1
    Wend
    i = 0
    count_i = CkJsonObject::ckSizeOfArray(jResp,"warnings")
    While i < count_i
        CkJsonObject::setCkI(jResp, i)
        strVal = CkJsonObject::ckStringOf(jResp,"warnings[i]")
        i = i + 1
    Wend


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(queryParams)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jResp)


    ProcedureReturn
EndProcedure

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}"
    }
  ]
}