Zum Inhalt springen

REST-API

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

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

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

  • Aus der Admin-App (selbstem Ursprung): Anfragen werden durch die eingeloggte Sitzung und ein REST-Nonce authentifiziert. WordPress sendet das Nonce im X-WP-Nonce-Header. 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 programmatischen 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 erschöpfend. Erkunden Sie den vollständigen Satz über den Netzwerk-Tab des Browsers bei der Nutzung der Admin-App, 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 Das 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 Formularfeldfelder
GET /smart-codes Der Katalog für Personalisierungs-Tags

Kampagnen, Sequenzen, Listen, Tags, Templates, Migration und Einstellungen stellen jeweils ihre eigenen 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. Fehler geben einen JSON-Inhalt mit einer message zurück, die einer Person angezeigt werden kann, sowie einen HTTP-Status, der angibt, was schiefgelaufen ist: 400 für vom Endpunkt abgelehnte Eingaben, 401 oder 403, wenn die Anfrage nicht autorisiert ist (nicht eingeloggt oder fehlende Berechtigung), 404, wenn das Element nicht existiert.

PrimoCRM hat keine Tariflimits und keine gesperrten Endpunkte. Eine Route, die ein anderes Plugin hinzufügt, wie etwa die von PrimoCRM Pro, existiert nur, solange dieses Plugin aktiv ist; ohne es gibt die Route 404 zurück. Das Speichern von etwas, das nichts auf der Website bereitstellt, zum Beispiel ein Automatisierungsauslöser, dessen Plugin nicht installiert ist, oder ein E-Mail-Anbieter, der nicht registriert ist, wird mit einem 400 und einer entsprechenden Meldung abgelehnt.