Introducción
Los webhooks en Shopify son esenciales para mantener sincronizada tu tienda online con sistemas externos, aplicaciones de terceros y pasarelas de pago. Cuando un webhook falla, las notificaciones automáticas de eventos como la creación de pedidos, la actualización de inventario o el registro de clientes dejan de enviarse, lo que puede romper la experiencia de usuario y la operativa de tu negocio. En este artículo te mostramos cómo identificar el problema y solucionarlo definitivamente.
Causas Principales del Error de Webhook en Shopify
Antes de aplicar cualquier solución, es importante entender por qué fallan los webhooks:
- URL de destino inaccesible: El servidor que recibe la petición está caído, da un error 500 o ha cambiado de dirección.
- Problemas de seguridad SSL/TLS: El servidor receptor no cuenta con un certificado SSL válido o utiliza una versión obsoleta de TLS.
- Timeout o tiempo de espera agotado: El servidor externo tarda más de 5 segundos en responder a la solicitud POST de Shopify.
- Firma HMAC inválida: La validación de seguridad de los datos enviados por Shopify falla en tu aplicación receptora.
Método 1: Verificar el Estado y los Logs de Webhooks en el Panel de Shopify
Shopify registra los intentos fallidos de los webhooks directamente en la configuración de la tienda. Sigue estos pasos para revisarlos:
- Inicia sesión en tu panel de administración de Shopify.
- Dirígete a Configuración > Notificaciones.
- Desplázate hacia abajo hasta la sección de Webhooks.
- Busca el webhook que está fallando y haz clic en el botón Revisar evento o Enviar prueba para ver el código de respuesta HTTP exacto (por ejemplo, 404, 500 o 403).
- Actualiza la URL del servidor receptor si ha cambiado recientemente.
Método 2: Validar el Certificado SSL y el Tiempo de Respuesta del Servidor
Si Shopify marca un error de conexión, el problema suele estar en la infraestructura de tu servidor externo.
- Asegúrate de que tu servidor soporte conexiones seguras mediante HTTPS con un certificado SSL válido y actualizado (Let's Encrypt, Cloudflare, etc.).
- Comprueba que el endpoint configurado responda correctamente a las peticiones POST enviadas por Shopify. Puedes usar herramientas como
curldesde tu terminal para probarlo:curl -X POST https://tu-servidor.com/webhook-endpoint -H 'Content-Type: application/json' -d '{"test": true}' - Optimiza el código de tu servidor para que responda con un código HTTP 200 OK de inmediato, antes de procesar tareas pesadas en segundo plano. Esto evita errores de timeout.
Método 3: Recrear el Webhook y Actualizar las Claves de API
A veces, la corrupción de datos en la suscripción del webhook requiere un reinicio completo.
- Elimina el webhook defectuoso desde el panel de Shopify o mediante la API de administración.
- Vuelve a crearlo asegurándote de utilizar la versión de API más reciente soportada por Shopify.
- Si tu app valida la autenticidad mediante la firma HMAC, verifica que estés utilizando la clave secreta (
X-Shopify-Hmac-Sha256) correcta en el código de tu backend.