API REST
PrimoCRM enregistre ses routes REST sous l’espace de noms primocrm/v1 lors de
l’action rest_api_init. L’application d’administration utilise ces mêmes points de terminaison, de sorte que tout ce que fait l’interface utilisateur est accessible par programmation.
URL de base
Section intitulée « URL de base »https://yoursite.com/wp-json/primocrm/v1/Authentification
Section intitulée « Authentification »Chaque point de terminaison possède un rappel de permission qui vérifie une capacité WordPress, ce qui oblige l’appelant à être authentifié et autorisé.
- Depuis l’application d’administration (même origine) : les requêtes sont authentifiées par la session connectée et un jeton nonce REST. WordPress envoie le nonce dans l’en-tête
X-WP-Nonce. C’est automatique pour le code s’exécutant dans wp-admin. - Depuis du code externe : utilisez une méthode d’authentification acceptée par WordPress pour l’API REST, telle que les mots de passe d’application, associée à un utilisateur possédant la capacité requise. PrimoCRM Pro ajoute des clés d’API dédiées pour l’accès par programmation.
Les points de terminaison qui gèrent les paramètres, l’envoi ou les opérations destructrices nécessitent une capacité de niveau administrateur. Les opérations de lecture et de gestion courante des contacts nécessitent la capacité d’accès au CRM.
Points de terminaison représentatifs
Section intitulée « Points de terminaison représentatifs »La liste ci-dessous est un échantillon représentatif et non exhaustif. Explorez l’ensemble complet depuis l’onglet réseau du navigateur lors de l’utilisation de l’application d’administration, puisque l’interface utilisateur appelle les mêmes routes.
Contacts
Section intitulée « Contacts »| Méthode | Chemin | Objectif |
|---|---|---|
| GET | /contacts |
Lister les contacts (prend en charge la pagination et les filtres) |
| POST | /contacts |
Créer un contact |
| GET | /contacts/{id} |
Obtenir un contact |
| PUT | /contacts/{id} |
Mettre à jour un contact |
| DELETE | /contacts/{id} |
Supprimer un contact |
| POST | /contacts/bulk-action |
Appliquer une action groupée à plusieurs contacts |
| POST | /contacts/bulk-delete |
Supprimer plusieurs contacts |
| GET | /contacts/statuses |
Lister les statuts disponibles |
| GET | /contacts/{id}/activities |
Journal d’activité d’un contact |
| GET | /contacts/{id}/emails |
E-mails envoyés à un contact |
Automatisations
Section intitulée « Automatisations »| Méthode | Chemin | Objectif |
|---|---|---|
| GET | /automations/triggers |
Tous les déclencheurs enregistrés |
| GET | /automations/actions |
Toutes les actions enregistrées |
| GET | /automations/condition-options |
Champs et opérateurs pour le constructeur de conditions |
Formulaires et codes intelligents
Section intitulée « Formulaires et codes intelligents »| Méthode | Chemin | Objectif |
|---|---|---|
| GET | /forms/field-types |
Tous les types de champs de formulaire enregistrés |
| GET | /smart-codes |
Le catalogue des balises de personnalisation |
Les campagnes, les séquences, les listes, les étiquettes, les modèles, la migration et les paramètres exposent chacun leurs propres routes sous le même espace de noms, en suivant le même modèle de contrôleur.
Exemple de requête
Section intitulée « Exemple de requête »Création d’un contact avec l’authentification par mot de passe d’application :
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"}'Structure de la réponse
Section intitulée « Structure de la réponse »Les réponses réussies renvoient du JSON. Les erreurs renvoient un corps JSON avec un message que vous pouvez montrer à une personne, et un statut HTTP qui indique ce qui n’a pas fonctionné : 400 pour une entrée que le point de terminaison refuse, 401 ou 403 lorsque la requête n’est pas autorisée (non connectée ou capacité manquante), 404 lorsque l’élément n’existe pas.
PrimoCRM n’a pas de limites de forfaits et aucun point de terminaison verrouillé. Une route ajoutée par un autre plugin, telle que celles de PrimoCRM Pro, n’existe que tant que ce plugin est actif ; sans lui, la route renvoie 404. L’enregistrement d’un élément qui n’est fourni par rien sur le site, par exemple un déclencheur d’automatisation dont le plugin n’est pas installé ou un fournisseur d’e-mails qui n’est pas enregistré, est refusé avec un 400 et un message le signalant.