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.
Basis-URL
Abschnitt betitelt „Basis-URL“https://yoursite.com/wp-json/primocrm/v1/Authentifizierung
Abschnitt betitelt „Authentifizierung“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.
Repräsentative Endpunkte
Abschnitt betitelt „Repräsentative Endpunkte“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.
Kontakte
Abschnitt betitelt „Kontakte“| 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 |
Automatisierungen
Abschnitt betitelt „Automatisierungen“| 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 |
Formulare und Smart Codes
Abschnitt betitelt „Formulare und Smart Codes“| 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.
Beispielanfrage
Abschnitt betitelt „Beispielanfrage“Erstellen eines Kontakts mit Anwendungspasswort-Authentifizierung:
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"}'Antwortstruktur
Abschnitt betitelt „Antwortstruktur“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.