ensi / cdek-sdk2-php
PHP SDK 用于 СДЭК公司集成服务 API v2.0
0.1.6
2021-10-22 10:04 UTC
Requires
- php: ^7.1 || ^8.0
- ext-json: *
- jms/serializer: ^1.14.0 || ^2.0 || ^3.0
- nyholm/psr7: ^1.2
- psr/http-client: ^1.0
- rakit/validation: ^1.1
Requires (Dev)
- phan/phan: ^1 <1.3 || >1.3.0
- php-coveralls/php-coveralls: ^2.1
- php-http/mock-client: ^1.3
- phpmd/phpmd: ^2.7
- phpstan/phpstan: >=0.10
- phpunit/phpunit: ^7.4 || ^8.5
- squizlabs/php_codesniffer: *
- symfony/http-client: ^4.3
- vimeo/psalm: >=3.0.16
README
实现 API v2.0,用于与 СДЭК配送服务集成。此 SDK 可帮助您更快地将 СДЭК配送服务集成到项目中。
SDK 功能
- 创建订单
- 订单信息
- 删除订单
- 订阅 Webhook(订单状态和打印表单状态)
- Webhook 订阅信息
- 删除 Webhook 订阅
- 获取自提点列表
- 创建快递员调用申请
- 快递员调用申请信息
- 删除快递员调用申请
- 创建创建打印运单请求
- 创建创建条形码标签请求
- 获取城市列表
- 获取地区列表
要使用所有 API 方法,您需要集成服务的访问权限,这些权限仅在您与 СДЭК公司签订合同后才能获得。
要求
要求最少。需要 PHP 7.1 或更高版本。
此 SDK 使用 PSR-18 (HTTP-client) 规范。这意味着可以使用任何支持该规范的 HTTP 客户端作为 HTTP 客户端。如果您的客户端不支持此规范,可以查看大多数流行 HTTP 客户端的适配器
安装
安装通过 Composer 包管理器完成
composer require ensi/cdek-sdk2-php
文档
完整文档位于 此处
使用示例
$client = new Psr18Client(); $cdek = new \CdekSDK2\Client($client); $cdek->setAccount('account'); $cdek->setSecure('secure'); // создание заказа $order = \CdekSDK2\BaseTypes\Order::create([...]); $res = $cdek->orders()->add($order); if ($res->hasErrors()) { // Обрабатываем ошибки foreach ($res->getErrors() as $error) { //считываем ошибки } } if ($res->isOk()) { $cdek_order = $cdek->formatResponse($res, \CdekSDK2\BaseTypes\Order::class); // $cdek_order->entity->uuid; } // получение информации о заказе $res = $cdek->orders()->get($cdek_order->entity->uuid); if ($res->isOk()) { $cdek_order = $cdek->formatResponse($res, \CdekSDK2\Dto\OrderInfo::class); } //получить список офисов $res = $cdek->offices()->getFiltered(['country_code' => 'kz']); if ($res->isOk()) { $pvzlist = $cdek->formatResponseList($res, \CdekSDK2\Dto\PickupPointList::class); // $pvzlist->items; }
测试
运行测试
$ composer test
与原始包的更改
- 添加了与 php8 的兼容性
许可证
此项目以 MIT 许可证发布。许可证详情