Introducción al Error de Webhooks en Shopify
Los webhooks en Shopify son notificaciones automáticas que se envían a servidores externos cuando ocurren eventos específicos en tu tienda, como la creación de un pedido o la actualización de un producto. Cuando estos eventos fallan, las aplicaciones conectadas o sistemas ERP dejan de sincronizarse correctamente, lo que puede causar graves problemas operativos en tu negocio de comercio electrónico.
Principales Causas del Fallo en Webhooks
Identificar el origen del problema es fundamental antes de aplicar cualquier solución técnica. Las causas más comunes incluyen:
- Tiempo de espera agotado (Timeout): El servidor receptor tarda más de 5 segundos en responder con un código HTTP 2xx a Shopify.
- Errores de validación SSL/TLS: El certificado de seguridad del servidor externo ha caducado o no es válido.
- Cambios en la URL del endpoint: La ruta de destino ha cambiado y Shopify sigue enviando las peticiones a la dirección antigua.
- Fallo en la firma HMAC: El sistema receptor no valida correctamente el encabezado
X-Shopify-Hmac-Sha256.
Método 1: Verificar el Estado y los Registros de Eventos en el Panel de Shopify
Shopify registra los intentos de entrega fallidos. Sigue estos pasos para revisarlos:
- Inicia sesión en tu panel de administración de Shopify.
- Dirígete a Configuración y luego haz clic en Notificaciones.
- Desplázate hacia abajo hasta la sección de Webhooks.
- Haz clic en el enlace de Revisar registro de eventos junto al webhook que está fallando.
- Analiza los códigos de estado HTTP devueltos (por ejemplo, errores 404, 500 o 504) para determinar por qué el servidor rechazó o no pudo procesar la solicitud.
Método 2: Probar la Conectividad y el Endpoint con Herramientas Externas
Asegúrate de que tu servidor esté disponible públicamente y responda a las peticiones POST de Shopify:
- Utiliza una herramienta de pruebas de API como
Postmano un servicio de inspección comoWebhook.site. - Configura temporalmente una URL de prueba en la configuración del webhook de tu tienda Shopify.
- Realiza una acción que dispare el evento (por ejemplo, crea un producto de prueba).
- Verifica si la solicitud llega correctamente y asegúrate de que tu servidor responda estrictamente con un código de estado
200 OKen menos de 5 segundos.
Método 3: Validar la Seguridad HMAC y los Permisos del Servidor
Si Shopify envía el webhook pero tu aplicación lo rechaza, el problema suele estar en la validación de seguridad:
- Revisa el código fuente de tu aplicación receptora para asegurarte de que está leyendo correctamente la clave secreta (
Shopify API Secret). - Comprueba que el algoritmo de cifrado HMAC SHA-256 esté implementado correctamente para procesar el cuerpo sin procesar (
raw body) de la petición. - Asegúrate de que el firewall de tu servidor o servicios como Cloudflare no estén bloqueando las direcciones IP salientes desde las cuales Shopify realiza las peticiones.