PHPackages                             dhl/module-unified-tracking - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dhl/module-unified-tracking

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

dhl/module-unified-tracking
===========================

Integrate the DPDHL Group tracking web service into Magento® 2 carrier modules.

2.4.0(1mo ago)2289.6k↓41%[1 issues](https://github.com/netresearch/dhl-module-unified-tracking/issues)3OSL-3.0PHPPHP ~8.3.0||~8.4.0||~8.5.0CI failing

Since Mar 30Pushed 2d ago7 watchersCompare

[ Source](https://github.com/netresearch/dhl-module-unified-tracking)[ Packagist](https://packagist.org/packages/dhl/module-unified-tracking)[ RSS](/packages/dhl-module-unified-tracking/feed)WikiDiscussions main Synced yesterday

READMEChangelog (6)Dependencies (14)Versions (11)Used By (3)

DHL Unified Tracking Extension
==============================

[](#dhl-unified-tracking-extension)

The DHL Unified Tracking extension offers an integration of the [Shipment Tracking - Unified API](https://developer.dhl/api-reference/shipment-tracking) into the Magento® 2 platform.

Description
-----------

[](#description)

This extension enables integrators to request tracking details for a given DHL shipment. The extension does not display tracking status and tracking history on its own. It accepts a tracking number and will return the tracking details in a format suitable for use in Magento® 2. The UI integration needs to be realized within a carrier module or similar.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.3
- PHP Internationalization extension

Compatibility
-------------

[](#compatibility)

- Magento 2.4.8+

Installation Instructions
-------------------------

[](#installation-instructions)

Install sources:

```
composer require dhl/module-unified-tracking

```

Enable module:

```
./bin/magento module:enable Dhl_UnifiedTracking
./bin/magento setup:upgrade

```

Flush cache and compile:

```
./bin/magento cache:flush
./bin/magento setup:di:compile

```

Uninstallation
--------------

[](#uninstallation)

To unregister the tracking module from the application, run the following command:

```
./bin/magento module:uninstall Dhl_UnifiedTracking
composer update

```

Usage
-----

[](#usage)

Tracking details can be obtained from the web service by either enabling the carrier plugin or using the tracking service directly.

The web service allows to filter results by DHL divisions.

### Carrier Plugin

[](#carrier-plugin)

The tracking extension comes with a plugin that can be enabled to replace a carrier's original `\Magento\Shipping\Model\Carrier\AbstractCarrierOnline::getTrackingInfo` method.

```

```

The request for tracking info will then be picked up by the tracking extension and return a result object ready to be processed by the `Magento_Shipping` core module.

### Tracking Service

[](#tracking-service)

The tracking extension offers an integration point that can be used to request tracking details from the web service: `\Dhl\UnifiedTracking\Api\TrackingInfoProviderInterface::getTrackingDetails`.

Using the tracking service directly can be useful if the result needs to be modified before passing it to the `Magento_Shipping` core module.

```
// \Vendor\Module\Model\Carrier::getTrackingInfo

public function getTrackingInfo($tracking)
{
    $result = $this->trackingInfoProvider->getTrackingDetails($tracking, $this->getCarrierCode());

    if ($result instanceof \Magento\Shipping\Model\Tracking\Result\Error) {
        // create link to portal if web service returned an error
        $statusData = [
            'tracking' => $tracking,
            'url' => 'https://trackntrace.carrier.com/?track=' . $tracking,
        ];
        $result = $this->_trackStatusFactory->create(['data' => $statusData]);
    }

    return $result;
}
```

### Limit Web Service Results

[](#limit-web-service-results)

The tracking web service is able to return results from across DHL divisions. If the integration is only meant to request tracking details from a certain carrier (e.g. DHL Paket), then the web service results should be filtered by providing a tracking configuration object via DI configuration:

```

            Vendor\Foo\Model\TrackingConfiguration
            Vendor\Bar\Model\TrackingConfiguration

```

The carrier code is the identifier of the Magento® carrier that the tracking number belongs to. Compare

- `\Magento\Sales\Api\Data\TrackInterface::getTrackNumber`
- `\Magento\Sales\Api\Data\TrackInterface::getCarrierCode`

See [API docs](https://developer.dhl/api-reference/shipment-tracking#/default/get_shipments)for a list of available service names.

Support
-------

[](#support)

In case of questions or problems, please have a look at the [Support Portal (FAQ)](http://dhl.support.netresearch.de/) first.

If the issue cannot be resolved, you can contact the support team via the [Support Portal](http://dhl.support.netresearch.de/) or by sending an email to .

License
-------

[](#license)

[OSL - Open Software Licence 3.0](http://opensource.org/licenses/osl-3.0.php)

Copyright
---------

[](#copyright)

(c) 2021 DPDHL Group

###  Health Score

60

—

FairBetter than 98% of packages

Maintenance87

Actively maintained with recent releases

Popularity37

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 55.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~282 days

Recently: every ~465 days

Total

9

Last Release

30d ago

Major Versions

1.2.0 → 2.0.02021-03-18

PHP version history (6 changes)1.0.0PHP ~7.0.6 || ~7.1.3 || ~7.2.0 || ~7.3.0

1.1.0PHP ^7.1.3

2.1.0PHP ^7.2.0 || ^8.1.0

2.2.0PHP ^8.2.0

2.3.0PHP ^8.3.0 || ^8.4.0

2.4.0PHP ~8.3.0||~8.4.0||~8.5.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/efd68399f95aa07110668d9af1a47a8030d8df5ec5af4b28e821d442d787583a?d=identicon)[team-mage](/maintainers/team-mage)

---

Top Contributors

[![mam08ixo](https://avatars.githubusercontent.com/u/1771622?v=4)](https://github.com/mam08ixo "mam08ixo (33 commits)")[![Sebastian80](https://avatars.githubusercontent.com/u/6400300?v=4)](https://github.com/Sebastian80 "Sebastian80 (13 commits)")[![magicsunday](https://avatars.githubusercontent.com/u/564393?v=4)](https://github.com/magicsunday "magicsunday (6 commits)")[![AndreasMueller75](https://avatars.githubusercontent.com/u/32193606?v=4)](https://github.com/AndreasMueller75 "AndreasMueller75 (3 commits)")[![powli](https://avatars.githubusercontent.com/u/4511053?v=4)](https://github.com/powli "powli (3 commits)")[![CybotTM](https://avatars.githubusercontent.com/u/326348?v=4)](https://github.com/CybotTM "CybotTM (1 commits)")

---

Tags

gitlab-mirror

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dhl-module-unified-tracking/health.svg)

```
[![Health](https://phpackages.com/badges/dhl-module-unified-tracking/health.svg)](https://phpackages.com/packages/dhl-module-unified-tracking)
```

###  Alternatives

[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68357.9k](/packages/run-as-root-magento2-prometheus-exporter)[mollie/magento2

Mollie Payment Module for Magento 2

1131.9M16](/packages/mollie-magento2)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1011.8k26](/packages/loki-magento2-components)[zwernemann/module-withdrawal

Magento 2 EU Withdrawal Button Module - Adds a withdrawal/revocation button for orders in compliance with EU Directive (EU) 2023/2673

244.8k2](/packages/zwernemann-module-withdrawal)[joseph-leedy/module-custom-fees

Adds configurable custom fees to orders

361.1k](/packages/joseph-leedy-module-custom-fees)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
