Обновлено 26.12.2024
Вызывается после генерации исходного объекта сделки, и до его обновления на основе маппинга профиля интеграции. Объект может быть как «чистым», так и уже заполненным, если данное событие уже вызывалось ранее и для текущей сделки есть связь с сущностью сайта.
Позволяет подставить свою исходную сделку или отменить создание сделки. Изменения не сохраняются, т.к. в дальнейшем сделка будет обновлена на основе маппинга профиля интеграции. Для изменения объекта сделки используйте событие onAfterUpdateLeads.
Rover\AmoCRM\Directory\Entity\Profile
— объект профиля интеграции.array
— массив дополнительных сущностей, с которыми была запрошена сделка по апи amoCRM.Rover\AmoCRM\Directory\Entity\Event
— событие интеграции, в котором была создана сделка.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',
["AmoCrmEvents", "onAfterBuildLeadsHandler"]
);
class AmoCrmEvents
{
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);
}
}
}