Версия: 6.x
burger close
Класс CdekApi

Открытые члены

 __construct (string $account= '', string $secure_password= '')
 
 getPvzList (Address $address)
 
 getOrderInfo (string $order_id)
 
 deleteOrder (DeliveryOrder $delivery_order)
 
 refreshOrder (DeliveryOrder $delivery_order)
 
 createOrder (Order $order)
 
 changeOrder (DeliveryOrder $delivery_order, Order $order)
 
 refuseOrder (DeliveryOrder $delivery_order)
 
 createPrintOrder (DeliveryOrder $delivery_order)
 
 getPrintOrder (string $print_uuid)
 
 createPrintBarcode (DeliveryOrder $delivery_order)
 
 getPrintBarcode (string $print_uuid)
 
 getDocument (string $url)
 
 createCallCourier (DeliveryOrder $delivery_order, HttpRequest $request)
 
 getCallCourierInfo (DeliveryOrder $delivery_order)
 
 deleteCallCourier (DeliveryOrder $delivery_order)
 
 getPriorityTariff (Order $order)
 
 calculateDeliverySum (Order $order, array $services)
 
 calculateOrder (Order $order)
 
 updateCdekRegions ()
 
 updateCdekRegionsStep (int $page, $country= 'RU')
 
 updateCdekRegionsPage (int $page, $country= 'RU')
 
 webHooksSubscribe ()
 
 webHooksInfo ()
 
 webHooksUnsubscribe ($webhookDisabled=false)
 
 apiRequest (string $method, string $script, array $params, string $log_level, bool $use_cache=false)
 
 getAuthToken ()
 
 isTestMode ()
 
 setTestMode (bool $value=true)
 
 getTariffList ()
 
 setTariffList (array $tariff_list)
 
 getTariffPriority ()
 
 setTariffPriority (string $tariff_priority)
 
 getPvzFrom ()
 
 setPvzFrom (Pvz $pvz_from)
 
 getAddressFrom ()
 
 setAddressFrom (Address $address_from)
 
 getDaysBeforeSend ()
 
 setDaysBeforeSend (int $days_before_send)
 
 getTimeout ()
 
 setTimeout (float $timeout)
 
 setAuthorization (string $account, string $secure_password)
 
 getTypeObject ()
 
 setTypeObject (Cdek2 $type_object)
 

Открытые статические члены

static staticGetCountries ()
 

Поля данных

const DEVELOPER_KEY = 'r5$E7UPuZG:%X$r0j8N-5bUR~go$mKFr'
 
const URL = "https://api.cdek.ru/v2/"
 
const TEST_URL = 'https://api.edu.cdek.ru/v2/'
 
const EXTERNAL_REQUEST_SOURCE_ID = 'delivery_cdek_api'
 
const DEFAULT_TIMEOUT = 20
 
const DELIVERY_MODES_FROM_PVZ = [3, 4, 7]
 
const DELIVERY_MODES_TO_PVZ = [2, 4, 6, 7]
 
const TARIFF_PRIORITY_SORT = 'sort'
 
const TARIFF_PRIORITY_PRICE = 'price'
 
const TARIFF_PRIORITY_TIME = 'time'
 
const DELIVERY_ORDER_EXTRA_KEY_CALL_COURIER_ID = 'call_courier_id'
 
const EXCEPTION_ERROR_CODES = 'cdek_error_codes'
 
const TEST_ACCOUNT = 'EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI'
 
const TEST_SECURE_PASSWORD = 'PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG'
 

Защищенные члены

 getOrderNumber (string $order_num, int $postfix=0)
 
 getOrderPackages (Order $order)
 
 getOrderPackagesByCargo (Order $order)
 
 getOrderPackageItemData ($order, $payment_type, $delivery_type, $order_item, $amount)
 
 getFromLocationData (array $calculation)
 
 getToLocationData (array $calculation, Order $order)
 
 findLocationIdByAddress (Address $address)
 
 apiAuthorization (string $account, string $secure_password)
 
 getUrl ()
 
 getNdsCode (array $taxes, Address $address)
 

Защищенные статические члены

static handbookNds ()
 

Защищенные данные

 $account = ''
 
 $secure_password = ''
 
 $auth_token
 
 $test_mode = false
 
 $timeout = self::DEFAULT_TIMEOUT
 
 $address_from
 
 $pvz_from
 
 $days_before_send = 0
 
 $tariff_list = []
 
 $tariff_priority = self::TARIFF_PRIORITY_SORT
 
 $type_object
 
 $log
 

Конструктор(ы)

__construct ( string  $account = '',
string  $secure_password = '' 
)

Методы

apiAuthorization ( string  $account,
string  $secure_password 
)
protected

Делает запрос на авторизацию, возвращает токен

Аргументы
string$account- account СДЭКа
string$secure_password- secure_password СДЭКа
Возвращает
string
Исключения
ShopException
apiRequest ( string  $method,
string  $script,
array  $params,
string  $log_level,
bool  $use_cache = false 
)

Запрос к серверу СДЭК

Аргументы
string$method- метод запроса
string$script- скрипт
array$params- массив параметров
string$log_level- уровень логирования
bool$use_cache- кэшировать запрос
Возвращает
mixed
Исключения
ShopException
calculateDeliverySum ( Order  $order,
array  $services 
)

Возвращает стоимость доставки

Аргументы
Order$order- объект заказа
array$services- список дополнительных услуг
Возвращает
float
Исключения
RSException
ShopException
calculateOrder ( Order  $order)

Возвращает список возможных тарифов доставки заказа

Аргументы
Order$order- объект заказа
Возвращает
array
Исключения
ShopException
RSException
changeOrder ( DeliveryOrder  $delivery_order,
Order  $order 
)

Корректирует заказ в СДЭК

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Order$order- заказ
Возвращает
DeliveryOrder
Исключения
RSException
ShopException
createCallCourier ( DeliveryOrder  $delivery_order,
HttpRequest  $request 
)

Создаёт заявку на вызов курьера

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
HttpRequest$request- объект запроса
Возвращает
void
Исключения
ShopException
createOrder ( Order  $order)

Создаёт заказ в СДЭК

Аргументы
Order$order- заказ
Возвращает
DeliveryOrder
Исключения
ShopException
RSException
createPrintBarcode ( DeliveryOrder  $delivery_order)

Формирует квитанцию к заказу на доставку

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Возвращает
string
Исключения
ShopException
createPrintOrder ( DeliveryOrder  $delivery_order)

Формирует квитанцию к заказу на доставку

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Возвращает
string
Исключения
ShopException
deleteCallCourier ( DeliveryOrder  $delivery_order)

Удаляет заявку на вызов курьера

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Исключения
ShopException
deleteOrder ( DeliveryOrder  $delivery_order)

Удаляет заказ в СДЭК

Аргументы
DeliveryOrder$delivery_order
Возвращает
void
Исключения
ShopException
findLocationIdByAddress ( Address  $address)
protected

Ищет код населенного пункта в справочнике СДЭК

Аргументы
Address$address- адрес
Возвращает
int|false
getAddressFrom ( )

Возвращает id города-отправителя

Возвращает
Address
Исключения
ShopException
getAuthToken ( )

Возвращает авторизационный токен

Возвращает
string
Исключения
ShopException
getCallCourierInfo ( DeliveryOrder  $delivery_order)

Удаляет заявку на вызов курьера

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Возвращает
array
Исключения
ShopException
getDaysBeforeSend ( )

Возвращает количество дней до планируемой передачи заказа

Возвращает
int
getDocument ( string  $url)

Возвращает содержимое документа

Аргументы
string$url- ссылка на документ
Возвращает
string
Исключения
ShopException
getFromLocationData ( array  $calculation)
protected

Возвращает данные места отправки заказа

Аргументы
array$calculation- данные калькуляции заказа
Возвращает
array
Исключения
ShopException
getNdsCode ( array  $taxes,
Address  $address 
)
protected

Возвращает правильный код НДС

Аргументы
Tax[]$taxes - список налогов
Address$address- объект адреса
Возвращает
string|null
getOrderInfo ( string  $order_id)

Запрашивает информацию о заказе

Аргументы
string$order_id- идентификатор заказа
Возвращает
array
Исключения
ShopException
getOrderNumber ( string  $order_num,
int  $postfix = 0 
)
protected

Возвращает "Номер заказа в ИС Клиента" для запроса на создание заказа на доставку

Аргументы
string$order_num- исходный номер заказа
int$postfix- постфикс для рекурсивного вызова
Возвращает
string
getOrderPackageItemData (   $order,
  $payment_type,
  $delivery_type,
  $order_item,
  $amount 
)
protected

Формирует сведения об одном товаре, передаваемые в СДЭК

Аргументы
Order$order
\Shop\Model\PaymentType\AbstractType$payment_type
\Shop\Model\DeliveryType\AbstractType$delivery_type
OrderItem$order_item
Float$amount
Возвращает
array
getOrderPackages ( Order  $order)
protected

Возвращает данные упаковок заказа

Аргументы
Order$order
Возвращает
array
Исключения
RSException
getOrderPackagesByCargo ( Order  $order)
protected

Рассчитывает грузовые места, исходя из указанных пользоателем грузовых мест в заказе

Аргументы
Order$order
Возвращает
array
getPrintBarcode ( string  $print_uuid)

Возвращает ссылку на сформированную квитанцию к заказу на доставку

Аргументы
string$print_uuid
Возвращает
string
Исключения
ShopException
getPrintOrder ( string  $print_uuid)

Возвращает ссылку на сформированную квитанцию к заказу на доставку

Аргументы
string$print_uuid
Возвращает
string
Исключения
ShopException
getPriorityTariff ( Order  $order)

Возвращает расчёт доставки

Аргументы
Order$order- заказ
Возвращает
array
Исключения
RSException
ShopException
getPvzFrom ( )

Возвращает ПВЗ отправки

Возвращает
Pvz|null
getPvzList ( Address  $address)

Возвращает список ПВЗ

Аргументы
Address$address- адрес
Возвращает
Pvz[]
Исключения
ShopException
getTariffList ( )

Возвращает список тарифов

Возвращает
array
getTariffPriority ( )

Возвращает приоритет тарифов

Возвращает
string
getTimeout ( )

Возвращает timeout запросов

Возвращает
float
getToLocationData ( array  $calculation,
Order  $order 
)
protected

Возвращает данные места доставки заказа

Аргументы
array$calculation- данные калькуляции заказа
Order$order- заказ
Возвращает
array
Исключения
ShopException
getTypeObject ( )

Возвращает объект типа доставки

Возвращает
Cdek2|null
getUrl ( )
protected

Возвращает url запросов

Возвращает
string
static handbookNds ( )
staticprotected

Справочник кодов НДС Ключи справочника должны соответствовать списку кодов НДС в TaxApi

Возвращает
string[]
isTestMode ( )

Возвращает включён ли тестовый режим

Возвращает
bool
refreshOrder ( DeliveryOrder  $delivery_order)

Обновляет информацию о заказе в СДЭК

Аргументы
DeliveryOrder$delivery_order
Возвращает
DeliveryOrder
Исключения
ShopException
refuseOrder ( DeliveryOrder  $delivery_order)

Регистрирует отказ по заказу на доставку

Аргументы
DeliveryOrder$delivery_order- заказ на доставку
Исключения
ShopException
setAddressFrom ( Address  $address_from)

Устанавливает id города-отправителя

Аргументы
Address$address_from- адрес
setAuthorization ( string  $account,
string  $secure_password 
)

Устанавливает данные для авторизации

Аргументы
string$account- Логин
string$secure_password- Пароль
setDaysBeforeSend ( int  $days_before_send)

Устанавливает количество дней до планируемой передачи заказа

Аргументы
int$days_before_send
setPvzFrom ( Pvz  $pvz_from)

У

Аргументы
Pvz$pvz_from- ПВЗ
setTariffList ( array  $tariff_list)

Устанавливает список тарифов

Аргументы
array$tariff_list- список тарифов
setTariffPriority ( string  $tariff_priority)

Устанавливает приоритет тарифов

Аргументы
string$tariff_priority
setTestMode ( bool  $value = true)

Устанавливает тестовый режим

Аргументы
bool$value
setTimeout ( float  $timeout)

Устанавливает timeout запросов

Аргументы
float$timeout
setTypeObject ( Cdek2  $type_object)

Устанавливает объект типа доставки

Аргументы
Cdek2$type_object
static staticGetCountries ( )
static

Получение стран доступных в СДЕК

Возвращает
string[]
updateCdekRegions ( )

Обновляет базу городов СДЭК пошагово

Исключения
ShopException
updateCdekRegionsPage ( int  $page,
  $country = 'RU' 
)

Один шаг обновления базы городов СДЭК, возвращает количество вставленных записей

Аргументы
int$page- загружаемая страница списка
string$country
Возвращает
int
Исключения
ShopException
updateCdekRegionsStep ( int  $page,
  $country = 'RU' 
)

Обновляет базу городов СДЭК

Аргументы
int$page- загружаемая страница списка
string$countryСтрана
Возвращает
int|null
Исключения
ShopException
webHooksInfo ( )

Возвращает информацию о текущей подписке на веб-хуки

Возвращает
array
Исключения
ShopException
webHooksSubscribe ( )

Подписывается на веб-хуки

Исключения
ShopException
Возвращает
void
webHooksUnsubscribe (   $webhookDisabled = false)

Отписывается от получения веб-хуков

Аргументы
$webhookDisabled- Содержит true, если веб-хук уже отключен, и нужно очистить uuid
Возвращает
void
Исключения
ShopException

Поля

$account = ''
protected
$address_from
protected
$auth_token
protected
$days_before_send = 0
protected
$log
protected
$pvz_from
protected
$secure_password = ''
protected
$tariff_list = []
protected
$tariff_priority = self::TARIFF_PRIORITY_SORT
protected
$test_mode = false
protected
$timeout = self::DEFAULT_TIMEOUT
protected
$type_object
protected
const DEFAULT_TIMEOUT = 20
const DELIVERY_MODES_FROM_PVZ = [3, 4, 7]
const DELIVERY_MODES_TO_PVZ = [2, 4, 6, 7]
const DELIVERY_ORDER_EXTRA_KEY_CALL_COURIER_ID = 'call_courier_id'
const DEVELOPER_KEY = 'r5$E7UPuZG:%X$r0j8N-5bUR~go$mKFr'
const EXCEPTION_ERROR_CODES = 'cdek_error_codes'
const EXTERNAL_REQUEST_SOURCE_ID = 'delivery_cdek_api'
const TARIFF_PRIORITY_PRICE = 'price'
const TARIFF_PRIORITY_SORT = 'sort'
const TARIFF_PRIORITY_TIME = 'time'
const TEST_ACCOUNT = 'EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI'
const TEST_SECURE_PASSWORD = 'PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG'
const TEST_URL = 'https://api.edu.cdek.ru/v2/'
const URL = "https://api.cdek.ru/v2/"