Skip to navigation

Een campagne versturen via de API

Komt je opmaak uit een ander systeem, bijvoorbeeld een cms dat de nieuwsbrief al genereert, dan kun je de campagne volledig via de API aanmaken, vullen en versturen. Je hoeft de editor dan niet te openen.

1

Maak de campagne aan

Het afzendadres moet binnen Laposta goedgekeurd zijn, anders krijg je een foutmelding. Bij list_ids geef je de lijsten en eventuele segmenten op die de campagne ontvangen.

curl
curl https://api.laposta.nl/v2/campaign \
-u JOUW_API_SLEUTEL: \
-d type=regular \
-d 'name=Maartnieuwsbrief' \
-d 'subject=De nieuwsbrief van maart' \
-d 'from[name]=Voorbeeld BV' \
-d from[email]=nieuwsbrief@example.net \
-d reply_to=info@example.net \
-d list_ids[]=BaImMu3JZA
PHP
$laposta = new Laposta('JOUW_API_SLEUTEL');
$campagne = $laposta->campaignApi()->create([
'type' => 'regular',
'name' => 'Maartnieuwsbrief',
'subject' => 'De nieuwsbrief van maart',
'from' => ['name' => 'Voorbeeld BV', 'email' => 'nieuwsbrief@example.net'],
'reply_to' => 'info@example.net',
'list_ids' => ['BaImMu3JZA'],
]);
2

Vul de campagne met html

Stuur de html mee, of geef een URL op waar Laposta de code ophaalt. Kies één van de twee. Stuur je allebei mee, dan gebruikt Laposta de meegestuurde html.

curl
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/content \
-u JOUW_API_SLEUTEL: \
-d import_url=https://example.net/nieuwsbrief.html \
-d inline_css=true
PHP
$laposta->campaignApi()->updateContent('njhgaf61ye', [
'import_url' => 'https://example.net/nieuwsbrief.html',
'inline_css' => true,
]);

In het antwoord staat een report met bijzonderheden: een ontbrekende afmeldlink, javascript dat eruit is gehaald, of een afbeelding die niet geladen kon worden. Je kunt de campagne ook met die opmerkingen verzenden, maar loop ze eerst na.

3

Stuur een testmail

Dit kan alleen bij een campagne die al inhoud heeft en nog niet verzonden is.

curl
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/action/testmail \
-u JOUW_API_SLEUTEL: \
-d email=jij@example.net
PHP
$laposta->campaignApi()->sendTestMail('njhgaf61ye', 'jij@example.net');
4

Verstuur de campagne of plan hem in

Verzenden gebeurt op de achtergrond: je krijgt direct antwoord terwijl de verzending nog loopt. Inplannen doe je door een moment in de toekomst op te geven.

curl
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/action/schedule \
-u JOUW_API_SLEUTEL: \
-d 'delivery_requested=2026-05-18 09:00:00'
PHP
$laposta->campaignApi()->schedule('njhgaf61ye', '2026-05-18 09:00:00');

Verzenden kun je niet terugdraaien. Een tweede aanroep wordt niet geblokkeerd en zet de verzending opnieuw in gang. Zorg dat je eigen code dat onmogelijk maakt: sla op dat je een campagne al verstuurd hebt, en laat dezelfde actie niet twee keer afgaan bij een herhaalde aanroep of een dubbele klik. Een ingeplande campagne kun je annuleren door hem te verwijderen.

Een campagne die je in de drag & drop-editor hebt gemaakt, kun je niet met de API vullen of uitlezen. Je krijgt dan de melding “Wrong campaign type”. Inhoud via de API werkt alleen bij campagnes die je zelf hebt aangemaakt of geïmporteerd.

Resultaten ophalen na verzending

Je kunt de resultaten meteen na het verzenden opvragen. De cijfers lopen daarna nog op naarmate meer ontvangers de e-mail openen en op links klikken.

WatWaar
Aantallen en verhoudingen per campagneResultaten van een campagne
Alle campagnes van het accountAlle resultaten opvragen
Losse gebeurtenissen, zoals opens en kliksCampagnegeschiedenis opvragen

Gerelateerde artikelen