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.
URL base
Sección titulada «URL base»https://yoursite.com/wp-json/primocrm/v1/Autenticación
Sección titulada «Autenticación»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.
Puntos de conexión representativos
Sección titulada «Puntos de conexión representativos»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.
Contactos
Sección titulada «Contactos»| 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 |
Automatizaciones
Sección titulada «Automatizaciones»| 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 |
Formularios y códigos inteligentes
Sección titulada «Formularios y códigos inteligentes»| 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.
Solicitud de ejemplo
Sección titulada «Solicitud de ejemplo»Creación de un contacto con autenticación de contraseña de aplicación:
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"}'Estructura de la respuesta
Sección titulada «Estructura de la respuesta»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.