Zum Inhalt springen

REST-API

PrimoCRM registriert seine REST-Routen unter dem Namensraum primocrm/v1 bei rest_api_init. Die Admin-App verwendet genau dieselbe Endpunkte, sodass alles, was die Benutzeroberfläche tut, auch programmgesteuert verfügbar ist.

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

Jeder Endpunkt verfügt über einen Berechtigungs-Callback, der eine WordPress-Berechtigung überprüft, sodass ein Aufrufer authentifiziert und autorisiert sein muss.

  • Aus der Admin-App (gleicher Ursprung): Anfragen werden durch die angemeldete Sitzung und ein REST-Nonce authentifiziert. WordPress sendet das Nonce im Header X-WP-Nonce. Dies geschieht automatisch für Code, der innerhalb von wp-admin ausgeführt wird.
  • Aus externem Code: Verwenden Sie eine von WordPress für die REST-API akzeptierte Authentifizierungsmethode, wie zum Beispiel Anwendungspasswörter, zusammen mit einem Benutzer, der über die erforderliche Berechtigung verfügt. PrimoCRM Pro fügt dedizierte API-Schlüssel für den programmgesteuerten Zugriff hinzu.

Endpunkte, die Einstellungen, den Versand oder destruktive Operationen verwalten, erfordern eine Berechtigung auf Administrator-Ebene. Lese- und routinemäßige Kontaktoperationen erfordern die CRM-Zugriffsberechtigung.

Die folgende Liste ist eine repräsentative Auswahl und nicht vollständig. Erkunden Sie den vollständigen Satz über den Netzwerk-Tab des Browsers, während Sie die Admin-App verwenden, da die Benutzeroberfläche dieselben Routen aufruft.

Methode Pfad Zweck
GET /contacts Kontakte auflisten (unterstützt Paging und Filter)
POST /contacts Einen Kontakt erstellen
GET /contacts/{id} Einen Kontakt abrufen
PUT /contacts/{id} Einen Kontakt aktualisieren
DELETE /contacts/{id} Einen Kontakt löschen
POST /contacts/bulk-action Eine Massenaktion auf viele Kontakte anwenden
POST /contacts/bulk-delete Viele Kontakte löschen
GET /contacts/statuses Verfügbare Status auflisten
GET /contacts/{id}/activities Aktivitätsprotokoll eines Kontakts
GET /contacts/{id}/emails An einen Kontakt gesendete E-Mails
Methode Pfad Zweck
GET /automations/triggers Alle registrierten Auslöser
GET /automations/actions Alle registrierten Aktionen
GET /automations/condition-options Felder und Operatoren für den Bedingungs-Builder
Methode Pfad Zweck
GET /forms/field-types Alle registrierten Formulartypen
GET /smart-codes Der Personalisierungs-Tag-Katalog

Kampagnen, Sequenzen, Listen, Tags, Vorlagen, Migration und Einstellungen stellen jeweils eigene Routen unter demselben Namensraum bereit und folgen demselben Controller-Muster.

Erstellen eines Kontakts mit Anwendungspasswort-Authentifizierung:

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

Erfolgreiche Antworten geben JSON zurück. Wenn eine Pro-Funktion oder ein Tariflimit eine Anfrage blockiert, gibt PrimoCRM einen 403 zurück, dessen Hauptteil pro_lock: true enthält. Die Admin-App verwendet dies, um die Upgrade-Aaufforderung anzuzeigen. Behandeln Sie dieses Format, wenn Sie Pro-gesperrte Endpunkte aus Ihrem eigenen Code aufrufen.