Important
Неофициальный независимый проект
Этот проект не является официальным SDK Boxberry, не связан с компанией Boxberry, не поддерживается, не одобрен и не спонсируется правообладателем.
Обозначение «Boxberry» используется исключительно для указания совместимости SDK с API соответствующего сервиса. Все права на товарный знак «Boxberry» принадлежат его правообладателю.
Unofficial independent project
This is not an official Boxberry SDK. The project is not affiliated with, maintained, endorsed, or sponsored by Boxberry or the trademark owner. The “Boxberry” name is used solely to identify API compatibility.
Посмотреть все проекты или подарить автору кофе можно тут.
Обратите внимание, что теперь у BoxBerry несколько API адресов:
- https://api.boxberry.ru/json.php - для новых клиентов;
- https://account.boxberry.ru/json.php - для новых клиентов;
- https://api.boxberry.org - резервный адрес.
По умолчанию API выбирает api.boxberry.ru, для смены адреса необходимо при инициализации клиента вторым параметром передать нужный адрес.
Пример:
<?php
$bbClient = new \WildTuna\BoxberrySdk\Client(120, 'https://api.boxberry.ru/json.php');
$bbClient->setToken('main', 'bb_api_token');Changelog Установка Настройка токенов Отладка Создание/Редактирование заказа Удаление/Отзыв заказа по номеру заказа магазина Удаление/Отзыв заказа по трекномеру Статусы заказа Услуги в заказе Список ПВЗ Расчет тарифа Полная информация о ПВЗ Этикетка по заказу Получить файл этикетки Получить файл по ссылке Получить список заказов по трек номеру или номеру заказа магазина Информация о заказе по номеру заказа магазина Информация о заказе по трекномеру Список городов Почтовые индексы с КД Проверка почтового индекса Список городов с КД Список точек приема посылок Список созданных заказов Список доставляющихся заказов Заявка на забор Список заказов не добавленных в акт Создание акта передачи посылок Список созданных актов передачи посылок Получить файл "Акта приема передачи посылки (АПП)" по номеру АПП Получить файл акта ТМЦ (если подключена услуга в ЛК) по номеру АПП Получить печатную форму этикеток по номеру АПП
- 0.8.10 - Изменяет адрес api по умолчанию и актуализирует README
- 0.8.9 - Добавлено поддержка country_code при получении списка ПВЗ
- 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 - Реализованы все функции API BoxBerry;
- 0.4.0 - Реализованы основные функции API справка API;
- 0.3.0 - Реализованы основные функции API сервисов BoxBerry.
composer require wildtuna/boxberry-sdk
Добавление токенов при инициализации:
<?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');<?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",.......
Входные параметры: Объект \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) {
// Обработка исключения
}Входные параметры:
- order_id (string) - номер ИМ
- cancelType (integer) - Вариант отмены заказа: 1- удалить посылку, 2- отозвать посылку. Если не передан, то по умолчанию 2 - отменить посылку в ЛК ИМ.
Выходные параметры: (err) - false запрос успешно выполнен (в ЛК ИМ изменены данные посылки) - 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) {
// Обработка исключения
}Входные параметры:
- track (string) - номер ИМ
- cancelType (integer) - Вариант отмены заказа: 1- удалить посылку, 2- отозвать посылку. Если не передан, то по умолчанию 2 - отменить посылку в ЛК ИМ.
Выходные параметры: (err) - false запрос успешно выполнен (в ЛК ИМ изменены данные посылки)
- 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) {
// Обработка исключения
}Входные параметры:
- 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) {
// Обработка исключения
}Входные параметры:
- 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) {
// Обработка исключения
}Входные параметры:
- $prepaid (boolean) - false с возможностью оплаты при получении, true работающие с любым типом посылок (по умолчанию false)
- $short (boolean) - краткая информация о ПВЗ с датой последнего изменения (по умолчанию false)
- $city_code (integer) - позволяет выбрать ПВЗ только в заданном городе BoxBerry (по умолчанию null)
- $country_code (integer) - позволяет выбрать ПВЗ по странам (по умолчанию 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) {
// Обработка исключения
}Входные параметры: Объект \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) {
// Обработка исключения
}Входные параметры:
- $point_id (integer) - код ПВЗ
- $photo (boolean) - возврат фото ПВЗ (по умолчанию 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 (string) - трек-номер
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (string) - трек-номер
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Входные параметры:
- link (string) - ссылка на документ
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (string) - номер заказа в магазине
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (array) - массив трек номеров или номеров заказов магазина
- $parcel_type (string) - тип выборки (трек номер посылки или номер заказа магазина), принимает значения '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 (string) - трекномер
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (boolean) - 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) {
// Обработка исключения
}Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (integer) - Почтовый индекс
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Выходные параметры:
- $from (string) - период от (дата в любом формате)
- $to (string) - период до (дата в любом формате)
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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 (bool) - 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) {
// Обработка исключения
}Выходные параметры: Массив трек-номеров заказов
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Выходные параметры:
- $from (string) - период от (дата в любом формате)
- $to (string) - период до (дата в любом формате)
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Входные параметры:
- $parcelId - номер АПП
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Входные параметры:
- $parcelId - номер АПП
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}Входные параметры:
- $parcelId - номер АПП
Выходные параметры: Ассоциативный массив данных
Примеры вызова:
<?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) {
// Обработка исключения
}