Недокументированные функции для работы с аффилиатами в Битриксе

Недокументированные функции для работы с аффилиатами в Битриксе

Сразу после предыдущей статьи хочу выложить парочку недокументированных возможностей для работы с аффилиатами. Для работы с аффилиатами в Битриксе есть несколько классов, один из них это 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.