DHL Shipping & Magento - Expanding Markets
DHL is a global company with multiple business units, each of them operating in specific or overlapping regions. Up to DHL Shipping 0.1.0, our extensions connected to the DHL Business Customer Shipping web services, serving merchants with shipping origin in Germany or Austria.
This sometimes led to confusion when merchants were not aware that DHL Shipping would not connect to “their” locally operating DHL branch. As a result, DHL came up with the idea of adding the DHL eCommerce web services to the DHL Shipping extension, enabling merchants in the AMER/APAC regions to retrieve shipping labels for their parcels. Architecturally, the basic idea was to establish a common data model for all shipping-related information, then connect to the responsible division based on the shipping route (origin-to-destination) while transforming the common data set to the data type the respective web service understands. From a technical perspective, this worked out quite well but came with usability issues. Most of the DHL Shipping users were located in Germany but suddenly found their configuration section cluttered with settings they would never need to fill out. Filtering the settings based on the configured shipping origin did not help much: Configuration fields in Magento simply do not work as filters and are not perceived as such. Secondly, the shipping origin, located in a completely different configuration section, is often not (yet) set up correctly when configuring the shipping method.
At a later stage, another DHL division expressed interest in joining the project. The routes supported by this carrier overlapped with what DHL Shipping offered at this time, so the route-based segregation of web service requests would no longer apply. This was when we locked ourselves in to come up with the architectural groundwork for what eventually surfaced as DHL Shipping version 1.0.0 in April 2020.
DHL Global Web Services
The main goal of the new and shiny DHL Shipping extension for Magento 2 was to be no longer limited in the number of DHL business units to connect to. Hence, the working title DHL Global Web Services was born, followed by DHL Shipping Solutions, ultimately ended up as DHL Shipping with the major version number bump indicating that this is an entire rewrite of the previous extension.
The following posts will provide insight into the architectural decisions of the new DHL Shipping version and point out new and noteworthy features. The next part focuses on the first noticeable change when upgrading the extension: the composition of packages.
It'll be worth it. Stay tuned.