devmakis/cdek-api-2.0

PHP SDK,用于 СДЭК 服务 API v2.0 集成


README

Build Status Scrutinizer Code Quality Code Coverage Packagist

实现与 СДЭК 配送服务集成的 API v2.0。此 SDK 可以帮助您更快地将 СДЭК 配送服务集成到您的项目中。

SDK 功能

  • 创建订单
  • 订单信息
  • 删除订单
  • 订阅 Webhooks(订单状态和打印表单状态)
  • 订阅 Webhooks 信息
  • 删除订阅 Webhooks
  • 获取自提点列表
  • 创建调度员调用申请
  • 调度员调用申请信息
  • 删除调度员调用申请
  • 创建打印运输单申请
  • 创建打印条形码位置打印申请
  • 获取城市列表
  • 获取地区列表

要使用所有 API 方法,必须具有服务集成访问权限,这些权限仅在签订 СДЭК 公司合同后提供。

要求

要求最低。需要 PHP 7.1 或更高版本。

此 SDK 使用 PSR-18 (HTTP-client) 规范。这意味着可以使用任何支持该规范的 HTTP 客户端作为 HTTP 客户端。如果您的客户端不支持此规范,可以查看 大多数流行 HTTP 客户端的现有适配器

安装

使用 Composer 包管理器进行安装

composer require devmakis/cdek-api-2.0

文档

完整文档位于 此处

使用示例

$client = new Psr18Client();
$cdek = new \CdekSDK2\Client($client);
$cdek->setAccount('account');
$cdek->setSecure('secure');

// создание заказа
$order = \CdekSDK2\Params\OrderParams::create([...]);
$res = $cdek->orders()->create($order);

if ($res->hasErrors()) {
    // Обрабатываем ошибки
    foreach ($res->getErrors() as $error) {
        //считываем ошибки
    }
}

if ($res->isOk()) {
    $cdek_order = $cdek->formatResponse($res, \CdekSDK2\Dto\EntityDto::class);
//    $cdek_order->entity->uuid;
}

// получение информации о заказе
$res = $cdek->orders()->get($cdek_order->entity->uuid);
if ($res->isOk()) {
    $cdek_order = $cdek->formatResponse($res, \CdekSDK2\Dto\OrderDto::class);
}

//получить список офисов
$res = $cdek->offices()->getFiltered(['country_code' => 'kz']);
if ($res->isOk()) {
    $pvzlist = $cdek->formatResponseInClass($res, \CdekSDK2\Dto\PickupPointList::class);
//    $pvzlist->items;
}

测试

运行测试

$ composer test

许可

该项目遵循 MIT 许可