PHPackages                             mehr-it/sdk-api-bcs - 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. [API Development](/categories/api)
4. /
5. mehr-it/sdk-api-bcs

ActiveLibrary[API Development](/categories/api)

mehr-it/sdk-api-bcs
===================

DHL business customer shipping API

1.4.0(3y ago)03MITPHPPHP ^7.2.0 || ^8.0.0

Since Jan 16Pushed 3y agoCompare

[ Source](https://github.com/mehr-it/dhl-sdk-api-bcs)[ Packagist](https://packagist.org/packages/mehr-it/sdk-api-bcs)[ RSS](/packages/mehr-it-sdk-api-bcs/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (4)Versions (8)Used By (0)

DHL BCS API SDK
===============

[](#dhl-bcs-api-sdk)

The DHL Business Customer Shipping API SDK package offers an interface to the following web services:

- Geschäftskundenversand 3.1.2

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

[](#requirements)

### System Requirements

[](#system-requirements)

- PHP 7.2+ with SOAP extension

### Package Requirements

[](#package-requirements)

- `psr/log`: PSR-3 logger interfaces

### Development Package Requirements

[](#development-package-requirements)

- `phpunit/phpunit`: Testing framework

Installation
------------

[](#installation)

```
$ composer require dhl/sdk-api-bcs
```

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

[](#uninstallation)

```
$ composer remove dhl/sdk-api-bcs
```

Testing
-------

[](#testing)

```
$ ./vendor/bin/phpunit -c test/phpunit.xml
```

Features
--------

[](#features)

The DHL BCS API SDK supports the following features:

- Validate Shipment
- Create Shipment Order
- Delete Shipment Order

### Authentication

[](#authentication)

The DHL BCS API requires a two-level authentication (*HTTP Basic Authentication*and *SOAP Header Authentication*). The API SDK offers an authentication storage to pass credentials in.

```
$authStorage = new \Dhl\Sdk\Paket\Bcs\Auth\AuthenticationStorage('appId', 'appToken', 'user', 'signature');
```

### Validate Shipment

[](#validate-shipment)

Validate shipments for DHL Paket including the relevant shipping documents.

#### Public API

[](#public-api)

The library's components suitable for consumption comprise

- services:
    - service factory
    - shipment service
    - data transfer object builder
- data transfer objects:
    - authentication storage
    - validation result with status message

#### Usage

[](#usage)

```
$logger = new \Psr\Log\NullLogger();

$serviceFactory = new ServiceFactory();
$service = $serviceFactory->createShipmentService($authStorage, $logger, $sandbox = true);

$requestBuilder = new ShipmentOrderRequestBuilder();
$requestBuilder->setShipperAccount($billingNumber = '22222222220101');
$requestBuilder->setShipperAddress(
    $company = 'DHL',
    $country = 'DE',
    $postalCode = '53113',
    $city = 'Bonn',
    $street = 'Charles-de-Gaulle-Straße',
    $streetNumber = '20'
);
$requestBuilder->setRecipientAddress(
    $recipientName = 'Jane Doe',
    $recipientCountry = 'DE',
    $recipientPostalCode = '53113',
    $recipientCity = 'Bonn',
    $recipientStreet = 'Sträßchensweg',
    $recipientStreetNumber = '2'
);
$requestBuilder->setShipmentDetails($productCode = 'V01PAK', $shipmentDate = '2019-09-09');
$requestBuilder->setPackageDetails($weightInKg = 2.4);

$shipmentOrder = $requestBuilder->create();
$result = $service->validateShipments([$shipmentOrder]);
```

### Create Shipment Order

[](#create-shipment-order)

Create shipments for DHL Paket including the relevant shipping documents.

#### Public API

[](#public-api-1)

The library's components suitable for consumption comprise

- services:
    - service factory
    - shipment service
    - data transfer object builder
- data transfer objects:
    - authentication storage
    - shipment with shipment/tracking number and label(s)

#### Usage

[](#usage-1)

```
$logger = new \Psr\Log\NullLogger();

$serviceFactory = new ServiceFactory();
$service = $serviceFactory->createShipmentService($authStorage, $logger, $sandbox = true);

$requestBuilder = new ShipmentOrderRequestBuilder();
$requestBuilder->setShipperAccount($billingNumber = '22222222220101');
$requestBuilder->setShipperAddress(
    $company = 'DHL',
    $country = 'DE',
    $postalCode = '53113',
    $city = 'Bonn',
    $street = 'Charles-de-Gaulle-Straße',
    $streetNumber = '20'
);
$requestBuilder->setRecipientAddress(
    $recipientName = 'Jane Doe',
    $recipientCountry = 'DE',
    $recipientPostalCode = '53113',
    $recipientCity = 'Bonn',
    $recipientStreet = 'Sträßchensweg',
    $recipientStreetNumber = '2'
);
$requestBuilder->setShipmentDetails($productCode = 'V01PAK', $shipmentDate = '2019-09-09');
$requestBuilder->setPackageDetails($weightInKg = 2.4);

$shipmentOrder = $requestBuilder->create();
$shipments = $service->createShipments([$shipmentOrder]);
```

### Delete Shipment Order

[](#delete-shipment-order)

Cancel earlier created shipments.

#### Public API

[](#public-api-2)

The library's components suitable for consumption comprise of

- services:
    - service factory
    - shipment service
- data transfer objects:
    - authentication storage

#### Usage

[](#usage-2)

```
$logger = new \Psr\Log\NullLogger();

$serviceFactory = new ServiceFactory();
$service = $serviceFactory->createShipmentService($authStorage, $logger, $sandbox = true);

$shipmentNumber = '222201011234567890';
$cancelled = $service->cancelShipments([$shipmentNumber]);
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~181 days

Recently: every ~150 days

Total

6

Last Release

1398d ago

PHP version history (3 changes)1.0.0PHP ^7.0.0

1.1.0PHP ^7.1.0

1.3.0PHP ^7.2.0 || ^8.0.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/44973729?v=4)[mehr.IT GmbH](/maintainers/mehr-it)[@mehr-it](https://github.com/mehr-it)

---

Top Contributors

[![mam08ixo](https://avatars.githubusercontent.com/u/1771622?v=4)](https://github.com/mam08ixo "mam08ixo (20 commits)")[![Sebastian80](https://avatars.githubusercontent.com/u/6400300?v=4)](https://github.com/Sebastian80 "Sebastian80 (7 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 (6 commits)")[![chmgr](https://avatars.githubusercontent.com/u/94837732?v=4)](https://github.com/chmgr "chmgr (2 commits)")[![powli](https://avatars.githubusercontent.com/u/4511053?v=4)](https://github.com/powli "powli (2 commits)")[![YiffyToys](https://avatars.githubusercontent.com/u/52350973?v=4)](https://github.com/YiffyToys "YiffyToys (1 commits)")

---

Tags

phpsdk

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mehr-it-sdk-api-bcs/health.svg)

```
[![Health](https://phpackages.com/badges/mehr-it-sdk-api-bcs/health.svg)](https://phpackages.com/packages/mehr-it-sdk-api-bcs)
```

###  Alternatives

[alexacrm/php-crm-toolkit

PHP Toolkit for Microsoft Dynamics CRM

109293.3k1](/packages/alexacrm-php-crm-toolkit)[paddlehq/paddle-php-sdk

Paddle's PHP SDK for Paddle Billing.

53301.7k](/packages/paddlehq-paddle-php-sdk)

PHPackages © 2026

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