Перейти к содержимому

Обзор для разработчиков

PrimoCRM создана с расчетом на расширение. В этом разделе описываются публичные хуки, REST API и реестры, которые вы используете для добавления функциональности без изменения ядра.

  • Админ-интерфейс: одностраничное приложение на React, взаимодействующее с REST-контроллерами PHP. Существует одна страница администратора с клиентской маршрутизацией.
  • REST-контроллеры: каждый модуль регистрирует свои маршруты в пространстве имен primocrm/v1 при срабатывании rest_api_init. См. REST API.
  • Фоновый движок: вся длительная работа (отправка кампаний, рассылка цепочек, шаги автоматизации, импорт) выполняется через самопланируемые cron-воркеры с ограничением по времени, но никогда в рамках запроса страницы. Когда вы добавляете что-то, что обращается к внешнему API или обрабатывает много строк, используйте тот же шаблон очереди вместо блокирующего вызова.
  • Реестры и фильтры: триггеры, действия, поля форм, источники миграции и отправители писем собираются через фильтры WordPress, поэтому аддоны регистрируются в них без каких-либо изменений ядра. См. Расширение PrimoCRM.

PrimoCRM поставляется в виде двух плагинов. Бесплатный плагин представляет собой полноценную CRM и работает автономно. Pro-аддон определяет константу, которая разблокирует премиальные возможности и регистрирует дополнительные триггеры, действия и отправители через те же публичные фильтры, которые использует ваш собственный код.

Поскольку Pro использует публичные точки расширения, шаблоны из этого раздела точно описывают то, как создаются собственные функции Pro. Если Pro может добавить триггер WooCommerce через primocrm_automation_triggers, то сможете и вы.

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

Значения пользовательских полей доступны для чтения в письмах как {{contact.meta.KEY}} и для записи автоматизациями, что является точкой интеграции, которую использует Pro-действие с искусственным интеллектом. См. Персонализация и смарт-коды.

  • Пространство имен: добавляйте префиксы к вашим хукам, опциям и ключам, чтобы они не пересекались. PrimoCRM использует префикс primocrm_ для хуков PHP и primocrm/v1 для REST.
  • Права доступа: конечные точки REST проверяют права доступа в функции обратного вызова разрешений. Соблюдайте ту же модель во всем, что вы добавляете.
  • Ничто не заблокировано: в PrimoCRM нет белого списка бесплатных или платных функций. Что зарегистрировано, то и работает. Если для вашего триггера или действия требуется плагин, который не установлен, все равно зарегистрируйте его со строкой requires_plugin, и PrimoCRM покажет его как недоступный вместо того, чтобы скрывать.