德国邮政 / sdk-api-addressfactory
PostDirekt Addressfactory API
2.1.0
2024-05-03 09:31 UTC
Requires (Dev)
- ext-simplexml: *
- fig/log-test: ^1.1
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.5
- rector/rector: ^0.15.21
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-08-27 12:22:01 UTC
README
Postdirekt Addressfactory API SDK 包提供对 ADDRESSFACTORY DIRECT 网络服务的接口,允许修正和丰富地址数据集。
要求
系统要求
- PHP 8.1+ 带有 SOAP 扩展
包要求
psr/log
: PSR-3 日志接口
开发包要求
phpstan/phpstan
: 静态分析工具phpunit/phpunit
: 测试框架squizlabs/php_codesniffer
: 静态分析工具rector/rector
: 重构工具fig/log-test
:psr/log
的测试工具
安装
composer require deutschepost/sdk-api-addressfactory
卸载
composer remove deutschepost/sdk-api-addressfactory
测试
composer run test
功能
Postdirekt Addressfactory API SDK 支持以下功能
- 通过平面地址数据获取地址记录
- 通过复杂地址数据获取地址记录
通过地址获取记录
通过传递名称和街道地址来验证单个地址记录。
公共API
库中适合消费的组件包括
- 服务
- 服务工厂
- 地址验证服务
- 数据传输对象
- 包含纠正和状态码的响应记录,指示输入数据的问题
用法
$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', '…']
通过复杂地址获取记录
通过传递复杂请求对象来验证地址记录。
公共API
库中适合消费的组件包括
- 服务
- 服务工厂
- 地址验证服务
- 数据传输对象构建器
- 数据传输对象
- 包含纠正和状态码的响应记录,指示输入数据的问题
用法
$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', '…'] }