Best for:
- Providing an interface to the Warehouse Management System (WMS)
- Customer-centric contract logistics solutions
- Business customers of DHL Supply Chain
The Warehouse Management APIs provide an interface to the Supply Chain's Warehouse Management System (WMS) operations
Scope
These APIs cover services provided by DHL Supply Chain. More specifically, the covered areas of functionality are:
- Item Master - Also known as an inventory master. The Item Master sends product information from the customer to the warehouse to enable the warehouse to receive deliveries of the product.
- Inventory Management - The Inventory Management API provides the customer with the current inventory levels and status to enable inventory reconciliation.
- Outbound Logistics Order - Also known as a sales order, pick ticket or stock transfer order. The Outbound Logistics Order is used as a request from the customer to the warehouse to pick/pack and dispatch goods.
- Inbound Logistics Order - Also known as Advance Shipping Notification (ASN), purchase order, goods receipt and return notification or shipment / delivery advice. The Inbound Logistics Order notifies the warehouse that a stock replenishment delivery is scheduled or is on its way to the warehouse.
- Return Order - The Return Order deals with customer returns/an order that describes inventory that has been returned to the warehouse from a customer
Using the API
WMS-specific implementation guidelines are available for each of the warehouse systems that support the Warehouse Management API. Please contact your local/regional DSC Business Unit IT lead at DSC to obtain a copy.
The API is accessed as REST API using OAuth 2.0 for authentication and authorization and JSON format for request and response messages. The API uses HTTPS (over SSL) protocol.
Example Use Cases
DHL Supply Chain customers which would like to integrate their systems using standard APIs.
If you are not a DHL Supply Chain Customer, contact one of our experts here.
Get Access
To obtain the credentials please contact your DHL Supply Chain Representative. You will receive separate credentials for the Sandbox and Production environments.
If you are not a DHL Supply Chain Customer, please contact one of our experts here.
Environments
The addressable API base URL/URI environments are:
Environment | Description |
https://dsc.api-sandbox.dhl.com/wms/ | QA environment |
https://dsc.api.dhl.com/wms/ | Production environment |
Rate limits
Rate limits protect the DHL infrastructure from suspicious requests that exceed defined thresholds.
When the limit is reached, you will receive an HTTP Status code:
429: Too many requests.
Please contact api.dsc@dhl.com to get more information about it.
Terms & conditions for DHL Supply Chain ("DSC") application programming interfaces ("APIs")
- By registering for the use of and/or using DHL Supply Chain's (DSC's) Application Programming Interfaces (APIs) including the services that are integrated via these APIs (such as Warehouse Management System (WMS), Transport Management System and Connected View) – the APIs and the underlying services hereinafter collectively also referred to as “DSC APIs – each registrant and/or user of the DSC APIs (“You”) in addition to the General Developer Portal Terms of Use agree to these API terms & conditions (“API Terms & Conditions”) and all the terms included herein. These API Terms & Conditions are effective unless and until amended or terminated by DSC. Your rights under these API Terms & Conditions to use the DSC APIs (but not Your obligations and the restrictions set forth herein) will terminate automatically if You fail to comply with any of the terms herein or in the General Developer Portal Terms of Use. Should the terms of the General Developer Portal Terms of Use and these API Terms & Conditions conflict, these API Terms & Conditions shall govern.
- These API Terms & Conditions and the General Developer Portal Terms of Use govern Your usage of DSC APIs and, unless otherwise stated herein, do not replace and/or modify any other DSC terms and conditions, DSC transportation services agreements, DSC warehouse agreement and/or any other agreements, contracts or SOWs with DSC or DSC’s affiliates, which govern services or products provided to You by DSC (separately, each an “Agreement”).
- Notwithstanding the foregoing, You expressly acknowledge and agree that Your use of DSC APIs is governed by these API Terms & Conditions and the General Developer Portal Terms of Use, including but not limited to the General Developer Portal Terms of Use sections regarding limitation of liability, warranty, indemnification, termination, term, etc. and that solely with respect to Your use of DSC APIs these API Terms & Conditions and the General Developer Portal Terms of Use shall have preference over the terms and conditions in an Agreement, unless any terms and conditions in an Agreement specifically address the use of DSC APIs by You, in which case the specific terms and conditions of the Agreement shall prevail with respect to Your use of DSC APIs.
- You agree that for operational hours, maintenance, downtimes, incident management etc., as applied to the DSC APIs, the current version of the applicable service level agreement for such services (including but not limited to DHL LINK Global Business Service Level Agreement or as defined in the applicable Agreement) shall apply.
- You shall use the services and/or data that You receive via the DSC APIs only for legitimate business purposes, only in connection with DHL Supply Chain’s transportation and/or warehousing services, and in compliance with all applicable laws and regulations, including but not limited to, laws regarding the use of personal data.
- When data has been sent or received outside of DSC’s business hours, the processing of data and/or execution of the services will start according to the terms and conditions set out in the applicable Agreement or, absent thereof, as soon as reasonably practicable.
- Neither DSC nor the contracting DSC entity, or any other DSC affiliate entity, is responsible for storing a record of any data (API-call or -request data or the actual contents of the data sets), that has been exchanged via the DSC APIs, unless expressly agreed upon in writing or in an applicable Agreement.
- These API Terms & Conditions and the General Developer Portal Terms of Use are governed by the law and courts defined in the Agreement. Any references in the General Developer Portal Terms of Use to German or European Union laws shall be enforceable according to the law and courts defined in the Agreement, and should such references to German or European laws be deemed unenforceable, the most similar legal concept under the laws and courts defined in the Agreement shall apply. Should no law or court be defined in the Agreement, these Terms & Conditions shall be governed according to the terms of the General Developer Portal Terms of Use.
- You acknowledge that material and information You may acquire about inventory management software programs owned or licensed by DSC, including (but not limited to) the WMS, staffing methods, financial or other accounting systems, fees, and DSC’s other procedures and processes relating to the APIs or WMS (“Materials”) are proprietary, confidential, and owned by DSC. Other than described herein, You shall have no additional rights to the Materials.
- Should the Agreement not include specific details regarding data fields for the DSC APIs, DSC shall determine which data fields need to be provided or filled by You, to use the DSC APIs, unless otherwise agreed.
- DSC shall have no liability to You should You make adjustments to the data in a WMS or to any other system (including but not limited to any records, logs, reports, etc. whether Yours or a third party’s), based on the data from the DSC APIs. Without prejudice to any other terms included herein, You agree that DSC shall not be liable for any corresponding costs due to the failure of the DSC APIs, including but not limited to any costs or liabilities arising from third parties.
3.2.5
- Added inventoryStatusTracking attribute for /item POST and PUT APIs.
- Cleaned up "trailerNumber" and "assignedCarrierCode" from /asn API.
- Documentation fix on ASN Confirmation Push API (/asn/confirmation) and Return Order Confirmation Push API (/asn/confirmation/return).
- Added ../receiptLines/unitOfMeasure attribute
- Updated attribute name ../waybillNumber
- Added ../assignedCarrierCode
- Added ../trailerNumber
- Updated attribute ../serialNumbers
- Added below in the Order Confirmation Push API:
- /order/confirmation/orders/referenceFields segment
- /order/confirmation/orders/orderLines/referenceFields segment
- /order/confirmation/orders/handlingUnitLines/referenceFields segment
- Added referenceFields at Inventory Adjustment Push API (/inventory/adjustment).
- Documentation fix adding /asn/receiptLines/identifiedQuantity and ../receivedQuantity on Inbound Logistics Order GET.
- Documentation fix adding /asn/return/receiptLines/identifiedQuantity and ../receivedQuantity on Return Order GET.
- Added InventoryAttributeChange transaction at Inventory Adjustment Push API (/inventory/adjustment) and updated /inventory/adjustment/messageType attribute description.
- Updated /asn/receipt and /asn/return examples with more meaningful values.
3.2.4
ASN Confirmation Push API
- removed “receiptTypeDescription” as attribute is not supported by WMS API.
- changed attribute "receiptReferenceFields" to "referenceFields” (documentation change).
- changed attribute "expirationDate" to “expiryDate” (documentation change).
- changed attribute "receiptLinesReferenceFields" to "lineReferenceFields (documentation change).
- added attribute “closureDate” (documentation change).
- added attribute "alternateItemNumber" (documentation change).
- added attribute "serialNumbers” (documentation change).
Return Order Confirmation Push API
- changed attribute "receiptReferenceFields" to "referenceFields” (documentation change).
- changed attribute "expirationDate" to “expiryDate” (documentation change).
- changed attribute "receiptLinesReferenceFields" to "lineReferenceFields” (documentation change).
- added attribute “closureDate” (documentation change).
- added attribute "returnCode" (documentation change).
- added attribute "alternateItemNumber" (documentation change).
- added attribute "serialNumbers” (documentation change).
Outbound Logistics Order
- updated “unitPrice” and “unitPriceCurrency” attribute descriptions” (documentation change).
3.2.3
Order Confirmation Push API attributes clean up and pre shipment status message enabling.
Attributes added on Order Confirmation Push API:
orders\deliveryNumber
orders\messageDate
orders\orderStatus - Enum: [PACKED, SHIPPED]
orderLines\subLineNumber
orderLines\supplierLotNumber
orderLines\supplierNumber
orderLines\unitQuantity
handlingUnitLines\subLineNumber
handlingUnitLines\supplierLotNumber
handlingUnitLines\supplier
handlingUnitLines\customsBonded
Attributes removed as they were not mapped from WMS'
handlingUnits\ssccType
handlingUnits\status
handlingUnitLines\orderedQuantity
Fixed segment name to ‘orders’.
3.2.2
Added optional "division" field across all API methods, note that this field works for certain WMS.
Added optional "seller" address segment in Outbound Logistics Order POST and PUT that works for certain WMS.
3.2.1
Inbound Logistics Order structure updated to include the supplierLotNumber under receiptLines.
Order Confirmation Push API fields description alignment with other APIs fields description.
Order Confirmation Push API: Add serviceLevel field on OAS.
Outbound Logistics Order orderNotes\noteLineNumber field type fix to string.
Outbound Logistics Order orderLines\subLineNumber field type fix to string.
3.2.0
Added the following Outbound Push APIs from WMS to Customer:
- Order Confirmation
- Inventory Snapshot
3.1.0
- Item Master:
- Post and Put APIs: Commodity Code field: added internal mapping for this field to Manhattan WMS.
- Fixed fields on samples for revisionLevelFlag, receiveUOM and uomCode fields.
- Return Order:
- Post, Put and Get APIs: added below fields for Blue Yonder WMS.
- Header: returnReferenceNumber, invoiceNumber, originalOrderNumber, assignedCarrierCode, trailerNumber, receiptReferenceFields\referenceField & referenceFieldType
- Line: inventoryAttributeFields\inventoryAttributeField & inventoryAttributeType, receiptLinesReferenceFields\referenceField & referenceFieldType
- Updated eNum with the values for receiptLinesReferenceFields\referenceFieldType
- Post, Put and Get APIs: added below fields for Blue Yonder WMS.
- Outbound Logistics Order:
- Updated inventoryStatus field description.
- Updated eNum with the values for orderReferenceFields\referenceFieldType and orderLineReferenceFields\referenceFieldType fields.
- Inbound Logistics Order:
- Updated eNum with the values for receiptLinesReferenceFields\referenceFieldType
- Added the following Outbound Push APIs from WMS to Customer:
- ASN Confirmation
- Return Order Confirmation
- Inventory Adjustment
- Order Status Change
3.0.0
- Added new fields for below APIs:
- Item Master: Inventory and Transportation related fields, new segment created to host Hazardous Material fields, reference type fields.
- Inbound Logistics Order: Transportation related fields, reference type fields.
- Outbound Logistics Order: Inventory, Transportation and Carrier related fields, Serial Numbers segment, reference type fields.
-
New WMS API URL:
QA Test https://dsc.api-sandbox.dhl.com/wms Production https://dsc.api.dhl.com/wms
2.0.0
- Initial Release
- Updated the version to 2.0.0 to match the version of APIs on swagger document
Open API Version
- Specification was updated to Open API v3.
Base path update
The base path was updated to /dhllink/wms/v2
Updates to overview section
Updated environment URLs in the overview section.
Corrected naming conventions of APIs and DHL Supply Chain in legal terms section