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 está disponible de forma programática.

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

Cada punto de conexión tiene una devolución de llamada de permisos que verifica 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 las 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 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 campos 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. Los errores devuelven un cuerpo JSON con un message que puedes mostrar a una persona y un estado HTTP que indica qué salió mal: 400 para datos de entrada que el punto de conexión rechaza, 401 o 403 cuando la solicitud no está autorizada (no ha iniciado sesión o le falta la capacidad), 404 cuando el elemento no existe.

PrimoCRM no tiene límites de planes ni puntos de conexión bloqueados. Una ruta que añade otro complemento, como las de PrimoCRM Pro, existe solo mientras ese complemento esté activo; sin él, la ruta devuelve 404. Guardar algo que nada en el sitio proporciona, por ejemplo, un activador de automatización cuyo complemento no está instalado o un proveedor de correo que no está registrado, se rechaza con un 400 y un mensaje que lo indica.