Solicita acceso anticipado

Indica tu nombre y un email o número de teléfono. Nos pondremos en contacto contigo para darte los detalles de acceso a Tajo.

Guía de integración con WooCommerce

Esta guía conecta una tienda de WooCommerce con Tajo. La integración tiene dos mitades que trabajan juntas:

  • El plugin Tajo for WooCommerce captura eventos de interacción en tiempo real (pedidos, carritos, reembolsos, reseñas, envíos de formularios) dentro de WordPress y los entrega a Tajo a través de un outbox duradero y firmado.
  • La conexión REST de WooCommerce permite que Tajo lea los clientes, pedidos, productos, cupones, reembolsos y reseñas de tu tienda para la importación histórica y la sincronización continua. Consulta la referencia del conector de WooCommerce para la configuración solo con REST.

La automatización de marketing en sí (email, SMS, WhatsApp mediante Brevo y otros proveedores) se configura en Tajo, no en el plugin. El trabajo del plugin es sacar de WordPress eventos fiables.

Requisitos previos

  • WordPress 6.3+ con acceso de administrador
  • PHP 7.4+
  • WooCommerce 7.0+ (el plugin también funciona en sitios de WordPress sin WooCommerce, donde los adaptadores de comercio simplemente quedan inactivos)
  • Cuenta de Tajo con una conexión de WordPress creada
  • HTTPS en el endpoint de Tajo (siempre se cumple en el Tajo alojado)

Paso 1: instala el plugin Tajo for WooCommerce

Instalación manual

Terminal window
# Download the plugin
cd wp-content/plugins
wget https://tajo.io/downloads/woocommerce/tajo-woocommerce-latest.zip
# Verify and unzip
unzip tajo-woocommerce-latest.zip

Después actívalo desde el panel de administración de WordPress:

  1. Ve a Plugins → Installed Plugins
  2. Busca “Tajo for WooCommerce”
  3. Haz clic en Activate

También puedes subir el zip directamente desde Plugins → Add New → Upload Plugin. Con cada versión se publica una suma de verificación SHA-256 en tajo.io/downloads/woocommerce/. El plugin todavía no está listado en el directorio de WordPress.org; hoy la vía admitida es la instalación manual.

Paso 2: configura la conexión

Ve a WooCommerce → Tajo (en sitios sin WooCommerce: Settings → Tajo) e introduce los tres valores de tu conexión de WordPress en Tajo:

CampoValor
Endpoint de TajoLa URL HTTPS del webhook que aparece en Tajo, por ejemplo https://alto.tajo.io/api/connectors/wordpress/webhooks/engagement
Binding IDEl binding ID de la conexión en Tajo
Secreto de firmaEl secreto compartido (de 32 a 256 caracteres). El plugin genera un secreto local robusto al activarse; pégalo en Tajo, o pega aquí el secreto de Tajo

No hay constantes de clave de API que añadir a wp-config.php. Los eventos permanecen en cola de forma segura en el outbox local hasta que se guardan los tres valores.

Después verifica la tubería de extremo a extremo:

  1. Haz clic en Queue test event y luego en Process now.
  2. La tabla del outbox de entrega debería mostrar el evento como entregado.
  3. En Tajo, confirma que el evento connection.test llegó a la conexión de WordPress.

Qué envía el plugin

Cada evento es un sobre compacto y con datos personales minimizados, firmado con HMAC-SHA256. De WordPress solo salen los campos de identidad para la interacción (email, teléfono, IDs locales) y metadatos acotados del evento, nunca nombres, direcciones postales, direcciones IP, user agents, cuerpos de comentarios, campos arbitrarios de formulario, notas de pedido ni datos de pago.

Eventos de WooCommerce

HookEvento
woocommerce_created_customer / woocommerce_update_customercustomer.created / customer.updated
woocommerce_new_product / woocommerce_update_productproduct.created / product.updated
woocommerce_add_to_cart, eliminación de artículo, aplicación o retirada de cupóncart.updated (con resumen del carrito para flujos de abandono)
woocommerce_cart_emptiedcart.emptied
woocommerce_new_order / woocommerce_update_orderorder.placed / order.updated
woocommerce_order_status_changedorder.status_changed (+ order.fulfilled al completarse)
woocommerce_payment_completeorder.paid
woocommerce_order_refundedrefund.created
Actualizaciones de estado de WooCommerce Subscriptionssubscription.status_changed

Los eventos de pedido llevan el número de pedido, el estado, la moneda, los totales, las líneas de pedido y URLs listas para usar de reseña y de nuevo pedido, suficiente para automatizaciones posteriores a la compra y de recuperación sin una llamada adicional a la API.

Eventos de WordPress

  • contact.created / contact.updated / contact.deleted para las cuentas de usuario
  • content.published / content.updated / content.unpublished para el contenido público
  • comment.created / comment.status_changed para los comentarios de visitantes y las reseñas de producto (las notas internas de pedido de WooCommerce, los pingbacks y los trackbacks nunca se emiten)
  • form.submitted para los envíos correctos de Contact Form 7, WPForms, Gravity Forms y Fluent Forms, donde solo se extraen los campos de identidad tipados de email y teléfono junto con los metadatos del formulario; los campos arbitrarios enviados se descartan

Fiabilidad: el outbox de entrega

El plugin nunca dispara eventos hacia Tajo directamente desde una carga de página. Cada evento se escribe primero en una tabla de outbox local y después lo entrega WP-Cron con:

  • Backoff exponencial acotado (hasta 8 intentos, respetando Retry-After)
  • Dead letters con Replay dead letters en un clic desde el panel de administración
  • Límites de retención para que un endpoint inalcanzable nunca acumule datos personales (entregados: 7 días; en cola: 30 días; dead letters: 30 días desde la última actualización)
  • IDs de evento idempotentes, para que los reintentos y las reproducciones nunca dupliquen nada aguas abajo

Si tu hosting desactiva WP-Cron (DISABLE_WP_CRON), invoca wp-cron.php desde un planificador real al menos una vez por minuto.

El consentimiento nunca se deduce

Crear una cuenta, pasar por el checkout, comprar y enviar formularios genéricos no se tratan como consentimiento de marketing. Los eventos integrados llevan una lista de consentimiento vacía. Para registrar un consentimiento explícito (por ejemplo, desde una casilla marcada de newsletter), emítelo a través del hook de extensión:

do_action(
'tajo_engagement_emit',
'consent.updated',
array( 'email' => $email ),
array( 'policyVersion' => '2026-07' ),
array(
array(
'channel' => 'email',
'status' => 'opt_in', // or 'opt_out'
'purpose' => 'marketing',
'source' => 'newsletter_checkbox',
'evidence' => array( 'formId' => 'newsletter-footer', 'field' => 'marketing_email' ),
),
),
gmdate( 'c' )
);

El mismo hook permite que cualquier plugin o tema emita eventos propios; todo pasa por el mismo saneador, el mismo outbox y la misma firma.

Paso 3: importación histórica

Los eventos en tiempo real cubren todo desde la instalación en adelante. Para el historial anterior al plugin, la conexión REST de WooCommerce de Tajo importa los clientes, pedidos, productos, cupones, reembolsos y reseñas existentes, y se configura por completo del lado de Tajo con una clave de la API REST de WooCommerce (WooCommerce → Settings → Advanced → REST API, permiso de lectura). Consulta la referencia del conector de WooCommerce para más detalles.

Privacidad y RGPD

  • El plugin se registra en WordPress en Tools → Export Personal Data y Tools → Erase Personal Data; los eventos del outbox retenidos para un email coincidente se exportan o se borran localmente.
  • El borrado y la entrega comparten un mutex fail-closed, así que un borrado nunca puede darse por completado mientras un payload está en pleno envío.
  • El borrado local solo cubre el outbox de WordPress, envía la solicitud correspondiente en Tajo para los datos aguas abajo.
  • Desactivar el plugin pausa la entrega pero conserva la configuración y los eventos en cola; borrarlo elimina de forma permanente el outbox, los ajustes, el secreto y las tareas programadas.

Compatibilidad

  • HPOS: el plugin declara compatibilidad con WooCommerce High-Performance Order Storage y solo usa objetos CRUD y hooks públicos.
  • WooCommerce Subscriptions: los cambios de estado de suscripción se capturan cuando la extensión está activa.
  • Multisitio: la desinstalación limpia todos los sitios de la red.

Referencia de operaciones

El descubrimiento servidor a servidor y el control del outbox están disponibles para los administradores mediante autenticación con Application Password:

MétodoRutaPropósito
GET/wp-json/tajo/v1/capabilitiesVersión del plugin, adaptadores detectados, inventario de eventos, salud del outbox
GET/wp-json/tajo/v1/outboxRecuentos del outbox (los payloads nunca se exponen)
POST/wp-json/tajo/v1/outbox/processProcesa un lote de inmediato
POST/wp-json/tajo/v1/outbox/replayReproduce las dead letters

Resolución de problemas

SíntomaCausa y solución
Los eventos se quedan en “Queued”El endpoint, el binding ID o el secreto todavía no están guardados, la entrega queda en pausa hasta que se configuren los tres
Los eventos se quedan en “Retrying”El endpoint de Tajo no es alcanzable desde tu hosting, o WP-Cron no se está ejecutando, revisa la columna de error de la tabla del outbox y tu configuración de cron
Se acumulan dead lettersUn error no reintentable (normalmente un binding ID o un secreto incorrectos), corrige la configuración y luego usa Replay dead letters
“Enter a valid HTTPS Tajo webhook endpoint”El endpoint debe ser HTTPS y sin credenciales incrustadas
El evento de prueba se entrega pero no aparece nada en TajoComprueba que pegaste el binding ID del mismo workspace y de la misma conexión de Tajo a los que pertenece el endpoint

Siguientes pasos

  • Referencia del conector de WooCommerce, sincronización REST, detalles de la firma del webhook, claves de configuración
  • Sincronización de clientes, cómo mapear los clientes de WooCommerce en tu sistema de registro
  • Configura en Tajo automatizaciones de carrito abandonado, posteriores a la compra y de recuperación usando los eventos cart.updated, order.placed y order.fulfilled

Solicita acceso anticipado

Indica tu nombre y un email o número de teléfono. Nos pondremos en contacto contigo para darte los detalles de acceso a Tajo.

detección automática
Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.