Интеграция с OpenCart
Расскажем, что делать, если Ваш магазин на OpenCart
Скачать модуль для OpenCart:
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=38476

Обратите внимание, для версий 3+, 2.3+ и 2.0-2.2 модули разные.

Данный модуль работает для OpenCart как с родным чекаутом (страницей оформления заказа), так и с модулем Simple (simpleopencart.com).

Модуль для OpenCart 2 работает на версии PHP 5.4+, модуль для версии OpenCart 3+ работает на PHP 7.1+. Если вы на OpenCart 3 и используете PHP ниже 7.1 — напишите нам в поддержку, поможем.

Установка и настройка модуля

- Установите модуль через страницу "Модули / Расширения" -> "Установка расширений"

- Перейдите в раздел "Модули / Расширения" -> "Модули / Расширения" и в списке с модулями активируйте модуль "Salesbeat: Настройка модуля"

- Далее нажмите "Редактировать" напротив модуля "Salesbeat: Настройка модуля"

- На странице редактирования во вкладке "Главная" смените статус на "Активен", во вкладке "Настройки" укажите "Api-токен" и "Secret-токен" (их можно взять в личном кабинете Salesbeat здесь), во вкладке "Платёжные системы" сопоставьте платежные системы (это нужно, чтобы фильтровать способы оплаты на странице оформления заказа), после чего нажмите кнопку "Сохранить"

- Если потребуется скрытие платежных систем в зависимости от правил, указанных в личном кабинете Salesbeat, вернитесь в настройку модуля и перейдите во вкладку "Платёжные системы" после нажмите на кнопку "Синхронизировать платежные системы"

- Далее на странице с модулями перейдите в раздел "Доставка" и активируйте доставку "Доставка Salesbeat"

- Далее нажмите "Редактировать" напротив доставки "Доставка Salesbeat", после измените статус на "Активен" (по желанию можете и сменить название) и нажмите на кнопку "Сохранить"

- Далее перейдите на страницу "Модули / Расширения" -> "Модификаторы" и обновите кеш модификаторов

- После перейдите на главную страницу и обновите кеш у темы и ssas

- Теперь перейдите на страницу "Система" -> "Пользователи" -> "Группы пользователей" и нажмите редактирование напротив группы "Administrator"

- На странице редактирования группы в поле "Разрешен просмотр" поставьте галочку напротив "sale/sb_order" и нажмите на кнопку "Сохранить"

На этом настройка готова, выгрузку заказов в службу доставки вы сможете выполнить на странице "Продажи" -> "Salesbeat" -> "Выгрузка заказов".

Установка виджета в товарную карточку

Чтобы информацию о доставке показать сразу в товарной карточке, введите в нужном месте товарной карточки этот код:
{% if salesbeat is not empty %}
    <div id="{{ salesbeat.main_div_id }}" class="salesbeat-deliveries"></div>
    <script>
      SB.init({
        token: '{{ salesbeat.token }}',
        price_to_pay: '{{ salesbeat.price_to_pay }}',
        price_insurance: '{{ salesbeat.price_insurance }}',
        weight: '{{ salesbeat.weight }}',
        x: '{{ salesbeat.x }}',
        y: '{{ salesbeat.y }}',
        z: '{{ salesbeat.z }}',
        quantity: '{{ salesbeat.quantity }}',
        city_by: '{{ salesbeat.city_by }}',
        params_by: '{{ salesbeat.params_by }}',
        main_div_id: '{{ salesbeat.main_div_id }}',
        callback: function(){
          console.log('Salesbeat is ready!');
        }
      });
    </script>
{% endif %}
Если на продуктовой странице есть смена количества товара, добавляемого в корзину, то для того, чтобы при смене количества пересчитывалась доставка в товарном виджете Salesbeat, надо добавить data-атрибуты для input элемента, хранящего количество товара, а также для его родительского класса. Например:
<ul class="quantity" data-sb-quantity data-sb-widget-id="salesbeat-deliveries-1">
    <li class="quantity__btn">-</li>
    <li><input type="text" value="1" class="quantity__input" data-sb-quantity-input></li>
    <li class="quantity__btn">+</li>
</ul>
Обратите внимание — для элемента ul (родительского элемента, в котором находится input — на вашем сайте это может быть div или другой элемент) добавлен атрибут data-sb-quantity, а также атрибут data-sb-widget-id со значением salesbeat-deliveries-1, где salesbeat-deliveries-1 — идентификатор div элемента с виджетом (этот идентификатор передаётся при инициализации виджета в функцию SB.init в параметре main_div_id).

Для самого элемента input добавлен атрибут data-sb-quantity-input.

Такая разметка позволит Salesbeat автоматически пересчитывать доставку в товарном виджете при смене количества товара на странице.
Если у Вас возникли вопросы или что-то не получилось – пишите скорее нам на hi@salesbeat.pro или в чат на сайте — мы обязательно поможем!