项目作者: iamwildtuna

项目描述 :
SDK для работы с API BoxBerry (https://api.boxberry.ru)
高级语言: PHP
项目地址: git://github.com/iamwildtuna/boxberry-sdk.git
创建时间: 2019-05-05T16:00:05Z
项目社区:https://github.com/iamwildtuna/boxberry-sdk

开源协议:MIT License

下载






Latest Stable Version
Total Downloads
License
Telegram Chat

SDK для интеграции с программным комплексом Boxberry.

Посмотреть все проекты или подарить автору кофе можно тут.

База знаний BoxBerry.

Обратите внимание, что теперь у BoxBerry несколько API адресов:

По умолчанию API выбирает api.boxberry.de, для смены адреса необходимо при инициализации клиента вторым параметром передать нужный адрес.

Пример:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client(120, 'https://api.boxberry.ru/json.php');
  3. $bbClient->setToken('main', 'bb_api_token');

Содержание

Changelog
Установка
Настройка токенов
Отладка
Создание/Редактирование заказа
Удаление/Отзыв заказа по номеру заказа магазина
Удаление/Отзыв заказа по трекномеру
Статусы заказа
Услуги в заказе
Список ПВЗ
Расчет тарифа
Полная информация о ПВЗ
Этикетка по заказу
Получить файл этикетки
Получить файл по ссылке
Получить список заказов по трек номеру или номеру заказа магазина
Информация о заказе по номеру заказа магазина
Информация о заказе по трекномеру
Список городов
Почтовые индексы с КД
Проверка почтового индекса
Список городов с КД
Список точек приема посылок
Список созданных заказов
Список доставляющихся заказов
Заявка на забор
Список заказов не добавленных в акт
Создание акта передачи посылок
Список созданных актов передачи посылок
Получить файл “Акта приема передачи посылки (АПП)” по номеру АПП
Получить файл акта ТМЦ (если подключена услуга в ЛК) по номеру АПП
Получить печатную форму этикеток по номеру АПП

Changelog

  • 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

  1. composer require wildtuna/boxberry-sdk

Настройка токенов


API клиент позволяет использовать несколько токенов и переключатсья между ними.
При добавлении токенов последний добавленный становися выбранным.

Добавление токенов при инициализации:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setToken('another', 'another_bb_api_token');
  5. `

Переключение токенов:

  1. <?php
  2. $bbClient->setCurrentToken('main');
  3. $bbClient->setCurrentToken('another');
  4. `

Отладка


Для логирования запросов и ответов используется стандартный PSR-3 логгер.
Ниже приведен пример логирования используя Monolog.

  1. <?php
  2. use Monolog\Logger;
  3. use Monolog\Handler\StreamHandler;
  4. $log = new Logger('name');
  5. $log->pushHandler(new StreamHandler('log.txt', Logger::INFO));
  6. $bbClient = new \WildTuna\BoxberrySdk\Client();
  7. $bbClient->setToken('main', 'token');
  8. $bbClient->setCurrentToken('main');
  9. $bbClient->setLogger($log);
  10. $result = $bbClient->getCityList();

В log.txt будут следующие строки:

  1. [2019-07-19 13:09:58] name.INFO: BoxBerry API request: token=TOKEN&method=ListCities [] []
  2. [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. Заказы бывают двух видов, до ПВЗ и курьерская доставка до двери.
Если заказ в ПВЗ, то адрес доставки заполнять не требуется.
Подробнее можно прочитать тут, функция ParselCreate.

Входные параметры:
Объект \WildTuna\BoxberrySdk\Entity\Order

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $order = new \WildTuna\BoxberrySdk\Entity\Order();
  7. $order->setTrackNum(TRACK_NUM); // Трекномер заказа в системе BB. Заполняется, если нужно изменить данные заказа
  8. $order->setDeliveryDate('2019-05-10'); // Дата доставки от +1 день до +5 дней от текущий даты (только для доставки по Москве, МО и Санкт-Петербургу)
  9. $order->setOrderId('9999999'); // ID заказа в ИМ
  10. $order->setPalletNum(1); // Номер паллета
  11. $order->setBarcode('12345678'); // ШК заказа
  12. $order->setValuatedAmount(1000); // Объявленная стоимость
  13. $order->setPaymentAmount(1300); // Сумма к оплате
  14. $order->setDeliveryAmount(300); // Стоимость доставки
  15. $order->setComment('Тестовый заказ'); // Комментарий к заказу
  16. // $order->setVid(\WildTuna\BoxberrySdk\Entity\Order::PVZ); // Тип доставки (1 - ПВЗ, 2 - КД, 3 - Почта России)
  17. // $order->setPvzCode(61831); // Код ПВЗ
  18. // $order->setPointOfEntry('010'); // Код пункта поступления
  19. $order->setVid(\WildTuna\BoxberrySdk\Entity\Order::COURIER); // Тип доставки (1 - ПВЗ, 2 - КД, 3 - Почта России)
  20. $customer = new \WildTuna\BoxberrySdk\Entity\Customer();
  21. $customer->setFio('Иванов Петр Николаевич'); // ФИО получателя
  22. $customer->setPhone('79995556677'); // Контактный номер телефона
  23. $customer->setSecondPhone('79995556677'); // Дополнительный номер телефона
  24. $customer->setEmail('test@test.ru'); // E-mail для оповещений
  25. $customer->setIndex(115551); // Почтовый индекс получателя (не заполянется, если в ПВЗ)
  26. $customer->setCity('Москва'); // (не заполянется, если в ПВЗ)
  27. $customer->setAddress('Москва, ул. Маршала Захарова, д. 3а кв. 1'); // Адрес доставки (не заполянется, если в ПВЗ)
  28. $customer->setTimeFrom('10:00'); // Время доставки от
  29. $customer->setTimeTo('18:00'); // Время доставки до
  30. $customer->setTimeFromSecond('10:00'); // Альтернативное время доставки от
  31. $customer->setTimeToSecond('18:00'); // Альтернативное время доставки до
  32. $customer->setDeliveryTime('С 10 до 19, за час позвонить'); // Время доставки текстовый формат
  33. // Поля ниже заполняются для организации (не обязательные)
  34. //$customer->setOrgName('ООО Ромашка'); // Наименование организации
  35. //$customer->setOrgAddress('123456 Москва, Красная площадь дом 1'); // Арес организации
  36. //$customer->setOrgInn('7731347089'); // ИНН организации
  37. //$customer->setOrgKpp('773101001'); // КПП организации
  38. //$customer->setOrgRs('40702810500036265800'); // РС организации
  39. //$customer->setOrgKs('30101810400000000225'); // КС банка
  40. //$customer->setOrgBankName('ПАО Сбербанк'); // Наименование банка
  41. //$customer->setOrgBankBik('044525225'); // БИК банка
  42. $order->setCustomer($customer);
  43. // Создаем места в заказе
  44. $place = new \WildTuna\BoxberrySdk\Entity\Place();
  45. $place->setWeight(1000); // Вес места в граммах
  46. $place->setBarcode('1234567890'); // ШК места
  47. $order->setPlaces($place);
  48. // Создаем товары
  49. $item = new \WildTuna\BoxberrySdk\Entity\Item();
  50. $item->setId('123124BC'); // ID товара в БД ИМ'
  51. $item->setName('Тестовый товар 1'); // Название товара
  52. $item->setAmount(100); // Цена единицы товара
  53. $item->setQuantity(10); // Количество
  54. $item->setVat(20); // Ставка НДС
  55. $item->setUnit('шт'); // Единица измерения
  56. $order->setItems($item);
  57. $order->setSenderName('ООО Ромашка'); // Наименование отправителя
  58. $order->setIssue(\WildTuna\BoxberrySdk\Entity\Order::TOI_DELIVERY_WITH_OPENING_AND_VERIFICATION); // вид выдачи (см. константы класса)
  59. // Для отправления Почтой России необходимо заполнить дополнительные параметры
  60. $russianPostParams = new \WildTuna\BoxberrySdk\Entity\RussianPostParams();
  61. $russianPostParams->setType(\WildTuna\BoxberrySdk\Entity\RussianPostParams::PT_POSILKA); // Тип отправления (см. константы класса)
  62. $russianPostParams->setFragile(true); // Хрупкая посылка
  63. $russianPostParams->setStrong(true); // Строгий тип
  64. $russianPostParams->setOptimize(true); // Оптимизация тарифа
  65. $russianPostParams->setPackingType(\WildTuna\BoxberrySdk\Entity\RussianPostParams::PACKAGE_IM_MORE_160); // Тип упаковки (см. константы класса)
  66. $russianPostParams->setPackingStrict(false); // Строгая упаковка
  67. // Габариты тарного места (см) Обязательны для доставки Почтой России.
  68. $russianPostParams->setLength(10);
  69. $russianPostParams->setWidth(10);
  70. $russianPostParams->setHeight(10);
  71. $order->setRussianPostParams($russianPostParams);
  72. $result = $bbClient->createOrder($order);
  73. /*
  74. array(
  75. 'track'=>'DUD15224387', // Трек-номер BB
  76. 'label'=>'URI' // Ссылка на скачивание PDF файла с этикетками
  77. );
  78. */
  79. }
  80. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  81. // Обработка ошибки вызова API BB
  82. // $e->getMessage(); текст ошибки
  83. // $e->getCode(); http код ответа сервиса BB
  84. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  85. }
  86. catch (\Exception $e) {
  87. // Обработка исключения
  88. }
  89. `

Удаление/Отзыв заказа по номеру заказа магазина


Удаление/Отзыв заказа в ЛК BB, если он не проведен в акте.

Входные параметры:

  • order_id (string) - номер ИМ
  • cancelType (integer) - Вариант отмены заказа: 1- удалить посылку, 2- отозвать посылку. Если не передан, то по умолчанию 2 - отменить посылку в ЛК ИМ.

Выходные параметры:
(err) - false запрос успешно выполнен (в ЛК ИМ изменены данные посылки)

  1. - string сообщение об ошибке, в случае err != false

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $order = new \WildTuna\BoxberrySdk\Entity\Order();
  7. $result = $bbClient->deleteOrderByOrderId('1056', 1);
  8. if ($result['err'] === false) {
  9. // Заказ удален
  10. } else {
  11. // Заказ не удален, некорректный ответ сервера BB
  12. }
  13. }
  14. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  15. // Обработка ошибки вызова API BB
  16. // $e->getMessage(); текст ошибки
  17. // $e->getCode(); http код ответа сервиса BB
  18. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  19. }
  20. catch (\Exception $e) {
  21. // Обработка исключения
  22. }
  23. `

Удаление/Отзыв заказа по трекномеру


Удаление/Отзыв заказа в ЛК BB, если он не проведен в акте.

Входные параметры:

  • track (string) - номер ИМ
  • cancelType (integer) - Вариант отмены заказа: 1- удалить посылку, 2- отозвать посылку. Если не передан, то по умолчанию 2 - отменить посылку в ЛК ИМ.

Выходные параметры:
(err) - false запрос успешно выполнен (в ЛК ИМ изменены данные посылки)

  • string сообщение об ошибке, в случае err != false

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $order = new \WildTuna\BoxberrySdk\Entity\Order();
  7. $result = $bbClient->deleteOrderByTrack('DUD15224387', 1);
  8. if ($result['err'] === false) {
  9. // Заказ удален
  10. } else {
  11. // Заказ не удален, некорректный ответ сервера BB
  12. }
  13. }
  14. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  15. // Обработка ошибки вызова API BB
  16. // $e->getMessage(); текст ошибки
  17. // $e->getCode(); http код ответа сервиса BB
  18. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  19. }
  20. catch (\Exception $e) {
  21. // Обработка исключения
  22. }
  23. `

Статусы заказа


Возвращает статусы заказа по трек-номеру BB или номеру заказа ИМ.

Входные параметры:

  • order_id (string) - трек-номер / номер ИМ
  • all (boolean) - true - полная информация, false - краткая информация (по умолчанию false)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $bbClient->getOrderStatuses('DUD15086277');
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [Date] => 2019-05-01T00:56:12
  13. [Name] => Принято к доставке
  14. [Comment] =>
  15. )
  16. [1] => Array
  17. (
  18. [Date] => 2019-05-01T00:56:13
  19. [Name] => Передано на сортировку
  20. [Comment] =>
  21. )
  22. [2] => Array
  23. (
  24. [Date] => 2019-05-03T08:43:56
  25. [Name] => Передан на доставку до пункта выдачи
  26. [Comment] =>
  27. )
  28. [3] => Array
  29. (
  30. [Date] => 2019-05-04T06:47:48
  31. [Name] => Передан на доставку до пункта выдачи
  32. [Comment] =>
  33. )
  34. [4] => Array
  35. (
  36. [Date] => 2019-05-04T11:48:01
  37. [Name] => Поступило в пункт выдачи
  38. [Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7)
  39. )
  40. )
  41. */
  42. $bbClient->getOrderStatuses('DUD15086277', true);
  43. /*
  44. Array
  45. (
  46. [statuses] => Array
  47. (
  48. [0] => Array
  49. (
  50. [Date] => 30.04.2019 15:35
  51. [Name] => Загружен реестр ИМ
  52. [Comment] =>
  53. )
  54. [1] => Array
  55. (
  56. [Date] => 01.05.2019 00:56
  57. [Name] => Принято к доставке
  58. [Comment] =>
  59. )
  60. [2] => Array
  61. (
  62. [Date] => 01.05.2019 00:56
  63. [Name] => Передано на сортировку
  64. [Comment] =>
  65. )
  66. [3] => Array
  67. (
  68. [Date] => 03.05.2019 08:43
  69. [Name] => Передан на доставку до пункта выдачи
  70. [Comment] =>
  71. )
  72. [4] => Array
  73. (
  74. [Date] => 04.05.2019 06:47
  75. [Name] => Передан на доставку до пункта выдачи
  76. [Comment] =>
  77. )
  78. [5] => Array
  79. (
  80. [Date] => 04.05.2019 11:48
  81. [Name] => Поступило в пункт выдачи
  82. [Comment] => Москва (115478, Москва г, Каширское ш, д.24, строение 7)
  83. )
  84. )
  85. [PD] =>
  86. [sum] => 5843
  87. [Weight] => 1.58
  88. [PaymentMethod] => Касса
  89. )
  90. */
  91. }
  92. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  93. // Обработка ошибки вызова API BB
  94. // $e->getMessage(); текст ошибки
  95. // $e->getCode(); http код ответа сервиса BB
  96. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  97. }
  98. catch (\Exception $e) {
  99. // Обработка исключения
  100. }

Услуги в заказе


Возвращает информацию о услугах по трек-номеру BB или номеру заказа ИМ.

Входные параметры:

  • order_id (string) - трек-номер / номер ИМ

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $bbClient->getOrderServices('DUD15086277');
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [Name] => Пост_Базовый расчет
  13. [Sum] => 150,36
  14. [Date] => 2019-05-03T00:00:00
  15. [PaymentMethod] => Эквайринг
  16. )
  17. [1] => Array
  18. (
  19. [Name] => Пост_Выдача со вскрытием и проверкой комплектности
  20. [Sum] => 19
  21. [Date] => 2019-05-03T00:00:00
  22. [PaymentMethod] => Эквайринг
  23. )
  24. [2] => Array
  25. (
  26. [Name] => Пост_Извещение Вайбер и СМС
  27. [Sum] => 2
  28. [Date] => 2019-05-03T00:00:00
  29. [PaymentMethod] => Эквайринг
  30. )
  31. [3] => Array
  32. (
  33. [Name] => Пост_Страховой сбор
  34. [Sum] => 10,75
  35. [Date] => 2019-05-03T00:00:00
  36. [PaymentMethod] => Эквайринг
  37. )
  38. [4] => Array
  39. (
  40. [Name] => Эквайринг
  41. [Sum] => 64,5
  42. [Date] => 2019-05-03T00:00:00
  43. [PaymentMethod] => Эквайринг
  44. )
  45. )
  46. */
  47. }
  48. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  49. // Обработка ошибки вызова API BB
  50. // $e->getMessage(); текст ошибки
  51. // $e->getCode(); http код ответа сервиса BB
  52. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  53. }
  54. catch (\Exception $e) {
  55. // Обработка исключения
  56. }

Список ПВЗ


Для получения списка ПВЗ нужно использовать метод $bbClient->getPvzList.

Входные параметры:

  • $prepaid (boolean) - false с возможностью оплаты при получении, true работающие с любым типом посылок (по умолчанию false)
  • $short (boolean) - краткая информация о ПВЗ с датой последнего изменения (по умолчанию false)
  • $city_code (integer) - позволяет выбрать ПВЗ только в заданном городе BoxBerry (по умолчанию null)
  • $country_code (integer) - позволяет выбрать ПВЗ по странам (по умолчанию null)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. $bbClient = new \WildTuna\BoxberrySdk\Client();
  3. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  4. $bbClient->setCurrentToken('main'); // Указываем клиенту использовать ключ main для запросов
  5. try {
  6. $result = $bbClient->getPvzList(); // С возможностью оплаты при получении
  7. /*Array
  8. (
  9. [0] => Array
  10. (
  11. [Code] => 78031
  12. [Name] => Санкт-Петербург Комендантский_7803_С
  13. [Address] => 197227, Санкт-Петербург г, Комендантская пл, д.8, литер А, оф. 5Н
  14. [Phone] => +7(812)930-09-15
  15. [WorkSchedule] => пн-вс: 10.00-21.00
  16. [TripDescription] => Метро - "Комендантский проспект".
  17. Примерное расстояние от метро до отделения - 400 метров.
  18. Жилой дом.
  19. Вход через магазин "Цветы".
  20. Цокольный этаж.
  21. [DeliveryPeriod] => 1
  22. [CityCode] => 116
  23. [CityName] => Санкт-Петербург
  24. [TariffZone] => 2
  25. [Settlement] => Санкт-Петербург
  26. [Area] => Санкт-Петербург
  27. [Country] => РОССИЯ
  28. [OnlyPrepaidOrders] => No
  29. [AddressReduce] => Комендантская пл, д.8, литер А, оф. 5Н
  30. [Acquiring] => Yes
  31. [DigitalSignature] => No
  32. [TypeOfOffice] => СПВЗ
  33. [NalKD] => No
  34. [Metro] => Комендантский проспект
  35. [VolumeLimit] => 0.48
  36. [LoadLimit] => 15
  37. [GPS] => 60.005783,30.258888
  38. )
  39. [1] => Array
  40. (
  41. [Code] => 78041
  42. */
  43. $result = $bbClient->getPvzList(true, true); // Краткая информация о всех ПВЗ с датой последнего изменения
  44. /*Array
  45. (
  46. [0] => Array
  47. (
  48. [CityCode] => 116
  49. [Code] => 78031
  50. [UpdateDate] => 2019-04-17 13:25:22
  51. )
  52. [1] => Array
  53. (
  54. [CityCode] => 116
  55. [Code] => 78041
  56. [UpdateDate] => 2019-04-24 15:06:46
  57. )
  58. [2] => Array
  59. (
  60. [CityCode] => 116
  61. [Code] => 78051
  62. [UpdateDate] => 2019-04-25 15:37:24
  63. )
  64. */
  65. }
  66. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  67. // Обработка ошибки вызова API BB
  68. // $e->getMessage(); текст ошибки
  69. // $e->getCode(); http код ответа сервиса BB
  70. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  71. }
  72. catch (\Exception $e) {
  73. // Обработка исключения
  74. }

Расчет тарифа


Для расчета тарифа на доставку нужно использовать метод $bbClient->calcTariff.

Входные параметры:
Объект \WildTuna\BoxberrySdk\Entity\CalculateParams

Выходные параметры:
Объект \WildTuna\BoxberrySdk\Entity\TariffInfo

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $calcParams = new \WildTuna\BoxberrySdk\Entity\CalculateParams();
  7. $calcParams->setWeight(1000);
  8. $calcParams->setPvz(61831);
  9. $calcParams->setAmount(1250.60);
  10. $result = $bbClient->calcTariff($calcParams);
  11. /*
  12. WildTuna\BoxberrySdk\Entity\TariffInfo Object
  13. (
  14. [price:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 176.25
  15. [price_base:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 168
  16. [price_service:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 8.253
  17. [delivery_period:WildTuna\BoxberrySdk\Entity\TariffInfo:private] => 2
  18. )
  19. */
  20. }
  21. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  22. // Обработка ошибки вызова API BB
  23. // $e->getMessage(); текст ошибки
  24. // $e->getCode(); http код ответа сервиса BB
  25. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  26. }
  27. catch (\Exception $e) {
  28. // Обработка исключения
  29. }

Полная информация о ПВЗ


Для получения информации о ПВЗ нужно использовать метод $bbClient->pointDetails.
Если передан $photo=true, то в результирующем массиве будет ключ photos, который содержит массив фотографий в base64.

Входные параметры:

  • $point_id (integer) - код ПВЗ
  • $photo (boolean) - возврат фото ПВЗ (по умолчанию false)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->pointDetails(61831); // Без фото
  7. $result = $bbClient->pointDetails(61831, true); // С фото
  8. /*
  9. Array
  10. (
  11. [CityCode] => 44
  12. [Reception] => 1
  13. [IssuanceBoxberry] => 1
  14. [Name] => Ростов-на-Дону Максима Горького_6183_С
  15. [Organization] => Общество с ограниченной ответственностью "Атлант"
  16. [ZipCode] => 344022
  17. [Country] => РОССИЯ
  18. [Area] => Ростовская обл
  19. [CityName] => Ростов-на-Дону
  20. [Settlement] => Ростов-на-Дону
  21. [Metro] =>
  22. [Street] => Максима Горького
  23. [House] => 285
  24. [Structure] =>
  25. [Housing] =>
  26. [Apartment] =>
  27. [Address] => 344022, Ростов-на-Дону г, Максима Горького ул, д.285
  28. [AddressReduce] => Максима Горького ул, д.285
  29. [GPS] => 47.231912,39.737686
  30. [TripDescription] => Остановка: Театральный.
  31. Примерное расстояние от остановки до Отделения - 200 метров.
  32. Жилой 9-ти этажный дом.
  33. Отдельный вход со стороны дороги. 1 этаж.
  34. [Phone] => 8-800-222-80-00
  35. [ForeignOnlineStoresOnly] => 0
  36. [PrepaidOrdersOnly] => 0
  37. [Acquiring] => 1
  38. [DigitalSignature] => 0
  39. [TypeOfOffice] => 2
  40. [ReceptionLaP] => 1
  41. [DeliveryLaP] => 1
  42. [LoadLimit] => 15
  43. [VolumeLimit] => 0.48
  44. [EnablePartialDelivery] => 1
  45. [EnableFitting] => 1
  46. [fittingType] => 1
  47. [WorkShedule] => пн-вс: 10.00-19.00
  48. [WorkMoBegin] => 10:00
  49. [WorkMoEnd] => 19:00
  50. [WorkTuBegin] => 10:00
  51. [WorkTuEnd] => 19:00
  52. [WorkWeBegin] => 10:00
  53. [WorkWeEnd] => 19:00
  54. [WorkThBegin] => 10:00
  55. [WorkThEnd] => 19:00
  56. [WorkFrBegin] => 10:00
  57. [WorkFrEnd] => 19:00
  58. [WorkSaBegin] => 10:00
  59. [WorkSaEnd] => 19:00
  60. [WorkSuBegin] => 10:00
  61. [WorkSuEnd] => 19:00
  62. [LunchMoBegin] =>
  63. [LunchMoEnd] =>
  64. [LunchTuBegin] =>
  65. [LunchTuEnd] =>
  66. [LunchWeBegin] =>
  67. [LunchWeEnd] =>
  68. [LunchThBegin] =>
  69. [LunchThEnd] =>
  70. [LunchFrBegin] =>
  71. [LunchFrEnd] =>
  72. [LunchSaBegin] =>
  73. [LunchSaEnd] =>
  74. [LunchSuBegin] =>
  75. [LunchSuEnd] =>
  76. [TerminalCode] => 50
  77. [TerminalName] => Ростов-на-Дону Каширская_6101
  78. [TerminalOrganization] => ООО "Боксберри Юг"
  79. [TerminalCityCode] => 44
  80. [TerminalCityName] => Ростов-на-Дону
  81. [TerminalAddress] => 344091, Ростов-на-Дону г, Каширская ул, д.9/53а
  82. [TerminalPhone] => 8-800-222-80-00
  83. [CourierDelivery] => 0
  84. [CountryCode] => 643
  85. [AddressInfo] =>
  86. [Terminal] => 0
  87. [TransType] => 1
  88. [InterRefunds] => 1
  89. [ExpressReception] => 0
  90. [extraCode] => 6183
  91. [TemporaryWorkSchedule] =>
  92. )
  93. */
  94. }
  95. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  96. // Обработка ошибки вызова API BB
  97. // $e->getMessage(); текст ошибки
  98. // $e->getCode(); http код ответа сервиса BB
  99. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  100. }
  101. catch (\Exception $e) {
  102. // Обработка исключения
  103. }

Этикетка по заказу


Позволяет получить ссылку на файл печати этикеток по определенной посылке.

Входные параметры:

  • track (string) - трек-номер

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getLabel('DUD15086277');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Получить файл этикетки


Позволяет сразу получить файл с этикеткой

Входные параметры:

  • track (string) - трек-номер

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getLabelFile('DUD15086277');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Получить файл по ссылке


Позволяет получить файл по ссылке. Боксберри отдает файлы этикетки, АПП, печатную форму акта, печатную форму акта ТМЦ в виде ссылок на скачивание.
Прямых методов на получение файлов у Боксберри нет, поэтому данный метод позволит обработать все существующие ссылки на печатные версии документов.

Входные параметры:

  • link (string) - ссылка на документ

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getLabelFile('http://api.boxberry.ru/parcel-files/act?upload_id=123');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Информация о заказе по номеру заказа магазина


Позволяет получить информацию о заказе по номеру заказа в магазине.

Входные параметры:

  • order_id (string) - номер заказа в магазине

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getOrderInfoByOrderId('6277');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Получить список заказов по трек номеру или номеру заказа магазина


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

Входные параметры:

  • $order_ids (array) - массив трек номеров или номеров заказов магазина
  • $parcel_type (string) - тип выборки (трек номер посылки или номер заказа магазина), принимает значения ‘order_id’ или ‘track’. По умолчанию ‘order_id’

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $orderIds = [26974, 26975, 26980];
  7. $trackIds = ['A123123121', 'B123123123', 'C123123123'];
  8. $result = $bbClient->getAllOrdersInfo($orderIds, 'order_id');
  9. $result = $bbClient->getAllOrdersInfo($trackIds, 'track');
  10. }
  11. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  12. // Обработка ошибки вызова API BB
  13. // $e->getMessage(); текст ошибки
  14. // $e->getCode(); http код ответа сервиса BB
  15. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  16. }
  17. catch (\Exception $e) {
  18. // Обработка исключения
  19. }

Информация о заказе по трекномеру


Позволяет получить информацию о заказе по трекномеру.

Входные параметры:

  • track_id (string) - трекномер

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getOrderInfoByTrack('DUD15086277');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Список городов


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

Входные параметры:

  • $all (boolean) - false - список городов, в которых есть ПВЗ, true список городов, в которых осуществляется доставка + в которых есть ПВЗ (по умолчанию false)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getCityList();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [Code] => 172
  13. [Name] => Геленджик
  14. [ReceptionLaP] => 1
  15. [DeliveryLaP] => 1
  16. [Reception] => 1
  17. [ForeignReceptionReturns] => 1
  18. [Terminal] => 1
  19. [Kladr] => 2300000300000
  20. [Region] => Краснодарский
  21. [CountryCode] => 643
  22. [UniqName] => Геленджик
  23. [District] =>
  24. [Prefix] => г
  25. )
  26. [1] => Array
  27. (
  28. [Code] => 04626
  29. [Name] => Долгопрудный
  30. [ReceptionLaP] => 1
  31. [DeliveryLaP] => 1
  32. [Reception] => 1
  33. [ForeignReceptionReturns] => 1
  34. [Terminal] => 0
  35. [Kladr] => 5000002900000
  36. [Region] => Московская
  37. [CountryCode] => 643
  38. [UniqName] => Долгопрудный
  39. [District] =>
  40. [Prefix] => г
  41. )
  42. */
  43. }
  44. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  45. // Обработка ошибки вызова API BB
  46. // $e->getMessage(); текст ошибки
  47. // $e->getCode(); http код ответа сервиса BB
  48. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  49. }
  50. catch (\Exception $e) {
  51. // Обработка исключения
  52. }

Почтовые индексы с КД


Возвращает список почтовых индексов, для которых возможна курьерская доставка.

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getZipList();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [Zip] => 187033
  13. [City] =>
  14. [Region] =>
  15. [Area] =>
  16. [ZoneExpressDelivery] => 1
  17. [ExpressDelivery] => Да
  18. )
  19. [1] => Array
  20. (
  21. [Zip] => 655001
  22. [City] => Абакан
  23. [Region] =>
  24. [Area] => Хакасия
  25. [ZoneExpressDelivery] => 1
  26. [ExpressDelivery] => Да
  27. )
  28. */
  29. }
  30. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  31. // Обработка ошибки вызова API BB
  32. // $e->getMessage(); текст ошибки
  33. // $e->getCode(); http код ответа сервиса BB
  34. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  35. }
  36. catch (\Exception $e) {
  37. // Обработка исключения
  38. }

Проверка почтового индекса


Проверка возможности курьерской доставки в заданном индексе.

Входные параметры:

  • $index (integer) - Почтовый индекс

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->checkZip(115551);
  7. /*
  8. Array
  9. (
  10. [ExpressDelivery] => 1
  11. [ZoneExpressDelivery] => 2
  12. )
  13. */
  14. }
  15. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  16. // Обработка ошибки вызова API BB
  17. // $e->getMessage(); текст ошибки
  18. // $e->getCode(); http код ответа сервиса BB
  19. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  20. }
  21. catch (\Exception $e) {
  22. // Обработка исключения
  23. }

Список городов с КД


Список городов, в которых осуществляется курьерская доставка.

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getCourierCities();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [City] => Абакан
  13. [Region] =>
  14. [Area] => Хакасия
  15. [DeliveryPeriod] => 7.00
  16. )
  17. [1] => Array
  18. (
  19. [City] => Авдулово
  20. [Region] => Данковский
  21. [Area] => Липецкая
  22. [DeliveryPeriod] =>
  23. )
  24. */
  25. }
  26. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  27. // Обработка ошибки вызова API BB
  28. // $e->getMessage(); текст ошибки
  29. // $e->getCode(); http код ответа сервиса BB
  30. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  31. }
  32. catch (\Exception $e) {
  33. // Обработка исключения
  34. }

Список точек приема посылок


Список точек приема посылок.

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getPointsForParcels();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [Code] => 04854
  13. [Name] => Санкт-Петербург Терминал
  14. [City] => Санкт-Петербург
  15. )
  16. [1] => Array
  17. (
  18. [Code] => 82010
  19. [Name] => Симферополь Караимская_8201
  20. [City] => Симферополь
  21. )
  22. */
  23. }
  24. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  25. // Обработка ошибки вызова API BB
  26. // $e->getMessage(); текст ошибки
  27. // $e->getCode(); http код ответа сервиса BB
  28. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  29. }
  30. catch (\Exception $e) {
  31. // Обработка исключения
  32. }

Список созданных заказов


Позволяет получить список созданных через API посылок.
Если не указывать диапазоны дат, то будет возвращен последний созданный заказ.

Выходные параметры:

  • $from (string) - период от (дата в любом формате)
  • $to (string) - период до (дата в любом формате)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getOrderList();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [track] => DUD15191668
  13. [label] =>
  14. [date] => 2019.05.06 15:32:51
  15. [send] => 1
  16. [barcode] => DUD8133818
  17. [imid] => 8133818
  18. )
  19. )
  20. */
  21. }
  22. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  23. // Обработка ошибки вызова API BB
  24. // $e->getMessage(); текст ошибки
  25. // $e->getCode(); http код ответа сервиса BB
  26. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  27. }
  28. catch (\Exception $e) {
  29. // Обработка исключения
  30. }

Список доставляющихся заказов


Получает информацию по заказам, которые фактически переданы на доставку в BoxBerry, но они еще не доставлены получателю.

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getOrdersInProgress();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. [ID] => 4194177
  13. [Status] => На отделении-получателе
  14. [Price] => 0
  15. [Delivery_sum] => 0
  16. [Payment_sum] => 3289
  17. )
  18. [1] => Array
  19. (
  20. [ID] => 1178452
  21. [Status] => В пути на терминал
  22. [Price] => 0
  23. [Delivery_sum] => 0
  24. [Payment_sum] => 2600
  25. )
  26. */
  27. }
  28. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  29. // Обработка ошибки вызова API BB
  30. // $e->getMessage(); текст ошибки
  31. // $e->getCode(); http код ответа сервиса BB
  32. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  33. }
  34. catch (\Exception $e) {
  35. // Обработка исключения
  36. }

Заявка на забор


Создание заявки на забор заказов.

Входные параметры:
Объект \WildTuna\BoxberrySdk\Entity\Intake - параметры заявки

Выходные параметры:
integer - номер заявки в системе BB

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $intake = new \WildTuna\BoxberrySdk\Entity\Intake();
  7. $intake->setZip(105005);
  8. $intake->setCity('Москва');
  9. $intake->setStreet('Бауманская ул.');
  10. $intake->setHouse(56);
  11. $intake->setCorpus(5);
  12. $intake->setBuilding('в');
  13. $intake->setFlat(4);
  14. $intake->setContactPerson('Иванов Иван Иванович');
  15. $intake->setContactPhone('79095556677');
  16. $intake->setTakingDate('2019-05-07');
  17. $intake->setPlaces(2);
  18. $intake->setVolume(5);
  19. $intake->setWeight(5);
  20. $intake->setComment('Примечание к заявке');
  21. $intake_num = $bbClient->createIntake($intake); // $intake_num = 54851
  22. }
  23. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  24. // Обработка ошибки вызова API BB
  25. // $e->getMessage(); текст ошибки
  26. // $e->getCode(); http код ответа сервиса BB
  27. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  28. }
  29. catch (\Exception $e) {
  30. // Обработка исключения
  31. }

Список заказов не добавленных в акт


Позволяет получить список всех трекинг кодов посылок которые есть в кабинете но не были сформированы в акт.

Входные параметры:

  • $arr (bool) - true в виде массива, false в виде строки (по умолчанию false)

Выходные параметры:
array|string - массив трек-номеров или строка трек-номеров разделенная запятой

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $tracknums = $bbClient->getOrdersNotAct(); // строкой $tracknums = 'XXXXXX,XXXXXX,XXXXXX';
  7. $tracknums = $bbClient->getOrdersNotAct(true); // массивом
  8. /*
  9. array(
  10. 'XXXXXX',
  11. 'XXXXXX',
  12. 'XXXXXX'
  13. );
  14. */
  15. }
  16. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  17. // Обработка ошибки вызова API BB
  18. // $e->getMessage(); текст ошибки
  19. // $e->getCode(); http код ответа сервиса BB
  20. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  21. }
  22. catch (\Exception $e) {
  23. // Обработка исключения
  24. }

Создание акта передачи посылок


Создание акта передачи посылок в BoxBerry.
Внимание! сервис работает только с заказами созданными через API ЛК.

Выходные параметры:
Массив трек-номеров заказов

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $tracknums = ['DUD15086277', 'DUD15086278', 'DUD15086279', 'DUD15086280'];
  7. $result = $bbClient->createOrdersTransferAct($tracknums);
  8. /*
  9. Array
  10. (
  11. 'id' => Номер акта,
  12. 'label' => 'URI',
  13. 'sticker' => 'URI' // Ссылка на этикетки
  14. )
  15. */
  16. }
  17. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  18. // Обработка ошибки вызова API BB
  19. // $e->getMessage(); текст ошибки
  20. // $e->getCode(); http код ответа сервиса BB
  21. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  22. }
  23. catch (\Exception $e) {
  24. // Обработка исключения
  25. }

Список созданных актов передачи посылок


Позволяет получить список созданных через API актов передачи заказов.
Если не указывать диапазоны дат, то будет возвращен последний созданный акт.
Внимание! сервис работает только с актами созданными через API ЛК.

Выходные параметры:

  • $from (string) - период от (дата в любом формате)
  • $to (string) - период до (дата в любом формате)

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getActsList();
  7. /*
  8. Array
  9. (
  10. [0] => Array
  11. (
  12. 'track'=>'XXXXXX,XXXXXX,XXXXXX', // список трекинг кодов посылок в акте,
  13. 'label'=>'URI', // ссылка на скачивание акта, если доступна,
  14. 'date'=>'2019.05.07' // дата создания посылки в формате YYYY.MM.DD HH:MM:SS.
  15. )
  16. )
  17. */
  18. }
  19. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  20. // Обработка ошибки вызова API BB
  21. // $e->getMessage(); текст ошибки
  22. // $e->getCode(); http код ответа сервиса BB
  23. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  24. }
  25. catch (\Exception $e) {
  26. // Обработка исключения
  27. }

Получить файл “Акта приема передачи посылки (АПП)” по номеру АПП


Позволяет получить файл “Акта приема передачи посылки (АПП)” по номеру АПП

Входные параметры:

  • $parcelId - номер АПП

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getParcelFileActToId('12942207');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Получить файл акта ТМЦ (если подключена услуга в ЛК) по номеру АПП


Позволяет получить файл акта ТМЦ (если подключена услуга в ЛК) по номеру АПП

Входные параметры:

  • $parcelId - номер АПП

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getParcelFileActTMCToId('12942207');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }

Получить печатную форму этикеток по номеру АПП


Позволяет получить печатную форму этикеток по номеру АПП

Входные параметры:

  • $parcelId - номер АПП

Выходные параметры:
Ассоциативный массив данных

Примеры вызова:

  1. <?php
  2. try {
  3. $bbClient = new \WildTuna\BoxberrySdk\Client();
  4. $bbClient->setToken('main', 'bb_api_token'); // Заносим токен BB и присваиваем ему ключ main
  5. $bbClient->setCurrentToken('main');
  6. $result = $bbClient->getParcelFileBarcodesToId('12942207');
  7. }
  8. catch (\WildTuna\BoxberrySdk\Exception\BoxBerryException $e) {
  9. // Обработка ошибки вызова API BB
  10. // $e->getMessage(); текст ошибки
  11. // $e->getCode(); http код ответа сервиса BB
  12. // $e->getRawResponse(); // ответ сервера BB как есть (http request body)
  13. }
  14. catch (\Exception $e) {
  15. // Обработка исключения
  16. }