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

# Enviar una campaña a través de la API

> Crea una campaña, rellénala con tu propio html, envía un correo de prueba y programa el envío.

Si tu diseño proviene de otro sistema, por ejemplo un CMS que ya genera el boletín, puedes crear, rellenar y enviar la campaña íntegramente a través de la API. Así no tendrás que abrir el editor.

#### Crea la campaña

La dirección del remitente debe estar aprobada dentro de Laposta; de lo contrario, recibirás un mensaje de error. En `list_ids` indicas las listas y los posibles segmentos que recibirán la campaña.

**`curl`**

```bash title="curl"
curl https://api.laposta.nl/v2/campaign \
  -u TU_CLAVE_API: \
  -d type=regular \
  -d 'name=Boletín de marzo' \
  -d 'subject=El boletín de marzo' \
  -d 'from[name]=Ejemplo SL' \
  -d from[email]=boletin@example.net \
  -d reply_to=info@example.net \
  -d list_ids[]=BaImMu3JZA
```

**`PHP`**

```php title="PHP"
$laposta = new Laposta('TU_CLAVE_API');
$campana = $laposta->campaignApi()->create([
    'type' => 'regular',
    'name' => 'Boletín de marzo',
    'subject' => 'El boletín de marzo',
    'from' => ['name' => 'Ejemplo SL', 'email' => 'boletin@example.net'],
    'reply_to' => 'info@example.net',
    'list_ids' => ['BaImMu3JZA'],
]);
```

#### Rellena la campaña con HTML

Adjunta el HTML o indica una URL de donde Laposta pueda obtener el código. Elige una de las dos opciones. Si envías ambas, Laposta utilizará el HTML adjunto.

**`curl`**

```bash title="curl"
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/content \
  -u TU_CLAVE_API: \
  -d import_url=https://example.net/boletin.html \
  -d inline_css=true
```

**`PHP`**

```php title="PHP"
$laposta->campaignApi()->updateContent('njhgaf61ye', [
    'import_url' => 'https://example.net/boletin.html',
    'inline_css' => true,
]);
```

En la respuesta encontrarás un `report` con detalles: un enlace de baja que falta, código JavaScript que se ha eliminado o una imagen que no se ha podido cargar. Puedes enviar la campaña incluso con esos comentarios, pero revísalos primero.

#### Envía un correo de prueba

Esto solo es posible con una campaña que ya tenga contenido y que aún no se haya enviado.

**`curl`**

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

**`PHP`**

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

#### Envía la campaña o prográmala

El envío se realiza en segundo plano: recibes una respuesta directamente mientras el envío aún se ejecuta. Para programarla, solo tienes que indicar un momento en el futuro.

**`curl`**

```bash title="curl"
curl https://api.laposta.nl/v2/campaign/njhgaf61ye/action/schedule \
  -u TU_CLAVE_API: \
  -d 'delivery_requested=2026-05-18 09:00:00'
```

**`PHP`**

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

> **Warning**
>
> El envío no se puede deshacer. Una segunda llamada no se bloquea y vuelve a poner en marcha el envío. Asegúrate de que tu propio código lo impida: guarda que ya has enviado una campaña y no permitas que la misma acción se ejecute dos veces ante una llamada repetida o un doble clic. Puedes cancelar una campaña programada [eliminándola](/campagnes/campagne-verwijderen).

> **Note**
>
> Una campaña que hayas creado en el editor drag & drop no se puede rellenar ni leer con la API. Si lo intentas, recibirás el mensaje «Wrong campaign type». El contenido a través de la API solo funciona con campañas que hayas creado o importado tú mismo.

## Obtener los resultados después del envío

Puedes consultar los resultados inmediatamente después del envío. Las cifras seguirán aumentando a medida que más destinatarios abran el correo electrónico y hagan clic en los enlaces.

| Qué                                          | Dónde                                                                            |
| -------------------------------------------- | -------------------------------------------------------------------------------- |
| Cantidades y proporciones por campaña        | [Resultados de una campaña](/resultaten/campagneresultaten-opvragen)             |
| Todas las campañas de la cuenta              | [Consultar todos los resultados](/resultaten/alle-resultaten-opvragen)           |
| Eventos individuales, como aperturas y clics | [Consultar el historial de la campaña](/campagnes/campagnegeschiedenis-opvragen) |

## Artículos relacionados

#### [Crear una campaña](/campagnes/campagne-aanmaken)

Todos los parámetros del endpoint de campañas.

#### [Resultados de una campaña](/resultaten/campagneresultaten-opvragen)

Qué se entregó, se abrió y recibió clics.

#### [¿Cuáles son los errores más comunes con la API?](/veelgemaakte-fouten-met-de-api)

Errores habituales al conectar con la API de Laposta, con el mensaje de error que…