Aller au contenu

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.

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

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.

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.

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
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
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.

Création d’un contact avec l’authentification par mot de passe d’application :

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

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.