Notificaciones de Estado de Pedidos en WooCommerce: Qué Eventos Automatizar
“¿Dónde está mi pedido?” es la pregunta de soporte más común en el comercio electrónico, y es totalmente prevenible. El cliente no pregunta porque sea impaciente; pregunta porque nadie le informó qué pasó. Cada cambio de estado sin respuesta se convierte en un ticket, y cada ticket cuesta tiempo, dinero y buena voluntad.
Las notificaciones de pedidos por WhatsApp cierran ese ciclo automáticamente: en el momento en que el estado de un pedido cambia en WooCommerce, el cliente recibe un mensaje de WhatsApp con la actualización. Esta guía indica qué eventos merecen un mensaje, cuáles no, y cómo asegurarse de que cada pedido envíe exactamente una confirmación — sin vacíos, sin duplicados.
El mapa de mensajes
| Evento de WooCommerce | Cuándo se activa | Plantilla de WhatsApp |
|---|---|---|
| Pedido pagado / en proceso | payment_complete, o estado → en proceso | order_confirmation |
| Pedido completado | estado → completado | order_shipped (seguimiento) |
| Pedido cancelado | estado → cancelado | order_cancelled |
| Pedido reembolsado | order_refunded | Aviso de reembolso |
| Carrito abandonado | evento de pago separado | cart_recovery secuencia |
| En espera / pago fallido | estado → en espera / fallido | order_on_hold / payment_failed |
Ese es el conjunto completo que la mayoría de las tiendas necesitan. Seis eventos, seis plantillas, un mensaje de WhatsApp por evento — y solo los tres primeros eliminan por completo el ticket de "¿dónde está mi pedido?".
Los hooks detrás del mapa
WooCommerce dispara hooks distintos para cada momento:
woocommerce_thankyou— se renderiza la página de pedido recibido. Dirígete según el método de pago aquí: los pedidos contra reembolso tienen su flujo de confirmación, los pedidos prepago esperan la captura del pago.woocommerce_payment_complete— se captura un pago en línea. Este es el disparador de confirmación de la tienda prepago.woocommerce_order_status_changed— dispara en cualquiera transición de estado, incluidos los estados personalizados. Este es el caballo de batalla para procesar, completado, cancelado, en espera y fallido.woocommerce_order_status_completed— el momento de enviar los detalles de seguimiento/envío.woocommerce_order_refunded— reembolso procesado; enviar el aviso de reembolso.
Un conector que solo escucha una o dos de estas deja la mitad del viaje en silencio. El mapa de arriba necesita que todas estén conectadas.
Qué NO automatizar
La forma más rápida de molestar a un cliente es enviarle un mensaje en cada cambio de estado. Omitir:
- Pendiente — el cliente no ha pagado; un mensaje aquí está recordando
- Borrador de pago — los carritos en progreso todavía no son pedidos
- Estados internos — cualquier cosa que tu equipo use y que el cliente nunca vea
La forma correcta es tres puntos de contacto centrales — realizado → enviado → entregado — más la cancelación, reembolso y las excepciones de recuperación/en espera. Nueve mensajes por pedido es cómo se ganan las exclusiones.
Tiendas COD: el procesamiento es tu confirmación
Aquí está el detalle que la mayoría de las guías se equivoca: Los pedidos contra reembolso nunca se disparan payment_complete — no hay ningún pago que completar. Si tu integración solo escucha ese hook, silenciosamente no hace nada para cada pedido contra reembolso, que representa entre el 18 y el 31 % del libro de pedidos en la mayoría de las tiendas D2C de India.
Para las tiendas COD, el estado de procesamiento estado es el evento de confirmación: pedido aceptado → el cliente recibe la confirmación (y, idealmente, la verificación de confirmación de COD para el despacho desde el [manual de confirmación COD](/blog/cod-confirmation-whatsapp-cut-rto-fake-orders/)). Mapear procesamiento → order_confirmation y tus pedidos contra reembolso obtienen la misma experiencia que los de prepago.
Estados personalizados
woocommerce_order_status_changed se activan para cada transición, incluidos los estados personalizados específicos de la tienda ("Listo para recoger", "QC aprobado", "Esperando al proveedor"). Decide con intención: asigna cada estado personalizado a un mensaje o explícitamente sáltalo; un mensaje genérico de "el estado de tu pedido ha cambiado" sin información útil es ruido. La regla general: envía un mensaje solo cuando el cliente pueda hacer algo con la información.
Pendiente y pago fallido: desbloqueo 24/7
Dentro de la ventana de servicio al cliente de 24 horas, puedes enviar mensajes de forma libre. Fuera de ella —incluyendo la mayoría de las actualizaciones de estado automáticas— cada mensaje debe usar una plantilla aprobada. Las tiendas que solo envían order_confirmation verán que sus mensajes de en espera y de pago fallido se omiten silenciosamente fuera de la ventana.
Enviar order_on_hold y payment_failed como plantillas de UTILIDAD y cada ruta de estado funciona las 24 horas:
- En espera — "{{1}}, el pedido {{2}} está en espera debido a {{3}}. Responde aquí y lo solucionaremos." (este también es un momento para salvar la venta)
- Pago fallido — "{{1}}, el pago del pedido {{2}} (₹{{3}}) no se realizó. Vuelve a intentarlo aquí: {{4}}"
Exactamente un mensaje por pedido
Las confirmaciones duplicadas son un error clásico de integración: la misma orden ejecutándose dos veces payment_complete y status_changed (procesamiento), o una reentrega de webhook que crea un segundo mensaje. La solución es la desduplicación a nivel de evento: cada mensaje está vinculado a un identificador de evento único (<order_id>.<event_type>), por lo que un webhook reenviado o un hook disparado dos veces nunca puede enviar dos veces. Verifícalo: realiza un pedido de prueba y confirma que llegue exactamente una confirmación, una actualización de envío y una cancelación.
Horas de silencio y zonas horarias
Las actualizaciones de estado son transaccionales, pero siguen siendo mensajes: un "tu pedido ha sido enviado" a las 2 a.m. está bien para que el cliente lo lea más tarde, mientras que un mensaje de recuperación de carrito o pendiente a las 2 a.m. se percibe como acoso. Envíalo según la hora local del cliente cuando sea importante, y respeta las horas de silencio para cualquier cosa que espere una respuesta.
¿Listo para automatizar?
El Tech Pad conecta todo el mapa de WooCommerce: eventos de pedidos → plantillas aprobadas → eliminación de duplicados → horas de silencio — con una bandeja de entrada compartida donde llega cada respuesta. Tu primer mes es gratis cuando comienzas →