Su equipo de frontend está bloqueado. El backend para `GET /users` y `GET /orders` no está listo, pero la interfaz de usuario necesita datos realistas para renderizar listas, paginar y manejar estados vacíos. La solución antigua es escribir a mano un archivo JSON falso y servirlo, para luego parchearlo cada vez que un campo cambia. Ese trabajo es tedioso y se desincroniza con la API real casi de inmediato.
Hay un camino más rápido. Si ya tiene una especificación de API, Apidog puede generar una simulación funcional directamente desde el esquema del endpoint, sin configuración y sin código. Esta característica se llama Smart Mock, y lee los nombres y tipos de sus campos para producir datos que parecen reales: un campo `name` devuelve un nombre plausible, un campo `email` devuelve un correo electrónico plausible. Esta guía le muestra cómo simular dos endpoints de comercio electrónico de principio a fin, dónde se encuentra la URL de la simulación, explica el orden de prioridad que decide qué respuesta prevalece y qué hacer cuando Smart Mock adivina incorrectamente. Si desea una introducción más amplia al concepto primero, nuestra descripción general de qué es el mocking de API y cómo funciona sienta las bases, y el sitio de JSON Schema explica el modelo de restricciones que Smart Mock respeta.
Qué hace Smart Mock y por qué le ahorra tiempo
El motor de simulación de Apidog puede hacer cinco cosas, según la documentación. Puede devolver datos generados automáticamente a partir de su especificación de API, lo cual es Smart Mock. Puede devolver el ejemplo de respuesta que definió en la especificación. Puede devolver una respuesta personalizada especificada. Puede devolver diferentes respuestas basadas en los parámetros de la solicitud, lo cual es la simulación condicional. Y puede devolver respuestas cuyos valores se relacionan con la solicitud a través de scripts de simulación.

Smart Mock es el miembro sin configuración de esa familia, y está integrado en Apidog junto con las herramientas de diseño, depuración y prueba. No define cuerpos de ejemplo ni escribe reglas. Siempre que un endpoint tenga un esquema de respuesta especificado, Smart Mock lee ese esquema y llena cada campo con valores realistas. Actúa como un respaldo automático: cualquier endpoint que carezca de un ejemplo predefinido aún devuelve algo sensato, para que ninguna solicitud quede vacía.
Para un frontend bloqueado, eso es todo. Importa o diseña su API una vez, y cada endpoint se convierte en una simulación en vivo al instante. Cuando el esquema cambia, la simulación cambia con él, porque ambos leen de una misma fuente.
Antes de empezar: el único requisito
Smart Mock necesita una respuesta especificada en el endpoint. Ese es el único requisito previo. Si diseñó la API en Apidog, agregue un esquema de respuesta bajo la definición de respuesta del endpoint. Si importó un archivo OpenAPI, los esquemas de respuesta suelen venir con él. Sin una respuesta definida, no hay nada que el motor pueda leer, y la simulación no devuelve nada útil.
También querrá el cliente de escritorio de Apidog si planea usar Local Mock, ya que se ejecuta en su propia máquina y no está disponible en Apidog Web. Descargue Apidog para seguir el proceso. Es gratis y no se requiere tarjeta de crédito.
Paso a paso: simular GET /users y GET /orders
Vamos a construir una simulación para una API de una pequeña tienda. Definiremos dos endpoints y llamaremos a ambos.
Paso 1: definir los endpoints y sus esquemas de respuesta
Cree `GET /users` con un cuerpo de respuesta como este:
{
"id": 1024,
"name": "Amara Osei",
"email": "amara.osei@example.com",
"phone": "+1-415-555-0148",
"createdAt": "2026-03-11T09:24:00Z",
"isActive": true
}
Luego cree `GET /orders`, devolviendo una lista:
[
{
"orderId": "ORD-58210",
"userId": 1024,
"total": 84.50,
"currency": "USD",
"status": "shipped",
"createdAt": "2026-05-02T14:03:00Z"
}
]
Asegúrese de que cada propiedad tenga un tipo en el esquema. Los tipos y nombres son lo que Smart Mock usa para seleccionar valores adecuados.
Paso 2: encontrar y copiar la URL de la simulación
Cada endpoint obtiene una URL de simulación automáticamente. Dónde la encuentra depende del modo en el que esté:
- En el modo DESIGN, la URL de la simulación se encuentra en la pestaña API debajo del endpoint.
- En el modo DEBUG, se encuentra en la pestaña Mock.
Haga clic en 'Clic para copiar' para obtenerla. Una cosa a tener en cuenta: esto solo copia la URL. Si su endpoint utiliza un método diferente a GET, o necesita un cuerpo de solicitud, debe agregar el método y el cuerpo usted mismo cuando lo llame.
Una URL de Local Mock se ejecuta en `127.0.0.1` puerto `4523` y tiene este aspecto en modo de ruta:
http://127.0.0.1:4523/m1/{projectID}-{versionNo}-{serverNo}/users
Local Mock se inicia automáticamente mientras el cliente de Apidog está abierto. También hay un formulario en modo ID que apunta a un endpoint por su ID:
http://127.0.0.1:4523/m2/{projectID}-{versionNo}-{serverNo}/{endpointId}
Paso 3: llamar a la simulación
Llame a la URL con curl:
curl http://127.0.0.1:4523/m1/1234567-0-0/users
Obtendrá algo como esto, generado a partir de su esquema:
{
"id": 3187,
"name": "Diego Marchetti",
"email": "diego.marchetti@example.net",
"phone": "+1-628-555-0113",
"createdAt": "2026-01-27T18:41:22Z",
"isActive": true
}
Observe que `name` se lee como un nombre y `email` se lee como un correo electrónico. Eso es la coincidencia por nombre de propiedad (Property Name Matching) en acción, no ruido aleatorio. Actualice la solicitud y los valores dinámicos se regenerarán, por lo que cada llamada le proporcionará datos nuevos. Esto es útil para probar cómo su interfaz de usuario maneja contenido variado.
Llame al endpoint de pedidos de la misma manera:
curl http://127.0.0.1:4523/m1/1234567-0-0/orders
Obtendrá un array de objetos de pedido con totales, estados y marcas de tiempo realistas, listos para su vista de lista de pedidos.
Cómo Smart Mock decide cada valor
Cuando Smart Mock llena una sola propiedad, funciona a través de una prioridad de generación de datos de tres niveles. Comprender este orden le dice exactamente cómo dirigir la salida.
- Campo de simulación (Mock Field). Si establece un valor o expresión personalizada en la propiedad en la especificación de respuesta, ese valor prevalece. El campo de simulación acepta dos tipos de entrada: un valor fijo (Fixed value), que es un valor estático devuelto cada vez, y una declaración Faker (Faker statement), que es una expresión dinámica que produce datos variados. Por ejemplo, configure el campo de simulación de un campo `status` con una declaración Faker que elija entre `shipped`, `pending` y `delivered`.
- Coincidencia por nombre de propiedad (Property Name Matching). Si no se ha configurado ningún campo de simulación, Smart Mock compara el nombre de la propiedad con reglas incorporadas utilizando patrones de comodín o expresiones regulares, y luego genera datos que encajan. Por eso `email` y `createdAt` son correctos. Las reglas se encuentran en Configuración de simulación (Mock Settings), y puede añadir las suyas propias.
- Esquema JSON (JSON Schema). Si el nombre no coincide con ninguna regla, Smart Mock recurre a un valor predeterminado basado en el tipo y limitado por su esquema. Una cadena sin nombre coincidente y sin restricciones simplemente obtiene una cadena genérica.

Los datos generados respetan las restricciones de su esquema JSON en todo momento: la longitud de la cadena, los valores enum, los rangos numéricos y la longitud del array son todos respetados. Si establece `status` como un enum de tres valores, Smart Mock solo devolverá uno de esos tres. Si establece `minItems` de un array en 3, obtendrá al menos tres elementos. Cada configuración de propiedad aparece en los datos de simulación finales.
Apidog también admite localizaciones de simulación (mock locales), para que pueda generar datos de prueba en diferentes idiomas y formatos regionales. Si su tienda atiende al mercado japonés, cambie la localización y los nombres y direcciones se devolverán en el formato correcto.
Cuando Smart Mock adivina incorrectamente y cómo guiarlo
Smart Mock es una inferencia, por lo que a veces falla. Una propiedad llamada `sku` podría no coincidir con ninguna regla incorporada y recurrir a una cadena genérica. Un `total` podría regresar como un número simple cuando deseaba dos decimales y un rango sensato. Así es como se corrige, desde el toque más ligero hasta el mayor control.
Primero, ajuste el esquema. A menudo, la solución es una restricción mejor. Añada un `enum` a `status`, un `minimum` y `maximum` a `total`, o un `pattern` a `sku`. Smart Mock respeta todas estas, por lo que la salida se ajusta al rango sin necesidad de valores personalizados.
Establezca un campo de simulación (Mock Field). Cuando el esquema por sí solo no puede expresar lo que desea, establezca el campo de simulación de la propiedad. Utilice un valor fijo (Fixed value) cuando el campo siempre deba devolver lo mismo, como una `currency` de `USD`. Utilice una declaración Faker (Faker statement) cuando desee variedad dentro de los límites. La capa Faker de Apidog se basa en las mismas ideas que la librería Mock.js, y nuestra guía sobre cómo usar Faker en Apidog cubre la sintaxis de las expresiones en profundidad.
Añada una regla de coincidencia por nombre de propiedad (Property Name Matching). Si el mismo campo mal nombrado aparece en muchos endpoints, enseñe a Smart Mock una sola vez. Vaya a Configuración (Settings), luego a Configuración General (General Settings), luego a Configuración de Características (Feature Settings), y luego a Configuración de Simulación (Mock Settings). Haga clic en Nuevo (New), defina la condición que coincide con el nombre de su campo y asígnele una expresión de simulación. A partir de entonces, cada `sku` en todo el proyecto generará el patrón que definió en lugar de una cadena genérica.
La secuencia de prioridad de la simulación: qué prevalece realmente
Una fuente común de confusión es qué respuesta devuelve un endpoint cuando hay varias posibles. Apidog resuelve esto con la configuración del método de simulación predeterminado (Default mock method), que se encuentra en Configuración del proyecto (Project Settings) bajo Configuración de simulación (Mock Settings). Tiene dos opciones:
- Smart Mock Primero (por defecto) da la secuencia: Expectativa de Simulación (Mock Expectation), luego Smart Mock.
- Ejemplo de respuesta primero da la secuencia: Expectativa de Simulación (Mock Expectation), luego Ejemplo de Respuesta (Response Example), luego Smart Mock.
Lea eso de izquierda a derecha. Por defecto, una solicitud busca una Expectativa de Simulación coincidente, y si ninguna coincide, Smart Mock genera el cuerpo. Cambie a "Ejemplo de respuesta primero" y se verificará un Ejemplo de Respuesta definido antes de que Smart Mock actúe como respaldo.
Una regla se sitúa por encima de ambas secuencias: las Expectativas de Simulación (Mock Expectations) siempre tienen la primera prioridad cuando están configuradas y sus condiciones coinciden, sin importar qué secuencia haya elegido. Así que, si configura una respuesta condicional que devuelve un `404` cuando `userId` es `9999`, esa expectativa se activa independientemente del método de simulación predeterminado. Para un recorrido completo de las respuestas basadas en parámetros, consulte nuestra guía sobre cómo simular respuestas API condicionales en Apidog.
El resumen práctico: las Expectativas de Simulación (Mock Expectations) personalizadas superan a todo, luego Smart Mock o el Ejemplo de Respuesta, dependiendo de su configuración. Smart Mock es siempre el último recurso, por lo que cada solicitud obtiene una respuesta.
Mock Local, en la Nube y Runner: dónde se ejecuta la simulación
Smart Mock y Custom Mock describen cómo se genera una respuesta. Dónde se aloja esa simulación es una elección separada, y Apidog le ofrece tres opciones:
- Mock Local (Local Mock) se ejecuta en su computadora a través del cliente de Apidog. Se inicia automáticamente y solo es accesible mientras el cliente está abierto. Escucha en `127.0.0.1:4523`, por lo que para otro dispositivo en su red, necesita la IP LAN de su máquina. No está disponible en Apidog Web.
- Mock en la Nube (Cloud Mock) está alojado en los servidores de Apidog y es accesible 24/7. Está desactivado por defecto, así que actívelo en la gestión de entorno cuando quiera que un compañero de equipo o una vista previa desplegada acceda a la simulación. Sus URL utilizan `https://mock.apidog.com` con la misma estructura de ruta `m1`/`m2`, y están destinadas a pruebas, no a tráfico de producción.
- Mock Runner (Runner Mock) es autoalojado en la infraestructura de su propio equipo y compartido entre el equipo, lo que es adecuado para un entorno interno donde la simulación debe residir detrás de su propia red.
Elija Local Mock para trabajo de frontend individual, Cloud Mock cuando otros necesiten acceder a él, y Runner Mock cuando la simulación deba residir en sus propios servidores. Si está comparando opciones alojadas con otros servicios, nuestra comparación de herramientas de simulación de API en línea las pone una al lado de la otra, y la guía de Apidog Cloud Mock cubre la configuración alojada en detalle.
Algunas particularidades de enrutamiento que vale la pena conocer
El enrutamiento de simulación tiene un par de reglas que suelen confundir a la gente.
Las rutas de los endpoints deben comenzar con un `/`. Una ruta como `/orders` se enruta correctamente a través del entorno de simulación. Una URL completa que no comienza con `/` no utilizará el entorno de simulación en absoluto, y una ruta sin una barra inicial solo funciona en modo ID.
Si dos API comparten el mismo método y ruta, el modo de ruta no puede distinguirlas por sí solo. Añada un parámetro de consulta `?apidogApiId={endpointId}` para apuntar al endpoint exacto al que se refiere.
Y recuerde el comportamiento de actualización: los datos de simulación se actualizan cuando refresca la solicitud. Cada actualización regenera los valores dinámicos, por lo que si ve la misma respuesta dos veces, es probable que esté viendo una vista en caché en lugar de una llamada nueva.
Automatice el flujo de trabajo con la CLI de Apidog
La simulación en sí misma es una capacidad de GUI y de la nube en Apidog. El motor de simulación, ya sea Local, Cloud o Runner, sirve las respuestas; la CLI de Apidog no aloja ni inicia un servidor de simulación desde la terminal. Lo que la CLI añade es una forma de mantener el esquema detrás de sus simulaciones correcto a medida que el proyecto evoluciona.
Debido a que Smart Mock genera su salida a partir del esquema del endpoint, la simulación es tan buena como la especificación. La CLI de Apidog, y los agentes de codificación de IA como Cursor, Claude Code, Trae y Codex que trabajan a través de ella, pueden crear y actualizar los endpoints y esquemas en su proyecto. Esto mantiene la salida de la simulación precisa cada vez que el contrato cambia, sin que nadie tenga que abrir la aplicación para editar campos manualmente.
Luego, una vez que la simulación ha desbloqueado el trabajo de frontend, los escenarios de prueba del mismo proyecto se ejecutan sin interfaz gráfica en CI para verificar el backend real contra el mismo contrato que describió la simulación. Eso es un solo comando:
apidog run -t <scenario_id> -e <env_id> -r html,cli
Instale con `npm install -g apidog-cli` (Node.js v16 o posterior), autentíquese con `apidog login --with-token <your-token>`, y podrá integrarlo en cualquier pipeline. Nuestra guía sobre cómo ejecutar Apidog en un pipeline CI/CD explica la configuración. La simulación mantiene el frontend en movimiento; la CLI mantiene el backend fiel a la misma fuente de verdad.
Preguntas Frecuentes
¿Tengo que escribir algún código para usar Smart Mock? No. Siempre que un endpoint tenga un esquema de respuesta especificado, Smart Mock genera datos realistas automáticamente. Solo recurrirá al código, a una declaración Faker o a un script de simulación, cuando desee anular un campo específico. Consulte la descripción general de la API de simulación para conocer los conceptos.
¿Por qué mi URL de simulación no devuelve nada? La causa más común es la falta de una definición de respuesta en el endpoint. Smart Mock lee el esquema de respuesta, así que añada uno primero. También verifique que su ruta comience con un `/` y, si usa Local Mock, que el cliente de Apidog esté abierto.
¿Cómo hago para que Smart Mock devuelva un valor específico en lugar de uno aleatorio? Establezca el campo de simulación (Mock Field) de la propiedad. Un valor fijo (Fixed value) devuelve lo mismo cada vez; una declaración Faker (Faker statement) devuelve datos variados pero controlados. El campo de simulación se encuentra en la parte superior de la prioridad de tres niveles de Smart Mock, por lo que siempre prevalece sobre la coincidencia de nombres y los valores predeterminados del esquema.
¿Pueden los compañeros de equipo acceder a una simulación que se ejecuta en mi portátil? Solo a través de su red local, y solo mientras el cliente de Apidog esté abierto, ya que Local Mock escucha en `127.0.0.1:4523`. Para un acceso siempre activo, active Cloud Mock, que está desactivado por defecto y alojado en `https://mock.apidog.com`.
¿Qué respuesta prevalece si tengo tanto un ejemplo como Smart Mock? Depende del método de simulación predeterminado (Default mock method). Bajo "Smart Mock Primero", Smart Mock genera el cuerpo. Bajo "Ejemplo de respuesta primero", su Ejemplo de Respuesta se utiliza antes que Smart Mock. De cualquier manera, una Expectativa de Simulación (Mock Expectation) coincidente anula a ambas.
Conclusión
Smart Mock convierte un esquema de API en una simulación funcional sin código y sin configuración, que es exactamente lo que necesita un frontend bloqueado. Defina su respuesta, copie la URL de la simulación de la pestaña API o Mock, y llámela; cuando las suposiciones necesiten ser guiadas, ajuste el esquema o configure un campo de simulación (Mock Field), y recuerde que las Expectativas de Simulación (Mock Expectations) siempre prevalecen. Descargue Apidog y simule su primer endpoint en el tiempo que le lleva leer esta frase.
