promo_workflow_run

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

Доступно начиная с версии 8.5.0.

Shop-Script

Входящие параметры (передаются по ссылке)

$params['order'] object Экземпляр класса shopOrder со свойствами заказа.
$params['active_promos'] array Список активных промоакций.
$params['active_promos'][]['id'] int ID промоакции.
$params['active_promos'][]['name'] string Название промоакции.
$params['active_promos'][]['enabled'] bool Флаг, означающий статус промоакции.
$params['active_promos'][]['start_datetime'] datetime|null Дата и время начала действия промоакции.
$params['active_promos'][]['finish_datetime'] datetime|null Дата и время окончания действия промоакции.
$params['active_promos'][]['author_contact_id'] int|null ID пользователя, создавшего промоакцию. Или NULL, если промоакция была создана автоматически во время установки Shop-Script.
$params['active_promos'][]['create_datetime'] datetime|null Дата и время создания промоакции. Или NULL, если промоакция была создана автоматически во время установки Shop-Script.
$params['active_promos'][]['update_datetime'] datetime|null Дата и время обновления промоакции.
$params['active_promos'][]['routes'] array Список витрин, доступных для выбора в настройках промоакции. Ключи массива — адреса витрин без символа «*» в конце. Ключ %all% означает выбор всех витрин.
$params['rules'] array Список инструментов промоакции. Каждый элемент списка — массив со следующими ключами:
$params['active_promos'][]['rule_type'] string Тип инструмента: 'banner' (баннер), 'coupon' (купоны), 'custom_price' (товары и цены), 'utm' (UTM-метки).
$params['active_promos'][]['rule_params'] array Свойства баннера в виде массива со следующими ключами (баннер):
$params['active_promos'][]['rule_params']['banners'][]['title'] string Заголовок.
$params['active_promos'][]['rule_params']['banners'][]['body'] string Подзаголовок промокарточки.
$params['active_promos'][]['rule_params']['banners'][]['link'] string Адрес ссылки.
$params['active_promos'][]['rule_params']['banners'][]['color'] string HTML-код цвета текста.
$params['active_promos'][]['rule_params']['banners'][]['background_color'] string HTML-код цвета фона.
$params['active_promos'][]['rule_params']['banners'][]['countdown_datetime'] datetime|null Дата и время окончания обратного отсчёта.
$params['active_promos'][]['rule_params'] <int> ID выбранных купонов (купоны).
$params['active_promos'][]['rule_params'] array Список модификаций товаров (товары и цены). Каждый элемент списка — массив со следующими ключами:
$params['active_promos'][]['rule_params'][product_id]['currency'] string 3-буквенный код валюты товара.
$params['active_promos'][]['rule_params'][product_id]['skus'] array Список модификаций товара. Каждый элемент списка — массив со следующими ключами:
$params['active_promos'][]['rule_params'][product_id]['skus'][sku_id]['price'] float|null Цена модификации в рамках промоакции.
$params['active_promos'][]['rule_params'][product_id]['skus'][sku_id]['compare_price'] float|null Зачёркнутая цена модификации в рамках промоакции.
$params['active_promos'][]['rule_params'] array Список значений UTM-меток (UTM-метки). Каждый элемент списка — массив со следующими ключами:
$params['active_promos'][]['rule_params']['utm_source'] array Список значений UTM-метки «Источник кампании».
$params['active_promos'][]['rule_params']['utm_medium'] array Список значений UTM-метки «Тип трафика».
$params['active_promos'][]['rule_params']['utm_campaign'] array Список значений UTM-метки «Название кампании».
$params['active_promos'][]['rule_params']['utm_content'] array Список значений UTM-метки «Идентификатор объявления».
$params['active_promos'][]['rule_params']['utm_term'] array Список значений UTM-метки «Ключевое слово».
… код плагина …

Результат работы плагина

$return
Массив с ID дополнительных промоакций, которые должны быть применены к заказу, в качестве ключей и подмассивами ID инструментов этих промоакций в качестве значений.

Значения с ID инструментов промоакций в настоящее время приложением не используются.
Shop-Script

Пример кода плагина

PHP

public function promoWorkflowRun($params)
{
    /** @var shopOrder $order */
    $order = $params['order'];

    $large_order_promos = [1, 2];
    $is_large_order = count($order->items) > 3;

    if ($is_large_order) {
        return array_fill_keys($large_order_promos, []);
    }
}