> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.laposta.org/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.laposta.org/_mcp/server.

# Een campagne versturen via de API

> Maak een campagne aan, vul hem met je eigen html, stuur een testmail en plan de verzending in.

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.

#### 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`**

```bash title="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`**

```php title="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'],
]);
```

#### 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`**

```bash title="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`**

```php title="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.

#### Stuur een testmail

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

**`curl`**

```bash title="curl"
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/action/testmail \
  -u JOUW_API_SLEUTEL: \
  -d email=jij@example.net
```

**`PHP`**

```php title="PHP"
$laposta->campaignApi()->sendTestMail('njhgaf61ye', 'jij@example.net');
```

#### 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`**

```bash title="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`**

```php title="PHP"
$laposta->campaignApi()->schedule('njhgaf61ye', '2026-05-18 09:00:00');
```

> **Warning**
>
> 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](/campagnes/campagne-verwijderen).

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

| Wat                                        | Waar                                                                      |
| ------------------------------------------ | ------------------------------------------------------------------------- |
| Aantallen en verhoudingen per campagne     | [Resultaten van een campagne](/resultaten/campagneresultaten-opvragen)    |
| Alle campagnes van het account             | [Alle resultaten opvragen](/resultaten/alle-resultaten-opvragen)          |
| Losse gebeurtenissen, zoals opens en kliks | [Campagnegeschiedenis opvragen](/campagnes/campagnegeschiedenis-opvragen) |

## Gerelateerde artikelen

#### [Campagne aanmaken](/campagnes/campagne-aanmaken)

Alle parameters van het campagne-endpoint.

#### [Resultaten van een campagne](/resultaten/campagneresultaten-opvragen)

Wat er aankwam, geopend werd en aangeklikt.

#### [Wat zijn veelgemaakte fouten met de API?](/veelgemaakte-fouten-met-de-api)

Valkuilen bij koppelingen met de Laposta API, met de foutmelding die je krijgt en de…