Список обновлений в библиотеке от TTATPuOT:
Client::calculator()
для расчёта стоимости доставки по доступным тарифам и по коду тарифаРеализация API v2.0 для интеграции со службой доставки СДЭК. Данная SDK поможет быстрее внедрить в свой проект взаимодействие со службой доставки СДЭК.
Возможности SDK:
Работа со всеми методами API возможна только при наличии доступов к сервису интеграции, которые выдаются только при наличии договора с компанией СДЭК.
Требования — минимальны. Нужен PHP 7.1/8.0 или выше.
Данный SDK использует спецификацию PSR-18 (HTTP-client). Это значит в качестве HTTP-клиента можно использовать любой - клиент, поддерживающий данную спецификацию. Если у вашего клиента нет поддержки этой спецификации, можно посмотреть имеющиеся адаптеры для большинства популярных HTTP-клиентов
Установка осуществляется с помощью менеджера пакетов Composer
composer require cdek-it/sdk2.0
Полная документация располагается тут
$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()) {
// Обрабатываем ошибки
// Если этого не сделать, в будущем будет ошибка RequestException
foreach ($res->getErrors() as $error) {
//считываем ошибки
}
}
if ($res->isOk()) {
$cdek_order = $cdek->formatResponse($res, \CdekSDK2\BaseTypes\Order::class);
// $cdek_order->entity->uuid;
// Если попытаться обработать ответ без проверки $res->isOk()
// и при этом в ответе будут ошибки, то здесь выбросится исключение RequestException
}
// получение информации о заказе
$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
Данный проект распространяется под лицензией MIT.