События
С версии 1.4.5 добавлены события, срабатывающие перед отправкой данных о ценах (OnUpdatePrice) и остатках (OnUpdateStock) товара, перед выгрузкой нового товара (OnUploadItem). События могут быть использованы, например, для применения наценки или изменения количества товара. 
 
С версии 1.5.3 добавлены события перед проверкой заполненности атрибутов для Озон простых товаров "OnItemPrepare" и торговых предложений "OnOfferPrepare". могут быть использованы, например, для изменения атрибутов.

С версии 1.5.4 добавлено событие перед созданием заказа "OnOrderNew". Может быть использовано для изменения полей заказа перед сохранением.


Пример обработчика в init.php

<?
AddEventHandler("maxyss.ozon", "OnUpdatePrice", Array("MyClass", "OnUpdatePriceMy"));
AddEventHandler("maxyss.ozon", "OnUpdateStock", Array("MyClass", "OnUpdateStockMy")); AddEventHandler("maxyss.ozon", "OnUploadItem", Array("MyClass", "OnUploadItemMy"));


class MyClass
{
function OnUpdatePriceMy(&$items)
{
foreach ($items as &$item){
$item['price'] = strval($item['price']*1.1);
}
return $items;
} function OnUploadItemMy(&$items)
    {
foreach ($items as &$item){
// здесь изменяем $item
}
return $items;
}

function OnUpdateStockMy(&$items)
{
foreach ($items as &$item){
$item['stock'] = '0';
}
return $items;
}
} ?>


Пример для события создания заказа

<?
AddEventHandler("maxyss.ozon", "OnOrderNew", Array("MaxyssCustomClass", "OnOrderNewMy"));

class MaxyssCustomClass {

function OnOrderNewMy(&$order_bitrix, $order_ozon){

// здесь что-то делаем с $order_bitrix - это объект заказа в БУСе
// в $order_ozon находятся данные с Озона

return $order_bitrix;

}
}?>

Пример для "OnItemPrepare" и "OnOfferPrepare"

<?
AddEventHandler("maxyss.ozon", "OnItemPrepare", Array("MyClass", "OnItemPrepareMy"));

class MyClass
{
function OnUpdatePriceMy(&$arOzonAttrTovar, $arFields, $arProps)
{
// $arOzonAttrTovar - массив данных которые будут отправлены на Озон
// $arFields, $arProps поля и свойства элемента

// здесь что-то меняем в массиве $arOzonAttrTovar

return $arOzonAttrTovar;
}

} ?>