Общие сведения
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' => 'Отменено'];