Campagnes
Base path: /api/campaigns
GET /campaigns
Alle campagnes ophalen.
Auth: Admin
Query parameters: page, limit
POST /campaigns
Nieuwe campagne aanmaken.
Auth: Admin
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
name | string | Ja | Interne naam van de campagne |
subject | string | Ja | E-mailonderwerp |
blocks | array | Ja | Array van e-mailbouwstenen |
segment_filters | object | Nee | Doelgroepfilter criteria |
GET /campaigns/:id
Enkele campagne ophalen.
PUT /campaigns/:id
Campagne bijwerken.
DELETE /campaigns/:id
Campagne verwijderen.
POST /campaigns/:id/send
Campagne versturen naar alle overeenkomende ontvangers.
Auth: Admin
Bouwt de ontvangerlijst op basis van segment_filters en zet per ontvanger een e-mail job in de job_queue. De worker rendert de blocks array via MJML vóór verzending.
Segmenten
GET /campaigns/segments
Opgeslagen doelgroepsegmenten ophalen.
POST /campaigns/segments
Doelgroepsegment opslaan voor hergebruik.
| Veld | Type | Verplicht |
|---|---|---|
name | string | Ja |
filters | object | Ja |
DELETE /campaigns/segments/:id
Segment verwijderen.
Sjablonen
GET /campaigns/templates
Opgeslagen e-mailsjablonen ophalen.
POST /campaigns/templates
E-mailsjabloon opslaan.
| Veld | Type | Verplicht |
|---|---|---|
name | string | Ja |
blocks | array | Ja |
DELETE /campaigns/templates/:id
Sjabloon verwijderen.
POST /campaigns/render-mjml
MJML e-mail renderen naar HTML voor voorbeeld.
Auth: Admin
Request body:
{ "mjml": "<mjml><mj-body>...</mj-body></mjml>" }
Response:
{ "html": "<html>...</html>" }
Segmentfilter velden
| Veld | Type | Beschrijving |
|---|---|---|
has_email | boolean | Alleen klanten met een e-mailadres |
has_phone | boolean | Alleen klanten met een telefoonnummer |
labels | array van strings | Klanten met een van de opgegeven labels |
last_visit_days_ago | integer | Klanten die meer dan N dagen geleden voor het laatst kwamen |
min_total_spent | number | Minimale totale besteding via POS |
max_total_spent | number | Maximale totale besteding via POS |
birthday_months | array van integers | Klanten met verjaardag in opgegeven maanden (1=jan, 12=dec) |
service_category_id | integer | Klanten die een dienst in deze categorie hebben geboekt |
min_visits | integer | Minimum aantal afgeronde boekingen |
max_visits | integer | Maximum aantal afgeronde boekingen |
gender | string | Filter op geslacht van de klant (bijv. male, female) |