Ir al contenido

API REST

PrimoCRM registra sus rutas REST bajo el espacio de nombres primocrm/v1 en rest_api_init. La aplicación de administración usa estos mismos puntos de conexión, por lo que todo lo que hace la interfaz de usuario está disponible de forma programática.

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

Cada punto de conexión tiene una función de devolución de llamada de permisos que comprueba una capacidad de WordPress, por lo que quien realiza la llamada debe estar autenticado y autorizado.

  • Desde la aplicación de administración (mismo origen): las solicitudes se autentican mediante la sesión iniciada y un nonce de REST. WordPress envía el nonce en la cabecera X-WP-Nonce. Esto es automático para el código que se ejecuta dentro de wp-admin.
  • Desde código externo: utiliza un método de autenticación que WordPress acepte para la API REST, como contraseñas de aplicación, junto con un usuario que tenga la capacidad requerida. PrimoCRM Pro añade claves de API dedicadas para el acceso programático.

Los puntos de conexión que gestionan ajustes, envíos u operaciones destructivas requieren una capacidad de nivel de administrador. Las operaciones de lectura y de contactos rutinarias requieren la capacidad de acceso al CRM.

La lista a continuación es una muestra representativa, no exhaustiva. Explora el conjunto completo desde la pestaña de red del navegador mientras usas la aplicación de administración, ya que la interfaz de usuario llama a las mismas rutas.

Método Ruta Propósito
GET /contacts Listar contactos (admite paginación y filtros)
POST /contacts Crear un contacto
GET /contacts/{id} Obtener un contacto
PUT /contacts/{id} Actualizar un contacto
DELETE /contacts/{id} Eliminar un contacto
POST /contacts/bulk-action Aplicar una acción masiva a muchos contactos
POST /contacts/bulk-delete Eliminar muchos contactos
GET /contacts/statuses Listar estados disponibles
GET /contacts/{id}/activities Registro de actividad de un contacto
GET /contacts/{id}/emails Correos electrónicos enviados a un contacto
Método Ruta Propósito
GET /automations/triggers Todos los activadores registrados
GET /automations/actions Todas las acciones registradas
GET /automations/condition-options Campos y operadores para el constructor de condiciones
Método Ruta Propósito
GET /forms/field-types Todos los tipos de campo de formulario registrados
GET /smart-codes El catálogo de etiquetas de personalización

Las campañas, secuencias, listas, etiquetas, plantillas, la migración y los ajustes exponen sus propias rutas bajo el mismo espacio de nombres, siguiendo el mismo patrón de controlador.

Creación de un contacto con autenticación de contraseña de aplicación:

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"}'

Las respuestas exitosas devuelven JSON. Cuando una característica de Pro o un límite del plan bloquea una solicitud, PrimoCRM devuelve un código 403 cuyo cuerpo incluye pro_lock: true, el cual la aplicación de administración utiliza para mostrar el aviso de actualización. Maneja esa estructura si llamas a puntos de conexión protegidos por Pro desde tu propio código.