### Get API Access Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Instructions on how to obtain API access for the DHL Express API, depending on whether you already have a DHL Express account. ```APIDOC ## Get API Access To use the DHL Express API, your organization requires an active customer account with DHL Express. ### If you already have a DHL Express Account: 1. **Start your on-boarding process:** Log in with your Developer Portal account. 2. **Get API access:** Click here to Get Access! Your DHL Express API access will be provided, enabling you to start developing your integration. ### If you are not a DHL Express customer: 1. **Request a customer account:** Go to the DHL Express customer account request page and complete the form. 2. **Account Setup:** The DHL Express team will contact you to set up your account. 3. **Get API access:** Once you have your DHL Express Account, click here to get Access! Your DHL Express API access will be provided, enabling you to start developing your integration. ``` -------------------------------- ### Get Image API Updates Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Updates to the Get Image API, including account opening date validation and support for retrieving DHL Issued proforma invoices. ```APIDOC ## Get Image API Updates ### Description Updates to the Get Image API, including account opening date validation and support for retrieving DHL Issued proforma invoices. ### Method N/A (Documentation of changes, not a specific endpoint) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ### Version History #### 3.1.0 (12.Oct.2025) * **Account Opening Date Validation**: Enhanced validation against the document image's account opening date. #### 3.0.0 (13.Jul.2025) * **Proforma Invoice Retrieval**: Support to retrieve shipment's DHL Issued proforma invoice (if created) via new document image type code 'DPF'. ``` -------------------------------- ### Environments Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Information on the available API base URLs for testing and production environments. ```APIDOC ## Environments The addressable API base URL/URI for each environment is: | Environment | Description | | ----------------------------------------- | --------------------------------------------- | | `https://express.api.dhl.com/mydhlapi/test` | Test environment to test your development against | | `https://express.api.dhl.com/mydhlapi` | Production environment for real transactions | ``` -------------------------------- ### MyDHL API Services Overview Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=en Overview of the available services within the MyDHL API. ```APIDOC ## MyDHL API Services ### Description Provides access to various DHL Express functionalities through a RESTful API. ### Services * **RATING**: Retrieve DHL EXPRESS product capabilities, value-added services, estimated delivery times, and account rates. * **PRODUCT**: A lightweight version of the Rating service to get available DHL Express products for a one-piece shipment. * **LANDED COST**: Estimate the Landed Cost, including Duties & Taxes. Requires a catalog of items with customs data (HS Codes). * **SHIPMENT**: Create complete DHL EXPRESS shipments, including shipping labels, customs documentation, pickups, and value-added services like Insurance. Can also provide electronic proof of delivery and upload updated customs invoice images. * **PICKUP**: Create, update, or cancel DHL Express pickup requests. * **TRACKING**: Retrieve tracking statuses for DHL Express Shipments. * **ADDRESS**: Validate DHL Express pickup/delivery capabilities at origin/destination. * **IDENTIFIER**: Allocate identifiers upfront for DHL Express Breakbulk or Loose Break Bulk shipments. ``` -------------------------------- ### Pickup API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Manage pickup booking requests, including creation, cancellation, and updates. ```APIDOC ## DELETE /pickups/{dispatchConfirmationNumber} ### Description Cancel a DHL Express pickup booking request ### Method DELETE ### Endpoint /pickups/{dispatchConfirmationNumber} ### Parameters #### Path Parameters - **dispatchConfirmationNumber** (string) - Required - The confirmation number of the pickup. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## PATCH /pickups/{dispatchConfirmationNumber} ### Description Update pickup information for an existing DHL Express pickup booking request ### Method PATCH ### Endpoint /pickups/{dispatchConfirmationNumber} ### Parameters #### Path Parameters - **dispatchConfirmationNumber** (string) - Required - The confirmation number of the pickup. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## POST /pickups ### Description Create a DHL Express pickup booking request ### Method POST ### Endpoint /pickups ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Shipment APIs Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ko Manage shipments, including creating, updating, and retrieving proof of delivery and images. ```APIDOC ## GET /shipments/{shipmentTrackingNumber}/proof-of-delivery ### Description Electronic Proof of Delivery ### Method GET ### Endpoint /shipments/{shipmentTrackingNumber}/proof-of-delivery ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Response #### Success Response (200) - **trackingNumber** (string) - The tracking number of the shipment. - **proofOfDelivery** (string) - URL to the proof of delivery document. #### Response Example ```json { "trackingNumber": "1234567890", "proofOfDelivery": "https://example.com/pod/1234567890.pdf" } ``` ## PATCH /shipments/{shipmentTrackingNumber}/upload-image ### Description Upload Paperless Trade shipment (PLT) images of previously created shipment. ### Method PATCH ### Endpoint /shipments/{shipmentTrackingNumber}/upload-image ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Body - **image** (file) - Required - The image file to upload. - **contentType** (string) - Required - The content type of the image file (e.g., image/jpeg, image/png). ### Request Example (This endpoint expects a multipart/form-data request) ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Image uploaded successfully." } ``` ## POST /shipments ### Description Create Shipment ### Method POST ### Endpoint /shipments ### Request Body - **shipment** (object) - Required - Details of the shipment to be created. - **shipper** (object) - Required - Shipper details. - **name** (string) - Required - Shipper's name. - **companyName** (string) - Optional - Shipper's company name. - **phone** (string) - Required - Shipper's phone number. - **email** (string) - Optional - Shipper's email address. - **address** (object) - Required - Shipper's address. - **streetLines** (array) - Required - Street address lines. - **city** (string) - Required - City. - **stateOrProvinceCode** (string) - Optional - State or province code. - **postalCode** (string) - Required - Postal code. - **countryCode** (string) - Required - Country code. - **recipient** (object) - Required - Recipient details. - **name** (string) - Required - Recipient's name. - **companyName** (string) - Optional - Recipient's company name. - **phone** (string) - Required - Recipient's phone number. - **email** (string) - Optional - Recipient's email address. - **address** (object) - Required - Recipient's address. - **streetLines** (array) - Required - Street address lines. - **city** (string) - Required - City. - **stateOrProvinceCode** (string) - Optional - State or province code. - **postalCode** (string) - Required - Postal code. - **countryCode** (string) - Required - Country code. - **packages** (array) - Required - Array of packages in the shipment. - **weight** (object) - Required - Weight of the package. - **value** (number) - Required - Weight value. - **unit** (string) - Required - Weight unit (e.g., KG, LB). - **dimensions** (object) - Optional - Dimensions of the package. - **length** (number) - Required - Length value. - **width** (number) - Required - Width value. - **height** (number) - Required - Height value. - **unit** (string) - Required - Dimension unit (e.g., CM, IN). - **paymentInfo** (object) - Required - Payment information. - **paymentType** (string) - Required - Type of payment (e.g., DDP, DDU). - **accountNumber** (string) - Required - Account number. - **content** (string) - Required - Description of the shipment content. - **shipmentReference** (string) - Optional - Reference for the shipment. - **serviceType** (string) - Optional - Type of service (e.g., EXPRESS, ECONOMY). - **productCode** (string) - Optional - Product code for the shipment. ### Request Example ```json { "shipment": { "shipper": { "name": "John Doe", "phone": "1234567890", "address": { "streetLines": ["123 Main St"], "city": "Anytown", "postalCode": "12345", "countryCode": "US" } }, "recipient": { "name": "Jane Smith", "phone": "0987654321", "address": { "streetLines": ["456 Oak Ave"], "city": "Otherville", "postalCode": "67890", "countryCode": "CA" } }, "packages": [ { "weight": { "value": 5, "unit": "KG" }, "dimensions": { "length": 30, "width": 20, "height": 15, "unit": "CM" } } ], "paymentInfo": { "paymentType": "DDP", "accountNumber": "123456789" }, "content": "Documents", "shipmentReference": "REF123" } } ``` ### Response #### Success Response (200) - **shipmentTrackingNumber** (string) - The tracking number of the created shipment. - **status** (string) - Status of the shipment creation. #### Response Example ```json { "shipmentTrackingNumber": "9876543210", "status": "Created" } ``` ## PATCH /shipments/{shipmentTrackingNumber}/upload-invoice-data ### Description Upload Commercial Invoice data for your DHL Express shipment. ### Method PATCH ### Endpoint /shipments/{shipmentTrackingNumber}/upload-invoice-data ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Body - **invoiceData** (object) - Required - Commercial invoice data. - **invoiceNumber** (string) - Required - Invoice number. - **invoiceDate** (string) - Required - Invoice date (YYYY-MM-DD). - **totalAmount** (object) - Required - Total amount of the invoice. - **amount** (number) - Required - Amount. - **currency** (string) - Required - Currency. - **lineItems** (array) - Optional - Array of invoice line items. - **description** (string) - Required - Description of the line item. - **quantity** (number) - Required - Quantity. - **unitPrice** (object) - Required - Unit price. - **amount** (number) - Required - Amount. - **currency** (string) - Required - Currency. - **countryOfOrigin** (string) - Optional - Country of origin. ### Request Example ```json { "invoiceData": { "invoiceNumber": "INV-001", "invoiceDate": "2023-10-27", "totalAmount": { "amount": 500.00, "currency": "USD" }, "lineItems": [ { "description": "T-shirt", "quantity": 2, "unitPrice": { "amount": 25.00, "currency": "USD" }, "countryOfOrigin": "CN" } ] } } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Invoice data uploaded successfully." } ``` ## GET /shipments/{shipmentTrackingNumber}/get-image ### Description Get Image ### Method GET ### Endpoint /shipments/{shipmentTrackingNumber}/get-image ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Response #### Success Response (200) - **image** (file) - The requested image file. - **contentType** (string) - The content type of the image file. #### Response Example (Response will be the image file itself, e.g., a JPEG or PNG) ``` -------------------------------- ### Product API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ja Retrieve available DHL Express products for a one-piece shipment. ```APIDOC ## GET /products ### Description Retrieve available DHL Express products for a one piece Shipment ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Product API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ko Retrieve available DHL Express products for shipments. ```APIDOC ## GET /products ### Description Retrieve available DHL Express products for a one piece Shipment ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **originCountryCode** (string) - Required - Country code of the origin. - **destinationCountryCode** (string) - Required - Country code of the destination. ### Response #### Success Response (200) - **products** (array) - List of available DHL Express products. - **productCode** (string) - Code of the product. - **productName** (string) - Name of the product. - **serviceType** (string) - Type of service offered by the product. #### Response Example ```json { "products": [ { "productCode": "P", "productName": "Express Worldwide", "serviceType": "Express" }, { "productCode": "N", "productName": "Express Envelope", "serviceType": "Express" } ] } ``` ``` -------------------------------- ### Product Service Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index A lightweight version of the Rating service to retrieve available DHL Express products for a one-piece shipment. ```APIDOC ## GET /products ### Description Retrieves available DHL Express products for a one-piece shipment. ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **originCountry** (string) - Required - The country code of the shipment origin. - **destinationCountry** (string) - Required - The country code of the shipment destination. ### Request Example ```json { "originCountry": "US", "destinationCountry": "DE" } ``` ### Response #### Success Response (200) - **products** (array) - List of available DHL Express products. #### Response Example ```json { "products": [ { "productCode": "P", "productName": "Package" }, { "productCode": "X", "productName": "Express Worldwide" } ] } ``` ``` -------------------------------- ### Authentication Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Details on how to authenticate requests to the DHL Express API using Basic Authentication. ```APIDOC ## Authentication Your DHL EXPRESS consultant will provide you with access credentials to the DHL EXPRESS API (MyDHL API) and assist with technical queries. Please ensure that the `Authorization` header is set preemptively, following the BasicAuth standards. ``` -------------------------------- ### Quota Limits Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Details on the invocation limits for the DHL Express Test Environment. ```APIDOC ## Quota Limits * The DHL EXPRESS Test Environment provides a daily limit of 500 Service invocations for your access credentials. This should be used to test your integration development. * The DHL EXPRESS Test Environment has formal SLAs against it to ensure support and availability. ``` -------------------------------- ### Rating APIs Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ko Retrieve shipping rates for shipments. Supports both one-piece and multi-piece shipments. ```APIDOC ## GET /rates ### Description Retrieve Rates for a one piece Shipment ### Method GET ### Endpoint /rates ### Parameters #### Query Parameters - **originCountryCode** (string) - Required - Country code of the origin. - **destinationCountryCode** (string) - Required - Country code of the destination. - **postalCode** (string) - Optional - Postal code of the destination. - **city** (string) - Optional - City of the destination. ### Response #### Success Response (200) - **totalNetWeightCharge** (object) - The total net weight charge for the shipment. - **totalNetPremium** (object) - The total net premium for the shipment. - **totalTaxAmount** (object) - The total tax amount for the shipment. - **totalNetAmount** (object) - The total net amount for the shipment. - **totalCustomsFees** (object) - The total customs fees for the shipment. - **totalNetCurrency** (string) - The currency of the total net amount. #### Response Example ```json { "totalNetWeightCharge": { "value": 100.00, "currency": "USD" }, "totalNetPremium": { "value": 5.00, "currency": "USD" }, "totalTaxAmount": { "value": 10.00, "currency": "USD" }, "totalNetAmount": { "value": 115.00, "currency": "USD" }, "totalCustomsFees": { "value": 0.00, "currency": "USD" }, "totalNetCurrency": "USD" } ``` ## POST /rates ### Description Retrieve Rates for Multi-piece Shipments ### Method POST ### Endpoint /rates ### Request Body - **pieces** (array) - Required - Array of shipment pieces. - **weight** (object) - Required - Weight of the piece. - **value** (number) - Required - Weight value. - **unit** (string) - Required - Weight unit (e.g., KG, LB). - **dimensions** (object) - Optional - Dimensions of the piece. - **length** (number) - Required - Length value. - **width** (number) - Required - Width value. - **height** (number) - Required - Height value. - **unit** (string) - Required - Dimension unit (e.g., CM, IN). ### Request Example ```json { "pieces": [ { "weight": { "value": 10, "unit": "KG" }, "dimensions": { "length": 30, "width": 20, "height": 15, "unit": "CM" } }, { "weight": { "value": 5, "unit": "KG" } } ] } ``` ### Response #### Success Response (200) - **totalNetWeightCharge** (object) - The total net weight charge for the shipment. - **totalNetPremium** (object) - The total net premium for the shipment. - **totalTaxAmount** (object) - The total tax amount for the shipment. - **totalNetAmount** (object) - The total net amount for the shipment. - **totalCustomsFees** (object) - The total customs fees for the shipment. - **totalNetCurrency** (string) - The currency of the total net amount. #### Response Example ```json { "totalNetWeightCharge": { "value": 150.00, "currency": "USD" }, "totalNetPremium": { "value": 7.50, "currency": "USD" }, "totalTaxAmount": { "value": 15.00, "currency": "USD" }, "totalNetAmount": { "value": 172.50, "currency": "USD" }, "totalCustomsFees": { "value": 0.00, "currency": "USD" }, "totalNetCurrency": "USD" } ``` ``` -------------------------------- ### Shipment API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Manage shipments, including creating, uploading documents, and retrieving shipment details. ```APIDOC ## GET /shipments/{shipmentTrackingNumber}/proof-of-delivery ### Description Electronic Proof of Delivery ### Method GET ### Endpoint /shipments/{shipmentTrackingNumber}/proof-of-delivery ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## PATCH /shipments/{shipmentTrackingNumber}/upload-image ### Description Upload Paperless Trade shipment (PLT) images of previously created shipment. ### Method PATCH ### Endpoint /shipments/{shipmentTrackingNumber}/upload-image ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## POST /shipments ### Description Create Shipment. Introducing 'AFM' as shipment reference type to support Egypt’s ACID number (Advance Cargo Information Approval Number). ### Method POST ### Endpoint /shipments ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## PATCH /shipments/{shipmentTrackingNumber}/upload-invoice-data ### Description Upload Commercial Invoice data for your DHL Express shipment. ### Method PATCH ### Endpoint /shipments/{shipmentTrackingNumber}/upload-invoice-data ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## GET /shipments/{shipmentTrackingNumber}/get-image ### Description Get Image ### Method GET ### Endpoint /shipments/{shipmentTrackingNumber}/get-image ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## PATCH /shipments/{shipmentTrackingNumber}/add-piece ### Description Adding new pieces to a previously created shipment. ### Method PATCH ### Endpoint /shipments/{shipmentTrackingNumber}/add-piece ### Parameters #### Path Parameters - **shipmentTrackingNumber** (string) - Required - The tracking number of the shipment. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Invoice Upload API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=zh-hant Upload Commercial invoice data. ```APIDOC ## POST /invoices/upload-invoice-data ### Description Upload Commercial invoice data. ### Method POST ### Endpoint /invoices/upload-invoice-data ### Request Body - **invoiceData** (object) - Required - The commercial invoice data to upload. ### Response #### Success Response (200) - **uploadStatus** (string) - Status of the invoice data upload. - **[other response fields]** (object) - Additional details about the upload. ``` -------------------------------- ### Landed Cost API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ko Calculate landed cost for shipments, including duties, taxes, and fees. ```APIDOC ## POST /landed-cost ### Description Landed Cost ### Method POST ### Endpoint /landed-cost ### Request Body - **shipmentDetails** (object) - Required - Details of the shipment. - **originCountryCode** (string) - Required - Country code of the origin. - **destinationCountryCode** (string) - Required - Country code of the destination. - **value** (object) - Required - Value of the shipment. - **amount** (number) - Required - Amount of the shipment value. - **currency** (string) - Required - Currency of the shipment value. - **items** (array) - Required - Array of items in the shipment. - **description** (string) - Required - Description of the item. - **quantity** (number) - Required - Quantity of the item. - **unitPrice** (object) - Required - Unit price of the item. - **amount** (number) - Required - Amount of the unit price. - **currency** (string) - Required - Currency of the unit price. - **weight** (object) - Optional - Weight of the item. - **value** (number) - Required - Weight value. - **unit** (string) - Required - Weight unit (e.g., KG, LB). - **dimensions** (object) - Optional - Dimensions of the item. - **length** (number) - Required - Length value. - **width** (number) - Required - Width value. - **height** (number) - Required - Height value. - **unit** (string) - Required - Dimension unit (e.g., CM, IN). ### Request Example ```json { "shipmentDetails": { "originCountryCode": "US", "destinationCountryCode": "CA", "value": { "amount": 500.00, "currency": "USD" }, "items": [ { "description": "T-shirt", "quantity": 2, "unitPrice": { "amount": 25.00, "currency": "USD" }, "weight": { "value": 0.5, "unit": "KG" } } ] } } ``` ### Response #### Success Response (200) - **totalDutiesAndTaxes** (object) - The total duties and taxes for the shipment. - **totalFees** (object) - The total fees for the shipment. - **totalLandedCost** (object) - The total landed cost for the shipment. - **currency** (string) - The currency of the landed cost. #### Response Example ```json { "totalDutiesAndTaxes": { "value": 50.00, "currency": "CAD" }, "totalFees": { "value": 10.00, "currency": "CAD" }, "totalLandedCost": { "value": 60.00, "currency": "CAD" }, "currency": "CAD" } ``` ``` -------------------------------- ### Create Shipment API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index Introduces 'AFM' as a shipment reference type to support Egypt’s ACID number (Advance Cargo Information Approval Number). Updates include changes to registration number type codes and optional fields for dangerous goods. ```APIDOC ## POST /shipments ### Description Creates a new shipment. Supports 'AFM' as a shipment reference type for Egypt's ACID number. Updates include changes to registration number type codes and optional fields for dangerous goods. ### Method POST ### Endpoint /shipments ### Request Body - **shipmentDetails** (object) - Required - Details of the shipment. - **references** (array) - Optional - Shipment references. - **typeCode** (string) - Required - Type of reference (e.g., 'AFM'). - **value** (string) - Required - Value of the reference. - **dangerousGoods** (object) - Optional - Dangerous goods information. - **UNCode** (string) - Optional - UN number for dangerous goods. - **contentID** (string) - Optional - Content ID for dangerous goods. ### Request Example ```json { "shipmentDetails": { "references": [ { "typeCode": "AFM", "value": "EGY1234567890" } ], "dangerousGoods": { "UNCode": "UN1234", "contentID": "E01" } } } ``` ### Response #### Success Response (200) - **shipmentId** (string) - The ID of the created shipment. #### Response Example ```json { "shipmentId": "SHIP9876543210" } ``` ``` -------------------------------- ### Pickup APIs Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=ja Manage DHL Express pickup bookings, including creating, updating, and canceling requests. ```APIDOC ## DELETE /pickups/{dispatchConfirmationNumber} ### Description Cancel a DHL Express pickup booking request ### Method DELETE ### Endpoint /pickups/{dispatchConfirmationNumber} ### Parameters #### Path Parameters - **dispatchConfirmationNumber** (string) - Required - The dispatch confirmation number of the pickup. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## PATCH /pickups/{dispatchConfirmationNumber} ### Description Update pickup information for an existing DHL Express pickup booking request ### Method PATCH ### Endpoint /pickups/{dispatchConfirmationNumber} ### Parameters #### Path Parameters - **dispatchConfirmationNumber** (string) - Required - The dispatch confirmation number of the pickup. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ## POST /pickups ### Description Create a DHL Express pickup booking request ### Method POST ### Endpoint /pickups ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Shipment Service Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de The Shipment service Operation allows you to create complete DHL EXPRESS shipments which includes the shipping labels, optional customs documentation and pickups together with value added services such as Insurance. DHL EXPRESS recommends to use the Rating service first to see all the available products and value added services first to then pass the desired DHL EXPRESS product and value added service into the Shipment service Operation. In addition to creating DHL Express shipments the SHIPMENT service can also provide electronic proof of delivery for certain delivered shipments and upload updated customs invoice images for your shipments. ```APIDOC ## POST /shipments ### Description Creates complete DHL EXPRESS shipments, including shipping labels, customs documentation, and pickups. Can also provide electronic proof of delivery and upload customs invoice images. ### Method POST ### Endpoint /shipments ### Parameters #### Request Body - **shipmentRequest** (object) - Required - Details for creating the shipment. - **productCode** (string) - Required - The product code for the shipment (e.g., 'P' for Express Worldwide). - **paymentInfo** (object) - Required - Payment details. - **paymentType** (string) - Required - Type of payment (e.g., 'DDU', 'DAP'). - **accountNumber** (string) - Required - DHL Express account number. - **shipFrom** (object) - Required - Origin address details. - **name** (string) - Required - Name of the sender. - **companyName** (string) - Optional - Company name of the sender. - **addressLine1** (string) - Required - First line of the sender's address. - **city** (string) - Required - City of the sender. - **postalCode** (string) - Required - Postal code of the sender. - **countryCode** (string) - Required - Country code of the sender. - **phone** (string) - Required - Phone number of the sender. - **shipTo** (object) - Required - Destination address details. - **name** (string) - Required - Name of the recipient. - **companyName** (string) - Optional - Company name of the recipient. - **addressLine1** (string) - Required - First line of the recipient's address. - **city** (string) - Required - City of the recipient. - **postalCode** (string) - Required - Postal code of the recipient. - **countryCode** (string) - Required - Country code of the recipient. - **phone** (string) - Required - Phone number of the recipient. - **packageInfo** (object) - Required - Details about the package. - **weight** (number) - Required - Weight of the package. - **dimensions** (object) - Required - Dimensions of the package. - **length** (number) - Required - Length of the package. - **width** (number) - Required - Width of the package. - **height** (number) - Required - Height of the package. - **unit** (string) - Required - Unit of measurement for dimensions (e.g., 'CM'). - **unit** (string) - Required - Unit of measurement for weight (e.g., 'KG'). - **valueAddedServices** (array) - Optional - List of value-added services to include. - **code** (string) - Required - Code for the value-added service (e.g., 'INS' for Insurance). ### Request Example ```json { "example": { "productCode": "P", "paymentInfo": { "paymentType": "DAP", "accountNumber": "YOUR_ACCOUNT_NUMBER" }, "shipFrom": { "name": "Sender Name", "addressLine1": "123 Sender St", "city": "Sender City", "postalCode": "10001", "countryCode": "US", "phone": "123-456-7890" }, "shipTo": { "name": "Recipient Name", "addressLine1": "456 Recipient Ave", "city": "Recipient City", "postalCode": "SW1A 0AA", "countryCode": "GB", "phone": "987-654-3210" }, "packageInfo": { "weight": 5, "dimensions": { "length": 30, "width": 20, "height": 10, "unit": "CM" }, "unit": "KG" }, "valueAddedServices": [ { "code": "INS" } ] } } ``` ### Response #### Success Response (200) - **shipmentID** (string) - Unique identifier for the created shipment. - **shippingLabel** (string) - The shipping label in PDF format (base64 encoded). - **trackingNumber** (string) - The tracking number for the shipment. #### Response Example ```json { "example": { "shipmentID": "SHIP123456789", "shippingLabel": "JVBERi0xLjQKJ....", "trackingNumber": "1234567890" } } ``` ``` -------------------------------- ### Reference Data API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=zh-hant Provides reference data currently used for MyDHL API services usage. ```APIDOC ## GET /reference-data ### Description Provide reference data currently used for MyDHL API services usage. ### Method GET ### Endpoint /reference-data ### Response #### Success Response (200) - **referenceData** (object) - An object containing various reference data categories. ``` -------------------------------- ### Early Shipment Screening API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index_lang=de Early shipment screening for break bulk baby shipments. ```APIDOC ## POST /early-shipment-screening ### Description Early shipment screening for break bulk baby shipments ### Method POST ### Endpoint /early-shipment-screening ### Parameters #### Query Parameters - **param1** (type) - Required/Optional - Description ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Early Shipment Screening API Source: https://developer.dhl.com/api-reference/mydhl-api-dhl-express/index A new API that enables denied party screening for breakbulk baby shipments to ensure compliance with DHL policies. ```APIDOC ## POST /shipments/screening ### Description Performs denied party screening for breakbulk baby shipments to ensure compliance with DHL policies. ### Method POST ### Endpoint /shipments/screening ### Request Body - **shipmentInfo** (object) - Required - Information about the shipment for screening. - **destinationCountry** (string) - Required - The destination country of the shipment. - **shipperDetails** (object) - Required - Details of the shipper. - **consigneeDetails** (object) - Required - Details of the consignee. ### Request Example ```json { "shipmentInfo": { "destinationCountry": "US", "shipperDetails": { "name": "Example Shipper", "address": "123 Shipper St" }, "consigneeDetails": { "name": "Example Consignee", "address": "456 Consignee Ave" } } } ``` ### Response #### Success Response (200) - **screeningResult** (string) - The result of the screening ('PASS' or 'FAIL'). - **reasons** (array) - Optional - Reasons for failure, if applicable. #### Response Example ```json { "screeningResult": "PASS" } ``` ```