Общие сведения

Events - система событий, позволяющая выполнить сторонний код или отправить запрос во внешний скрипт (посредством GET или POST запросов) в зависимости от происходящих в системе событий (например, Добавление нового клиента). Доступна только для коробочного варианта поставки.

Подключить свои обработчики на те или иные события можно с помощью файла "developer/events.php", поставлемого с открытым исходным кодом в коробочном варианте. Файл содержит перечень поддерживаемых событий, а также некоторые примеры использования.

Файл "events.php" содержит подробные комментарии, но ниже мы подробнее рассмотрим каждое событие и получаемые при этом параметры.

Зарегистрированные события

Для клиентов:

client.import

* Получаемые аргументы:
* array clids - массив clid новых записей клиентов
* array pids - массив pid новых записей клонтактов
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

client.expressadd

* Событие, срабатывающее при добавлении Клиента/Контакта через Экспресс-форму, через обработчик лидов
* Получаемые аргументы:
* integer pid - pid новой записи клонтакта
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

client.add

* Событие, срабатывающее при добавлении Клиента через обычную-форму, через обращения
* Получаемые аргументы:
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

client.edit

* Событие, срабатывающее при изменении Клиента
* Получаемые аргументы:
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника
* array newparam - массив измененных параметров

client.delete

* Событие, срабатывающее при удалении Клиента
* Получаемые аргументы:
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

client.change.recv

* Событие, срабатывающее при изменении реквизитов Клиента
* Получаемые аргументы:
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

client.change.user

* Событие, срабатывающее при изменении Ответственного за Клиента
* Получаемые аргументы:
* integer clid - clid новой записи клиента
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

Для контактов:

person.add

* Событие, срабатывающее при добавлении Контакта через обычную-форму, через обращения
* Получаемые аргументы:
* string pid - pid новой записи клонтакта
* string autor - id сотрудника, выполнившего действие
* string user - id ответственного сотрудника

person.edit

* Событие, срабатывающее при изменении Контакта
* Получаемые аргументы:
* integer pid - pid записи контакта
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

person.delete

* Событие, срабатывающее при удалении Контакта
* Получаемые аргументы:
* integer pid - pid записи контакта
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

person.change.user

* Событие, срабатывающее при изменении Ответственного за Контакт
* Получаемые аргументы:
* integer pid - pid записи контакта
* integer autor - id сотрудника, выполнившего действие
* integer user - id ответственного сотрудника

Для сделок:

deal.add

* Событие, срабатывающее при добавлении новой сделки
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string userUID - UID ответственного сотрудника во внешней системе

deal.edit

* Событие, срабатывающее при изменении основной информации сделки
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* array newparam - массив измененных параметров

deal.delete

* Событие, срабатывающее при удалении сделки
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие

deal.change.user

* Событие, срабатывающее при изменении ответственного за сделку
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* integer olduser - id предыдущего сотрудника, ответственного за сделку
* integer newuser - id нового сотрудника, ответственного за сделку
* string comment - комментарий внесения изменений

deal.change.step

* Событие, срабатывающее при изменении ответственного за сделку
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* integer stepOld - название предыдущего этапа (например 10)
* integer stepNew - название нового этапа (например 20)

deal.close

* Событие, срабатывающее при закрытии сделки
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string summa - сумма закрытия сделки (фактическая, например - 10340.00)
* string status - статус закрытия (например Победа)

invoice.add

* Событие, срабатывающее при добавлении нового счета
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string user - id ответственного сотрудника
* string userUID - UID ответственного сотрудника во внешней системе
* string summa - сумма счета (например - 10340.00) * string invoice - номер счета

invoice.edit

* Событие, срабатывающее при внесении изменений в счет
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string user - id ответственного сотрудника
* string userUID - UID ответственного сотрудника во внешней системе
* string summa - сумма счета (например - 10340.00) * string invoice - номер счета

invoice.doit

* Событие, срабатывающее при отметке счета оплаченным
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string userUID - UID ответственного сотрудника во внешней системе
* string invoice - номер счета
* string summa - сумма платежа (например - 10340.00), может быть частичной
* string summaNew - сумма созданного платежа (например - 10340.00), вычисляется как разница сумм по счету и суммы платежа

invoice.expressadd

* Событие, срабатывающее при внесении платежа буз выставления счета
* Получаемые аргументы:
* integer did - did записи сделки
* integer autor - id сотрудника, выполнившего действие
* string userUID - UID ответственного сотрудника во внешней системе
* string invoice - номер счета
* string summa - сумма платежа (например - 10340.00), может быть частичной
* string summaNew - сумма созданного платежа (например - 10340.00), вычисляется как разница сумм по счету и суммы платежа

Для напоминаний:

task.add

* Событие, срабатывающее при добавлении напоминания
* integer id - id записи напоминания
* integer autor - id сотрудника, выполнившего действие

task.edit

* Событие, срабатывающее при изменении напоминания
* integer id - id записи напоминания
* integer autor - id сотрудника, выполнившего действие

task.doit

* Событие, срабатывающее при выполнении напоминания
* integer id - id записи напоминания
* integer autor - id сотрудника, выполнившего действие

Для истории активностей:

history.add

* Событие, срабатывающее при добавлении записи в Историю
* integer id - id записи напоминания
* integer autor - id сотрудника, выполнившего действие

history.edit

* Событие, срабатывающее при изменении записи в Историю
* integer id - id записи
* integer autor - id сотрудника, выполнившего действие

history.doit

* Событие, срабатывающее при выполнении напоминания
* integer id - id записи напоминания
* integer autor - id сотрудника, выполнившего действие

Для заявок:

lead.do

* Событие, срабатывающее при обработке заявки
* Внимание: при обработке заявки другие события не вызываются
* integer id - id записи
* integer autor - id сотрудника, выполнившего действие
* integer clid - id записи клиента, если добавлен новый клиент
* integer pid - id записи контакта, если добавлен новый контакт
* integer did - id записи сделки, если добавлена

Для обращений:

entry.add

* Событие, срабатывающее при добавлении обращения
* id - id записи обращения
* clid - id записи клиента
* pid - id записи контакта
* did - id записи сделки, если добавлена
* autor - id сотрудника, выполнившего действие

entry.status

* Событие, срабатывающее при отмене обращения
* id - id обращения
* autor - id сотрудника, выполнившего действие
* status = 2 ['0' => 'Новое', '1' => 'Обработано', '2' => 'Отменено'];


Что-то не понятно? Задай вопрос: