Реализация API v2.0 для интеграции со службой доставки СДЭК. Данная SDK поможет быстрее внедрить в свой проект взаимодействие со службой доставки СДЭК.
Возможности SDK:
- создание заказа
- информация о заказе
- удаление заказа
- подписка на вебхуки (статусы заказов и статусы печатных форм)
- информация о подписке на вебхуки
- удаление подписки на вебхуки
- получение списка ПВЗ
- создание заявки на вызов курьера
- информация о заявке на вызов курьера
- удаление заявки на вызов курьера
- создание запроса на формирование печатной формы накладной
- создание запроса на формирование печатной формы ШК-места
- получение cписка городов
- получение cписка регионов
Работа со всеми методами API возможна только при наличии доступов к сервису интеграции, которые выдаются только при наличии договора с компанией СДЭК.
Требования — минимальны. Нужен PHP 7.1 или выше.
Данный 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()) {
// Обрабатываем ошибки
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
Данный проект распространяется под лицензией MIT.