REST API
PrimoCRM registreert zijn REST-routes onder de primocrm/v1-naamruimte bij
rest_api_init. De beheerapp gebruikt dezelfde eindpunten, dus alles wat de gebruikersinterface 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 machtigingscallback die een WordPress-capaciteit controleert, dus een aanroeper moet zijn geauthenticeerd en gemachtigd.
- Vanuit de beheerapp (zelfde herkomst): verzoeken worden geauthenticeerd door de ingelogde sessie en een REST-nonce. WordPress verzendt de nonce in de
X-WP-Nonce-header. 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, samen met een gebruiker die over de vereiste capaciteit beschikt. PrimoCRM Pro voegt dedicated API-sleutels toe voor programmatische toegang.
Eindpunten die instellingen, verzending of destructieve bewerkingen beheren, vereisen een capaciteit op beheerdersniveau. Voor het lezen en routinematige contactbewerkingen is de CRM-toegangscapaciteit vereist.
Representatieve eindpunten
Section titled “Representatieve eindpunten”De onderstaande lijst is een representatieve steekproef, geen uitputtende lijst. Verken de volledige set via het netwerktabblad van de browser tijdens het gebruik van de beheerapp, aangezien de gebruikersinterface 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 ophalen |
| 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 operatoren 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 stellen elk hun eigen routes bloot 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"}'Antwoordstructuur en beperkingen
Section titled “Antwoordstructuur en beperkingen”Succesvolle antwoorden retourneren JSON. Wanneer een Pro-functie of een abonnementslimiet een
verzoek blokkeert, retourneert PrimoCRM een 403 waarvan de inhoud pro_lock: true bevat,
wat de beheerapp gebruikt om de upgrade-melding te tonen. Verwerk die structuur als je
Pro-beveiligde eindpunten aanroept vanuit je eigen code.