appwilio / cdek-sdk
CDEK API SDK (cdek.ru)
Installs: 5 838
Dependents: 0
Suggesters: 0
Security: 0
Stars: 40
Watchers: 14
Forks: 8
Open Issues: 2
Requires
- php: >=7.1
- guzzlehttp/guzzle: ^6.3
- jms/serializer: ^1.8
Requires (Dev)
- illuminate/support: 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.*
- phpunit/phpunit: ^6.3
README
Это будет самое полное SDK для cdek.ru
Возможности:
- 🔓расчёт стоимости доставки (API калькулятора v1.1)
- 🔓получение списка пунктов выдачи заказов (ПВЗ) с фильтрацией
- управление заказами
- формирование новых заказов
- генерация квитанции в PDF
- удаление заказов
- получение информации по заказам (отчёт «Информация по заказам»)
- трекинг заказов (отчёт «Статусы заказов»)
- прозвон получателя
- вызов курьера
Работа с API возможна только при наличии договора с СДЭК (кроме методов, отмеченных как:unlock:).
Существует хард-форк этого SDK — с даунгрейдом до PHP 7.0, большей поддержкой методов API и более полной документацией. Мы планируем сделаем бэкпорт всего этого добра, как только дойдут руки...
Установка
Минимальные требования — PHP 7.1+.
composer require appwilio/cdek-sdk
Конфигурация
Laravel 5.1+
// config/app.php 'providers' => [ // ... \Appwilio\CdekSDK\LaravelCdekServiceProvider::class // ... ] // config/services.php 'cdek' => [ 'account' => env('CDEK_ACCOUNT', ''), 'password' => env('CDEK_PASSWORD', ''), 'guzzle_options' => [ // необязательные параметры 'base_uri' => 'https://integration.cdek-asia.cn', 'timeout' => 5 ] ],
Иные фреймворки/без фреймворка
require_once '../vendor/autoload.php'; \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists'); $client = new \Appwilio\CdekSDK\CdekClient('account', 'password', $guzzleOptions = [ 'timeout' => 5 ]);
Использование
Расчёт стоимости доставки
use Appwilio\CdekSDK\Requests\CalculationRequest; // для выполнения авторизованного запроса используется // $request = CalculationRequest::withAuthorization(); $request = (new CalculationRequest()) ->setSenderCityPostCode('295000') ->setReceiverCityPostCode('652632') ->addGood([ 'weight' => 0.2, 'length' => 10, 'width' => 10, 'height' => 10, ]); $response = $client->sendCalculationRequest($request)
Трекинг
use \Appwilio\CdekSDK\Common\Order; use Appwilio\CdekSDK\Requests\StatusReportRequest; $request = (new StatusReportRequest()) ->setShowHistory(); $request->addOrder(new Order(['Number' => '89754564'])); $request->addOrder(new Order(['DispatchNumber' => '2222222222'])); $response = $client->sendStatusReportRequest($request);
Авторы
Лицензия
Данный SDK распространяется под лицензией MIT.