Viste una aplicación realizar una solicitud en el navegador. Funciona. Los datos están en la pestaña Red. Ahora quieres convertir esa misma llamada en un endpoint documentado que puedas guardar, simular y probar, sin volver a escribir manualmente la URL, los encabezados y el cuerpo JSON.
Un archivo HAR cierra la brecha entre el tráfico que puedes inspeccionar y un endpoint reutilizable. El navegador ya registra las solicitudes y respuestas de una sesión: exporta ese registro, impórtalo en Apidog y convierte las llamadas capturadas en endpoints dentro de tu proyecto. Para más contexto sobre flujos de captura, consulta esta guía sobre herramientas de captura de paquetes con Apidog.
Puedes descargar Apidog gratis y seguir estos pasos.
Qué es un archivo HAR y por qué conservar el tráfico capturado
HAR significa HTTP Archive. Un archivo .har tiene formato JSON y registra la interacción entre un navegador y un sitio web: solicitudes, respuestas, encabezados, cuerpos y datos de temporización.
En la práctica, un HAR es una transcripción de una sesión de navegación. Puedes enviarlo como adjunto en un informe de errores o importarlo en una herramienta que interprete su estructura.
Al convertir ese registro en endpoints, obtienes:
- Una solicitud real: URL, parámetros, encabezados y cuerpo enviados por la aplicación.
- Una respuesta real: código de estado y carga útil devuelta por el servidor.
- Una base para documentación: endpoints internos sin documentar que puedes nombrar, agrupar y anotar.
Este enfoque resulta útil cuando heredas un servicio sin una especificación OpenAPI, cuando investigas cómo un widget se comunica con su backend o cuando necesitas reproducir un error con la solicitud exacta que lo provocó.
Paso 1: Captura el HAR en las Herramientas para desarrolladores
La captura se realiza en el navegador. Chrome y Edge comparten las mismas Herramientas para desarrolladores, así que el flujo es equivalente.
Supongamos que necesitas capturar el tráfico de una página de historial de pedidos:
- Abre la página que quieres registrar. Inicia sesión antes si la API necesita una sesión autenticada.
- Abre las Herramientas para desarrolladores:
- Windows/Linux:
F12oCtrl+Shift+I - macOS:
Cmd+Opt+I
- Windows/Linux:
- Abre la pestaña Network o Red.
- Actualiza la página o ejecuta las acciones que quieres capturar. Por ejemplo, cargar el historial podría generar solicitudes a
/api/ordersy/api/orders/{id}. - Haz clic derecho sobre cualquier solicitud y selecciona Save all as HAR with content (Guardar todo como HAR con contenido).
- Guarda el archivo, por ejemplo:
order-history.har
La parte with content es importante: incluye los cuerpos de respuesta. Sin ellos, los endpoints importados tendrán la forma de la solicitud, pero no ejemplos de respuesta.
Puedes validar rápidamente el archivo abriéndolo en un editor de texto. Verás JSON con un array entries; cada entrada contiene objetos request y response.
Una carga de página también captura imágenes, scripts y hojas de estilo. No necesitas filtrarlos en el navegador: puedes excluirlos durante la importación.
Consulta la referencia de Red de Chrome DevTools si necesitas revisar el flujo de exportación.
Paso 2: Importa el HAR en Apidog
Con el archivo .har guardado:
- Abre tu proyecto en Apidog.
- Ve a Settings > Import Data > Manual.
- Selecciona el formato HAR.
- Sube el archivo, por ejemplo
order-history.har.
Antes de confirmar, configura las opciones de importación.
Opción 1: Manejo de BaseURL
Una solicitud capturada contiene una URL completa, por ejemplo:
https://api.shop.example.com/v1/orders/123
Puedes elegir entre:
- Hardcode (Fijar): mantiene la BaseURL en cada endpoint.
-
Remove (Recommended) / Eliminar (Recomendado): elimina el host y conserva una ruta como
/v1/orders/123.
Elige Remove en la mayoría de los casos. Así puedes definir la BaseURL mediante variables de entorno y reutilizar los mismos endpoints en producción, staging o local.
Por ejemplo:
{{baseUrl}}/v1/orders/{orderId}
Consulta cómo gestionar URLs base y migrar APIs a Apidog.
Opción 2: Excluir recursos estáticos
Configura Static Resource como Exclude.
Esto evita importar recursos como:
logo.png
app.js
styles.css
analytics.js
Después del filtro, la lista se concentra en llamadas de API como:
GET /api/orders
GET /api/orders/123
POST /api/orders
Opción 3: Generar un caso de prueba por endpoint
Activa Endpoint Case Generation si quieres que Apidog cree un caso ejecutable para cada endpoint importado.
Esto es útil si tu siguiente paso será probar las solicitudes. Cada caso conserva los valores capturados y puedes ejecutarlo sin reconstruir la llamada manualmente.
Confirma la importación. Apidog leerá el HAR y creará endpoints en tu proyecto.
Un endpoint importado podría verse así:
GET /v1/orders/123
Host: api.shop.example.com
Authorization: Bearer <token-from-capture>
Accept: application/json
Y la respuesta capturada podría ser:
{
"id": 123,
"status": "shipped",
"total": 48.5,
"currency": "USD",
"items": [
{
"sku": "TSHIRT-BLK-M",
"qty": 2,
"price": 19.25
}
],
"createdAt": "2026-07-14T09:31:00Z"
}
Esa respuesta real puede servir como base para una simulación o una aserción de prueba.
Paso 3: Limpia los endpoints generados
La importación HAR es una primera pasada. Dedica unos minutos a convertir las capturas en una API reutilizable.
Elimina el ruido
Aunque excluyas recursos estáticos, puedes encontrar:
- Pings de analítica.
- Health checks.
- Llamadas a servicios de terceros.
- Endpoints que no pertenecen al flujo que estás documentando.
Elimínalos para que el árbol represente tu API real.
Renombra y agrupa endpoints
Una ruta capturada como esta:
/v1/orders/123
es funcional, pero poco descriptiva. Renómbrala, por ejemplo:
Obtener pedido por ID
Después, agrúpala en carpetas como:
Pedidos/
- Listar pedidos
- Obtener pedido por ID
- Crear pedido
Convierte valores literales en parámetros de ruta
Una captura HAR importa /v1/orders/123 como una ruta literal. Si 123 es un identificador, conviértelo en un parámetro:
/v1/orders/{orderId}
Así el endpoint se vuelve reutilizable:
GET /v1/orders/{orderId}
Limpia secretos antes de compartir
Un HAR puede contener tokens bearer, cookies de sesión y otros encabezados sensibles.
Antes de compartir el proyecto:
- Mueve las credenciales a variables de entorno.
- Sustituye valores reales por variables, por ejemplo:
Authorization: Bearer {{accessToken}}
- Elimina secretos de ejemplos y respuestas guardadas.
- No adjuntes archivos HAR en incidencias públicas.
La documentación de Stripe sobre claves aplica el mismo principio: no expongas claves activas en artefactos compartidos.
Verifica los cuerpos de solicitud y respuesta
Si esperabas un cuerpo y aparece vacío, probablemente exportaste el HAR sin contenido.
Vuelve a capturar usando:
Save all as HAR with content
Luego reimporta el archivo.
Cuando los endpoints estén limpios, puedes documentarlos, simular respuestas y crear pruebas. Continúa con la guía para escribir un escenario de prueba en Apidog o consulta cómo generar código cliente con Apidog.
Variaciones y límites
Apidog no tiene un grabador automático de endpoints
Apidog no registra tráfico en vivo en segundo plano como un proxy. El flujo compatible actualmente es:
- Capturar tráfico con las Herramientas para desarrolladores.
- Exportar un archivo HAR.
- Importarlo en Apidog.
- Limpiar los endpoints.
- Crear escenarios de prueba para reproducir las solicitudes.
Es una captura manual seguida de una importación rápida, no un grabador en vivo.
La extensión de navegador es una herramienta distinta
Existe una extensión de navegador de Apidog, pero no sustituye la exportación HAR.
La extensión permite usar funciones de prueba y depuración desde el navegador. Sin embargo, el navegador impone restricciones:
- Bloquea encabezados como
Cookie,Host,OriginyContent-Length. - No envía cuerpos en solicitudes
GEToHEAD. - No accede a servicios locales o bases de datos detrás de tu máquina.
Para capturar tráfico, usa DevTools y exporta un HAR. Para depuración con control completo de encabezados, utiliza el cliente de escritorio de Apidog.
Otros formatos se importan desde la misma pantalla
La pantalla Settings > Import Data > Manual también acepta formatos como OpenAPI, Swagger, Postman, WSDL e Insomnia.
Si ya tienes una especificación, normalmente producirá una importación más limpia que una captura HAR. Consulta:
- Cómo migrar documentación de APIs Swagger a Apidog
- Guía de migración de entornos y colecciones de Postman
Usa HAR cuando no exista una especificación y el tráfico capturado sea tu mejor fuente de verdad.
Automatiza el flujo con la CLI de Apidog
No siempre necesitas importar un HAR desde la interfaz gráfica. La CLI de Apidog permite importar un archivo HAR directamente.
Instala la CLI e inicia sesión:
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
Importa el archivo capturado:
apidog import --project <PROJECT_ID> --format har --file ./capture.har
La opción --format también admite formatos como openapi, postman, wsdl e insomnia.
Una vez que tengas un escenario de prueba guardado, ejecútalo en CI sin interfaz gráfica:
apidog run --access-token $APIDOG_ACCESS_TOKEN \
-t <SCENARIO_ID> -e <ENV_ID> -r cli
Parámetros principales:
-
-t: ID del escenario de prueba. -
-e: ID del entorno. -
-r cli: salida en consola.
Primero crea el escenario con la guía para escribir un escenario de prueba en Apidog. Después, intégralo en tu pipeline con la guía CI/CD de la CLI de Apidog.
Preguntas frecuentes
¿Qué navegadores pueden exportar un HAR?
Chrome y Edge pueden exportar HAR desde la pestaña Network usando Save all as HAR with content. Otros navegadores también ofrecen exportación, aunque el nombre de la opción puede variar.
Mi lista de endpoints importados es enorme. ¿Qué ocurrió?
Probablemente importaste recursos estáticos. Repite la importación con Static Resource configurado como Exclude. También puedes eliminar manualmente endpoints sobrantes.
¿Debo usar “Hardcode” o “Remove” para la BaseURL?
Usa Remove (Recommended) en la mayoría de los casos. Así podrás cambiar de producción a staging o local mediante variables de entorno, sin editar cada endpoint.
Usa Hardcode solo si necesitas que cada endpoint conserve la URL completa.
¿El HAR incluye tokens de autenticación?
Sí. Un HAR registra los encabezados reales enviados durante la sesión, incluidos tokens bearer y cookies activas.
Trátalo como un archivo sensible:
- No lo publiques.
- No lo adjuntes en incidencias públicas.
- Mueve credenciales a variables de entorno después de importarlo.
- Elimina secretos de los ejemplos antes de compartir el proyecto.
¿Puedo importar un HAR desde la línea de comandos?
Sí:
apidog import --project <id> --format har --file <path>
Usa la CLI para importaciones programadas, capturas realizadas en servidores o tareas de CI. Usa la interfaz gráfica cuando quieras ajustar manualmente opciones como BaseURL y filtrado de recursos estáticos.
Después, ejecuta los escenarios de prueba creados a partir de esos endpoints con apidog run.
Conclusión
Un archivo HAR convierte tráfico observable en endpoints reutilizables.
El flujo práctico es:
- Captura la sesión en DevTools usando Save all as HAR with content.
- Importa el archivo desde Settings > Import Data > Manual.
- Selecciona Remove para la BaseURL.
- Configura Static Resource como Exclude.
- Renombra endpoints, añade parámetros de ruta y elimina secretos.
- Documenta, simula y prueba las solicitudes importadas.
¿Listo para convertir tu próxima captura en endpoints? Descarga Apidog y pruébalo gratis.
Top comments (0)