yurycooliq/ukrposhta-php
Composer 安装命令:
composer require yurycooliq/ukrposhta-php
包简介
Ukrpochta API (forked from https://github.com/martinjack/UkrposhtaAPI)
关键字:
README 文档
README
PHP класс для работы с API Укрпочты. Форкнуто с https://github.com/martinjack/UkrposhtaAPI для добавления новых методов (пока только просчёт доставки).
Документация
Требования
- PHP 7+
- Composer
Установка
composer require yurycooliq/ukrposhta-php
Пример использования
См. example.php.
Список методов
- Getting started
- Создать адрес
- Редактировать адрес
- Показать адрес по ID
- Создать нового клиента
- Редактировать клиента
- Получить клиента по ID или ExternalID
- Создать группу отправлений
- Редактирование группы отправлений
- Получить список групп отправлений
- Получить группу отправлений по ID
- Создать новую посылку
- Редактировать посылку
- Получить список почтовых отправлений
- Получить почтовое отправление по ID
- Удалить почтовое отправление с группы
- Создать форму в PDF формате
- Создать форму 103 в PDF формате
- [NEW] Стоимость доставки по Украине
Примеры
Getting started
<?php use Ukrposhta\Ukrposhta; // If you are using framework, like Laravel, skip this line include __DIR__ . '/vendor/autoload.php'; $ukrpochta = new Ukrposhta('API_KEY'); // Address payload $data = [ 'postcode' => '02099', 'region' => 'Полтавська', 'district' => 'Полтавський', 'city' => 'Полтава', 'street' => 'Шевченка', 'houseNumber' => '25', 'apartmentNumber' => '20', ]; // Get response in json $json_string = $ukrpochta->createAddress($data); // Decode it $result = json_decode($json_string); // Example of use print_r($result->id); // 123130 print_r($result->postcode); // "02099" print_r($result->country); // "UA"
Создать адрес
$ukrpochta->createAddress([ 'postcode' => '02099', 'region' => 'Полтавська', 'district' => 'Полтавський', 'city' => 'Полтава', 'street' => 'Шевченка', 'houseNumber' => '25', 'apartmentNumber' => '20', ]);
Редактировать адрес
$ukrpochta->editAddress(123130, [ 'postcode' => '02050', 'region' => 'Полтавська', 'district' => 'Полтавський', 'city' => 'Полтава', 'street' => 'Шевченка', 'houseNumber' => '50', 'apartmentNumber' => '1', ]);
Показать адрес по ID
$ukrpochta->getAddress(123130);
createClient($token, $data = array())
$ukrpochta->createClient('TOKEN COUNTERPARTY', array( 'name' => 'ФОП «Діскорд', 'uniqueRegistrationNumber' => '32855961', 'externalId' => '12345678', 'addressId' => 1245, 'phoneNumber' => '0954623442', 'counterpartyUuid' => 'COUNTERPARTY UUID', 'bankCode' => '612456', 'bankAccount' => '12345684' ));
editClient($id, $token, $data = array())
$ukrpochta->editClient('UUID_CLIENT', 'TOKEN_COUNTERPARTY', array( 'lastName' => 'Петрик', 'firstName' => 'Иван', 'middleName' => 'Васильович', 'uniqueRegistrationNumber' => '73232855', 'addressId' => 1, 'phoneNumber' => '0954623442', 'counterpartyUuid' => 'UUID COUNTERPARTY', 'discount' => 24, 'bankCode' => 254, ));
getClient($token, $id = 0, $extID = 0, $type = true)
$ukrpochta->getClient('TOKEN_COUNTERPARTY', 'ID_CLIENT');
$ukrpochta->getClient('TOKEN_COUNTERPARTY', '', 'externalId_CLIENT', false);
createGroup($data = array())
$ukrpochta->createGroup('TOKEN_COUNTERPARTY', array( 'name' => 'group1', 'counterpartyUuid' => 'UUID_COUNTERPARTY', ));
editGroup($token, $id, data = array())
$ukrpochta->editGroup('TOKEN_COUNTERPARTY', 'UUID_GROUP', array( 'name' => 'group2', 'counterpartyUuid' => 'UUID_COUNTERPARTY', ));
groupList($token)
$ukrpochta->groupList('TOKEN_COUNTERPARTY');
getGroup($id)
$ukrpochta->getGroup('UUID_GROUP', 'UUID_COUNTERPARTY');
createParcel($token, $data = array())
$ukrpochta->createParcel('ba5378df-985e-49c5-9cf3-d222fa60aa68', array( 'sender' => array( 'name' => 'ПРАТ Иван Движок', 'firstName' => '', 'middleName' => '', 'lastName' => '', 'uniqueRegistrationNumber' => '2541', 'counterpartyUuid' => '2304bbe5-015c-44f6-a5bf-3e750d753a17', 'addressId' => 123130, 'phoneNumber' => '0954623442', 'individual' => false, 'bankCode' => '123001', 'bankAccount' => '111000222000999', ), 'recipient' => array( 'name' => 'Иванов Иван Иванович', 'firstName' => 'Иван', 'middleName' => 'Иванович', 'lastName' => 'Иванови', 'uniqueRegistrationNumber' => '52415', 'counterpartyUuid' => '2304bbe5-015c-44f6-a5bf-3e750d753a17', 'addressId' => 123130, 'phoneNumber' => '0954623442', 'individual' => true, 'bankCode' => '123011', 'bankAccount' => '111000222000123', ), 'shipmentGroupUuid' => '54d3cb05-7ff4-4310-ab7c-ea77af42d998', 'deliveryType' => 'W2W', 'weight' => 150, 'length' => 20, 'width' => 0, 'height' => 0, 'postPay' => 15, 'description' => 'test comment comment', 'parcels' => array( array( 'name' => 'parcel name', 'weight' => 1000, 'length' => 170, 'declaredPrice' => 20, ), ), ));
editParcel($id, $token, $data = array())
$ukrpochta->editParcel('ID_PARCEL', 'TOKEN_COUNTERPARTY', array( 'sender' => array( 'name' => 'ПРАТ Иван Движок', 'firstName' => '', 'middleName' => '', 'lastName' => '', 'uniqueRegistrationNumber' => '2541', 'counterpartyUuid' => '2304bbe5-015c-44f6-a5bf-3e750d753a17', 'addressId' => 123130, 'phoneNumber' => '0954623442', 'individual' => false, 'bankCode' => '123001', 'bankAccount' => '111000222000999', ), 'recipient' => array( 'name' => 'Иванов Иван Иванович', 'firstName' => 'Иван', 'middleName' => 'Иванович', 'lastName' => 'Иванови', 'uniqueRegistrationNumber' => '52415', 'counterpartyUuid' => '2304bbe5-015c-44f6-a5bf-3e750d753a17', 'addressId' => 123130, 'phoneNumber' => '0954623442', 'individual' => true, 'bankCode' => '123011', 'bankAccount' => '111000222000123', ), 'shipmentGroupUuid' => '54d3cb05-7ff4-4310-ab7c-ea77af42d998', 'deliveryType' => 'W2W', 'weight' => 1500, 'length' => 20, 'width' => 0, 'height' => 0, 'postPay' => 15, 'description' => 'change comment parcel', 'parcels' => array( array( 'name' => 'parcel name change', 'weight' => 1000, 'length' => 170, 'declaredPrice' => 20, ), ), ));
parcelList($token)
$ukrpochta->parcelList('TOKEN_COUNTERPARTY');
getParcel($id, $token, $type = true)
$ukrpochta->getParcel('ID_PARCEL', 'TOKEN_COUNTERPARTY');
$ukrpochta->getParcel('ID_SENDER', 'TOKEN_COUNTERPARTY');
delParcelGroup($id, $token)
$ukrpochta->delParcelGroup('ID_PARCEL', 'ID_GROUP');
createForm($id, $token, $path, $type = true)
$ukrpochta->createForm('ID_PARCEL', 'TOKEN_COUNTERPARTY', __DIR__ . '/file.pdf');
$ukrpochta->createForm('ID_GROUP', 'TOKEN_COUNTERPARTY', __DIR__ . '/file.pdf', false);
createForm103($id, $token, $path)
$ukrpochta->createForm103('ID_GROUP', 'TOKEN_COUNTERPARTY', __DIR__ . '/file.pdf');
Стоимость доставки
$ukrpochta->deliveryPrice([ 'weight' => 1000, 'length' => 55, 'addressFrom' => [ 'postcode' => '03134' ], 'addressTo' => [ 'postcode' => '62404' ], 'type' => 'EXPRESS', 'deliveryType' => 'W2W', 'declaredPrice' => 300, ]);
yurycooliq/ukrposhta-php 适用场景与选型建议
yurycooliq/ukrposhta-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 12 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「ukrpochta」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 yurycooliq/ukrposhta-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yurycooliq/ukrposhta-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 yurycooliq/ukrposhta-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Ukrpochta API
Alfabank REST API integration
Zero-dependency raw PHP DNS resolver, domain-ownership verification, and intoDNS/MxToolbox-style diagnostics. Queries authoritative nameservers directly over sockets — never trusts the recursive cache for ownership checks.
A lightweight plain-PHP framework for database-backed CRUD APIs.
bughq error tracking - PHP SDK
ABsurge PHP SDK for feature flags and A/B testing
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-07