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