deutschepost/sdk-api-addressfactory

PostDirekt Addressfactory API

Maintainers

Package info

github.com/netresearch/deutschepost-sdk-addressfactory

pkg:composer/deutschepost/sdk-api-addressfactory

Transparency log

Statistics

Installs: 400 978

Dependents: 2

Suggesters: 0

Stars: 5

Open Issues: 0

2.2.0 2025-06-04 15:54 UTC

This package is auto-updated.

Last update: 2026-07-15 12:48:19 UTC


README

Deprecation Notice

In agreement with Deutsche Post Direkt GmbH, the ADDRESSFACTORY and AUTOCOMPLETE modules have been discontinued and are entering end-of-life.

  • No new customers will be onboarded for these modules by Deutsche Post Direkt.
  • Existing customers may continue to access the GitHub source code until approximately June 2027.
  • Official support for existing users will end on December 31, 2026.

The Postdirekt Addressfactory API SDK package offers an interface to the ADDRESSFACTORY DIRECT web service which allows to correct and enrich address datasets.

Requirements

System Requirements

  • PHP 8.1+ with SOAP extension

Package Requirements

  • psr/log: PSR-3 logger interfaces

Development Package Requirements

  • phpstan/phpstan: Static analysis tool
  • phpunit/phpunit: Testing framework
  • squizlabs/php_codesniffer: Static analysis tool
  • rector/rector: Refactoring tool
  • fig/log-test: Test utilities for psr/log

Installation

composer require deutschepost/sdk-api-addressfactory

Uninstallation

composer remove deutschepost/sdk-api-addressfactory

Testing

composer run test

Features

The Postdirekt Addressfactory API SDK supports the following features:

  • Get address record by flat address data
  • Get address record(s) by complex address data

Get Record By Address

Verify a single address record by passing name and street address.

Public API

The library's components suitable for consumption comprise of

  • service:
    • service factory
    • address verification service
  • data transfer objects:
    • response record with corrections and status codes indicating issues with the input data

Usage

$logger = new \Psr\Log\NullLogger();
$configName = 'default';

$serviceFactory = new \PostDirekt\Sdk\AddressfactoryDirect\Service\ServiceFactory();
$service = $serviceFactory->createAddressVerificationService('user', 'pass', $logger);

$record = $service->getRecordByAddress('53114', 'Bonn', 'Sträßchenweg', '10', 'Mustermann', 'Hans', null, $configName);

echo $record->getAddress()->getPostalCode(); // "53113"
echo $record->getAddress()->getStreetName(); // "Sträßchensweg"
echo $record->getStatusCodes(); // ['BAC100103', 'FNC400501', 'PDC030105', '…']

Get Records By Complex Address

Verify address records by passing in a complex request objects.

Public API

The library's components suitable for consumption comprise of

  • service:
    • service factory
    • address verification service
    • data transfer object builder
  • data transfer objects:
    • response record with corrections and status codes indicating issues with the input data

Usage

$logger = new \Psr\Log\NullLogger();
$configName = 'default';

$serviceFactory = new \PostDirekt\Sdk\AddressfactoryDirect\Service\ServiceFactory();
$service = $serviceFactory->createAddressVerificationService('user', 'pass', $logger);

$requestBuilder = new \PostDirekt\Sdk\AddressfactoryDirect\RequestBuilder\RequestBuilder();
$requestBuilder->setMetadata($recordId = 1);
$requestBuilder->setAddress('Deutschland', '53114', 'Bonn', 'Sträßchenweg', '10');
$request = $requestBuilder->create();

$records = $service->getRecords([$request], null, $configName);
foreach ($records as $record) {
    echo $record->getRecordId(); // 1
    echo $record->getAddress()->getPostalCode(); // "53113"
    echo $record->getAddress()->getStreetName(); // "Sträßchensweg"
    echo $record->getStatusCodes(); // ['BAC100103', 'FNC400501', 'PDC030105', '…']
}