Si vendes en múltiples canales o conectas tu tienda con ERP o almacenes externos, necesitas mantener sincronizado el stock. En este artículo aprenderás a crear un webhook personalizado en WooCommerce para enviar cambios de inventario en tiempo real.
Índice
- ¿Qué es un webhook y por qué usarlo?
- Crear un webhook en WooCommerce (interfaz)
- Webhook personalizado desde funciones.php
- Formato de datos enviado
- Seguridad y validación del webhook
¿Qué es un webhook?
Es una llamada automática a una URL externa que se dispara al producirse un evento. En WooCommerce, puedes usarlo para notificar a otro sistema cuando cambia el stock de un producto.
Crear un webhook desde el admin
- Ir a WooCommerce → Ajustes → Avanzado → Webhooks
- Crear webhook nuevo
- Evento:
product.updated - URL:
https://mi-servidor.com/api/stock-receiver
Webhook desde código personalizado
Si quieres controlar exactamente qué datos se envían y cuándo:
add_action('woocommerce_update_product', 'notificar_stock_personalizado', 10, 1);
function notificar_stock_personalizado($product_id) {
$product = wc_get_product($product_id);
$data = [
'sku' => $product->get_sku(),
'stock' => $product->get_stock_quantity(),
'id' => $product_id
];
wp_remote_post('https://midominio.com/api/stock', [
'method' => 'POST',
'body' => json_encode($data),
'headers' => ['Content-Type' => 'application/json']
]);
}
Ventajas del webhook personalizado:
- Envías solo los datos necesarios
- Mayor control y trazabilidad
- Puedes usar condiciones (sólo si cambia stock)
Ejemplo de datos enviados
{
"sku": "ABC123",
"stock": 12,
"id": 305
}Tu receptor (ERP, API externa, etc.) puede usar este JSON para actualizar su inventario.
Consejos de seguridad
- Validar origen por IP o token
- Guardar logs de envíos y errores
- Usar HTTPS siempre
- Reintentar si hay fallo de conexión
Conclusión
Un webhook bien configurado te permite mantener el inventario sincronizado en tiempo real con tu logística, almacén o software externo. Es rápido, flexible y 100% automatizable.
¿Quieres que implementemos este sistema en tu WooCommerce? Contáctanos.

