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

# Usar webhooks para modificaciones en una lista

> Con un webhook, Laposta avisa a tu sistema en cuanto alguien se suscribe, se da de baja o modifica sus datos.

Con un webhook, Laposta envía un mensaje a tu servidor en cuanto cambia algo en una lista. Así mantienes tu propio archivo sincronizado sin tener que consultar continuamente a Laposta para ver si hay alguna novedad.

## ¿Cuándo se utiliza un webhook?

Utilizas un webhook para las modificaciones que tienen lugar en Laposta: alguien se registra a través de un formulario de registro, modifica sus datos en el centro de preferencias o se da de baja mediante el enlace de baja. Para las modificaciones que provienen de tu propio sistema, puedes consultar [sincronizar suscriptores](/relaties-synchroniseren-via-de-api).

Puedes configurar un webhook para tres eventos:

| Evento        | ¿Cuándo se envía el mensaje?                  |
| ------------- | --------------------------------------------- |
| `subscribed`  | Se añade un suscriptor a la lista.            |
| `modified`    | Cambian los datos de un suscriptor existente. |
| `deactivated` | Un suscriptor se da de baja o es eliminado.   |

## Configurar un webhook

#### Crea una URL que pueda recibir mensajes

Crea en tu propio servidor una dirección que acepte un POST con JSON. Responde rápidamente con un `200` y procesa el mensaje después en segundo plano.

#### Registra el webhook

Registra tu URL y el evento deseado en Laposta:

**`curl`**

```bash title="curl"
curl https://api.laposta.nl/v2/webhook \
  -u TU_CLAVE_API: \
  -d list_id=BaImMu3JZA \
  -d event=subscribed \
  -d url=https://example.net/laposta-webhook \
  -d blocked=false
```

**`PHP`**

```php title="PHP"
$laposta = new Laposta('TU_CLAVE_API');
$webhook = $laposta->webhookApi()->create('BaImMu3JZA', [
    'event' => 'subscribed',
    'url' => 'https://example.net/laposta-webhook',
    'blocked' => false,
]);
```

Guarda el `secret` que aparece en la respuesta. Con él podrás comprobar más adelante si un mensaje entrante proviene realmente de Laposta.

#### Comprueba la firma en cada mensaje

Laposta firma cada mensaje con ese secret. Compara la firma antes de hacer nada con el contenido; de lo contrario, cualquiera que conozca tu URL podría introducir datos en tu sistema.

## Qué debes tener en cuenta

* Procesa el mensaje en segundo plano, es decir, después de haber respondido a la solicitud. Si tarda demasiado por tu parte, la llamada agotará el tiempo de espera y no sabrás con seguridad si lo has recibido todo.
* Cuenta con recibir mensajes duplicados. En caso de duda, Laposta vuelve a enviar un mensaje. Por lo tanto, asegúrate de que tu sistema pueda procesar el mismo mensaje dos veces sin que se cree, por ejemplo, un suscriptor duplicado.
* Desactiva temporalmente un webhook en lugar de eliminarlo. Si vas a realizar tareas de mantenimiento en tu servidor, establece `blocked` en `true` con [Modificar webhook](/webhooks/webhook-wijzigen). De este modo, se conservarán el registro y el secret.
* Las modificaciones a través de la API también activan el webhook. Si tú mismo actualizas un suscriptor mediante la API, también se disparará el webhook `modified`. Tenlo en cuenta en tu propio código; de lo contrario, volverás a enviar inmediatamente la misma modificación a Laposta.

## Artículos relacionados

#### [Sincronizar suscriptores a través de la API](/relaties-synchroniseren-via-de-api)

Mantén tu lista igual que tu tienda online o CRM: añadir, actualizar, darse de baja y…

#### [Añadir webhook](/webhooks/webhook-toevoegen)

Todos los parámetros del objeto webhook, incluido el secreto de firma.

#### [¿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…