# WooCommerce

> El conector nativo con webhooks firmados, el campo de consentimiento del checkout y el snippet que hace viajar el token del enlace hasta el pedido.

Fuente / source: https://soporte.konverda.com/es/docs/desarrolladores/woocommerce
Idioma / language: es
Actualizado / updated: 2026-08-26

---
WooCommerce es **integración nativa**: la tienda firma cada webhook con un secreto que genera esta plataforma — tú solo lo pegas. Los pedidos entran con verificación criptográfica, sin token en la URL.

La tarjeta está en la app, en **Ajustes → Integraciones → WooCommerce**.

## Conectar {#conectar}

:::pasos
1. En la tarjeta de WooCommerce, pulsa **Generar secreto** y cópialo. **Se muestra una sola vez.**
2. Copia también la **URL del webhook** de la tarjeta.
3. En tu tienda: **WooCommerce → Ajustes → Avanzado → Webhooks → Añadir webhook**.
4. Nombre libre · Estado **Activo** · Tema **Pedido actualizado** · URL de entrega = la URL copiada · Secreto = el secreto copiado · API **v3**.
5. Guarda y haz un pedido de prueba. La actividad de la tarjeta debe reflejarlo en unos segundos.
6. Opcional: en la tarjeta, ajusta el prefijo telefónico (34 para España), la etiqueta automática, el campo de consentimiento del checkout y los estados que cuentan como pago.
:::

## El campo de consentimiento del checkout {#consentimiento}

El **«Campo de consentimiento del checkout»** de la tarjeta es el nombre del *meta* del pedido donde tu tienda guarda la casilla (por ejemplo con Checkout Field Editor). Ese meta es lo que la plataforma lee como `consent` — y es lo que decide el nivel del contacto.

| Situación | Base registrada | Opt-in resultante | Qué puede recibir |
|---|---|---|---|
| Meta configurado y la casilla marcada | `checkbox` | Marketing | Todo: campañas, oleadas, automatizaciones de `order.paid` y plantillas 1:1. Levanta una baja anterior (acto explícito del cliente). |
| Meta configurado y el pedido lo trae con valor falso | — (no se registra alta) | Sin cambios | La venta se registra solo si ya era contacto dado de alta; si no, no se crea perfil. |
| Campo de consentimiento VACÍO en la tarjeta — o configurado pero el pedido no trae ese meta | `purchase` | No | Solo respuestas cuando la persona escribe. La automatización de `order.paid` NO se envía. Una baja anterior se respeta siempre. |

:::aviso
Si dejas el «Campo de consentimiento del checkout» vacío, **todo pedido pagado da de alta al contacto en nivel «No»**: seguirá apareciendo en Contactos y podrás responderle, pero ninguna campaña ni automatización proactiva lo alcanzará. Para que tus compradores sean contactos de marketing necesitas una casilla real en el checkout y su meta configurado aquí.
:::

## Vincular la venta con el enlace que la trajo {#wtk}

*Opcional, pero es la única forma de atribuir una venta cuyo teléfono no reconocemos.*

Los enlaces que envía la plataforma añaden `?wtk=<token>` a la URL de destino. WooCommerce **no lo guarda por su cuenta**: hace falta este fragmento en tu tienda para que el token viaje hasta el pedido. Con él, un pedido cuyo teléfono no reconocemos se puede seguir atribuyendo al contacto que recibió el enlace (aparece como «vía enlace»).

Pégalo en el `functions.php` de tu **tema hijo**, o en un plugin de snippets:

```php
// Konverda — vincula la venta con el enlace que la trajo.
add_action( 'init', function () {
    if ( isset( $_GET['wtk'] ) && ! headers_sent() ) {
        $wtk = substr( sanitize_text_field( wp_unslash( $_GET['wtk'] ) ), 0, 64 );
        if ( $wtk !== '' ) {
            setcookie( 'wtk', $wtk, time() + 30 * DAY_IN_SECONDS, COOKIEPATH ?: '/', COOKIE_DOMAIN, is_ssl(), true );
        }
    }
} );

add_action( 'woocommerce_checkout_create_order', function ( $order ) {
    if ( ! empty( $_COOKIE['wtk'] ) ) {
        $order->update_meta_data( 'wtk', substr( sanitize_text_field( wp_unslash( $_COOKIE['wtk'] ) ), 0, 64 ) );
    }
}, 10, 1 );
```

:::aviso
Sin este fragmento la vinculación por enlace **no funciona** en WooCommerce — la atribución solo podrá apoyarse en el teléfono del pedido. Guarda el meta con la clave exacta `wtk` (también se acepta `_wtk`). Si usas caché de página, comprueba que la petición con `?wtk=` no se sirve cacheada.
:::

## Seguir leyendo {#seguir-leyendo}

- [El opt-in de marketing y «Añadir a marketing»](/es/docs/contactos-y-consentimiento/el-opt-in-de-marketing)
- [La baja y qué recuerda la plataforma](/es/docs/contactos-y-consentimiento/la-baja-y-que-recuerda-la-plataforma)
- [API de pedidos (conexión genérica)](/es/docs/desarrolladores/api-de-pedidos) — el camino para todo lo que no sea Woo.
