Iniciar sesiónEmpezar prueba gratis
Meta Tech Provider

Enviar avisos de pedidos de WooCommerce por WhatsApp

Crea un webhook de WooCommerce para eventos de pedido que apunte a un receptor, como un flujo de n8n o una pequeña ruta PHP. El receptor verifica la firma de WooCommerce, comprueba que el cliente aceptó recibir mensajes de WhatsApp y envía una plantilla aprobada por la Cloud API con el phone number id y el token del número conectado.

5 failures

WooCommerce desactiva un webhook tras más de cinco fallos de entrega consecutivos.

X-WC-Webhook-Signature

Cabecera con un HMAC-SHA256 del payload codificado en base64, generado con el secreto del webhook.

Templates only

Fuera de una ventana de atención al cliente, solo se pueden enviar plantillas de mensaje aprobadas de antemano.

¿Cómo hace un pedido de WooCommerce para disparar un mensaje de WhatsApp?

Mediante un webhook de WooCommerce y un receptor. En WooCommerce, Ajustes, Avanzado, Webhooks, añade un webhook con un tema de pedido, como pedido creado o pedido actualizado, una URL de entrega y un secreto. WooCommerce envía entonces el pedido como JSON a esa URL cada vez que ocurre el evento.

El payload es fijo, así que no se puede dirigir directamente a la Cloud API. Entre ambos va un receptor: un nodo Webhook de n8n, una ruta en el PHP de la propia tienda o cualquier servicio pequeño. Lee el pedido, toma el número de teléfono del cliente y los datos que necesita el mensaje, y hace una sola petición HTTPS al endpoint de mensajes de la Cloud API para el número conectado, con el token de acceso del número como bearer token.

El tema order.updated no está ligado a un solo estado, así que el receptor debe leer el campo status del pedido y enviar una vez por cada transición que le interese. WooCommerce entrega en segundo plano mediante wp-cron por defecto, por lo que un mensaje puede llegar con un pequeño retraso respecto al pedido.

1WooCommerceOrder webhook with a secret
2ReceiverChecks the signature and consent
3Cloud APISends the approved template
4CustomerReplies land in the WhatsApp Business app

¿Cómo sabe el receptor que la petición viene de la tienda?

Por la firma de WooCommerce. Cada entrega lleva una cabecera X-WC-Webhook-Signature, un HMAC-SHA256 del payload sin procesar codificado en base64 y calculado con el secreto que definiste en el webhook. El receptor calcula el mismo hash sobre el cuerpo recibido, lo compara y rechaza todo lo que no coincida.

Es el secreto de la propia tienda, así que, a diferencia de la firma de Meta en los mensajes entrantes de WhatsApp, sí se puede validar. Compara en tiempo constante y calcula el hash sobre el cuerpo sin procesar antes de que ningún framework lo interprete, porque un JSON recodificado produce un hash distinto.

Responde rápido con un 2xx. WooCommerce cuenta como fallo cualquier respuesta que no sea 2xx, 301 o 302, y tras más de cinco fallos seguidos desactiva el webhook. Un receptor caído durante un despliegue, o lento porque espera a Meta antes de responder, puede apagar los mensajes de la tienda sin que nadie lo note.

¿Qué puede enviar la tienda y cuándo?

Una plantilla aprobada, siempre que la tienda escribe primero. La ventana de atención al cliente de 24 horas de Meta solo se abre cuando el cliente escribe al número, así que una confirmación de pedido o un aviso de envío lo inicia la empresa y el texto libre se rechaza. Crea una plantilla de utilidad para cada aviso, espera la aprobación y envíala por nombre e idioma, con el número de pedido y demás datos como parámetros.

Meta exige además el consentimiento: el cliente dio su número y aceptó recibir mensajes de este negocio por WhatsApp. Una casilla en el checkout guardada en el pedido es el registro más sencillo, y el receptor debe comprobarla antes de enviar.

Cuando el cliente responde, la conversación es Coexistencia corriente. La respuesta aparece en la app de WhatsApp Business del teléfono de la tienda, la ventana queda abierta para texto libre y el equipo contesta desde la app como siempre.

Errores comunes

  • Hacer la llamada a la Cloud API antes de responder a WooCommerce. Un envío lento o fallido cuenta contra el webhook, que se desactiva tras más de cinco fallos.
  • Calcular el hash sobre el JSON ya interpretado en lugar del cuerpo sin procesar. La firma nunca coincide y se rechaza cada entrega legítima.
  • Enviar en cada entrega de order.updated. El tema no está ligado a un solo estado, así que, sin registrar qué transición ya se avisó, los clientes reciben mensajes duplicados.
Hacerlo con EasyCoexistence

Conecta el número de la tienda en easycoexistence.com y dale al receptor su phone number id y su token desde el panel. Desde US$ 9 por número conectado al mes, bajando hasta US$ 1 a medida que sumas números, con los primeros 3 días gratis.

Preguntas frecuentes

¿Necesito un plugin de WordPress para esto?

No. Bastan los webhooks integrados de WooCommerce y un receptor, que puede ser una ruta de la misma aplicación PHP.

¿Quién paga los mensajes de los pedidos?

Meta factura la mensajería directamente al negocio en su propia cuenta de WhatsApp Business, y EasyCoexistence nunca aplica margen.

¿El equipo puede seguir usando el teléfono?

Sí. La Coexistencia mantiene la app de WhatsApp Business funcionando en el número de la tienda, y la plantilla que envió la tienda aparece en la conversación.

¿Qué pasa si se desactivó un webhook?

Arregla el receptor y vuelve a poner el estado del webhook en activo en WooCommerce. Los pedidos creados mientras estuvo apagado no dispararon ningún mensaje.

Sigue leyendo

¿Listo para empezar?

Configura WhatsApp Coexistence en minutos, no en meses. La app sigue funcionando en el teléfono.

Empezar prueba gratis

Verificado el

Avisos de pedidos de WooCommerce por WhatsApp