Chilkat Online Tools

unicodeC / DHL Express APIs (MyDHL API) / Create a DHL Express pickup booking request

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkJsonObjectW json;
    HCkHttpResponseW resp;
    HCkStringBuilderW sbResponseBody;
    HCkJsonObjectW jResp;
    int respStatusCode;
    const wchar_t *strVal;
    const wchar_t *readyByTime;
    const wchar_t *nextPickupDate;
    int i;
    int count_i;

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

    http = CkHttpW_Create();

    CkHttpW_putBasicAuth(http,TRUE);
    CkHttpW_putLogin(http,L"<Basic Auth Username>");
    CkHttpW_putPassword(http,L"<Basic Auth Password>");

    // Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //   "plannedPickupDateAndTime": "2019-08-04T14:00:31GMT+01:00",
    //   "accounts": [
    //     {
    //       "typeCode": "shipper",
    //       "number": "123456789"
    //     }
    //   ],
    //   "customerDetails": {
    //     "shipperDetails": {
    //       "postalAddress": {
    //         "postalCode": "14800",
    //         "cityName": "Prague",
    //         "countryCode": "CZ",
    //         "addressLine1": "V Parku 2308/10",
    //         "provinceCode": "CZ",
    //         "addressLine2": "addres2",
    //         "addressLine3": "addres3",
    //         "countyName": "Central Bohemia"
    //       },
    //       "contactInformation": {
    //         "phone": "+1123456789",
    //         "companyName": "Company Name",
    //         "fullName": "John Brew",
    //         "email": "that@before.de",
    //         "mobilePhone": "+60112345678"
    //       }
    //     },
    //     "receiverDetails": {
    //       "postalAddress": {
    //         "postalCode": "14800",
    //         "cityName": "Prague",
    //         "countryCode": "CZ",
    //         "addressLine1": "V Parku 2308/10",
    //         "provinceCode": "CZ",
    //         "addressLine2": "addres2",
    //         "addressLine3": "addres3",
    //         "countyName": "Central Bohemia"
    //       },
    //       "contactInformation": {
    //         "phone": "+1123456789",
    //         "companyName": "Company Name",
    //         "fullName": "John Brew",
    //         "email": "that@before.de",
    //         "mobilePhone": "+60112345678"
    //       }
    //     },
    //     "bookingRequestorDetails": {
    //       "contactInformation": {
    //         "phone": "+1123456789",
    //         "companyName": "Company Name",
    //         "fullName": "John Brew",
    //         "email": "that@before.de",
    //         "mobilePhone": "+60112345678"
    //       },
    //       "postalAddress": {
    //         "postalCode": "14800",
    //         "cityName": "Prague",
    //         "countryCode": "CZ",
    //         "addressLine1": "V Parku 2308/10",
    //         "provinceCode": "CZ",
    //         "addressLine2": "addres2",
    //         "addressLine3": "addres3",
    //         "countyName": "Central Bohemia"
    //       }
    //     },
    //     "pickupDetails": {
    //       "postalAddress": {
    //         "postalCode": "14800",
    //         "cityName": "Prague",
    //         "countryCode": "CZ",
    //         "addressLine1": "V Parku 2308/10",
    //         "provinceCode": "CZ",
    //         "addressLine2": "addres2",
    //         "addressLine3": "addres3",
    //         "countyName": "Central Bohemia"
    //       },
    //       "contactInformation": {
    //         "phone": "+1123456789",
    //         "companyName": "Company Name",
    //         "fullName": "John Brew",
    //         "email": "that@before.de",
    //         "mobilePhone": "+60112345678"
    //       }
    //     }
    //   },
    //   "shipmentDetails": [
    //     {
    //       "productCode": "amet",
    //       "isCustomsDeclarable": false,
    //       "unitOfMeasurement": "metric",
    //       "packages": [
    //         {
    //           "weight": 10.5,
    //           "dimensions": {
    //             "length": 25,
    //             "width": 35,
    //             "height": 15
    //           },
    //           "typeCode": "3BX"
    //         }
    //       ],
    //       "localProductCode": "sed",
    //       "accounts": [
    //         {
    //           "typeCode": "shipper",
    //           "number": "123456789"
    //         },
    //         {
    //           "typeCode": "shipper",
    //           "number": "123456789"
    //         }
    //       ],
    //       "valueAddedServices": [
    //         {
    //           "serviceCode": "II",
    //           "localServiceCode": "II",
    //           "value": 100,
    //           "currency": "GBP",
    //           "method": "cash"
    //         },
    //         {
    //           "serviceCode": "II",
    //           "localServiceCode": "II",
    //           "value": 100,
    //           "currency": "GBP",
    //           "method": "cash"
    //         }
    //       ],
    //       "declaredValue": 150,
    //       "declaredValueCurrency": "CZK",
    //       "shipmentTrackingNumber": "123456790"
    //     }
    //   ],
    //   "closeTime": "18:00",
    //   "location": "reception",
    //   "locationType": "residence",
    //   "specialInstructions": [
    //     {
    //       "value": "please ring door bell",
    //       "typeCode": "TBD"
    //     }
    //   ],
    //   "remark": "velit reprehenderit anim esse"
    // }

    json = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(json,L"plannedPickupDateAndTime",L"2019-08-04T14:00:31GMT+01:00");
    CkJsonObjectW_UpdateString(json,L"accounts[0].typeCode",L"shipper");
    CkJsonObjectW_UpdateString(json,L"accounts[0].number",L"123456789");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.postalCode",L"14800");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.cityName",L"Prague");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.countryCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.addressLine1",L"V Parku 2308/10");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.provinceCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.addressLine2",L"addres2");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.addressLine3",L"addres3");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.postalAddress.countyName",L"Central Bohemia");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.contactInformation.phone",L"+1123456789");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.contactInformation.companyName",L"Company Name");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.contactInformation.fullName",L"John Brew");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.contactInformation.email",L"that@before.de");
    CkJsonObjectW_UpdateString(json,L"customerDetails.shipperDetails.contactInformation.mobilePhone",L"+60112345678");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.postalCode",L"14800");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.cityName",L"Prague");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.countryCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.addressLine1",L"V Parku 2308/10");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.provinceCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.addressLine2",L"addres2");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.addressLine3",L"addres3");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.postalAddress.countyName",L"Central Bohemia");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.contactInformation.phone",L"+1123456789");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.contactInformation.companyName",L"Company Name");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.contactInformation.fullName",L"John Brew");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.contactInformation.email",L"that@before.de");
    CkJsonObjectW_UpdateString(json,L"customerDetails.receiverDetails.contactInformation.mobilePhone",L"+60112345678");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.contactInformation.phone",L"+1123456789");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.contactInformation.companyName",L"Company Name");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.contactInformation.fullName",L"John Brew");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.contactInformation.email",L"that@before.de");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.contactInformation.mobilePhone",L"+60112345678");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.postalCode",L"14800");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.cityName",L"Prague");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.countryCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.addressLine1",L"V Parku 2308/10");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.provinceCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.addressLine2",L"addres2");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.addressLine3",L"addres3");
    CkJsonObjectW_UpdateString(json,L"customerDetails.bookingRequestorDetails.postalAddress.countyName",L"Central Bohemia");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.postalCode",L"14800");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.cityName",L"Prague");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.countryCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.addressLine1",L"V Parku 2308/10");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.provinceCode",L"CZ");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.addressLine2",L"addres2");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.addressLine3",L"addres3");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.postalAddress.countyName",L"Central Bohemia");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.contactInformation.phone",L"+1123456789");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.contactInformation.companyName",L"Company Name");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.contactInformation.fullName",L"John Brew");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.contactInformation.email",L"that@before.de");
    CkJsonObjectW_UpdateString(json,L"customerDetails.pickupDetails.contactInformation.mobilePhone",L"+60112345678");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].productCode",L"amet");
    CkJsonObjectW_UpdateBool(json,L"shipmentDetails[0].isCustomsDeclarable",FALSE);
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].unitOfMeasurement",L"metric");
    CkJsonObjectW_UpdateNumber(json,L"shipmentDetails[0].packages[0].weight",L"10.5");
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].packages[0].dimensions.length",25);
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].packages[0].dimensions.width",35);
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].packages[0].dimensions.height",15);
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].packages[0].typeCode",L"3BX");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].localProductCode",L"sed");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].accounts[0].typeCode",L"shipper");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].accounts[0].number",L"123456789");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].accounts[1].typeCode",L"shipper");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].accounts[1].number",L"123456789");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[0].serviceCode",L"II");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[0].localServiceCode",L"II");
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].valueAddedServices[0].value",100);
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[0].currency",L"GBP");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[0].method",L"cash");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[1].serviceCode",L"II");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[1].localServiceCode",L"II");
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].valueAddedServices[1].value",100);
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[1].currency",L"GBP");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].valueAddedServices[1].method",L"cash");
    CkJsonObjectW_UpdateInt(json,L"shipmentDetails[0].declaredValue",150);
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].declaredValueCurrency",L"CZK");
    CkJsonObjectW_UpdateString(json,L"shipmentDetails[0].shipmentTrackingNumber",L"123456790");
    CkJsonObjectW_UpdateString(json,L"closeTime",L"18:00");
    CkJsonObjectW_UpdateString(json,L"location",L"reception");
    CkJsonObjectW_UpdateString(json,L"locationType",L"residence");
    CkJsonObjectW_UpdateString(json,L"specialInstructions[0].value",L"please ring door bell");
    CkJsonObjectW_UpdateString(json,L"specialInstructions[0].typeCode",L"TBD");
    CkJsonObjectW_UpdateString(json,L"remark",L"velit reprehenderit anim esse");

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

    resp = CkHttpW_PostJson3(http,L"https://api-mock.dhl.com/mydhlapi/pickups",L"application/json",json);
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        return;
    }

    sbResponseBody = CkStringBuilderW_Create();
    CkHttpResponseW_GetBodySb(resp,sbResponseBody);

    jResp = CkJsonObjectW_Create();
    CkJsonObjectW_LoadSb(jResp,sbResponseBody);
    CkJsonObjectW_putEmitCompact(jResp,FALSE);

    wprintf(L"Response Body:\n");
    wprintf(L"%s\n",CkJsonObjectW_emit(jResp));

    respStatusCode = CkHttpResponseW_getStatusCode(resp);
    wprintf(L"Response Status Code = %d\n",respStatusCode);
    if (respStatusCode >= 400) {
        wprintf(L"Response Header:\n");
        wprintf(L"%s\n",CkHttpResponseW_header(resp));
        wprintf(L"Failed.\n");
        CkHttpResponseW_Dispose(resp);
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        CkStringBuilderW_Dispose(sbResponseBody);
        CkJsonObjectW_Dispose(jResp);
        return;
    }

    CkHttpResponseW_Dispose(resp);

    // Sample JSON response:
    // (Sample code for parsing the JSON response is shown below)

    // {
    //   "dispatchConfirmationNumbers": [
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456",
    //     "PRG201220123456"
    //   ],
    //   "readyByTime": "12:00",
    //   "nextPickupDate": "2020-06-01",
    //   "warnings": [
    //     "Pickup created bu somthing went wrong",
    //     "Pickup created bu somthing went wrong"
    //   ]
    // }

    // Sample code for parsing the JSON response...
    // Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

    // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.

    readyByTime = CkJsonObjectW_stringOf(jResp,L"readyByTime");
    nextPickupDate = CkJsonObjectW_stringOf(jResp,L"nextPickupDate");
    i = 0;
    count_i = CkJsonObjectW_SizeOfArray(jResp,L"dispatchConfirmationNumbers");
    while (i < count_i) {
        CkJsonObjectW_putI(jResp,i);
        strVal = CkJsonObjectW_stringOf(jResp,L"dispatchConfirmationNumbers[i]");
        i = i + 1;
    }

    i = 0;
    count_i = CkJsonObjectW_SizeOfArray(jResp,L"warnings");
    while (i < count_i) {
        CkJsonObjectW_putI(jResp,i);
        strVal = CkJsonObjectW_stringOf(jResp,L"warnings[i]");
        i = i + 1;
    }



    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(json);
    CkStringBuilderW_Dispose(sbResponseBody);
    CkJsonObjectW_Dispose(jResp);

    }

Curl Command

curl -X POST
	-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 "Content-Type: application/json"
	-H "Accept: application/json"
	-d '{
  "plannedPickupDateAndTime": "2019-08-04T14:00:31GMT+01:00",
  "accounts": [
    {
      "typeCode": "shipper",
      "number": "123456789"
    }
  ],
  "customerDetails": {
    "shipperDetails": {
      "postalAddress": {
        "postalCode": "14800",
        "cityName": "Prague",
        "countryCode": "CZ",
        "addressLine1": "V Parku 2308/10",
        "provinceCode": "CZ",
        "addressLine2": "addres2",
        "addressLine3": "addres3",
        "countyName": "Central Bohemia"
      },
      "contactInformation": {
        "phone": "+1123456789",
        "companyName": "Company Name",
        "fullName": "John Brew",
        "email": "that@before.de",
        "mobilePhone": "+60112345678"
      }
    },
    "receiverDetails": {
      "postalAddress": {
        "postalCode": "14800",
        "cityName": "Prague",
        "countryCode": "CZ",
        "addressLine1": "V Parku 2308/10",
        "provinceCode": "CZ",
        "addressLine2": "addres2",
        "addressLine3": "addres3",
        "countyName": "Central Bohemia"
      },
      "contactInformation": {
        "phone": "+1123456789",
        "companyName": "Company Name",
        "fullName": "John Brew",
        "email": "that@before.de",
        "mobilePhone": "+60112345678"
      }
    },
    "bookingRequestorDetails": {
      "contactInformation": {
        "phone": "+1123456789",
        "companyName": "Company Name",
        "fullName": "John Brew",
        "email": "that@before.de",
        "mobilePhone": "+60112345678"
      },
      "postalAddress": {
        "postalCode": "14800",
        "cityName": "Prague",
        "countryCode": "CZ",
        "addressLine1": "V Parku 2308/10",
        "provinceCode": "CZ",
        "addressLine2": "addres2",
        "addressLine3": "addres3",
        "countyName": "Central Bohemia"
      }
    },
    "pickupDetails": {
      "postalAddress": {
        "postalCode": "14800",
        "cityName": "Prague",
        "countryCode": "CZ",
        "addressLine1": "V Parku 2308/10",
        "provinceCode": "CZ",
        "addressLine2": "addres2",
        "addressLine3": "addres3",
        "countyName": "Central Bohemia"
      },
      "contactInformation": {
        "phone": "+1123456789",
        "companyName": "Company Name",
        "fullName": "John Brew",
        "email": "that@before.de",
        "mobilePhone": "+60112345678"
      }
    }
  },
  "shipmentDetails": [
    {
      "productCode": "amet",
      "isCustomsDeclarable": false,
      "unitOfMeasurement": "metric",
      "packages": [
        {
          "weight": 10.5,
          "dimensions": {
            "length": 25,
            "width": 35,
            "height": 15
          },
          "typeCode": "3BX"
        }
      ],
      "localProductCode": "sed",
      "accounts": [
        {
          "typeCode": "shipper",
          "number": "123456789"
        },
        {
          "typeCode": "shipper",
          "number": "123456789"
        }
      ],
      "valueAddedServices": [
        {
          "serviceCode": "II",
          "localServiceCode": "II",
          "value": 100,
          "currency": "GBP",
          "method": "cash"
        },
        {
          "serviceCode": "II",
          "localServiceCode": "II",
          "value": 100,
          "currency": "GBP",
          "method": "cash"
        }
      ],
      "declaredValue": 150,
      "declaredValueCurrency": "CZK",
      "shipmentTrackingNumber": "123456790"
    }
  ],
  "closeTime": "18:00",
  "location": "reception",
  "locationType": "residence",
  "specialInstructions": [
    {
      "value": "please ring door bell",
      "typeCode": "TBD"
    }
  ],
  "remark": "velit reprehenderit anim esse"
}'
https://api-mock.dhl.com/mydhlapi/pickups

Postman Collection Item JSON

{
  "name": "Create a DHL Express pickup booking request",
  "request": {
    "method": "POST",
    "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": "Content-Type",
        "value": "application/json"
      },
      {
        "key": "Accept",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"plannedPickupDateAndTime\": \"2019-08-04T14:00:31GMT+01:00\",\n  \"accounts\": [\n    {\n      \"typeCode\": \"shipper\",\n      \"number\": \"123456789\"\n    }\n  ],\n  \"customerDetails\": {\n    \"shipperDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"receiverDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"bookingRequestorDetails\": {\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      },\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      }\n    },\n    \"pickupDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    }\n  },\n  \"shipmentDetails\": [\n    {\n      \"productCode\": \"amet\",\n      \"isCustomsDeclarable\": false,\n      \"unitOfMeasurement\": \"metric\",\n      \"packages\": [\n        {\n          \"weight\": 10.5,\n          \"dimensions\": {\n            \"length\": 25,\n            \"width\": 35,\n            \"height\": 15\n          },\n          \"typeCode\": \"3BX\"\n        }\n      ],\n      \"localProductCode\": \"sed\",\n      \"accounts\": [\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        },\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        }\n      ],\n      \"valueAddedServices\": [\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        },\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        }\n      ],\n      \"declaredValue\": 150,\n      \"declaredValueCurrency\": \"CZK\",\n      \"shipmentTrackingNumber\": \"123456790\"\n    }\n  ],\n  \"closeTime\": \"18:00\",\n  \"location\": \"reception\",\n  \"locationType\": \"residence\",\n  \"specialInstructions\": [\n    {\n      \"value\": \"please ring door bell\",\n      \"typeCode\": \"TBD\"\n    }\n  ],\n  \"remark\": \"velit reprehenderit anim esse\"\n}",
      "options": {
        "raw": {
          "language": "json"
        }
      }
    },
    "url": {
      "raw": "{{baseUrl}}/pickups",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "pickups"
      ]
    },
    "description": "The Pickup service creates a DHL Express pickup booking request\n"
  },
  "response": [
    {
      "name": "Pickup created",
      "originalRequest": {
        "method": "POST",
        "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": " "
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"plannedPickupDateAndTime\": \"2019-08-04T14:00:31GMT+01:00\",\n  \"accounts\": [\n    {\n      \"typeCode\": \"shipper\",\n      \"number\": \"123456789\"\n    }\n  ],\n  \"customerDetails\": {\n    \"shipperDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"receiverDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"bookingRequestorDetails\": {\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      },\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      }\n    },\n    \"pickupDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    }\n  },\n  \"shipmentDetails\": [\n    {\n      \"productCode\": \"amet\",\n      \"isCustomsDeclarable\": false,\n      \"unitOfMeasurement\": \"metric\",\n      \"packages\": [\n        {\n          \"weight\": 10.5,\n          \"dimensions\": {\n            \"length\": 25,\n            \"width\": 35,\n            \"height\": 15\n          },\n          \"typeCode\": \"3BX\"\n        }\n      ],\n      \"localProductCode\": \"sed\",\n      \"accounts\": [\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        },\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        }\n      ],\n      \"valueAddedServices\": [\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        },\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        }\n      ],\n      \"declaredValue\": 150,\n      \"declaredValueCurrency\": \"CZK\",\n      \"shipmentTrackingNumber\": \"123456790\"\n    }\n  ],\n  \"closeTime\": \"18:00\",\n  \"location\": \"reception\",\n  \"locationType\": \"residence\",\n  \"specialInstructions\": [\n    {\n      \"value\": \"please ring door bell\",\n      \"typeCode\": \"TBD\"\n    }\n  ],\n  \"remark\": \"velit reprehenderit anim esse\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/pickups",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "pickups"
          ]
        }
      },
      "status": "Created",
      "code": 201,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"dispatchConfirmationNumbers\": [\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\",\n    \"PRG201220123456\"\n  ],\n  \"readyByTime\": \"12:00\",\n  \"nextPickupDate\": \"2020-06-01\",\n  \"warnings\": [\n    \"Pickup created bu somthing went wrong\",\n    \"Pickup created bu somthing went wrong\"\n  ]\n}"
    },
    {
      "name": "Wrong input parameters",
      "originalRequest": {
        "method": "POST",
        "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": " "
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"plannedPickupDateAndTime\": \"2019-08-04T14:00:31GMT+01:00\",\n  \"accounts\": [\n    {\n      \"typeCode\": \"shipper\",\n      \"number\": \"123456789\"\n    }\n  ],\n  \"customerDetails\": {\n    \"shipperDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"receiverDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    },\n    \"bookingRequestorDetails\": {\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      },\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      }\n    },\n    \"pickupDetails\": {\n      \"postalAddress\": {\n        \"postalCode\": \"14800\",\n        \"cityName\": \"Prague\",\n        \"countryCode\": \"CZ\",\n        \"addressLine1\": \"V Parku 2308/10\",\n        \"provinceCode\": \"CZ\",\n        \"addressLine2\": \"addres2\",\n        \"addressLine3\": \"addres3\",\n        \"countyName\": \"Central Bohemia\"\n      },\n      \"contactInformation\": {\n        \"phone\": \"+1123456789\",\n        \"companyName\": \"Company Name\",\n        \"fullName\": \"John Brew\",\n        \"email\": \"that@before.de\",\n        \"mobilePhone\": \"+60112345678\"\n      }\n    }\n  },\n  \"shipmentDetails\": [\n    {\n      \"productCode\": \"amet\",\n      \"isCustomsDeclarable\": false,\n      \"unitOfMeasurement\": \"metric\",\n      \"packages\": [\n        {\n          \"weight\": 10.5,\n          \"dimensions\": {\n            \"length\": 25,\n            \"width\": 35,\n            \"height\": 15\n          },\n          \"typeCode\": \"3BX\"\n        }\n      ],\n      \"localProductCode\": \"sed\",\n      \"accounts\": [\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        },\n        {\n          \"typeCode\": \"shipper\",\n          \"number\": \"123456789\"\n        }\n      ],\n      \"valueAddedServices\": [\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        },\n        {\n          \"serviceCode\": \"II\",\n          \"localServiceCode\": \"II\",\n          \"value\": 100,\n          \"currency\": \"GBP\",\n          \"method\": \"cash\"\n        }\n      ],\n      \"declaredValue\": 150,\n      \"declaredValueCurrency\": \"CZK\",\n      \"shipmentTrackingNumber\": \"123456790\"\n    }\n  ],\n  \"closeTime\": \"18:00\",\n  \"location\": \"reception\",\n  \"locationType\": \"residence\",\n  \"specialInstructions\": [\n    {\n      \"value\": \"please ring door bell\",\n      \"typeCode\": \"TBD\"\n    }\n  ],\n  \"remark\": \"velit reprehenderit anim esse\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseUrl}}/pickups",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "pickups"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n  \"instance\": \"/expressapi/pickups\",\n  \"detail\": \"8003: Account not allowed for this service. Please contact your DHL Express representative.\",\n  \"title\": \"Bad request\",\n  \"message\": \"Bad request\",\n  \"status\": \"400\"\n}"
    }
  ]
}