wildtuna / boxberry-sdk
BoxBerry API操作SDK (api.boxberry.ru)
Requires
- php: >=5.5
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.0
- psr/log: ^1.0|^2.0|^3.0
README
用于与Boxberry软件集成的SDK。
查看所有项目或向作者赠送咖啡可以在这里。
请注意,现在BoxBerry有几个API地址
- https://api.boxberry.de/json.php - 为老客户;
- https://api.boxberry.ru/json.php - 为新客户;
- https://account.boxberry.ru/json.php - 为新客户;
- https://api.boxberry.org - 备用地址。
默认情况下,API选择api.boxberry.de,要更改地址,需要在初始化客户端时通过第二个参数传递所需地址。
示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(120, 'https://api.boxberry.ru/json.php'); $bbClient->setToken('main', 'bb_api_token');
内容
变更日志
安装
设置令牌
调试
创建/编辑订单
按店铺订单号删除/取消订单
按追踪号删除/取消订单
订单状态
订单中的服务
自提点列表
计算运费
自提点详细信息
订单标签
获取标签文件
通过链接获取文件 通过追踪号或店铺订单号获取订单列表
按店铺订单号获取订单信息
按追踪号获取订单信息 城市列表
带KD的邮政编码
检查邮政编码
带KD的城市列表
接收点列表
已创建订单列表
正在配送的订单列表
取件申请
未添加到清单的订单列表
创建邮件传递清单
已创建的邮件传递清单列表
按AAPP编号获取“邮件传递接收/传递清单(AAPP)”文件
按AAPP编号获取物资清单文件(如果已连接到LK服务)
按AAPP编号获取标签打印格式
变更日志
- 0.8.8 - 添加了依赖关系 guzzle ^7.0 和 psr/log ^2.0|^3.0
- 0.8.7 - 与Guzzle 7.4兼容;
- 0.8.6 - 添加了按追踪号或店铺订单号获取订单列表的方法。由Maxim Rodionov进行改进;
- 0.8.5 - 添加了直接获取打印格式的方法:清单、物资清单、标签。由Maxim Rodionov进行改进;
- 0.8.4 - 添加了获取标签的方法。感谢Maxim Rodionov的改进;
- 0.8.3 - 修复了获取订单信息的方法调用。感谢Maxim Rodionov的改进;
- 0.8.1 - 添加了新的API方法。更多信息请参阅 这里。感谢 Maxim Rodionov 进行改进;
- 0.8.0 - 在实体 Order 和 Place 中添加了新的属性。感谢 Maxim Rodionov 进行改进;
- 0.7.8 - 兼容 Guzzle 7.3;
- 0.7.7 - 兼容 Guzzle 7.2;
- 0.7.6 - 兼容 Guzzle 7.1;
- 0.7.5 - 兼容 Guzzle 7;
- 0.7.4 - 修复了添加俄罗斯邮政订单参数的问题。感谢 Vasiliy 发现并修复;
- 0.7.3 - 更新了 Guzzle 依赖;
- 0.7.2 - 修复了错误并增强了与 PHP 5.5/5.6 的兼容性。感谢 Алексей 的细心;
- 0.7.1 - 修复了与 PHP 5.5/5.6 的兼容性问题;
- 0.7.0 - 可以在这里查看说明 这里;
- 0.6.2 - 支持不同的API地址;
- 0.6.1 - 改进了日志记录;
- 0.6.0 - 添加了对API请求和响应的日志记录;
- 0.5.1 - 降低最小PHP版本要求至5.5;
- 0.5.0 - 实现了BoxBerry API的所有功能;
- 0.4.0 - 实现了API的主要功能 API说明;
- 0.3.0 - 实现了BoxBerry API服务的主要功能 服务信息。
安装
可以使用Composer包管理器进行安装
composer require wildtuna/boxberry-sdk
设置令牌
API客户端允许使用多个令牌并在它们之间切换。
添加令牌时,最后添加的令牌将成为选中状态。
在初始化时添加令牌
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setToken('another', 'another_bb_api_token');
切换令牌
<?php $bbClient->setCurrentToken('main'); $bbClient->setCurrentToken('another');
调试
使用PSR-3标准日志记录器进行请求和响应的日志记录。以下是一个使用Monolog的日志记录示例。
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; $log = new Logger('name'); $log->pushHandler(new StreamHandler('log.txt', Logger::INFO)); $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'token'); $bbClient->setCurrentToken('main'); $bbClient->setLogger($log); $result = $bbClient->getCityList();
log.txt中将有以下内容
[2019-07-19 13:09:58] name.INFO: BoxBerry API request: token=TOKEN&method=ListCities [] []
[2019-07-19 13:09:58] name.INFO: BoxBerry API response: [{"Code":"172","Name":"\u0413\u0435\u043b\u0435\u043d\u0434\u0436\u0438\u043a","ReceptionLaP":"1","DeliveryLaP":"1","Reception":"1","ForeignReceptionReturns":"1","Terminal":"1","Kladr":"2300000300000","Region":"\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439","CountryCode":"643",.......
创建/编辑订单
在BB的LK中创建新订单。订单有两种类型,到自提点和门到门快递。如果订单是到自提点,则不需要填写收货地址。更多信息请参阅 这里,函数 ParselCreate。
输入参数
对象 \WildTuna\BoxberrySdk\Entity\Order
输出参数
关联数据数组
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $order = new \WildTuna\BoxberrySdk\Entity\Order(); $order->setTrackNum(TRACK_NUM); // Трекномер заказа в системе BB. Заполняется, если нужно изменить данные заказа $order->setDeliveryDate('2019-05-10'); // Дата доставки от +1 день до +5 дней от текущий даты (только для доставки по Москве, МО и Санкт-Петербургу) $order->setOrderId('9999999'); // ID заказа в ИМ $order->setPalletNum(1); // Номер паллета $order->setBarcode('12345678'); // ШК заказа $order->setValuatedAmount(1000); // Объявленная стоимость $order->setPaymentAmount(1300); // Сумма к оплате $order->setDeliveryAmount(300); // Стоимость доставки $order->setComment('Тестовый заказ'); // Комментарий к заказу // $order->setVid(\WildTuna\BoxberrySdk\Entity\Order::PVZ); // Тип доставки (1 - ПВЗ, 2 - КД, 3 - Почта России) // $order->setPvzCode(61831); // Код ПВЗ // $order->setPointOfEntry('010'); // Код пункта поступления $order->setVid(\WildTuna\BoxberrySdk\Entity\Order::COURIER); // Тип доставки (1 - ПВЗ, 2 - КД, 3 - Почта России) $customer = new \WildTuna\BoxberrySdk\Entity\Customer(); $customer->setFio('Иванов Петр Николаевич'); // ФИО получателя $customer->setPhone('79995556677'); // Контактный номер телефона $customer->setSecondPhone('79995556677'); // Дополнительный номер телефона $customer->setEmail('test@test.ru'); // E-mail для оповещений $customer->setIndex(115551); // Почтовый индекс получателя (не заполянется, если в ПВЗ) $customer->setCity('Москва'); // (не заполянется, если в ПВЗ) $customer->setAddress('Москва, ул. Маршала Захарова, д. 3а кв. 1'); // Адрес доставки (не заполянется, если в ПВЗ) $customer->setTimeFrom('10:00'); // Время доставки от $customer->setTimeTo('18:00'); // Время доставки до $customer->setTimeFromSecond('10:00'); // Альтернативное время доставки от $customer->setTimeToSecond('18:00'); // Альтернативное время доставки до $customer->setDeliveryTime('С 10 до 19, за час позвонить'); // Время доставки текстовый формат // Поля ниже заполняются для организации (не обязательные) //$customer->setOrgName('ООО Ромашка'); // Наименование организации //$customer->setOrgAddress('123456 Москва, Красная площадь дом 1'); // Арес организации //$customer->setOrgInn('7731347089'); // ИНН организации //$customer->setOrgKpp('773101001'); // КПП организации //$customer->setOrgRs('40702810500036265800'); // РС организации //$customer->setOrgKs('30101810400000000225'); // КС банка //$customer->setOrgBankName('ПАО Сбербанк'); // Наименование банка //$customer->setOrgBankBik('044525225'); // БИК банка $order->setCustomer($customer); // Создаем места в заказе $place = new \WildTuna\BoxberrySdk\Entity\Place(); $place->setWeight(1000); // Вес места в граммах $place->setBarcode('1234567890'); // ШК места $order->setPlaces($place); // Создаем товары $item = new \WildTuna\BoxberrySdk\Entity\Item(); $item->setId('123124BC'); // ID товара в БД ИМ' $item->setName('Тестовый товар 1'); // Название товара $item->setAmount(100); // Цена единицы товара $item->setQuantity(10); // Количество $item->setVat(20); // Ставка НДС $item->setUnit('шт'); // Единица измерения $order->setItems($item); $order->setSenderName('ООО Ромашка'); // Наименование отправителя $order->setIssue(\WildTuna\BoxberrySdk\Entity\Order::TOI_DELIVERY_WITH_OPENING_AND_VERIFICATION); // вид выдачи (см. константы класса) // Для отправления Почтой России необходимо заполнить дополнительные параметры $russianPostParams = new \WildTuna\BoxberrySdk\Entity\RussianPostParams(); $russianPostParams->setType(\WildTuna\BoxberrySdk\Entity\RussianPostParams::PT_POSILKA); // Тип отправления (см. константы класса) $russianPostParams->setFragile(true); // Хрупкая посылка $russianPostParams->setStrong(true); // Строгий тип $russianPostParams->setOptimize(true); // Оптимизация тарифа $russianPostParams->setPackingType(\WildTuna\BoxberrySdk\Entity\RussianPostParams::PACKAGE_IM_MORE_160); // Тип упаковки (см. константы класса) $russianPostParams->setPackingStrict(false); // Строгая упаковка // Габариты тарного места (см) Обязательны для доставки Почтой России. $russianPostParams->setLength(10); $russianPostParams->setWidth(10); $russianPostParams->setHeight(10); $order->setRussianPostParams($russianPostParams); $result = $bbClient->createOrder($order); /* array( 'track'=>'DUD15224387', // Трек-номер BB 'label'=>'URI' // Ссылка на скачивание PDF файла с этикетками ); */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按店铺订单号删除/取消订单
在BB的LK中删除/撤销订单,如果它尚未在活动中执行。
输入参数
- order_id (string) - 订单号
- cancelType (integer) - 订单取消选项:1-删除包裹,2-撤销包裹。如果未传递,则默认为2 - 在BB的LK中取消订单。
输出参数
(err) - false - 请求成功执行(在BB的LK中更改了包裹的数据)- string 错误消息,在err != false的情况下
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $order = new \WildTuna\BoxberrySdk\Entity\Order(); $result = $bbClient->deleteOrderByOrderId('1056', 1); if ($result['err'] === false) { // Заказ удален } else { // Заказ не удален, некорректный ответ сервера BB } } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按追踪号删除/取消订单
在BB的LK中删除/撤销订单,如果它尚未在活动中执行。
输入参数
- track (string) - 订单号
- cancelType (integer) - 订单取消选项:1-删除包裹,2-撤销包裹。如果未传递,则默认为2 - 在BB的LK中取消订单。
输出参数
(err) - false - 请求成功执行(在BB的LK中更改了包裹的数据)
- string 错误消息,在err != false的情况下
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $order = new \WildTuna\BoxberrySdk\Entity\Order(); $result = $bbClient->deleteOrderByTrack('DUD15224387', 1); if ($result['err'] === false) { // Заказ удален } else { // Заказ не удален, некорректный ответ сервера BB } } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
订单状态
根据BB的跟踪号或订单号返回订单状态。
输入参数
- order_id (string) - 跟踪号/订单号
- all (boolean) - true - 完整信息,false - 简短信息(默认为false)
输出参数
关联数据数组
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $bbClient->getOrderStatuses('DUD15086277'); /* Array ( [0] => Array ( [Date] => 2019-05-01T00:56:12 [Name] => Принято к доставке [Comment] => ) [1] => Array ( [Date] => 2019-05-01T00:56:13 [Name] => Передано на сортировку [Comment] => ) [2] => Array ( [Date] => 2019-05-03T08:43:56 [Name] => Передан на доставку до пункта выдачи [Comment] => ) [3] => Array ( [Date] => 2019-05-04T06:47:48 [Name] => Передан на доставку до пункта выдачи [Comment] => ) [4] => Array ( [Date] => 2019-05-04T11:48:01 [Name] => Поступило в пункт выдачи [Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7) ) ) */ $bbClient->getOrderStatuses('DUD15086277', true); /* Array ( [statuses] => Array ( [0] => Array ( [Date] => 30.04.2019 15:35 [Name] => Загружен реестр ИМ [Comment] => ) [1] => Array ( [Date] => 01.05.2019 00:56 [Name] => Принято к доставке [Comment] => ) [2] => Array ( [Date] => 01.05.2019 00:56 [Name] => Передано на сортировку [Comment] => ) [3] => Array ( [Date] => 03.05.2019 08:43 [Name] => Передан на доставку до пункта выдачи [Comment] => ) [4] => Array ( [Date] => 04.05.2019 06:47 [Name] => Передан на доставку до пункта выдачи [Comment] => ) [5] => Array ( [Date] => 04.05.2019 11:48 [Name] => Поступило в пункт выдачи [Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7) ) ) [PD] => [sum] => 5843 [Weight] => 1.58 [PaymentMethod] => Касса ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
订单中的服务
根据BB的跟踪号或订单号返回服务信息。
输入参数
- order_id (string) - 跟踪号/订单号
输出参数
关联数据数组
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $bbClient->getOrderServices('DUD15086277'); /* Array ( [0] => Array ( [Name] => Пост_Базовый расчет [Sum] => 150,36 [Date] => 2019-05-03T00:00:00 [PaymentMethod] => Эквайринг ) [1] => Array ( [Name] => Пост_Выдача со вскрытием и проверкой комплектности [Sum] => 19 [Date] => 2019-05-03T00:00:00 [PaymentMethod] => Эквайринг ) [2] => Array ( [Name] => Пост_Извещение Вайбер и СМС [Sum] => 2 [Date] => 2019-05-03T00:00:00 [PaymentMethod] => Эквайринг ) [3] => Array ( [Name] => Пост_Страховой сбор [Sum] => 10,75 [Date] => 2019-05-03T00:00:00 [PaymentMethod] => Эквайринг ) [4] => Array ( [Name] => Эквайринг [Sum] => 64,5 [Date] => 2019-05-03T00:00:00 [PaymentMethod] => Эквайринг ) ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
自提点列表
要获取自提点列表,请使用方法 $bbClient->getPvzList。
输入参数
- $prepaid (boolean) - false - 支持到付,true - 处理任何类型的包裹(默认为false)
- $short (boolean) - 自提点简要信息,包括最后更改日期(默认为false)
- $city_code (整数) - 允许只选择BoxBerry指定城市的快递点(默认为null)
输出参数
关联数据数组
调用示例
<?php $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов try { $result = $bbClient->getPvzList(); // С возможностью оплаты при получении /*Array ( [0] => Array ( [Code] => 78031 [Name] => Санкт-Петербург Комендантский_7803_С [Address] => 197227, Санкт-Петербург г, Комендантская пл, д.8, литер А, оф. 5Н [Phone] => +7(812)930-09-15 [WorkSchedule] => пн-вс: 10.00-21.00 [TripDescription] => Метро - "Комендантский проспект". Примерное расстояние от метро до отделения - 400 метров. Жилой дом. Вход через магазин "Цветы". Цокольный этаж. [DeliveryPeriod] => 1 [CityCode] => 116 [CityName] => Санкт-Петербург [TariffZone] => 2 [Settlement] => Санкт-Петербург [Area] => Санкт-Петербург [Country] => РОССИЯ [OnlyPrepaidOrders] => No [AddressReduce] => Комендантская пл, д.8, литер А, оф. 5Н [Acquiring] => Yes [DigitalSignature] => No [TypeOfOffice] => СПВЗ [NalKD] => No [Metro] => Комендантский проспект [VolumeLimit] => 0.48 [LoadLimit] => 15 [GPS] => 60.005783,30.258888 ) [1] => Array ( [Code] => 78041 */ $result = $bbClient->getPvzList(true, true); // Краткая информация о всех ПВЗ с датой последнего изменения /*Array ( [0] => Array ( [CityCode] => 116 [Code] => 78031 [UpdateDate] => 2019-04-17 13:25:22 ) [1] => Array ( [CityCode] => 116 [Code] => 78041 [UpdateDate] => 2019-04-24 15:06:46 ) [2] => Array ( [CityCode] => 116 [Code] => 78051 [UpdateDate] => 2019-04-25 15:37:24 ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
计算运费
计算配送费用的方法需要使用 $bbClient->calcTariff。
输入参数
对象 \WildTuna\BoxberrySdk\Entity\CalculateParams
输出参数
对象 \WildTuna\BoxberrySdk\Entity\TariffInfo
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $calcParams = new \WildTuna\BoxberrySdk\Entity\CalculateParams(); $calcParams->setWeight(1000); $calcParams->setPvz(61831); $calcParams->setAmount(1250.60); $result = $bbClient->calcTariff($calcParams); /* WildTuna\BoxberrySdk\Entity\TariffInfo Object ( [price:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 176.25 [price_base:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 168 [price_service:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 8.253 [delivery_period:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 2 ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
自提点详细信息
要获取快递点的信息,需要使用方法 $bbClient->pointDetails。
如果传入 $photo=true,则结果数组中将包含键photos,其中包含base64编码的图片数组。
输入参数
- $point_id (整数) - 快递点代码
- $photo (布尔值) - 返回快递点的照片(默认为false)
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->pointDetails(61831); // Без фото $result = $bbClient->pointDetails(61831, true); // С фото /* Array ( [CityCode] => 44 [Reception] => 1 [IssuanceBoxberry] => 1 [Name] => Ростов-на-Дону Максима Горького_6183_С [Organization] => Общество с ограниченной ответственностью "Атлант" [ZipCode] => 344022 [Country] => РОССИЯ [Area] => Ростовская обл [CityName] => Ростов-на-Дону [Settlement] => Ростов-на-Дону [Metro] => [Street] => Максима Горького [House] => 285 [Structure] => [Housing] => [Apartment] => [Address] => 344022, Ростов-на-Дону г, Максима Горького ул, д.285 [AddressReduce] => Максима Горького ул, д.285 [GPS] => 47.231912,39.737686 [TripDescription] => Остановка: Театральный. Примерное расстояние от остановки до Отделения - 200 метров. Жилой 9-ти этажный дом. Отдельный вход со стороны дороги. 1 этаж. [Phone] => 8-800-222-80-00 [ForeignOnlineStoresOnly] => 0 [PrepaidOrdersOnly] => 0 [Acquiring] => 1 [DigitalSignature] => 0 [TypeOfOffice] => 2 [ReceptionLaP] => 1 [DeliveryLaP] => 1 [LoadLimit] => 15 [VolumeLimit] => 0.48 [EnablePartialDelivery] => 1 [EnableFitting] => 1 [fittingType] => 1 [WorkShedule] => пн-вс: 10.00-19.00 [WorkMoBegin] => 10:00 [WorkMoEnd] => 19:00 [WorkTuBegin] => 10:00 [WorkTuEnd] => 19:00 [WorkWeBegin] => 10:00 [WorkWeEnd] => 19:00 [WorkThBegin] => 10:00 [WorkThEnd] => 19:00 [WorkFrBegin] => 10:00 [WorkFrEnd] => 19:00 [WorkSaBegin] => 10:00 [WorkSaEnd] => 19:00 [WorkSuBegin] => 10:00 [WorkSuEnd] => 19:00 [LunchMoBegin] => [LunchMoEnd] => [LunchTuBegin] => [LunchTuEnd] => [LunchWeBegin] => [LunchWeEnd] => [LunchThBegin] => [LunchThEnd] => [LunchFrBegin] => [LunchFrEnd] => [LunchSaBegin] => [LunchSaEnd] => [LunchSuBegin] => [LunchSuEnd] => [TerminalCode] => 50 [TerminalName] => Ростов-на-Дону Каширская_6101 [TerminalOrganization] => ООО "Боксберри Юг" [TerminalCityCode] => 44 [TerminalCityName] => Ростов-на-Дону [TerminalAddress] => 344091, Ростов-на-Дону г, Каширская ул, д.9/53а [TerminalPhone] => 8-800-222-80-00 [CourierDelivery] => 0 [CountryCode] => 643 [AddressInfo] => [Terminal] => 0 [TransType] => 1 [InterRefunds] => 1 [ExpressReception] => 0 [extraCode] => 6183 [TemporaryWorkSchedule] => ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
订单标签
允许获取指定包裹的打印标签文件的链接。
输入参数
- track (字符串) - 跟踪号码
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getLabel('DUD15086277'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
获取标签文件
允许直接获取标签文件
输入参数
- track (字符串) - 跟踪号码
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getLabelFile('DUD15086277'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
通过链接获取文件
允许通过链接获取文件。Bоксберри提供标签、APP、打印的收货凭证、打印的货物收据以下载链接的形式。Boksberry没有直接获取文件的方法,因此此方法可以处理所有现有的打印版文件链接。
输入参数
- link (字符串) - 文档链接
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getLabelFile('http://api.boxberry.ru/parcel-files/act?upload_id=123'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按店铺订单号获取订单信息
允许通过商店中的订单号获取订单信息。
输入参数
- order_id (字符串) - 商店中的订单号
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getOrderInfoByOrderId('6277'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
根据跟踪号码或商店订单号获取订单列表
允许通过一次请求立即获取跟踪号码或商店订单号的订单列表。
输入参数
- $order_ids (数组) - 跟踪号码或商店订单号的数组
- $parcel_type (字符串) - 选择类型(包裹跟踪号码或商店订单号),接受 'order_id' 或 'track' 的值。默认为 'order_id'
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $orderIds = [26974, 26975, 26980]; $trackIds = ['A123123121', 'B123123123', 'C123123123']; $result = $bbClient->getAllOrdersInfo($orderIds, 'order_id'); $result = $bbClient->getAllOrdersInfo($trackIds, 'track'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
订单的跟踪号码信息
允许通过跟踪号码获取订单信息。
输入参数
- track_id (字符串) - 跟踪号码
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getOrderInfoByTrack('DUD15086277'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
城市列表
允许获取有快递点和有快递服务的城市列表。
输入参数
- $all (布尔值) - false - 有快递点的城市列表,true - 有快递服务和快递点的城市列表(默认为false)
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getCityList(); /* Array ( [0] => Array ( [Code] => 172 [Name] => Геленджик [ReceptionLaP] => 1 [DeliveryLaP] => 1 [Reception] => 1 [ForeignReceptionReturns] => 1 [Terminal] => 1 [Kladr] => 2300000300000 [Region] => Краснодарский [CountryCode] => 643 [UniqName] => Геленджик [District] => [Prefix] => г ) [1] => Array ( [Code] => 04626 [Name] => Долгопрудный [ReceptionLaP] => 1 [DeliveryLaP] => 1 [Reception] => 1 [ForeignReceptionReturns] => 1 [Terminal] => 0 [Kladr] => 5000002900000 [Region] => Московская [CountryCode] => 643 [UniqName] => Долгопрудный [District] => [Prefix] => г ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
带KD的邮政编码
返回可能的快递服务邮政编码列表。
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getZipList(); /* Array ( [0] => Array ( [Zip] => 187033 [City] => [Region] => [Area] => [ZoneExpressDelivery] => 1 [ExpressDelivery] => Да ) [1] => Array ( [Zip] => 655001 [City] => Абакан [Region] => [Area] => Хакасия [ZoneExpressDelivery] => 1 [ExpressDelivery] => Да ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
检查邮政编码
检查指定索引的快递服务可能性。
输入参数
- $index (整数) - 邮政编码
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->checkZip(115551); /* Array ( [ExpressDelivery] => 1 [ZoneExpressDelivery] => 2 ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
带KD的城市列表
提供快递服务的城市列表。
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getCourierCities(); /* Array ( [0] => Array ( [City] => Абакан [Region] => [Area] => Хакасия [DeliveryPeriod] => 7.00 ) [1] => Array ( [City] => Авдулово [Region] => Данковский [Area] => Липецкая [DeliveryPeriod] => ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
接收点列表
包裹接收点列表。
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getPointsForParcels(); /* Array ( [0] => Array ( [Code] => 04854 [Name] => Санкт-Петербург Терминал [City] => Санкт-Петербург ) [1] => Array ( [Code] => 82010 [Name] => Симферополь Караимская_8201 [City] => Симферополь ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
已创建订单列表
允许获取通过API创建的包裹列表。
如果不指定日期范围,则返回最后创建的订单。
输出参数
- $from (字符串) - 从(日期的任何格式)
- $to (字符串) - 到(日期的任何格式)
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getOrderList(); /* Array ( [0] => Array ( [track] => DUD15191668 [label] => [date] => 2019.05.06 15:32:51 [send] => 1 [barcode] => DUD8133818 [imid] => 8133818 ) ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
正在配送的订单列表
获取实际已发送到BoxBerry但尚未交付给收件人的订单信息。
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getOrdersInProgress(); /* Array ( [0] => Array ( [ID] => 4194177 [Status] => На отделении-получателе [Price] => 0 [Delivery_sum] => 0 [Payment_sum] => 3289 ) [1] => Array ( [ID] => 1178452 [Status] => В пути на терминал [Price] => 0 [Delivery_sum] => 0 [Payment_sum] => 2600 ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
取件申请
创建订单提取申请。
输入参数: 对象 \WildTuna\BoxberrySdk\Entity\Intake - 请求参数
输出参数
integer - BB系统中的申请号
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $intake = new \WildTuna\BoxberrySdk\Entity\Intake(); $intake->setZip(105005); $intake->setCity('Москва'); $intake->setStreet('Бауманская ул.'); $intake->setHouse(56); $intake->setCorpus(5); $intake->setBuilding('в'); $intake->setFlat(4); $intake->setContactPerson('Иванов Иван Иванович'); $intake->setContactPhone('79095556677'); $intake->setTakingDate('2019-05-07'); $intake->setPlaces(2); $intake->setVolume(5); $intake->setWeight(5); $intake->setComment('Примечание к заявке'); $intake_num = $bbClient->createIntake($intake); // $intake_num = 54851 } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
未添加到清单的订单列表
允许获取所有未形成收据的跟踪号码的跟踪代码列表。
输入参数
- $arr (布尔值) - true 以数组形式,false 以字符串形式(默认为false)
输出参数
array|string - 跟踪号码的数组或用逗号分隔的跟踪号码字符串
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $tracknums = $bbClient->getOrdersNotAct(); // строкой $tracknums = 'XXXXXX,XXXXXX,XXXXXX'; $tracknums = $bbClient->getOrdersNotAct(true); // массивом /* array( 'XXXXXX', 'XXXXXX', 'XXXXXX' ); */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
创建邮件传递清单
创建BoxBerry的包裹传输凭证。
注意! 该服务仅与通过API创建的订单相关。
输出参数
订单跟踪号码数组
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $tracknums = ['DUD15086277', 'DUD15086278', 'DUD15086279', 'DUD15086280']; $result = $bbClient->createOrdersTransferAct($tracknums); /* Array ( 'id' => Номер акта, 'label' => 'URI', 'sticker' => 'URI' // Ссылка на этикетки ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
已创建的邮件传递清单列表
允许获取通过API创建的包裹传输凭证的列表。
如果不指定日期范围,则返回最后创建的凭证。
注意! 该服务仅与通过API创建的凭证相关。
输出参数
- $from (字符串) - 从(日期的任何格式)
- $to (字符串) - 到(日期的任何格式)
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getActsList(); /* Array ( [0] => Array ( 'track'=>'XXXXXX,XXXXXX,XXXXXX', // список трекинг кодов посылок в акте, 'label'=>'URI', // ссылка на скачивание акта, если доступна, 'date'=>'2019.05.07' // дата создания посылки в формате YYYY.MM.DD HH:MM:SS. ) ) */ } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按AAPP编号获取“邮件传递接收/传递清单(AAPP)”文件
允许通过AAPP编号获取“包裹收货凭证(AAPP)”文件。
输入参数
- $parcelId - AAPP编号
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getParcelFileActToId('12942207'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按AAPP编号获取物资清单文件(如果已连接到LK服务)
允许通过AAPP编号获取货物收据文件(如果已连接到LK的服务)。
输入参数
- $parcelId - AAPP编号
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getParcelFileActTMCToId('12942207'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }
按AAPP编号获取标签打印格式
允许通过AAPP编号获取标签打印格式文件。
输入参数
- $parcelId - AAPP编号
输出参数
关联数据数组
调用示例
<?php try { $bbClient = new \WildTuna\BoxberrySdk\Client(); $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main $bbClient->setCurrentToken('main'); $result = $bbClient->getParcelFileBarcodesToId('12942207'); } catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) { // Обработка ошибки вызова API BB // $e->getMessage(); текст ошибки // $e->getCode(); http код ответа сервиса BB // $e->getRawResponse(); // ответ сервера BB как есть (http request body) } catch (\Exception $e) { // Обработка исключения }