Добавление звонка в несколько сущностей

Задача от клиента

В базе amoCRM на один номер телефона было сохранено несколько контактов с разными ответственными. Нужно сохранить звонок во все сущности (компании, контакты, сделки) с таким номером.


Рассмотрим на примере

В агентство недвижимости звонит клиент с запросом консультации по покупке жилья. В CRM на него создаётся сделка с ответственным сотрудником.

В следующий раз этот же клиент звонит в то же самое агентство с другим вопросом, например, по документации. За это отвечает уже новый сотрудник.

Согласно бизнес-процессу компании, создается новый контакт и сделка, где ответственный — новый сотрудник.

В результате звонки от данного клиента необходимо сохранять во всех сущностях для того, чтобы отследить всю его историю взаимодействия с компанией.

Техническое решение

На данный момент в amoCRM звонок фигурирует в виде "примечания о звонке" в карточке сущности (контакта/компании/сделки). При регистрации звонка через API-метод calls amoCRM самостоятельно находит одну сущность и создает в ней примечание.

Для того, что создать один звонок во всех сущностях, нужно найти их все и использовать API-метод notes, который вместо регистрации “звонка” добавит “примечание (заметку)” о звонке в нужные сущности. Для пользователя они выглядят идентичными.

API-метод notes

Звонок в сущности отображается как "примечание о звонке" в списке событий

Данную логику можно реализовать в модуле Itgrix через кастомизацию process_call_params, в которой нужно вызвать функцию Amo::addNoteToEntities (она присутствует в поставке модуля: файл /opt/itgrix_amo/customizer/lib/crm.php).

Дополнительный API ключ создавать не нужно, запрос использует авторизацию модуля.

Смотрите в статье подробный код кастомизации

К списку статей