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,
ce qui signifie 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 dispose d’un rappel de permission qui vérifie une capacité WordPress, de sorte qu’un appelant doit ê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 à l’intérieur de 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 disposant de la capacité requise. PrimoCRM Pro ajoute des clés API dédiées pour l’accès programmatique.
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, étant donné que l’interface utilisateur appelle les mêmes routes.
Contacts
Section intitulée « Contacts »| Method | Path | Purpose |
|---|---|---|
| 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 »| Method | Path | Purpose |
|---|---|---|
| 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 »| Method | Path | Purpose |
|---|---|---|
| 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 et restriction
Section intitulée « Structure de la réponse et restriction »Les réponses réussies renvoient du JSON. Lorsqu’une fonctionnalité Pro ou une limite de forfait bloque une
requête, PrimoCRM renvoie un code 403 dont le corps inclut pro_lock: true, que
l’application d’administration utilise pour afficher l’invitation à la mise à niveau. Gérez cette structure si vous appelez
des points de terminaison restreints à la version Pro depuis votre propre code.