Недокументированные функции для работы с аффилиатами в Битриксе
Недокументированные функции для работы с аффилиатами в Битриксе
Сразу после предыдущей статьи хочу выложить парочку недокументированных возможностей для работы с аффилиатами. Для работы с аффилиатами в Битриксе есть несколько классов, один из них это CSaleAffiliate. Часть его методов описана в файле /bitrix/modules/sale/mysql/affiliate. php. Там вы увидите методы, знакомые вам по другим классам (таким как CSaleOrder). Есть тут GetList и Add и Update. Расскажу я о CSaleAffiliate:: GetList.
Эта функция возвращает результат выборки записей из аффилиатов, в соответствии с заданными параметрами. Используется она аналогично CSaleOrder:: GetList. Фильтровать можно по следующим параметрам:
[ID] => 1
[SITE_ID] => ай ди сайта
[USER_ID] => ай ди юзера
[AFFILIATE_ID] => ай ди аффилиата
[PLAN_ID] => ай ди плана для аффилиата
[ACTIVE] => активность
[TIMESTAMP_X] => Не знаю что))
[DATE_CREATE] => Дата создания аффилиата
[PAID_SUM] => Выплаченная сумма
[APPROVED_SUM] =>Начисленная сумма
[PENDING_SUM] => Не знаю что))
[ITEMS_NUMBER] => Количество проданного товара
[ITEMS_SUM] => Сумма, на которую продал аффилиат товара
[LAST_CALCULATE] => дата и время последней калькуляции данного аффилиата
[AFF_SITE] => сайт к которому относится аффилиат
[AFF_DESCRIPTION] => Описание аффилиата
[FIX_PLAN] => Фиксированный ли план у аффилиата
Их же функция и может выдавать.
Следующая возможность, о которой я хочу рассказать, это о том как можно присвоить к заказу аффилиата. Данная возможность в документации для разработчиков от Битрикса тоже не рассмотрена. Есть функция CSaleOrder:: Update($ID, $arFields). Она изменяет параметры заказа в соответствии с массивом $arFields. Так вот в этот массив можно записать и аффилиата. Пример ниже:
$arFields = array(
"AFFILIATE_ID"=>"1"
);
CSaleOrder:: Update($ID, $arFields);
Данная операция привяжет заказ с айди $ID к аффилиату с айди 1.