Ga naar inhoud

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.

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

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.

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.

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
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
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.

Een contact aanmaken met authenticatie via een applicatiewachtwoord:

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

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.