Alojamiento público de mocks

Un mock publicado da a tu equipo un endpoint HTTP antes de que la dependencia real esté lista. Úsalo para desarrollar un frontend, preparar una demostración compartida o probar errores y retrasos de forma deliberada. Echo puede interceptar peticiones en el escritorio o publicar el mock en el servicio público mock.gapfy.io. El mock publicado sigue respondiendo con el escritorio cerrado.

Los mocks en el escritorio interceptan peticiones enviadas por el propio Echo; no abren un servidor HTTP para otra aplicación.

Elige dónde se ejecuta

  • Mocks en el escritorio: mantén las peticiones en tu equipo mientras creas y experimentas. Están incluidos en todos los planes de Echo, incluido el Free.
  • Alojamiento público de mocks: proporciona a otro equipo una URL que pueda llamar directamente. Publicar forma parte de Echo Pro y Pro AI.
  • Dentro de tu aplicación .NET: usa Mock.Client o Mock.Server con reglas obtenidas mediante una clave de aplicación. No necesitas publicar el mock en el servicio público, pero obtener esas reglas requiere el mismo plan de pago.

Publica tu primer mock

  1. Abre Mocks en Maestro y selecciona el espacio de trabajo al que pertenece.
  2. Crea un servidor y añade una ruta con método HTTP, patrón de ruta, estado y respuesta. Elige una respuesta estática o un contrato. También puedes partir de un mock guardado y sincronizado desde el escritorio.
  3. Abre el panel de alojamiento público del servidor y activa la publicación. En Free, el panel muestra que el alojamiento público no está incluido en el plan y no permite activar ni renovar el identificador público. Consulta las opciones actuales en Facturación de Maestro. Con un plan de pago que incluya alojamiento, publicas un mock de tu propio espacio por ser su propietario; publicar un mock de equipo requiere Echo/ManageHosting, permiso concedido por defecto al administrador de la organización.
  4. Copia la URL base exacta que muestra el panel y añade la ruta. El nombre del host por sí solo no es un endpoint de mock.
  5. Llama a la ruta desde la aplicación consumidora y comprueba la respuesta, incluido X-Echo-Mock.

Los contratos permiten generar respuestas estructuradas y conservar versiones. Las respuestas estáticas sirven cuando necesitas un cuerpo exacto.

Límites del alojamiento público

Echo Pro y Pro AI permiten publicar hasta 25 mocks simultáneamente por organización. Es un límite estricto: si ya hay 25 publicados, debes desactivar uno antes de publicar otro. El servicio mide 50 000 peticiones servidas al mes por asiento, pero superar esa cifra no hace que se rechacen peticiones por la medición mensual. Free no permite publicar; sus dos cuotas de alojamiento público son cero.

Por separado, el servicio admite por defecto 300 peticiones por minuto y por mock. Si se supera ese límite operativo, responde 429. No confundas esa protección con la medición mensual.

Prepara una ruta útil

Empieza con una ruta activa y pruébala antes de añadir otras. Por ejemplo, crea GET /orders/{id} con estado 200 y una respuesta JSON. El parámetro de ruta captura el último segmento; una respuesta estática puede usarlo como {{path.id}}. Llama a la URL base copiada de Maestro seguida de /orders/42. El método y la ruta deben coincidir con una ruta activa.

Usa un cuerpo estático para devolver un ejemplo exacto. Elige el modo Contrato para generar datos a partir de una versión de contrato. Los valores de la ruta, los parámetros de consulta, las cabeceras y el cuerpo JSON de la petición pueden aportar datos al contrato. Comprueba el resultado en la vista previa del contrato antes de publicar.

Si el contrato define escenarios, envía X-Echo-Scenario con el nombre del escenario. X-Echo-Seed controla la generación aleatoria con el mismo contrato y las mismas entradas, pero los valores basados en la fecha u hora actual pueden cambiar. El escenario debe existir en el contrato. Un contrato inválido o un escenario desconocido devuelve un error de generación; el servicio no lo sustituye silenciosamente por el cuerpo de ejemplo guardado.

Puedes configurar un retraso para probar los estados de carga y los tiempos de espera de la aplicación consumidora. El servicio limita ese retraso y puede omitirlo si se alcanza su capacidad de retrasos simultáneos. Usa el mock para pruebas funcionales, sin tratar el retraso como una garantía temporal ni el servicio como una herramienta de pruebas de carga.

Reglas de las respuestas

Las respuestas alojadas admiten hasta 2 MiB de contenido UTF-8. El cuerpo de una petición recibida admite hasta 1 MiB. Usa JSON u otro tipo de contenido de datos permitido. HTML y otros contenidos activos requieren autorización explícita en el servidor y se entregan con restricciones de aislamiento en el navegador.

Las cabeceras de respuesta siguen una lista de nombres permitidos. Para tus metadatos de prueba, usa nombres que empiecen por X-Mock-. Cabeceras como Set-Cookie, Location y WWW-Authenticate no se transmiten. El servicio también establece sus propias cabeceras de seguridad. Una llamada HEAD devuelve las cabeceras sin el cuerpo.

Entiende una llamada fallida

Resultado Qué comprobar
404 mock-server-not-found Copia de nuevo la URL pública actual. Comprueba si cambió el identificador o se desactivó el alojamiento.
404 mock-route-not-matched Comprueba el método HTTP, la ruta y si está activa.
429 Reduce la frecuencia de llamadas y respeta Retry-After. Es independiente de la cuota mensual.
502 mock-generation-failed Lee el código y la ruta del diagnóstico y corrige el contrato o escenario elegido.
502 mock-response-too-large o mock-content-type-not-allowed Reduce la respuesta o corrige el tipo de contenido y la opción de contenido activo.
503 Consulta el estado en Maestro y respeta Retry-After. Un mock suspendido y un servicio temporalmente no disponible requieren acciones distintas.

El uso cuenta las respuestas configuradas que se han entregado. Una ruta no encontrada se registra por separado y no entra en la medición mensual de respuestas servidas. Por eso, el número de intentos puede diferir del uso mostrado.

Comparte de forma consciente

Cualquiera que conozca la URL pública puede llamar a sus rutas. No está protegida por una clave de aplicación eck_. Usa datos inventados, evita credenciales en cuerpos y cabeceras y comparte la URL solo con sus destinatarios.

El panel permite desactivar el alojamiento público o cambiar el identificador público y obtener una nueva URL. Tendrás que actualizar los clientes. Los operadores de la plataforma pueden suspender manualmente un mock o aplicar un bloqueo global. La suspensión manual permanece hasta que un operador la retire; un bloqueo global también puede caducar. Actualiza el panel para consultar su estado.

Si la organización pierde el plan de pago después de cualquier periodo de gracia, el mock publicado no se elimina: conserva su URL y su identificador público, pero queda suspendido. Quien llame recibe 503 con el código mock-server-suspended y el encabezado Retry-After; respeta el valor devuelto por el servicio. El motivo registrado en el panel no se muestra al llamador. Cuando vuelve a estar vigente un plan que incluye alojamiento público y se actualizan las reglas, esa suspensión se levanta sola y la misma URL responde sin republicar. Una suspensión manual impuesta por la plataforma requiere que intervenga un operador.

Lleva las reglas a tu aplicación

Aplicaciones y claves explica el scope ServeMocks, usado por las reglas para .NET. Elige esta vía cuando tu aplicación deba servir o interceptar peticiones con reglas de Echo en lugar de llamar a la URL pública. Obtener las reglas también requiere Echo Pro o Pro AI, aunque el mock no esté publicado en el servicio público.