PHPackages                             optimondo/dpdwebservice - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. optimondo/dpdwebservice

ActiveLibrary[HTTP &amp; Networking](/categories/http)

optimondo/dpdwebservice
=======================

Library to interface with the SOAP DPD web services

v1.2.1(3y ago)0151MITPHPPHP &gt;= 7.4

Since Sep 1Pushed 3y agoCompare

[ Source](https://github.com/optimondo/dpdwebservice)[ Packagist](https://packagist.org/packages/optimondo/dpdwebservice)[ RSS](/packages/optimondo-dpdwebservice/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (3)DependenciesVersions (4)Used By (0)

DPD SOAP 4.4.0 Webservice
=========================

[](#dpd-soap-440-webservice)

Installation:

```
$ composer require optimondo/dpdwebservice
```

Features:

- Submit a shipment to the dpd webservice and retrieve it's label and tracking information
- Retrieve parcel status information

Basic shipment usage:

```
use DPDWebservice\DPDAuthorisation;
use DPDWebservice\DPDShipment;

try {
    // Second parameter to disable the wsdl cache defaults to true
    $authorisation = new DPDAuthorisation([
        'staging' => true,
        'delisId' => '...',
        'password' => '...',
        'messageLanguage' => 'de_DE',
        'customerNumber' => '...'
    ]);

    // Second parameter to disable the wsdl cache defaults to true
    // $authorisation = new DPDAuthorisation($dpd, false);

    // Init the shipment with authorisation
    $shipment = new DPDShipment($authorisation);

    // Set the language for the track&trace link
    $shipment->setTrackingLanguage('de_DE');

    // Enable saturday delivery
    $shipment->setSaturdayDelivery(true);

    // Enable DPD B2C delivery method
    $shipment->setPredict([
        'channel' => 'email',
        'value' => 'someone@mail.com',
        'language' => 'DE'
    ]);

    // Set the general shipmentdata
    $shipment->setGeneralShipmentData([
        'product' => 'CL',
        'mpsCustomerReferenceNumber1' => 'Test shipment'
    ]);

    // Set the printer options
    $shipment->setPrintOptions([
        'printerLanguage' => 'PDF',
        'paperFormat' => 'A6',
    ]);

    // Set the sender's address
    $shipment->setSender([
        'name1' => 'Your Company',
        'street' => 'Street 12',
        'country' => 'DE',
        'zipCode' => '12345',
        'city' => 'Berlin',
        'email' => 'contact@yourcompany.com',
        'phone' => '1234567645'
    ]);

    // Set the receiver's address
    $shipment->setReceiver([
        'name1' => 'Joh Doe',
        'name2' => null,
        'street' => 'Street',
        'houseNo' => '12',
        'zipCode' => '1234AB',
        'city' => 'Amsterdam',
        'country' => 'NL',
        'contact' => null,
        'phone' => null,
        'email' => null,
        'comment' => null
    ]);

    // Add as many parcels as you want
    $shipment->addParcel([
        'weight' => 3000, // In gram
        'height' => 10, // In centimeters
        'width' => 10,
        'length' => 10
    ]);

    $shipment->addParcel([
        'weight' => 5000, // In gram
        'height' => 20, // In centimeters
        'width' => 30,
        'length' => 20
    ]);

    // Submit the shipment
    $shipment->submit();

    // Get the trackingdata
    $trackinglinks = $shipment->getParcelResponses();

    // Show the pdf label
    header('Content-Type: application/pdf');
    echo $shipment->getLabels();

}
catch(Exception $e){
    echo $e->getMessage();
}
```

Basic parcel status usage:

```
use DPDWebservice\DPDAuthorisation;
use DPDWebservice\DPDParcelStatus;

try
{

    // Authorize
    // Be aware that this functionality doesn't work with test credentials
    $authorisation = new DPDAuthorisation([
        'staging' => false,
        'delisId' => '',
        'password' => '',
        'messageLanguage' => 'en_EN',
        'customerNumber' => ''
    ]);

    // Init
    $status = new DPDParcelStatus($authorisation);

    // Retrieve the parcel's status by it's awb number
    $parcelStatus = $status->getStatus('12345678987654');

    echo '';
    print_r($parcelStatus);
    echo '';

}
catch(Exception $e){
    echo $e->getMessage();
}
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~2 days

Total

3

Last Release

1342d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b23f988ecf1bfa3964ca3dbb20de30efd85a0252fefc7ebe09b9fe124a03fb7b?d=identicon)[optimondo](/maintainers/optimondo)

---

Top Contributors

[![optimondo](https://avatars.githubusercontent.com/u/71510440?v=4)](https://github.com/optimondo "optimondo (8 commits)")

---

Tags

dpddpd webservicedpd apidpd soap

### Embed Badge

![Health badge](/badges/optimondo-dpdwebservice/health.svg)

```
[![Health](https://phpackages.com/badges/optimondo-dpdwebservice/health.svg)](https://phpackages.com/packages/optimondo-dpdwebservice)
```

###  Alternatives

[friendsofsymfony/rest-bundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony

2.8k73.3M315](/packages/friendsofsymfony-rest-bundle)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k309.5M1.2k](/packages/php-http-discovery)[nyholm/psr7

A fast PHP7 implementation of PSR-7

1.3k235.4M2.4k](/packages/nyholm-psr7)[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78126.4M414](/packages/react-http)[php-http/curl-client

PSR-18 and HTTPlug Async client with cURL

48247.0M382](/packages/php-http-curl-client)

PHPackages © 2026

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