Alles wat u in Zinn® Campaigns op het dashboard kunt doen, kunt u ook via de API doen, en het meeste daarvan vanuit een AI-assistent die via MCP aan uw account is gekoppeld. Deze handleiding behandelt het aanmelden, de machtigingen, een uitgewerkt voorbeeld voor beide manieren, de limieten, de fouten en elk van de 89 Campaigns-bewerkingen. De onderstaande lijst met bewerkingen is gegenereerd op basis van onze API-specificatie, dus deze komt altijd overeen met wat de API doet. Elk veld van elke bewerking staat in de API-referentie op zinndigital.com/developers/api/zinn-campaigns.
Aanmelden
- API-sleutels. Maak een sleutel aan in het dashboard onder Instellingen → API-sleutels en verzend deze als
Authorization: Bearer zdk_live_… (een zdk_test_…-sleutel werkt in de sandbox-modus). Geef de sleutel alleen de benodigde Campagne-machtigingen en niets meer.
- AI-assistenten (MCP). Verbind Claude, ChatGPT, Cursor of een andere MCP-client met
https://api.zinndigital.com/v1/mcp, door u aan te melden via de app of met een verbindingstoken (zmcp_live_…). Zie Claude, Cursor of ChatGPT verbinden met uw account. Vink op het toestemmingsscherm de Zinn® Campaigns-machtigingen aan.
- Machtigingen.
email_marketing.view leest campagnes, lijsten, contactpersonen, formulieren, afzenders, sms-instellingen en rapporten; email_marketing.manage maakt en wijzigt deze. De campagnes die u via uw eigen e-maildienst verzendt, gebruiken campaigns.view en campaigns.manage.
- Wederverkopers. Geef
org_id door om namens een van uw klantorganisaties te handelen. Laat dit weg wanneer uw sleutel of verbinding betrekking heeft op precies één organisatie.
Voorbeeld: een conceptcampagne maken met de API
curl -X POST https://api.zinndigital.com/v1/email-marketing/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring sale",
"subject": "Our spring sale starts today",
"list_id": "<list id>",
"sender_id": "<sender id>",
"template": "basic"
}'
Het antwoord is 201 met het concept. Test het met POST /v1/email-marketing/campaigns/{campaign_id}/test, controleer het met GET /v1/email-marketing/campaigns/{campaign_id}/lint en verstuur het met POST /v1/email-marketing/campaigns/{campaign_id}/send.
Voorbeeld: hetzelfde concept van een AI-assistent
Vraag het uw assistent in duidelijke woorden, bijvoorbeeld "stel een Zinn® Campaigns-e-mail op genaamd Spring sale met als onderwerp 'Our spring sale starts today'". Achter de schermen vindt deze de bewerking met api_operations_search, leest de parameters met api_operation_get en voert deze uit met api_operation_call:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "api_operation_call",
"arguments": {
"operation_id": "createEmailMarketingCampaign",
"confirm": true,
"body": {
"name": "Spring sale",
"subject": "Our spring sale starts today"
}
}
}
}
Wat een assistent niet doet. Alles wat naar uw ontvangers verstuurt of geld of tegoed verbruikt — het verzenden van een campagne, het verzenden van sms- of WhatsApp-berichten, schrijven met AI-tegoed, registreren voor US-sms-diensten — wordt geweigerd aan een assistent, zodat een verkeerd begrepen instructie uw klanten nooit kan bereiken. De assistent bereidt het concept voor; u drukt zelf op Send in het dashboard of roept de API aan. Geheimen zoals een SMTP-wachtwoord worden ook nooit via een assistent doorgegeven: voer deze in het dashboard in.
Limieten
- 1.200 verzoeken per minuut voor elke persoon of API-sleutel, en 6.000 verzoeken per minuut voor elke organisatie. De strengste van de twee is van toepassing.
- 600 verzoeken per minuut voor elke MCP-verbinding.
- Bij overschrijding van een limiet is het antwoord
429 met een Retry-After-header: wacht dat aantal seconden.
- Het toevoegen van lijstleden accepteert maximaal 1.000 adressen per verzoek; de contact- en e-mailtegoeden van uw abonnement zijn van toepassing op alles wat u via de API doet.
Fouten
Elke fout heeft dezelfde vorm:
{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "…", "details": [{"field": "subject", "code": "REQUIRED", "message": "…"}], "request_id": "…"}}
code verandert nooit voor hetzelfde probleem, dus test deze in plaats van message. Vermeld request_id wanneer u contact opneemt met de ondersteuning. De antwoorden die u zult tegenkomen: 401 UNAUTHORIZED, 403 FORBIDDEN, 404 NOT_FOUND, 409 CONFLICT, 422 UNPROCESSABLE_ENTITY, 429 TOO_MANY_REQUESTS. Een 403 betekent dat de sleutel of verbinding een machtiging mist die in de onderstaande lijst wordt genoemd; een 404 dekt ook iets binnen een organisatie wat u niet kunt zien; een 422 vermeldt elk foutief veld in details; wacht na een 429 het aantal seconden in de Retry-After-header.
Webhooks
Afleverresultaten komen Zinn® Campaigns binnen vanuit de provider die uw e-mail verzendt:
- Met uw eigen provider (bijvoorbeeld Resend) slaat u het ondertekeningsgeheim van de webhook op bij de verzendverbinding in het dashboard (Campagnes → Verzenden). U ontvangt een
webhook_url; richt de gebeurtenissen voor bezorging, bounces en klachten van de provider hierop. Een bounce of een spamklacht verwijdert het adres onmiddellijk uit toekomstige verzendingen.
- Met verzending via Zinn® hoeft u niets in te stellen.
Lees de resultaten met de rapportagebewerkingen (getEmailMarketingCampaignReport, getSmsMarketingCampaignReport).
Elke Campaigns-bewerking
Overzicht
GET /v1/email-marketing — Zinn® Campaigns-overzicht voor één organisatie. Bewerking getEmailMarketingOverview. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via de MCP.
E-mailcampagnes
GET /v1/email-marketing/campaigns — E-mailcampagnes, nieuwste eerst, één keyset-pagina. Bewerking listEmailMarketingCampaigns. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/campaigns — Maak een concept-e-mailcampagne aan. Bewerking createEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/campaigns/{campaign_id} — Eén e-mailcampagne. Bewerking getEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
PATCH /v1/email-marketing/campaigns/{campaign_id} — Bewerk een concept (of een geweigerde campagne, die terugkeert naar concept). Bewerking updateEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/lint — Controleer de tekst van een campagne op afleverproblemen voordat deze wordt verzonden. Bewerking lintEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/report — Cijfers van een campagne. Bewerking getEmailMarketingCampaignReport. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/send — Begin met het verzenden van een campagne naar de bijbehorende lijst. Bewerking sendEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon drukt erop (verzendt naar echte ontvangers en verbruikt tegoed).
POST /v1/email-marketing/campaigns/{campaign_id}/test — Verzend nu één testexemplaar naar een lid van de organisatie. Bewerking testEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/translate — Vertaal een campagne naar elke contacttaal die ontbreekt of verouderd is. Bewerking translateEmailMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/translations — Elke contacttaal van de lijst van een campagne en of de vertaling ervan actueel is. Bewerking listEmailMarketingCampaignTranslations. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
Schrijven met AI
POST /v1/email-marketing/ai/write — Schrijf een concept voor een campagne-e-mail op basis van een korte briefing met Zinn® AI. Bewerking writeEmailMarketingCampaignWithAi. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon drukt erop (AI-schrijven verbruikt AI-credits).
Brandkit
GET /v1/email-marketing/brand-kit — De brandkit van de organisatie (naam, logo, kleuren, lettertype, tone of voice). Bewerking getEmailMarketingBrandKit. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
PUT /v1/email-marketing/brand-kit — Bewerk de brandkit. Bewerking updateEmailMarketingBrandKit. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/brand-kit/read — Lees de brandkit van de website van de organisatie. Bewerking readEmailMarketingBrandKit. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
Contactpersonen en eenmalige berichten
GET /v1/email-marketing/contacts — De contactpersonen van de organisatie, één keyset-pagina tegelijk. Bewerking listEmailMarketingContacts. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/contacts/{contact_id}/messages — Eén sms naar één contactpersoon verzenden, betaald vanuit het Zinn®-tegoed. Bewerking sendEmailMarketingMessage. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: alleen API en dashboard: hiermee wordt geld of bundeltegoed verbruikt, dus een persoon moet erop drukken (een eenmalig bericht naar een contactpersoon verbruikt bundeltegoed).
GET /v1/email-marketing/messages — Sms- en WhatsApp-berichten die de organisatie heeft verzonden, nieuwste eerst, één keyset-pagina. Bewerking listEmailMarketingMessages. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
Lijsten
GET /v1/email-marketing/lists — De mailinglijsten van de organisatie met aantallen aangemeld / afgemeld. Bewerking listEmailMarketingLists. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/lists — Maak een mailinglijst aan (of retourneer de lijst met die naam). Bewerking createEmailMarketingList. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/lists/{list_id}/members — Voeg contactpersonen toe aan een lijst op basis van e-mailadres (maximaal 1.000 per verzoek). Bewerking addEmailMarketingListMembers. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via de MCP.
Imports
GET /v1/email-marketing/imports — Eerdere contactpersoon-imports, nieuwste eerst, één keyset-pagina tegelijk. Bewerking listEmailMarketingImports. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/imports — Importeer één deel contactpersonen met de bijbehorende toestemmingsverklaring. Bewerking createEmailMarketingImport. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via de MCP.
Sign-up forms
GET /v1/email-marketing/forms — Aanmeldformulieren (dubbele opt-in), nieuwste eerst, één keyset-pagina. Bewerking listEmailMarketingForms. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/forms — Maak een aanmeldformulier dat bevestigde personen aan één lijst toevoegt. Bewerking createEmailMarketingForm. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
DELETE /v1/email-marketing/forms/{form_id} — Verwijder een aanmeldformulier (personen die al bevestigd zijn, blijven op de lijst staan). Bewerking deleteEmailMarketingForm. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
PATCH /v1/email-marketing/forms/{form_id} — Wijzig een aanmeldformulier (formulering, lijst, omleiding, aan of uit). Bewerking updateEmailMarketingForm. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
Verzendverbindingen
GET /v1/email-marketing/senders — De verzendverbindingen van de organisatie. Bewerking listEmailMarketingSenders. Gecontroleerde machtigingen: email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/senders — Verbind een campagneverzender (Zinn®-verzending, of de eigen SMTP-server van de klant). Bewerking createEmailMarketingSender. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: alleen API en dashboard: het bevat een geheim dat nooit een AI-model mag bereiken (de body is het SMTP-wachtwoord).
DELETE /v1/email-marketing/senders/{sender_id} — Verwijder een verzendverbinding en het bijbehorende opgeslagen wachtwoord. Bewerking deleteEmailMarketingSender. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/senders/{sender_id}/verify — Bewijs dat een verzendverbinding werkt, zonder iets te verzenden. Bewerking verifyEmailMarketingSender. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via het MCP.
PUT /v1/email-marketing/senders/{sender_id}/webhook — Sla het webhook-ondertekeningsgeheim van uw e-mailprovider op voor deze verbinding. Bewerking setEmailMarketingSenderWebhook. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (slaat het webhook-geheim van een provider op).
SMS en WhatsApp
GET /v1/email-marketing/sms — Wat het SMS-scherm nodig heeft — open?, gepauzeerd?, creditsaldo en prijzen. Bewerking getEmailMarketingSms. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/sms/campaigns — Bulk-SMS-campagnes, nieuwste eerst, één keyset-pagina. Bewerking listSmsMarketingCampaigns. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/sms/campaigns — Maak een concept-SMS voor een lijst. Bewerking createSmsMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id} — Eén bulk-SMS-campagne. Bewerking getSmsMarketingCampaign. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
PATCH /v1/email-marketing/sms/campaigns/{campaign_id} — Bewerk een concept (of een geweigerde campagne, die terugkeert naar een concept). Bewerking updateSmsMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via het MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id}/report — De cijfers van een bulk-SMS-campagne. Bewerking getSmsMarketingCampaignReport. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via het MCP.
POST /v1/email-marketing/sms/campaigns/{campaign_id}/send — Start het verzenden van een sms naar iedereen op de lijst die heeft ingestemd met sms — of hervat een campagne die wegens tegoed is onderbroken. Bewerking sendSmsMarketingCampaign. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon moet hierop klikken (verzendt betaalde sms-/WhatsApp-berichten).
GET /v1/email-marketing/sms/registrations/us — De US 10DLC-registratie van deze organisatie, en wat deze kost. Bewerking getEmailMarketingUsRegistration. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/sms/registrations/us — Dien het merk en de campagne van deze organisatie in voor US 10DLC (kosten in rekening gebracht bij indiening). Bewerking submitEmailMarketingUsRegistration. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon moet hierop klikken (US 10DLC-registratie brengt provisiekosten met zich mee).
Campagnes via uw eigen e-maildienst (sjablonen, segmenten, onderdrukkingen)
GET /v1/campaigns — De campagnes van de organisatie. Bewerking listCampaigns. Van een AI-assistent: ja, via de MCP.
POST /v1/campaigns — Maak een campagne op basis van een sjabloon en een doelgroep. Bewerking createCampaign. Van een AI-assistent: ja, via de MCP.
DELETE /v1/campaigns/esp — Verbreek de verbinding met het provideraccount en verwijder de opgeslagen sleutel ervan. Bewerking disconnectEsp. Van een AI-assistent: alleen API en dashboard: bevat een geheim dat nooit een AI-model mag bereiken (vernietigt de opgeslagen ESP-sleutel).
GET /v1/campaigns/esp — Het eigen e-mailprovideraccount van de organisatie. Bewerking getEspConnection. Van een AI-assistent: ja, via het MCP.
POST /v1/campaigns/esp — Verbind een e-mailprovideraccount. Bewerking connectEsp. Van een AI-assistent: alleen API en dashboard: bevat een geheim dat nooit een AI-model mag bereiken (de body is de ESP API-sleutel).
POST /v1/campaigns/esp/verify — Controleer of het provideraccount werkt en lees de geverifieerde domeinen ervan uit. Bewerking verifyEspConnection. Van een AI-assistent: alleen API en dashboard: bevat een geheim dat nooit een AI-model mag bereiken (controleert een opgeslagen ESP-sleutel opnieuw).
POST /v1/campaigns/preview — Render een sjabloon met voorbeeldwaarden. Bewerking previewCampaignTemplate. Van een AI-assistent: ja, via het MCP.
GET /v1/campaigns/segments — Uw opgeslagen doelsegmenten. Bewerking listCampaignSegments. Gecontroleerde machtigingen: campaigns.view. Van een AI-assistent: ja, via het MCP.
POST /v1/campaigns/segments — Sla een nieuw doelsegment op. Bewerking createCampaignSegment. Gecontroleerde machtigingen: campaigns.manage. Van een AI-assistent: ja, via het MCP.
GET /v1/campaigns/segments/fields — De filtervocabulaire, de waardelijsten ervan en de magische tags. Bewerking getCampaignSegmentFields. Gecontroleerde machtigingen: campaigns.view. Van een AI-assistent: ja, via de MCP.
POST /v1/campaigns/segments/preview — Hoeveel mensen dit bereikt, wie ze zijn en wie er buiten beschouwing wordt gelaten. Bewerking previewCampaignSegment. Gecontroleerde machtigingen: campaigns.view. Van een AI-assistent: ja, via de MCP.
DELETE /v1/campaigns/segments/{segmentId} — Een segment archiveren. Bewerking archiveCampaignSegment. Gecontroleerde machtigingen: campaigns.manage. Van een AI-assistent: ja, via de MCP.
GET /v1/campaigns/segments/{segmentId} — Eén opgeslagen segment. Bewerking getCampaignSegment. Gecontroleerde machtigingen: campaigns.view. Van een AI-assistent: ja, via de MCP.
PATCH /v1/campaigns/segments/{segmentId} — De naam van een segment wijzigen of de filters ervan aanpassen. Bewerking updateCampaignSegment. Gecontroleerde machtigingen: campaigns.manage. Van een AI-assistent: ja, via de MCP.
GET /v1/campaigns/suppressions — Adressen die geen marketing mogen ontvangen. Bewerking listCampaignSuppressions. Gecontroleerde machtigingen: campaigns.view. Van een AI-assistent: ja, via de MCP.
POST /v1/campaigns/suppressions — Een adres toevoegen aan de uitsluitingslijst. Bewerking createCampaignSuppression. Gecontroleerde machtigingen: campaigns.manage. Van een AI-assistent: ja, via de MCP.
GET /v1/campaigns/tags — Het magic-tagpalet dat een campagne-opsteller biedt. Bewerking listCampaignTags. Vanuit een AI-assistent: ja, via het MCP.
GET /v1/campaigns/templates — De campagnesjablonen van de organisatie. Bewerking listCampaignTemplates. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/campaigns/templates — Maak een campagnesjabloon. Bewerking createCampaignTemplate. Vanuit een AI-assistent: ja, via het MCP.
DELETE /v1/campaigns/templates/{templateId} — Archiveer een sjabloon en stel de vertaalbronnen ervan buiten gebruik. Bewerking archiveCampaignTemplate. Vanuit een AI-assistent: ja, via het MCP.
GET /v1/campaigns/templates/{templateId} — Eén campagnesjabloon. Bewerking getCampaignTemplate. Vanuit een AI-assistent: ja, via het MCP.
PUT /v1/campaigns/templates/{templateId} — Bewerk een campagnesjabloon. Bewerking updateCampaignTemplate. Vanuit een AI-assistent: ja, via het MCP.
POST /v1/campaigns/unsubscribe — Verlaat een marketinglijst. Geen account nodig. Bewerking unsubscribeFromCampaigns. Vanuit een AI-assistent: alleen API en dashboard: dit bevat een geheim dat nooit een AI-model mag bereiken (vereist een ondertekend uitschrijftoken van de ontvanger).
DELETE /v1/campaigns/{campaignId} — Verwijder een campagne en stel de leveringsrijen ervan buiten gebruik. Bewerking deleteCampaign. Vanuit een AI-assistent: alleen API en dashboard: dit vereist een machtiging die niet aan AI-verbindingen wordt aangeboden (het verwijderen van een ESP-campagne vereist campaigns.send).
GET /v1/campaigns/{campaignId} — Eén campagne en het bezorgingsrapport ervan. Bewerking getCampaign. Van een AI-assistent: ja, via het MCP.
POST /v1/campaigns/{campaignId}/control — Pauzeer, hervat of annuleer een actieve verzending. Bewerking controlCampaign. Van een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon drukt erop (pauzeert/hervat een live verzending).
POST /v1/campaigns/{campaignId}/send — Start de duurzame verzending. Bewerking sendCampaign. Van een AI-assistent: alleen API en dashboard: dit kost geld of tegoed, dus een persoon drukt erop (verzendt een ESP-campagne naar echte ontvangers).
POST /v1/campaigns/{campaignId}/test — Verzend één echt bericht via het kanaal dat de campagne daadwerkelijk zal gebruiken. Bewerking testSendCampaign. Van een AI-assistent: alleen API en dashboard: hiervoor is een toestemming vereist die niet wordt aangeboden aan AI-verbindingen (een ESP-testverzending vereist campaigns.send).
Openbare pagina's en inkomende webhooks
GET /v1/public/email-marketing/c/{token} — De klikteller. Registreert één klik per ontvanger en verwijst door naar de oorspronkelijke link. Bewerking emailMarketingClick. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de klikregistratie-omleiding).
GET /v1/public/email-marketing/f/{public_id} — De gehoste pagina van een aanmeldingsformulier (geen login). Bewerking emailMarketingFormPage. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de openbare aanmeldingsformulierpagina).
POST /v1/public/email-marketing/f/{public_id} — Een aanmeldingsformulier verzenden (gehoste pagina, insluiting of JSON). Bewerking emailMarketingFormSubmit. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (een bezoeker verzendt een aanmeldingsformulier).
GET /v1/public/email-marketing/fc — De dubbele opt-in-bevestigingspagina (geen login). Bewerking emailMarketingFormConfirmPage. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de dubbele opt-in-bevestigingspagina).
POST /v1/public/email-marketing/fc — Een aanmelding bevestigen (voegt de persoon toe aan de lijst met een toestemmingsregistratie). Bewerking emailMarketingFormConfirm. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (een bezoeker bevestigt een dubbele opt-in).
GET /v1/public/email-marketing/o/{token} — De afbeelding voor het volgen van opens (een 1x1 GIF). Telt één open per ontvanger. Bewerking emailMarketingOpenPixel. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de pixel voor het volgen van opens).
GET /v1/public/email-marketing/u/{token} — De afmeldlink in de voettekst (geen login). Bewerking emailMarketingUnsubscribePage. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de afmeldpagina).
POST /v1/public/email-marketing/u/{token} — RFC 8058-uitschrijving met één klik (en de knop "alles stoppen" van de pagina). Bewerking emailMarketingUnsubscribeOneClick. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (RFC 8058-uitschrijving met één klik).
GET /v1/public/email-marketing/warmup-u/{token} — De afmeldlink van de marketingpool-opwarmmail (geen login). Bewerking emailMarketingWarmupUnsubscribePage. Van een AI-assistent: een pagina die uw ontvangers openen vanuit een e-mail (de afmeldpagina voor opwarming).
POST /v1/public/email-marketing/warmup-u/{token} — RFC 8058-uitschrijving met één klik vanuit de opwarmmail. Bewerking emailMarketingWarmupUnsubscribeOneClick. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (uitschrijving met één klik voor opwarming).
POST /v1/webhooks/campaign-events — Verwerk een ondertekende bezorggebeurtenis van de e-mailprovider. Bewerking receiveCampaignDeliveryWebhook. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (ondertekende ESP-bezorgingswebhook).
POST /v1/webhooks/campaigns/telnyx — Inkomende sms-antwoorden (STOP / START) van onze sms-leverancier. Bewerking receiveCampaignsTelnyxInbound. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (ondertekende inkomende Telnyx-webhook).
POST /v1/webhooks/email-marketing/{connection_id} — Afleveringsgebeurtenissen van de eigen e-mailprovider van een klant voor één verzendverbinding. Bewerking receiveEmailMarketingProviderWebhook. Van een AI-assistent: aangeroepen door een ander systeem (een provider of een bezoeker), niet door u (ondertekende webhook van afzender-provider).
Flows
GET /v1/email-marketing/flows — E-mailstromen (welkom, drip, een jaarlijkse datum), één keyset-pagina. Bewerking listEmailMarketingFlows. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/flows — Maak een stroom aan (deze start als concept). Bewerking createEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via de MCP.
DELETE /v1/email-marketing/flows/{flow_id} — Verwijder een stroom en de bijbehorende inschrijvingen (de verzonden uitvoeringen blijven behouden als campagnes). Bewerking deleteEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Van een AI-assistent: ja, via de MCP.
GET /v1/email-marketing/flows/{flow_id} — Eén stroom met de stappen en het rapport (ingeschreven, in behandeling, uitvoeringen en ontvangers per stap). Bewerking getEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.view. Van een AI-assistent: ja, via de MCP.
PATCH /v1/email-marketing/flows/{flow_id} — Wijzig een flow; steps vervangt, indien opgegeven, de gehele reeks. Bewerking updateEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/flows/{flow_id}/activate — Schakel een flow in; alleen personen die zich vanaf nu bij de lijst aansluiten, worden ingeschreven. Bewerking activateEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via de MCP.
POST /v1/email-marketing/flows/{flow_id}/pause — Pauzeer een flow; vervallen stappen wachten en er wordt naar niemand nieuw gemaild totdat deze weer wordt ingeschakeld. Bewerking pauseEmailMarketingFlow. Gecontroleerde machtigingen: email_marketing.manage, email_marketing.view. Vanuit een AI-assistent: ja, via de MCP.