Skip to content
SDK для СДЭК — https://confluence.cdek.ru/x/gUju
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Обновление для булевых полей Pvz (#24) Oct 17, 2018
tests Initial commit Dec 23, 2017
.gitattributes Код ПВЗ – строка, правки .gitattributes Mar 22, 2018
.gitignore
.scrutinizer.yml Initial commit Dec 23, 2017
LICENSE Initial commit Dec 23, 2017
README.md Обещанная ссылка на @sanmai (#23) Oct 2, 2018
composer.json Initial commit Dec 23, 2017
phpunit.xml Initial commit Dec 23, 2017

README.md

SDK для СДЭК

Total Downloads Latest Stable Version License

Это будет самое полное SDK для cdek.ru

Возможности:

  • 🔓расчёт стоимости доставки (API калькулятора v1.1)
  • 🔓получение списка пунктов выдачи заказов (ПВЗ) с фильтрацией
  • управление заказами
    • формирование новых заказов
    • генерация квитанции в PDF
    • удаление заказов
    • получение информации по заказам (отчёт «Информация по заказам»)
    • трекинг заказов (отчёт «Статусы заказов»)
    • прозвон получателя
    • вызов курьера

Работа с API возможна только при наличии договора с СДЭК (кроме методов, отмеченных как🔓).

Существует хард-форк этого 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
]);

Параметры Guzzle

Использование

Расчёт стоимости доставки

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.

You can’t perform that action at this time.