express-ru / sdk
Requires
- php: >=5.3
- ext-curl: *
This package is not auto-updated.
Last update: 2024-09-28 02:02:21 UTC
README
更多关于我们公司服务的详细信息,请访问http://www.express.ru/services。
以下是一套SDK,它可以帮助您更灵活地使用我们的服务。如有疑问,请联系以下地址:
- 关于公司服务和订单的问题 - dostavka@express.ru
- 关于SDK的问题 - i@express.ru
使用Express.Ru SDK
注意:由于API实现的特点,国家名称应大写(例如:俄罗斯)。
安装
通过composer
composer require express-ru/sdk
或者将SDK文件复制到您的项目中,保持文件结构,例如 \vendor\ExpressRuSDK
,并连接到文件 bootstrap.php
,它将注册SDK类的自动加载器。
配置
用户
文件 ExpressRuSDK\UserConfig.php
const USER_LOGIN = 'Логин'; const USER_SIGNATURE_KEY = 'Ключ подписи'; const USER_AUTHORIZATION_KEY = 'Ключ авторизации';
设置
文件 ExpressRuSDK\Config.php
const ORDER_CLASS = 'ExpressRuSDK\\Model\\Entities\\Order\\Order';
此类的对象将通过对SDK的方法返回。类必须实现接口 \ExpressRuSDK\Model\Entities\Order\ExpressRuOrderInterface
默认订单属性
创建类 ExpressRuSDK\\Model\\Entities\\Order\\Order
的订单对象时,它将分配类 \ExpressRuSDK\OrderDefaults
中定义的属性。如果需要从其他来源获取这些属性,请参阅 配置提供者 部分。
SDK的使用
获取新订单对象
获取具有默认值的订单
$sdk = new \ExpressRuSDK\SDK(); $order = $sdk->getNewOrder();
使用 new
操作符创建类 ExpressRuSDK\\Model\\Entities\\Order\\Order
的订单实体时,使用默认属性值,需要调用 setDefaultsFromProvider()
方法,该方法将传递实现接口 ExpressRuSDK\Providers\OrderDefaultsProviderInterface
的对象。
$sdk = new \ExpressRuSDK\SDK(); $orderDefaultsProvider = $sdk->getOrderDefaultsProvider(); $order = new \ExpressRuSDK\Model\Entities\Order\Order(); $order->setDefaultsFromProvider($orderDefaultsProvider);
使用自己的订单类
您可以使用实现接口 ExpressRuSDK\Model\Entities\Order\ExpressRuOrderInterface
的自定义订单类对象。
计算订单成本
$sdk = new \ExpressRuSDK\SDK(); $calculateService = $sdk->getCalculateService(); /** * Получение объекта нового заказа */ $order = $sdk->getNewOrder(); $order ->setSenderCountry('Россия') ->setRecipientCountry('Россия') ->setSenderCity('Москва') ->setRecipientCity('Москва') ->setWeight(1) ->setCargoType(\ExpressRuSDK\Model\CargoTypes::CARGO_TYPE_CARGO) //Тип груза ->setCargoForm(new \ExpressRuSDK\Model\Entities\CargoForms\Box(10, 20, 30)); //Форма груза и размеры $calculateResultsCollection = $calculateService->getDeliveryPricesForOrder($order); var_export($calculateResultsCollection);
创建订单
$sdk = new \ExpressRuSDK\SDK(); $orderRepository = $sdk->getOrderApiRepository(); $order = $sdk->getNewOrder(); /** * Вариант 1: Минимальный набор необходимый для успешного создания заказа * Заказ будет создан с параметрами по умолчанию, указанными в * \ExpressRuSDK\OrderDefaults или в другом провайдере значений по умолчанию при его использовании. * Часть полей будет опущена */ $order ->setPickupDate('2015-09-22')//Дата забора ->setRecipient('Тестовый Получатель') ->setRecipientCountry('РОССИЯ') ->setRecipientCity('Москва')//Город Получателя ->setRecipientAddress('Адрес получателя') ->setRecipientContact('Контакт получателя') ->setRecipientPhone('+0000000000'); /** * Вариант 2: Использование полного набора параметров */ $order ->setPickupDate('2015-09-20')//Дата забора ->setClientContact('Контактное лицо клиента')// Контактное лицо клиента ->setSender('Тестовый Отправитель') ->setSenderCountry('РОССИЯ')//Страна отправителя ->setSenderZip('109000')//Почтовый индекс ->setSenderCity('Москва')//Город отправителя ->setSenderAddress('Адрес отправителя')//Адрес отправителя ->setSenderContact('Контакт отправителя')//Контакт отправителя ->setSenderPhone('+0000000000')//Телефон отправителя ->setRecipient('Тестовый Получатель') ->setRecipientCountry('РОССИЯ')//Страна получателя ->setRecipientZip('109001')//Почтовый индекс получателя ->setRecipientCity('Москва')//Город Получателя ->setRecipientAddress('Адрес получателя')//Адрес получателя ->setRecipientContact('Контакт получателя')//Контакт получателя ->setRecipientPhone('+0000000000')//Телефон получателя ->setItems(1)//Количество мест в отправлении ->setWeight(1)//Вес, кг ->setCargoType(\ExpressRuSDK\Model\CargoTypes::CARGO_TYPE_CARGO)//Тип груза ->setCargoForm(new \ExpressRuSDK\Model\Entities\CargoForms\Box(10, 20, 30))//Форма груза и размеры ->setDescription('Описание отправления') ->setComment('Комментарий к отправлению') ->setCashOnDelivery(false)//Ноложенный платеж ->setPayer(\ExpressRuSDK\Model\Payers::CLIENT)//Плательщик ->setTypeOfPayment(\ExpressRuSDK\Model\TypesOfPayment::CASHLESS_PAYMENT)//Тип оплаты ->setUrgency(\ExpressRuSDK\Model\Urgency::STANDARD) //Срочность ->setReceivedInOffice(false) //Заказ принят в офисе ->setSelfPickup(false); //Самовывоз получателем. Получение заказа в офисе try { $orderRepository->add($order); echo "<pre>"; echo var_export($order->getExpressRuNumber()); echo "</pre>"; } catch (\ExpressRuSDK\Model\Exceptions\ValidationException $ve) { echo "<pre>"; echo var_export($ve->getErrors()); echo "</pre>"; }
获取订单数据
$sdk = new \ExpressRuSDK\SDK(); /* @var $order \ExpressRuSDK\Model\Entities\Order\Order */ $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); echo "<pre>"; var_export($order); echo "<pre>";
获取订单历史记录
$sdk = new \ExpressRuSDK\SDK(); /* @var $orders \ExpressRuSDK\Model\Collections\OrdersCollection*/ $orders = $sdk->getOrderApiRepository()->getOrdersHistory(new DateTime(), new DateTime()); echo "<pre>"; var_export($orders); echo "<pre>";
获取订单状态
$sdk = new \ExpressRuSDK\SDK(); // Вариант 1: Создание нового заказа и присвоение ему номера $order = $sdk->getNewOrder()->setExpressRuNumber('WEBN230001274'); // Вариант 2: Получение заказа с данными и передача его в метод $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); $result = $sdk->getTrackingService()->getTrackingStatus($order); /* @var $result \ExpressRuSDK\Model\Collections\StatusesCollection|null */ echo "<pre>"; var_export($result); echo "<pre><hr>";
获取PDF运单并将其保存到磁盘
$sdk = new \ExpressRuSDK\SDK(); // Вариант 1: Создание нового заказа и присвоение ему номера $order = $sdk->getNewOrder()->setExpressRuNumber('WEBN2300012574'); // Вариант 2: Получение заказа с данными и передача его в метод $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); if($order) { //Получение PDF как текста //возвращает PDF как текст | null если заказ не найден $invoicePDFFile = $sdk->getPDFService()->getInvoicePDFForOrder($order); //Получени PDF и сохранение на диск //возвращает имя файла | null если заказ не найден $invoicePDFFile = $sdk->getPDFService()->saveInvoicePDFForOrderOnDisk($order, APPPATH . 'logs'); echo "<pre>"; var_export($invoicePDFFile); echo "<pre><hr>"; }
异常
在异常情况下,SDK抛出以下异常。异常对象包含一个返回对象 ExpressRuSDK\Api\ApiResponse
的方法 getApiResponse()
。
- 继承自
ExpressRuSDK\Api\Exceptions\ApiTransmitException
的异常。ExpressRuSDK\Api\Exceptions\NoResponseReceivedException
- 未从API收到响应ExpressRuSDK\Api\Exceptions\InvalidJsonException
- 收到无效的JSONExpressRuSDK\Api\Exceptions\InvalidStructureException
- 响应结构不符合预期ExpressRuSDK\Api\Exceptions\ApiErrorException
- API响应中存在错误
ExpressRuSDK\Model\Exceptions\ValidationException
- 如果创建的实体未通过API端验证,则抛出。它包含一个返回错误数组的getError()
方法。
配置提供者
默认情况下,SDK对象创建时使用以下配置提供者 ExpressRuSDK\Providers\UserConfigConstProvider
和 ExpressRuSDK\Providers\OrderDefaultsConstProvider
,它们分别从类 ExpressRuSDK\UserConfig
和 ExpressRuSDK\OrderDefaults
中获取值。如果需要从其他存储中获取配置,则在创建SDK对象时,将实现 ExpressRuSDK\Providers\UserConfigProviderInterface
和 ExpressRuSDK\Providers\OrderDefaultsProviderInterface
的提供者传递给构造函数。
$userConfigProvider = new MySQLUSerConfigProvider(); $orderDefaultsProvider = new MySQLOrderDefaultsProvider(); $sdk = new \ExpressRuSDK\SDK($userConfigProvider, $orderDefaultsProvider);
在创建对象时也可以使用自己的配置提供者,例如在创建类 \ExpressRuSDK\Model\Entities\Order\Order
的对象时。这适用于订单对象。可以使用自己的订单类实现类似机制。
$sdk = new \ExpressRuSDK\SDK(); $orderDefaultsProvider = new MySQLOrderDefaultsProvider(); $order = new \ExpressRuSDK\Model\Entities\Order\Order(); $order->setDefaultsFromProvider($orderDefaultsProvider);
直接处理API请求和响应
除了使用实体和SDK仓库,还可以直接处理API响应。 transmitMethod()
方法返回继承自 ExpressRuSDK\Api\ApiResponse
类的对象。
计算订单成本
/** * $orderArray array - массив параметров заказа */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\CalculateOrderMethod($orderArray); /* @var $apiResponse \ExpressRuSDK\API\Responses\CalculateOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
创建订单
/** * $orderArray array - массив параметров заказа */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\CreateOrderMethod($orderArray); /* @var $apiResponse \ExpressRuSDK\API\Responses\CreateOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单数据
/** * $orderNumber string - номер заказа */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetOrderMethod($orderNumber); /* @var $apiResponse \ExpressRuSDK\API\Responses\GetOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单历史记录
/** * $startDate \DateTime - дата начала выборки * $toDate \DateTime - дата окончания выборки */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetOrdersHistoryMethod($startDate, $toDate); /* @var $apiResponse \ExpressRuSDK\API\Responses\GetOrdersHistoryApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单状态
/** * $numberS int|string|array - номера заказов * $date string дата с которой начать выборку */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetTrackingStatusesMethod($numberS, $date); /* @var $apiResponse \ExpressRuSDK\API\ApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取PDF运单
/** * $orderNumber - номер заказа */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\PrintInvoiceMethod($orderNumber); /* @var $apiResponse \ExpressRuSDK\API\Responses\PrintInvoiceApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
Express Tochka Ru 在俄罗斯和全球范围内提供文件和货物快递服务。
您可以在 http://www.express.ru/services 网站中了解本公司服务的详细内容。
以下将介绍SDK集合,它可以帮助您更灵活地使用我们公司的服务。如有疑问,请联系以下电子邮箱:
- 有关公司服务和订单问题 -dostavka@express.ru
- 有关SDK的问题 - i@express.ru
Express.Ru SDK的使用
注意:由于API实现的特性,国家名称需要标注在上方的注册表中(例如 俄罗斯)。
安装
通过composer
composer require express-ru/sdk
或将SDK文件复制到您的项目中,同时保留文件结构,如\vendor\ExpressRuSDK
,并连接对SDK等级自动加载器进行注册的bootstrap.php
文件。
配置
用户
ExpressRuSDK\UserConfig.php文件
const USER_LOGIN = '用户名'; const USER_SIGNATURE_KEY = '签名密钥'; const USER_AUTHORIZATION_KEY = '授权密钥';
设置
ExpressRuSDK\UserConfig.php文件
const ORDER_CLASS = 'ExpressRuSDK\\Model\\Entities\\Order\\Order';
SDK方法论中的该等级对象将被还原。等级应实现\ExpressRuSDK\Model\Entities\Order\ExpressRuOrderInterface
接口
订单的默认性能
在创建等级订单对象ExpressRuSDK\\Model\\Entities\\Order\\Order
时,将赋予它\ExpressRuSDK\OrderDefaults
等级中指定的性能。如果需要从其他来源获得该性能,请联系配置提供方一栏。
SDK的操作
获取新订单对象
获取带有设定默认值的订单
$sdk = new \ExpressRuSDK\SDK(); $order = $sdk->getNewOrder();
在创建ExpressRuSDK\\Model\\Entities\\Order\\Order
等级订单实体时,使用包含默认值性能的new
操作符的情况下,必须调用setDefaultsFromProvider()
方法,将已实现的ExpressRuSDK\Providers\OrderDefaultsProviderInterface
接口对象传递给该方法。
$sdk = new \ExpressRuSDK\SDK(); $orderDefaultsProvider = $sdk->getOrderDefaultsProvider(); $order = new \ExpressRuSDK\Model\Entities\Order\Order(); $order->setDefaultsFromProvider($orderDefaultsProvider);
订单固有等级的使用
在实现ExpressRuSDK\Model\Entities\Order\ExpressRuOrderInterface
接口的条件下,您可以使用固有等级订单对象。
订单的价格计算
$sdk = new \ExpressRuSDK\SDK(); $calculateService = $sdk->getCalculateService(); /** * 新订单对象的获取 */ $order = $sdk->getNewOrder(); $order ->setSenderCountry('俄罗斯') ->setRecipientCountry('俄罗斯') ->setSenderCity('俄罗斯') ->setRecipientCity('俄罗斯') ->setWeight(1) ->setCargoType(\ExpressRuSDK\Model\CargoTypes::CARGO_TYPE_CARGO) //货物类型 ->setCargoForm(new \ExpressRuSDK\Model\Entities\CargoForms\Box(10, 20, 30)); //货物类型 $calculateResultsCollection = $calculateService->getDeliveryPricesForOrder($order); var_export($calculateResultsCollection);
建立订单
$sdk = new \ExpressRuSDK\SDK(); $orderRepository = $sdk->getOrderApiRepository(); $order = $sdk->getNewOrder(); /** * 方案1:为成功建立订单所需的最小计算技术数据组 * 被建立订单中的默认数据显示在 * \ExpressRuSDK\OrderDefaults中,或在使用它的条件下,出现在默认数据的其他提供方中。 * 部分内容将被跳过 */ $order ->setPickupDate('2015-09-22')//取件日期 ->setRecipient('测试性收件人') ->setRecipientCountry('俄罗斯') ->setRecipientCity('莫斯科')//收件人所在城市 ->setRecipientAddress('收件人地址') ->setRecipientContact('收件人联系人') ->setRecipientPhone('+0000000000'); /** * 方案2:使用数据的全部计算技术数据组 */ $order ->setPickupDate('2015-09-20')//取件日期 ->setClientContact('客户联系人')// 客户联系人 ->setSender('测试性发件人') ->setSenderCountry('俄罗斯')//发件人所在国家 ->setSenderZip('109000')//邮政编码 ->setSenderCity('莫斯科')//收件人所在城市 ->setSenderAddress('发件人地址')//发件人地址 ->setSenderContact('发件人联系人')//发件人联系人 ->setSenderPhone('+0000000000')//发件人电话 ->setRecipient('测试性收件人') ->setRecipientCountry('俄罗斯')//收件人所在国家 ->setRecipientZip('109001')//邮政编码 ->setRecipientCity('莫斯科')//收件人所在城市 ->setRecipientAddress('收件人地址')//收件人地址 ->setRecipientContact('收件人联系人')//收件人联系人 ->setRecipientPhone('+0000000000')//收件人电话 ->setItems(1)//邮件件数 ->setWeight(1)//质量,千克 ->setCargoType(\ExpressRuSDK\Model\CargoTypes::CARGO_TYPE_CARGO)//货物类型 ->setCargoForm(new \ExpressRuSDK\Model\Entities\CargoForms\Box(10, 20, 30))//货物形状和尺寸 ->setDescription('邮件描述') ->setComment('邮件注释') ->setCashOnDelivery(false)//货到付款 ->setPayer(\ExpressRuSDK\Model\Payers::CLIENT)//付款人 ->setTypeOfPayment(\ExpressRuSDK\Model\TypesOfPayment::CASHLESS_PAYMENT)//付款方式 ->setUrgency(\ExpressRuSDK\Model\Urgency::STANDARD) //急件 ->setReceivedInOffice(false) //、在办事处接受订单 ->setSelfPickup(false); //收件人自取。 try { $orderRepository->add($order); echo "<pre>"; echo var_export($order->getExpressRuNumber()); echo "</pre>"; } catch (\ExpressRuSDK\Model\Exceptions\ValidationException $ve) { echo "<pre>"; echo var_export($ve->getErrors()); echo "</pre>"; }
获取订单数据
$sdk = new \ExpressRuSDK\SDK(); /* @var $order \ExpressRuSDK\Model\Entities\Order\Order */ $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); echo "<pre>"; var_export($order); echo "<pre>";
获取订单历史
$sdk = new \ExpressRuSDK\SDK(); /* @var $orders \ExpressRuSDK\Model\Collections\OrdersCollection*/ $orders = $sdk->getOrderApiRepository()->getOrdersHistory(new DateTime(), new DateTime()); echo "<pre>"; var_export($orders); echo "<pre>";
获取订单状态
$sdk = new \ExpressRuSDK\SDK(); // 方案1:创建新订单并获得订单号 $order = $sdk->getNewOrder()->setExpressRuNumber('WEBN230001274'); // 方案2:获得带有数据的订单并将它发送到方法论中 $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); $result = $sdk->getTrackingService()->getTrackingStatus($order); /* @var $result \ExpressRuSDK\Model\Collections\StatusesCollection|null */ echo "<pre>"; var_export($result); echo "<pre><hr>";
获取PDF提货单并保存在磁盘中
$sdk = new \ExpressRuSDK\SDK(); // 方案1:创建新订单并获得订单号 $order = $sdk->getNewOrder()->setExpressRuNumber('WEBN2300012574'); // 方案2:获得带有数据的订单并将它发送到方法论中 $order = $sdk->getOrderApiRepository()->getOrderByNumber('WEBN230001274'); if($order) { //获得PDF文本 //如果无法找到订单,则将PDF还原为| null 文本 $invoicePDFFile = $sdk->getPDFService()->getInvoicePDFForOrder($order); //获得PDF并保存在磁盘中 //如果无法找到订单,则还原 | null 文件名 $invoicePDFFile = $sdk->getPDFService()->saveInvoicePDFForOrderOnDisk($order, APPPATH . 'logs'); echo "<pre>"; var_export($invoicePDFFile); echo "<pre><hr>"; }
特殊情况
在出现意外情况时,SDK 方法会跳过以下异常。异常对象包含getApiResponse ()
方法返回的ExpressRuSDK\Api\ApiResponse
对象。
- 以下
ExpressRuSDK\Api\Exceptions\ApiTransmitException
异常ExpressRuSDK\Api\Exceptions\NoResponseReceivedException
- 未收到API响应ExpressRuSDK\Api\Exceptions\InvalidJsonException
- 接收到错误的JSONExpressRuSDK\Api\Exceptions\InvalidStructureException
- 响应结构与预期不符ExpressRuSDK\Api\Exceptions\ApiErrorException
- API响应中存在错误
ExpressRuSDK\Model\Exceptions\ValidationException
- 当建立的实体在API方面出现错误时抛出。getError()
方法包含错误的还原数组。
配置提供方
创建的SDK默认对象带有以下配置提供方ExpressRuSDK\Providers\UserConfigConstProvider
和ExpressRuSDK\Providers\OrderDefaultsConstProvide
,它们从ExpressRuSDK\UserConfig
和ExpressRuSDK\OrderDefaults
等级中获得相应的数值。如果可能从其他存储器中获得配置,则在创建SDK对象时将实现的ExpressRuSDK\Providers\UserConfigProviderInterface
和ExpressRuSDK\Providers\OrderDefaultsProviderInterface
提供方发送至构造函数中。
$userConfigProvider = new MySQLUSerConfigProvider(); $orderDefaultsProvider = new MySQLOrderDefaultsProvider(); $sdk = new \ExpressRuSDK\SDK($userConfigProvider, $orderDefaultsProvider);
在通过new
操作符创建对象的情况下,可以使用订单配置的原有提供方。这与\ExpressRuSDK\Model\Entities\Order\Order
等级订单对象有关。该结构可以在使用订单原有等级时实现。
$sdk = new \ExpressRuSDK\SDK(); $orderDefaultsProvider = new MySQLOrderDefaultsProvider(); $order = new \ExpressRuSDK\Model\Entities\Order\Order(); $order->setDefaultsFromProvider($orderDefaultsProvider);
直接实现API询问和回应
除了使用SDK实体和软件源外,还可以与API进行直接回应。 transmitMethod()
从ExpressRuSDK\Api\ApiResponse
中还原沿用等级对象
订单的价格计算
/** * $orderArray array - 订单数据数组 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\CalculateOrderMethod($orderArray); /* @var $apiResponse \ExpressRuSDK\API\Responses\CalculateOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
建立订单
/** * $orderArray array - 订单数据数组 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\CreateOrderMethod($orderArray); /* @var $apiResponse \ExpressRuSDK\API\Responses\CreateOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单数据
/** * $orderNumber string - 订单号 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetOrderMethod($orderNumber); /* @var $apiResponse \ExpressRuSDK\API\Responses\GetOrderApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单历史
/** * $startDate \DateTime - 取样的开始日期 * $toDate \DateTime - 取样的结束日期 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetOrdersHistoryMethod($startDate, $toDate); /* @var $apiResponse \ExpressRuSDK\API\Responses\GetOrdersHistoryApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取订单状态
/** * $numberS int|string|array - 订单号 * $date string 取样的开始日期 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\GetTrackingStatusesMethod($numberS, $date); /* @var $apiResponse \ExpressRuSDK\API\ApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);
获取PDF提货单
/** * $orderNumber - 订单号 */ $sdk = new \ExpressRuSDK\SDK(); $apiTransmitter = $sdk->getApiTransmitter(); $method = new \ExpressRuSDK\Api\Methods\PrintInvoiceMethod($orderNumber); /* @var $apiResponse \ExpressRuSDK\API\Responses\PrintInvoiceApiResponse */ $apiResponse = $this->apiTransmitter->transmitMethod($method);