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

REST API

PrimoCRM регистрирует свои REST маршруты в пространстве имен primocrm/v1 при событии rest_api_init. Административное приложение использует те же самые конечные точки, поэтому все, что делает пользовательский интерфейс, доступно программно.

https://yoursite.com/wp-json/primocrm/v1/

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

  • Из административного приложения (тот же источник): запросы аутентифицируются по сеансу вошедшего в систему пользователя и REST nonce. WordPress отправляет nonce в заголовке X-WP-Nonce. Это происходит автоматически для кода, выполняющегося внутри wp-admin.
  • Из внешнего кода: используйте метод аутентификации, поддерживаемый WordPress для REST API (например, пароли приложений), в сочетании с учетной записью пользователя, обладающего необходимыми правами. PrimoCRM Pro добавляет специальные API ключи для программного доступа.

Конечные точки для управления настройками, отправкой или выполнения деструктивных операций требуют прав уровня администратора. Для чтения и стандартных операций с контактами требуются права доступа к CRM.

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

Метод Путь Назначение
GET /contacts Список контактов (поддерживает пагинацию и фильтры)
POST /contacts Создать контакт
GET /contacts/{id} Получить один контакт
PUT /contacts/{id} Обновить контакт
DELETE /contacts/{id} Удалить контакт
POST /contacts/bulk-action Применить массовое действие к множеству контактов
POST /contacts/bulk-delete Удалить множество контактов
GET /contacts/statuses Список доступных статусов
GET /contacts/{id}/activities Журнал активности контакта
GET /contacts/{id}/emails Письма, отправленные контакту
Метод Путь Назначение
GET /automations/triggers Все зарегистрированные триггеры
GET /automations/actions Все зарегистрированные действия
GET /automations/condition-options Поля и операторы для конструктора условий
Метод Путь Назначение
GET /forms/field-types Все зарегистрированные типы полей форм
GET /smart-codes Каталог тегов персонализации

Кампании, цепочки, списки, теги, шаблоны, миграция и настройки предоставляют собственные маршруты в том же пространстве имен, следуя тому же шаблону контроллеров.

Создание контакта с аутентификацией через пароль приложения:

Terminal window
curl -X POST https://yoursite.com/wp-json/primocrm/v1/contacts \
-u "admin:APPLICATION_PASSWORD" \
-H "Content-Type: application/json" \
-d '{"email":"ada@example.com","first_name":"Ada","status":"subscribed"}'

Успешные ответы возвращают JSON. Ошибки возвращают тело JSON с сообщением (message), которое можно показать пользователю, и HTTP-статусом, указывающим на проблему: 400 для данных, которые конечная точка отклоняет, 401 или 403, когда запрос не авторизован (нет входа в систему или отсутствуют права), 404, когда элемент не существует.

PrimoCRM не имеет ограничений тарифных планов и заблокированных конечных точек. Маршрут, добавляемый другим плагином (например, компоненты PrimoCRM Pro), существует только тогда, когда этот плагин активен; без него маршрут возвращает 404. Сохранение чего-либо, что не поддерживается ничем на сайте (например, триггер автоматизации, чей плагин не установлен, или незарегистрированный почтовый провайдер), отклоняется с кодом 400 и соответствующим сообщением.