Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

ВкладкаНаименование настройкиОписание настройки

Основные

API токенЗдесь указывается API токен из ЛК Boxberry для работы модуля, указанный токен проверяется по клику вне поля, при наличии ошибки отображается её текст из ЛК Boxberry, деактивируются кнопки Сохранить/Применить.
Тестовый режимПри активации служба доставки будет использовать для работы тестовый токен. Опция будет полезна для проверки работы службы доставки или при отсутствии API токена. При включении тестового режима указание API токена не требуется.

Заказы

Помечать заказ оплаченным при успешной выдачеЕсли статус заказа в api Boxberry сменяется на Успешно выдан в битриксе заказу проставляется отметка Оплачен, удобно использовать для заказов с наложкой.
Тип выдачи заказа по умолчаниюПри создании заказа по api модуль будет передавать выбранный тип выдачи, по умолчанию используется тот, что выбран в ЛК Boxberry в разделе Услуги. В каждом заказе можно поменять тип выдачи через форму редактирования.
Пункт приема заказа по умолчаниюПункт приема, в который сдаются заказы для отправки. Используется в расчете стоимости доставки и в создании заказа. В каждом заказе можно поменять пункт приема через форму редактирования.
Префикс к номеру заказаВведенное значение будет добавляться к номеру заказа при создании заказа.

Вес, габариты, места

(В этой группе настроек размещены настройки габаритов и веса, которые применяются если в свойстве товара эти значения не указаны либо равны 0)

Применить вес и габариты по умолчанию кЕсли выбрано к заказу, вес и габариты заказа, указанные в опциях выше всегда будут постоянными, независимо от количества товара в заказе. Создается только 1 место. Если выбрано к 1 товару вес и габариты по умолчанию будут применяться на каждый товар в заказе, будут создаваться места с авторазбивкой по лимитам веса/габаритов.

Индексы

(Этот раздел будет со временем дополнятся другими опциями)

Проверять почтовый индекс для расчета курьерской доставкиИндекс переданный битриксом будет передаваться в api запрос калькуляции стоимости доставки для расчета более точной цены, деактивировано по умолчанию т.к. далеко не все индексы Битрикса совпадают с существующими индексами службы доставки Boxberry, рекомендуется активировать только при наличии ошибок в расчете стоимости курьерки.

Наложенный платеж


В этой группе настроек вам нужно пометить галочками платежные системы работающие как пост оплата (наложенный платеж) для расчета стоимости доставки с наложенным платежом при их выборе покупателем в оформлении заказа.

Соответствие свойств заказа


В этой группе настроек нужно указать соответствие полей заказа в Boxberry символьным кодам свойств в Битриксе. Символьный код свойства в Битриксе можно найти в разделе Магазин/Свойства заказа/Список свойств. Если у вас есть несколько плательщиков для них нужно задать одинаковый код свойства и указать его в настройке. Два последних поля Контактное лицо и Название компании предназначены для юр лиц.

Если вы используете составные свойства ФИО или Адрес выберите соответствующую раздельную настройку и укажите существующие коды свойств.

Оформление заказа

Не разрешать оформление заказа без выбора ПВЗ

При активации не позволяет покупателю оформить заказ на самовывоз, если пункт выдачи не выбран. Код ПВЗ обязательно требуется при создании заказа в ЛК поэтому опция активна по умолчанию.

Блокировать от изменений поле адреса ПВЗ при выборе самовывоза

Если активно, блокирует от изменений поле с адресом, т.к. иногда покупатели стирают адрес выбранного ПВЗ и пишут свой адрес. Активно по умолчанию.

Добавить кнопку виджета по умолчанию

Следующие 5 настроек предназначены для размещения кнопки открытия виджета с выбором ПВЗ на странице оформления заказа. Активна может быть только 1 из 5-ти опций одновременно. Если у вас есть проблемы с опцией по умолчанию, пробуйте переключать другие опции, возможно проблема решится. Эти опции добавлены как возможное решение проблемы без необходимости править код. Если не включить ни одну из опций кнопка открытия виджета не будет отображаться.





Добавить кнопку виджета к описанию службы доставки
Добавить кнопку виджета после описания службы доставки
Добавить кнопку виджета к сроку доставки
Добавить кнопку виджета к элементу (Укажите id элемента)

Профили

 

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

Ограничения

 

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

Кнопка "Обновить данные"

Кнопка Обновить данные открывает выпадающий список с вариантами обновления. Выбираете какие данные нужно обновить, жмете на них, выполняется api запрос в ЛК Boxberry, затем данные обновляются в таблицах в БД битрикса. Если api запрос вернет ошибку, её текст отобразится в окошке обновления.

Примечание

Все данные обновляются автоматически через агент фоновым заданием ежедневно. Города обновляются раз в сутки, пункты приема раз в 6 часов. 

Этот вариант обновления "вручную" добавлен на случай возникновения непредвиденных ошибок, не нужно выполнять обновление без необходимости.

Раскрыть
titleПоказать скриншот

Кнопка "Очистить кеш"

Модуль хранит кеш селективно, что позволяет очищать не весь кеш битрикса целиком, а только определенные данные самого модуля.

Кеш api запросов хранится в папке /bitrix/cache/bb_api/ + название api метода, кеш найденных местоположений хранится в папке /bitrix/cache/bb_locations.

Примечание
Если в настройках интеграции в ЛК  изменяете настройки со вкладки Скрывать ПВ или Расчеты нужно очистить кеш Настройки виджета и Калькулятор.

В других случаях очистку кеша производите на свое усмотрение. 

Раскрыть
titleПоказать скриншот

Image Modified

Настройки профиля доставки

ВкладкаНаименование настройкиОписание настройки

Тип доставки


При создании профиля доставки на вкладке Тип доставки нужно обязательно выбрать, какой тип профиля вы хотите создать: самовывоз или курьерская доставка. Не забывайте изменить название профиля. После создания профиля изменить его тип уже нельзя.

Источник настроек расчета

(Каждый профиль позволяет выбрать источник настроек расчета стоимости доставки)


ЛК BoxberryБудут использоваться настройки из ЛК Boxberry отсюда со вкладки Расчеты.
Профиль доставкиПозволяет использовать настройки внутри профиля. Все опции аналогичны настройкам из ЛК со вкладки Расчеты, работают также с одинаковой логикой и также называются. Выбор этой опции открывает настройки в профиле, а настройки расчета из ЛК будут игнорироваться.

Описанные далее настройки применимы, если выбран источник настроек расчета - Профиль доставки.

Срок доставкиСкрыть срок доставкиСкрывает срок доставки в оформлении заказа и при любом расчете стоимости доставки с данным профилем.
Укажите количество дней, которое необходимо добавить к основному сроку доставки BoxberryДобавляет указанное число к сроку доставки.

Округление

Округление до

Позволяет округлить расчет стоимости. Возможные варианты:

  • Не округлять
  • До рублей
  • До десяти рублей
  • До сотен рублей
Округлить как
  • Округление математическое - округление до ближайшего целого, например стоимость доставки 124р будет округляться как 120р при округлении до десяти рублей, либо 124.35р будет округляться как 124р при округлении до рублей
  • Округление в большую сторону - округление до целого в большую сторону, например стоимость доставки 124р будет округляться как 130р при округлении до десяти рублей, либо 124.35р будет округляться как 125р при округлении до рублей

Стоимость доставки


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

Например, при таком условии стоимость доставки будет рассчитана по тарифу для заказов <= 7000р, а затем доставка будет бесплатной.

Раскрыть
titleПоказать скриншот

Image Modified

Надбавки

(Позволяет настроить надбавки ко многим параметрам)
Подсказка
Важно: все надбавки могут быть как положительными, так и отрицательными. Например, указание надбавки к весу со знаком минус -300, вычтет 300 грамм из переданного для расчета веса, а указание надбавки 1000  – добавит 1000 грамм к переданному весу. 

Подсказка
Чтобы убрать из стоимости доставки страховку укажите в надбавке Процент от объявленной стоимости -0.5
Вес

Добавляет\убавляет вес, переданный для расчета на сайте.

Процент от тарифа Boxberry

Добавляет\убавляет процент от итоговой стоимости доставки.

Процент от объявленной стоимости

Добавляет\убавляет процент от стоимости услуги страховки.

Процент от суммы к оплате

Добавляет\убавляет процент от стоимости услуги Прием платежа (Наложенный платеж).

Фиксированная сумма

Добавляет\убавляет фиксированную сумму от стоимости доставки

Опции

Минимальная стоимость доставки

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

Максимальная стоимость доставки

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

...

Раскрыть
titleПоказать скриншот

Image Modified

Image Modified

Image Modified

Image Modified

Image Modified


Редактирование заказа в админке

 В новом модуле добавлен функционал редактирования данных заказа в ЛК Boxberry в просмотре заказа в Битриксе.

Примечание
Функционал редактирования будет доступен в заказах с любой службой доставки при активации этой опции в настройках модуля. Иначе функционал доступен только в заказах со службой доставки Boxberry.

 В новом модуле добавлен функционал редактирования данных заказа в ЛК Boxberry в просмотре заказа в Битриксе.

В тулбаре с действиями вверху добавляется кнопка кнопка Доставка Boxberry, по нажатию на которую открывается форма для редактирования данных заказа. Повторное нажатие скрывает форму.

Пример заказа, оформленного со службой доставки Boxberry:

Раскрыть
titleПоказать скриншот

Image Modified

Image Modified

Image Modified

...

Информация
Вы можете редактировать любые данные доступные в форме, как перед отправкой заказа так и после. До тех пор пока не сформируете акт по заказу можете обновлять все данные любое количество раз.

Разберем как это работает на практике.:

  1. Создадим этот заказ в ЛК Boxberry
    Раскрыть
    titleПоказать скриншот

    Image Modified

...

  1. После создания заказа в панели снизу отобразятся данные полученные от ЛК Boxberry, текст

...

  1. кнопки Создать заказ в ЛК сменится на Обновить заказ в ЛК. 
  2. Вверху формы отобразится сообщение об успешном создании заказа. Станет активна кнопка Удалить заказ из ЛК
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified

...


  1. Сменим профиль доставки в форме на Курьер и

...

  1. нажмем Обновить заказ в ЛК. Отобразится сообщение об успешном расчете или ошибка в случае если для населенного пункта недоступна курьерская доставка
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified

    Image Modified

    Image Modified

  2. Расчет стоимости и смена способа доставки прошли успешно.
  3. Изменим тип выдачи, пункт приема, сумму к оплате и нажмем кнопку Пересчитать стоимость 
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified

    Image Modified

  4. Данные успешно обновились. Обратите внимание, вы можете не выполнять перерасчета при смене данных, а обновлять заказы с любыми данными, которые вам нужны. Перерасчеты выполняются автоматически только при смене профиля доставки т.к. в этом случае нужно убедится, что тариф по маршруту существует. В других случаях вам решать выполнять перерасчет или нет.
  5. Форма редактирования не позволит создать заказ с не верными данными, она отобразит ошибку, которую возвращает ЛК Boxberry, например попробуем указать вес места больше возможного:
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified


  6. Получаем ошибку, заказ не будет обновлен. Такая валидация работает со всеми данными.
  7. Теперь попробуем удалить заказ из ЛК Boxberry, при удалении всегда отображается окошко для подтверждения
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified


  8. Заказ успешно удален, из панели информации удалены данные, кнопки в форме сброшены.
  9. Поработаем с заказом с другой службой доставки. Первое, что нужно сделать это выбрать профиль доставки, с которым хотим работать, иначе ничего не получится сделать. После выбора профиля производится расчет стоимости и с заказом можно работать.
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

...

  1. Мы выбрали профиль доставки, получили расчет и автоматическое заполнение доступных данных, попробуем создать заказ в ЛК
    Раскрыть
    titleПоказать скриншот

    Image Modified

  2. Получаем ошибку т.к. для создания заказа с самовывозом нужно выбрать пункт выдачи, нажмем кнопку Выбрать ПВЗ, выберем тот, что нам нужен и снова нажмем Создать заказ в ЛК
    Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified

    Image Modified

    Image Modified

...

  1. Заказ успешно создан.
  2. Если мы перейдем в админку Магазин/Заказы и распечатаем акт для этого заказа, ссылка на акт добавится в панель информации в просмотре заказа, обновление и удаление заказа станут недоступными

...

  1. Раскрыть
    titleПоказать скриншот

    Image Modified

    Image Modified

    Image Modified

    Image Modified

Заказы Boxberry в админке

Посмотреть все статусы заказов со службой доставки Boxberry можно в админке в разделе Магазин/Заказы Boxberry. На этой странице доступен поиск, отображение текущих статусов заказов. Из массовых действий доступно обновление статусов выделенных заказов.

Удобно, если нужно обновить статусы каких-то заказов прямо сейчас без ожидания отработки агента.

Раскрыть
titleПоказать скриншот

Image Modified

Image Modified


Агенты модуля

...

Агент обновления городов, интервал 86400 секунды (раз в сутки)

Блок кода
languagephp
themeMidnight
linenumberstrue
Boxberry\Bitrix\Agents\CitiesUpdate::run();

 Агент обновления пунктов приема, интервал 21600 секунды (раз в 6 часов)

Блок кода
languagephp
themeMidnight
linenumberstrue
Boxberry\Bitrix\Agents\PointsForParcelsUpdate::run();

Агент проверки активности API токенов, интервал 3600 секунд (раз в час)

Блок кода
languagephp
themeMidnight
linenumberstrue
Boxberry\Bitrix\Agents\KeysChecker::checkToken();

Агент синхронизации статусов заказов, интервал 3600 секунд (раз в час).  Настройки этого агента можно менять в настройках модуля

Блок кода
languagephp
themeMidnight
linenumberstrue
Boxberry\Bitrix\Agents\Tracking::syncStatuses();

...

Для начала загружаем модуль используя класс Loader

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

...

Создание экземпляра класса с тестовым токеном

Блок кода
languagephp
themeMidnight
linenumberstrue
$client = new \Boxberry\Api\Client(\Boxberry\Api\Client::TEST_TOKEN);

...

Выполнение api запроса GetKeyIntegration

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');
$client = new \Boxberry\Api\Client(\Boxberry\Api\Client::TEST_TOKEN);
$widgetKey = $client->getKeyIntegration();
var_dump($widgetKey);

...

Для получения опций профиля и службы доставки нужно создать экземпляр класса \Boxberry\Bitrix\Helpers\Options передав аргументом id профиля доставки. Id профиля доставки легко получить из объекта заказа или другими способами.

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');
$options = new \Boxberry\Bitrix\Helpers\Options('95'); //замените id профиля на ваш существующий

echo '<pre>';
print_r($options);
echo '</pre>';

...

Работать с опциями модуля нужно через статичные методы класса \Boxberry\Bitrix\Helpers\Options, например:

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

echo '<pre>';
print_r(\Boxberry\Bitrix\Helpers\Options::getApiLogFilePath());
echo '</pre>';

...

Для выполнения расчета необходим объект отгрузки \Bitrix\Sale\Shipment

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

use Bitrix\Sale\Order;

$order = Order::load('7'); //айди заказа
$shipmentCollection = $order->getShipmentCollection();

$calculateResult = null;

foreach ($shipmentCollection as $shipment) {
    if (!$shipment->isSystem()) {
        $calculateResult = \Boxberry\Bitrix\Helpers\Delivery::calculate($shipment);
    }
}

echo '<pre>';
print_r($calculateResult);
echo '</pre>';

...

Как проверить содержится ли в заказе способ доставки Boxberry

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

use Bitrix\Sale\Order;

$order = Order::load('7'); // ID заказа
$isBoxberryDeliveryInOrder = \Boxberry\Bitrix\Helpers\Validator::isBoxberryDeliveryInOrder($order);

var_dump($isBoxberryDeliveryInOrder);

...

Получение по коду города из api Boxberry

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$bbCity = \Boxberry\Bitrix\CitiesFullTable::getBbCityByCode('68'); // 68 - Москва, код города в api Boxberry

echo '<pre>';
print_r($bbCity);
echo '</pre>';

...

Получение по коду местоположения Битрикса

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$bbCity = \Boxberry\Bitrix\CitiesFullTable::getBbCityByBitrixLocationCode('0000073738'); // 0000073738 - Москва, код города в Битриксе

echo '<pre>';
print_r($bbCity);
echo '</pre>';

...

Запуск агента синхронизации статусов заказов

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$syncStatusesAgentRun = Boxberry\Bitrix\Agents\Tracking::syncStatuses();

echo $syncStatusesAgentRun;

...

Запуск агента обновлений городов

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$citiesUpdateAgentRun = Boxberry\Bitrix\Agents\CitiesUpdate::run();

echo $citiesUpdateAgentRun;

...

Запуск агента обновлений пунктов приема заказа

Блок кода
languagephp
themeMidnight
linenumberstrue
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$pointsForParcelsUpdateAgentRun = Boxberry\Bitrix\Agents\PointsForParcelsUpdate::run();

echo $pointsForParcelsUpdateAgentRun;

...