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

REST API

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

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

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

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

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

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

Method Path Purpose
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 Письма, отправленные контакту
Method Path Purpose
GET /automations/triggers Все зарегистрированные триггеры
GET /automations/actions Все зарегистрированные действия
GET /automations/condition-options Поля и операторы для конструктора условий
Method Path Purpose
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. Когда функция Pro или лимитное ограничение тарифного плана блокируют запрос, PrimoCRM возвращает код 403, тело которого содержит pro_lock: true. Административное приложение использует это для показа предложения обновиться. Учитывайте эту структуру, если вы вызываете закрытые для Pro конечные точки из собственного кода.