bigbank/omniva

用于与 Omniva 网络API接口的库

0.2.0 2017-05-29 08:10 UTC

This package is not auto-updated.

Last update: 2024-09-23 07:00:34 UTC


README

Latest Stable Version on Packagist Software License Build Status Total Downloads

一个PHP库,用于与Omniva(前爱沙尼亚邮政服务)网络API接口进行交互,无需处理SOAP(太多)。

安装

通过Composer

$ composer require bigbank/omniva

该库需要PHP >=5.6curlsoapopenssl扩展。

使用

// Instantiate the main class
$omniva = new Omniva;

// Ask for a service (see: Services)
$addressSearchService = $omniva->getService(AddressSearchInterface::class)
    ->setApiKey(getenv('OMNIVA_PASSWORD'));

// Get a list of all matching addresses for a partial input
$addresses = $addressSearchService->findAddresses('Tartu mnt 18');

print_r($addresses);

示例实现examples/search-address.php可以运行

$ OMNIVA_PASSWORD="<secret-string>" php examples/search-address.php

要使用HTTP代理,设置HTTP_PROXY环境变量。

服务

该库提供以下服务的访问

地址搜索

根据部分输入获取物理地址列表。适用于地址自动完成等应用程序。

使用

$addressSearchService = $omniva->getService(AddressSearchInterface::class)
    ->setApiKey(getenv('OMNIVA_PASSWORD'))
    ->findAddresses('Tartu mnt 18');

您可以通过手动实例化AddressSearch来更改Omniva API端点的URL

$addressSearchService = new AddressSearch(
    new SingleAddress2_5_1PortTypeService($soapOptions, $wsdlUrl),
    new SingleAddress2_5_1Request
);

示例输出

Array
(
    [0] => Array
        (
            [address] => Eesti Vabariik, Tartu maakond, Elva linn, Tartu maantee 18
            [addressNumber] => 18
            [county] => Tartu maakond
            [countyId] => 0078
            [designation] => 
            [flatNumber] => 
            [latitude] => 641443.84
            [level] => A7
            [longitude] => 6457217.29
            [mailboxType] => 
            [mainAddress] => 
            [municipality] => Elva linn
            [municipalityId] => 0170
            [municipalityType] => linn
            [nationalAddressId] => 7817000000000002H000019HC00000000
            [omnivaAddressId] => 3702034
            [postalIndex] => 61505
            [postOfficeBoxNumber] => 
            [settlement] => 
            [settlementId] => 0000
            [settlementType] => 
            [status] => Kontrollitud, kehtiv
            [territorialAddress] => 
            [territorialAddressType] => 
            [trafficSurface] => Tartu maantee
            [trafficSurfaceType] => tee
        )
)

变更日志

请参阅CHANGELOG了解最近更改的信息。

测试

$ composer test

开发

请参阅CONTRIBUTING了解详细信息。

定义

用于Omniva API术语的定义(爱沙尼亚语)

  • EHAK - 爱沙尼亚行政和居民区分类器
  • ADS - 地址信息管理系统
  • 主地址 - 如果对象有多个地址但只使用一个,则此地址是必需的,另一个是备用。例如,如果一个位于今天角落的房子的两个地址,房子的一侧是主入口,那么这个地址就是主地址。

相关材料

这些材料(爱沙尼亚语)有助于理解地址领域。

安全性

如果您发现任何与安全相关的问题,请通过info@bigbank.ee电子邮件发送,而不是使用问题跟踪器。

致谢

许可证

Apache 2.0许可证(Apache-2.0)。请参阅许可证文件了解更多信息。