Обновлено 14.09.2024

Вызывается после «‎сборки» объекта сделки перед отправкой его в Амо. 

Параметры

  1. Rover\AmoCRM\Directory\Entity\Profile — объект профиля интеграции.
  2. array — массив дополнительных сущностей, с которыми была запрошена сделка по апи amoCRM.
  3. Rover\AmoCRM\Directory\Entity\Event — событие интеграции, в котором была создана сделка.
  4. AmoCRM\Models\LeadModel — объект сделки.

Пример обработчика

Напишем обработчик, который будет логировать все поля отправляемой сделки так, как они передаются в амоСРМ

use Bitrix\Main\Event;
use Bitrix\Main\EventManager;
use Bitrix\Main\Loader;

if (Loader::includeModule('rover.amocrm')){
    EventManager::getInstance()->addEventHandler(
        'rover.amocrm',
        'onAfterBuildLeads',
        ["AmoCrmLogger", "onAfterBuildLeadsHandler"]
    );

    class AmoCrmLogger
    {
        public static function onAfterBuildLeadsHandler(Event $event)
        {
            /** @var \AmoCRM\Models\LeadModel $lead */
            $lead = $event->getParameter(3); // параметеры нумеруются с 0.

            file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/amo.log', print_r($lead->toApi(), 1), FILE_APPEND);
        }
    }
}