MockzillaMockzilla

Grabar y ver replays

Actualizado el 29 sept 2026·6 min de lectura

Un replay es una respuesta grabada que se sirve de vuelta a las solicitudes que coinciden: grabas una vez, reproduces para siempre, como un video. La primera llamada que coincide guarda lo que respondió la simulación, generado o traído de un upstream; cada llamada posterior que coincida devuelve esa respuesta guardada, marcada con el encabezado X-Mockzilla-Source: replay. Úsalo para mantener un payload estable entre corridas de tests, para capturar una vez la respuesta de un backend real y después trabajar sin él, o para escribir a mano la respuesta exacta que necesita un flujo.

Cómo se compara una grabación

Cada grabación se archiva bajo una clave armada con el método, el patrón de ruta, y los campos de la solicitud que tú elijas:

  • Los campos del body son rutas JSON con puntos (name, data.address.zip, items[0].sku) o nombres de campos de formulario.
  • Los parámetros de query salen de la query string de la URL.
  • Los parámetros de ruta son los valores {placeholder} de la ruta. Se ignoran salvo que los listes: por defecto /pets/1 y /pets/2 comparten una grabación, y listar petId le da a cada id la suya.
  • Ningún campo significa solo la ruta: cada solicitud al endpoint comparte una única grabación.

Solo importan los campos elegidos; todo lo demás de la solicitud se ignora. Dos solicitudes con los mismos valores en esos campos reciben la misma grabación. Si un campo elegido falta en una solicitud, el replay se saltea esa solicitud entera: no se graba nada y no se reproduce nada.

Grabar sin configurar nada

La vía más rápida no necesita configuración: manda el encabezado X-Mockzilla-Replay. Funciona en cualquier simulación desplegada.

# Primera llamada: graba la respuesta (acá: coincidencia por el campo "name" del body)
curl -X POST "https://api.mockz.io/app/your-org/your-sim/petstore/pets" \
  -H "Content-Type: application/json" \
  -H "X-Mockzilla-Replay: name" \
  -d '{"name": "Rex", "tag": "checkout-flow"}'

# Cada llamada posterior con name=Rex: devuelve exactamente la misma respuesta
curl -X POST "https://api.mockz.io/app/your-org/your-sim/petstore/pets" \
  -H "Content-Type: application/json" \
  -H "X-Mockzilla-Replay: name" \
  -d '{"name": "Rex", "tag": "different-tag-does-not-matter"}'

Mira los encabezados de la respuesta: la primera llamada dice X-Mockzilla-Source: generated (o upstream), la segunda dice X-Mockzilla-Source: replay.

El encabezado nombra los campos por los que comparar. Los nombres sueltos son campos del body; los prefijos eligen otras fuentes, y ; los separa:

# Vacío: usa la clave de coincidencia configurada en la app, o solo la ruta
-H "X-Mockzilla-Replay:"

# Dos campos del body
-H "X-Mockzilla-Replay: biller,reference"

# Campos de body, query y ruta juntos
-H "X-Mockzilla-Replay: body:reference;query:channel;path:paymentMethod"

Configurarlo en la app

La configuración reemplaza al encabezado: los clientes llaman a la simulación como a cualquier otra API y las reglas de grabación viven con la simulación. Abre Replays en la barra lateral y elige un servicio.

La vista Replays de un servicio: ajustes de grabación y la tabla de endpoints
  1. Enciende la grabación. El valor por defecto de la app aplica a todos los servicios; un servicio lo puede sobrescribir. La píldora junto al título dice si la grabación está encendida para lo que estás mirando.
  2. Elige un endpoint y define su clave de coincidencia. La tabla muestra cada endpoint, su clave de coincidencia y cuántas grabaciones tiene. Haz clic en una fila:
El editor de la clave de coincidencia con un campo del body y los ejemplos de encabezado

El editor muestra el encabezado X-Mockzilla-Replay exacto para la clave que armes, listo para copiar. Activar replay acá enciende ese único endpoint; los endpoints sin clave de coincidencia comparten una grabación por ruta.

  1. Replay automático, en los ajustes del servicio, graba y reproduce los endpoints configurados sin ningún encabezado. Enciéndelo cuando no se pueda cambiar el código que llama.
  2. Grabar solo el upstream es para capturar un backend real: las respuestas generadas no se graban y devuelven un 502 en su lugar, así una sesión de grabación no se llena en silencio de datos de mock.
  3. TTL fija cuánto viven las grabaciones del upstream, y cae al valor por defecto de la app, 24 horas.
Las claves de coincidencia, el replay automático y los demás ajustes de acá viajan con el próximo despliegue. Las grabaciones en cambio son en vivo: crea, edita o elimina una y la simulación en marcha sirve el cambio al instante.

Ver y editar las grabaciones

El panel de cada endpoint lista sus grabaciones por sus valores de coincidencia, su estado y su origen: upstream se capturó de un backend real, generated del mock, manual se escribió a mano.

Una grabación abierta para editar: estado, tipo de contenido y cuerpo de la respuesta
  • Edita el estado, el tipo de contenido o el cuerpo y guarda; de ahí en más el runtime sirve la respuesta editada para esa clave. Grabar y después ajustar el payload suele ser más rápido que escribirlo desde cero.
  • Nueva grabación crea una a mano antes de que exista tráfico: define los valores de coincidencia, el estado y el cuerpo, y el endpoint responde con eso desde la primera solicitud.
  • Eliminar grabación borra una clave; Eliminar todas vacía el endpoint.
  • Las grabaciones del upstream expiran con el TTL. Las manuales y las generadas no tienen TTL y se guardan hasta que las elimines.

Una grabación hecha con un encabezado improvisado en una ruta sin endpoint configurado igual aparece acá, agrupada bajo su ruta, así que nada de lo grabado queda invisible.

Las llamadas reproducidas aparecen en el Historial como cualquier otra solicitud; el encabezado de la respuesta es lo que nombra al replay como su origen.

Consulta Historial de solicitudes.

Qué gana cuando se apilan las funciones

Un acierto de replay corta camino temprano: si una grabación coincide, responde ella, antes de la caché y antes de contactar al upstream. Sin grabación que coincida la solicitud sigue como siempre, y a la vuelta la respuesta se captura para la próxima. La inyección de latencia y de errores igual se aplica a la ida, así que un endpoint con replay puede seguir siendo lento o fallar a propósito.

Mover grabaciones entre simulaciones o compartirlas con el equipo tiene su propia página.

Consulta Exportar e importar replays.

¿Te sirvió esta página?