REST API
PrimoCRM registreert zijn REST-routes onder de naamruimte primocrm/v1 via
rest_api_init. De admin-app gebruikt dezelfde eindpunten, dus alles wat de UI doet
is programmatisch beschikbaar.
Basis-URL
Section titled “Basis-URL”https://yoursite.com/wp-json/primocrm/v1/Authenticatie
Section titled “Authenticatie”Elk eindpunt heeft een permissiecallback die een WordPress-functionaliteit controleert, zodat een aanroeper geauthenticeerd en geautoriseerd moet zijn.
- Vanuit de admin-app (dezelfde herkomst): verzoeken worden geauthenticeerd door de ingelogde sessie en een REST-nonce. WordPress stuurt de nonce mee in de header
X-WP-Nonce. Dit gaat automatisch voor code die binnen wp-admin wordt uitgevoerd. - Vanuit externe code: gebruik een authenticatiemethode die WordPress accepteert voor de REST API, zoals applicatiewachtwoorden, in combinatie met een gebruiker die over de vereiste functionaliteit beschikt. PrimoCRM Pro voegt specifieke API-sleutels toe voor programmatische toegang.
Eindpunten die instellingen, verzendingen of destructieve handelingen beheren vereisen een beheerdersfunctionaliteit. Voor lees- en routinematige contacthandelingen is de CRM-toegangsfunctionaliteit vereist.
Representatieve eindpunten
Section titled “Representatieve eindpunten”De onderstaande lijst is een representatieve steekproef en niet uitputtend. Verken de volledige set via het netwerktabblad van de browser tijdens het gebruik van de admin-app, aangezien de UI dezelfde routes aanroept.
Contacten
Section titled “Contacten”| Methode | Pad | Doel |
|---|---|---|
| GET | /contacts |
Contacten weergeven (ondersteunt paginering en filters) |
| POST | /contacts |
Een contact aanmaken |
| GET | /contacts/{id} |
Eén contact opvragen |
| PUT | /contacts/{id} |
Een contact bijwerken |
| DELETE | /contacts/{id} |
Een contact verwijderen |
| POST | /contacts/bulk-action |
Een bulkactie toepassen op meerdere contacten |
| POST | /contacts/bulk-delete |
Meerdere contacten verwijderen |
| GET | /contacts/statuses |
Beschikbare statussen weergeven |
| GET | /contacts/{id}/activities |
Het activiteitenlogboek van een contact |
| GET | /contacts/{id}/emails |
E-mails verzonden naar een contact |
Automatiseringen
Section titled “Automatiseringen”| Methode | Pad | Doel |
|---|---|---|
| GET | /automations/triggers |
Alle geregistreerde triggers |
| GET | /automations/actions |
Alle geregistreerde acties |
| GET | /automations/condition-options |
Velden en operators voor de voorwaardenbouwer |
Formulieren en smart codes
Section titled “Formulieren en smart codes”| Methode | Pad | Doel |
|---|---|---|
| GET | /forms/field-types |
Alle geregistreerde formulierveldtypen |
| GET | /smart-codes |
De catalogus met personalisatietags |
Campagnes, reeksen, lijsten, tags, sjablonen, migratie en instellingen bieden elk hun eigen routes onder dezelfde naamruimte, volgens hetzelfde controllermodel.
Voorbeeldverzoek
Section titled “Voorbeeldverzoek”Een contact aanmaken met authenticatie via een applicatiewachtwoord:
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"}'Opbouw van het antwoord
Section titled “Opbouw van het antwoord”Succesvolle antwoorden retourneren JSON. Fouten retourneren een JSON-body met een message
die u aan een gebruiker kunt tonen, en een HTTP-status die aangeeft wat er misging: 400 voor
invoer die het eindpunt weigert, 401 of 403 wanneer het verzoek niet is geautoriseerd
(niet ingelogd of mist de juiste functionaliteit), 404 wanneer het item niet bestaat.
PrimoCRM heeft geen abonnementslimieten en geen vergrendelde eindpunten. Een route die een andere plug-in toevoegt,
zoals die van PrimoCRM Pro, bestaat alleen zolang die plug-in actief is; zonder
deze plug-in retourneert de route 404. Het opslaan van iets dat door geen enkele functie op de site wordt geboden,
bijvoorbeeld een automatiseringstrigger waarvan de plug-in niet is geïnstalleerd of een e-mailprovider
die niet is geregistreerd, wordt geweigerd met een 400 en een bijbehorend bericht.