El análisis de las solicitudes entrantes es un paso fundamental para garantizar la correcta integración de cualquier servicio basado en webhooks. La herramienta Inspector de solicitudes de webhook permite examinar la estructura de estas peticiones, identificar sus encabezados de seguridad y generar comandos de prueba locales de forma inmediata.
Toda la evaluación y el procesamiento de los datos introducidos se realizan directamente en el navegador del usuario. Su solicitud pegada permanece en su navegador. BroBroGo no lo carga ni lo guarda.
Estructura y componentes de una solicitud de webhook
Las llamadas de webhook son peticiones HTTP estándar enviadas por un servicio emisor hacia un servidor de destino. Para comprender su composición, es necesario desglosar la solicitud en tres elementos clave:
- El método HTTP: Define la acción que realiza la petición. Aunque la gran mayoría de los webhooks utilizan el método
POSTpara enviar nuevos eventos, algunas plataformas empleanPUT,PATCH,GEToDELETE. - Los encabezados: Metadatos que viajan junto a la petición. Proporcionan información esencial como el tipo de contenido (
Content-Type) o elementos de seguridad para validar la procedencia del mensaje. - El cuerpo (Body): La carga útil o payload que contiene los datos del evento en sí. Este cuerpo suele presentarse en formato JSON o como datos de formulario codificados en URL.
Para inspeccionar una petición de manera efectiva, es crucial capturar el cuerpo sin formato exacto antes de cualquier análisis del lado del servidor. Las modificaciones automáticas que realizan algunos servidores web al recibir la petición (como el formateo de espacios en blanco o la reordenación de propiedades) pueden alterar el contenido original, lo que impide validar correctamente las firmas de seguridad asociadas.
Formatos de cuerpo admitidos y reglas de análisis
El inspector procesa el cuerpo de la solicitud aplicando reglas específicas según el formato detectado:
- JSON: Si el cuerpo tiene estructura JSON, se analiza mediante la función estándar
JSON.parse. Al realizar este proceso, el contenido se vuelve a ordenar, lo que significa que se perderán el espaciado, los saltos de línea y la disposición original de los campos. Si el contenido tiene trazas de JSON pero contiene errores de sintaxis, la herramienta detendrá el proceso y mostrará el mensaje: El cuerpo parece JSON pero no se pudo analizar.. - Formulario codificado en URL (URL-encoded): Se identifican y decodifican los pares clave-valor. Si la cadena de texto contiene una secuencia de escape de porcentaje mal construida, se generará el error: El cuerpo del formulario contiene un escape de porcentaje incompleto..
- Otros formatos: Cualquier otro tipo de cuerpo que no corresponda a los anteriores se tratará como texto sin formato, sin aplicar reglas de estructuración adicionales. Si no se introduce ningún contenido en este campo, el resultado mostrará (cuerpo vacío).
Identificación de firmas y marcas de tiempo
La seguridad en la recepción de webhooks se basa habitualmente en el uso de firmas criptográficas y marcas de tiempo para evitar ataques de replicación. El inspector analiza los encabezados introducidos buscando patrones de nombres comunes asociados a estos mecanismos, tales como signature, hmac, digest y nomenclaturas habituales de marcas de tiempo (timestamps).
Si se detectan coincidencias, se listarán en la sección de resultados. En caso contrario, se mostrará el mensaje: No se encontró ninguna firma común o encabezado de marca de tiempo de webhook..
Es fundamental comprender la distinción entre la inspección de estos campos y su validación. Encontrar un campo de firma no demuestra que la solicitud sea auténtica; la verificación real requiere las reglas de firma del remitente, el secreto o clave, y los bytes originales de la solicitud. El inspector no calcula códigos HMAC, no ejecuta algoritmos de descifrado, no evalúa ventanas de tiempo de expiración ni realiza verificaciones específicas de proveedores.
Generación de comandos cURL para pruebas locales
Una de las utilidades del inspector es la conversión de la solicitud analizada en un comando cURL ejecutable en la terminal. Esto facilita la replicación exacta de la petición recibida en un entorno de desarrollo local.
El comando generado utiliza una dirección de destino fija orientada a un entorno de desarrollo estándar:
http://localhost:3000/webhooks
Al copiar y ejecutar este comando en su consola local, se enviará una petición idéntica en método, encabezados y cuerpo hacia el puerto local especificado, lo que permite depurar el código de recepción sin necesidad de esperar a que el servicio externo dispare un nuevo evento real.
Límites técnicos y mensajes de error
Para garantizar la estabilidad del navegador durante el procesamiento de los datos, el inspector aplica los siguientes límites estrictos:
| Parámetro | Límite máximo | Mensaje de error asociado |
|---|---|---|
| Presencia de datos | Al menos 1 encabezado o cuerpo | Pegue primero al menos un encabezado o un cuerpo de solicitud. |
| Líneas de encabezado | 200 líneas no vacías | Hay demasiadas líneas de encabezado. Mantenga la solicitud en 200 encabezados o menos. |
| Longitud de encabezados | 100.000 caracteres | Los encabezados son demasiado largos para esta herramienta. Elimine valores no relacionados o repetidos. |
| Formato de encabezado | Estructura Nombre: valor |
‹line›: La línea de encabezado no es válida. Nombre de uso: valor. |
| Longitud del cuerpo | 1.000.000 de caracteres | El cuerpo es demasiado largo para esta herramienta. Manténgalo por debajo de 1.000.000 de caracteres. |
Preguntas frecuentes
¿Esta página puede recibir una devolución de llamada de webhook en vivo?
No. Pegue una solicitud capturada aquí para su inspección. La página no crea un punto final público, no recibe devoluciones de llamada ni envía la solicitud de prueba generada.
¿Qué formatos de cuerpo de webhook puedo inspeccionar?
Los cuerpos de formulario codificados en URL y JSON se detectan y formatean. Otros cuerpos permanecen como texto sin formato, por lo que la herramienta no adivina el contenido XML, multiparte o binario.
¿Encontrar un campo de firma prueba que la solicitud es auténtica?
No. La herramienta solo muestra encabezados de firma y marca de tiempo relacionados. La verificación real necesita las reglas de firma exactas del remitente, la clave pública o secreta y los bytes de solicitud originales.