Decoy
Decoy es un servidor mock nativo de macOS para simular APIs y webhooks localmente: define endpoints, inspecciona solicitudes y devuelve respuestas configurables.
¿Qué es Decoy?
Decoy es un servidor mock nativo de macOS para desarrolladores que necesitan simular endpoints HTTP y comportamiento de webhooks localmente. Te permite definir rutas, inspeccionar solicitudes entrantes y devolver respuestas mock controladas para probar wrappers de API, manejo de solicitudes, redirecciones y modos de fallo sin levantar servicios externos.
El propósito principal de Decoy es la prueba local y bajo demanda: apuntas tu cliente al dominio y puerto local de Decoy, observas cada solicitud al llegar y ajustas las respuestas de los endpoints para que tu código se ejecute contra los escenarios que elijas.
Características principales
- App nativa de macOS con inicio instantáneo: Se ejecuta como una aplicación SwiftUI y arranca rápidamente sin requerir Docker, túneles en la nube ni pasos de configuración.
- Controles de endpoints y solicitudes/respuestas: Define pares de método + ruta, agrupados en proyectos, luego elige códigos de estado de respuesta, tipo de cuerpo, cabeceras y retraso opcional.
- Inspección en vivo de solicitudes: Cada solicitud entrante se muestra con cabeceras, cuerpo, IP de origen, marcas de tiempo e identificadores de solicitud (UUID). Los cuerpos JSON se formatean automáticamente.
- Rutas y proyectos parametrizados: Soporta parámetros de ruta (p. ej.,
/users/:idcoincide con/users/42) y organiza endpoints en proyectos. - Formatos de respuesta para escenarios web comunes: Elige entre texto plano, JSON, HTML, XML, archivo, vacío o redirección; configura cabeceras Location automáticamente para redirecciones.
- Soporte para navegadores y CORS: Las solicitudes basadas en navegador "funcionan directamente", con cabeceras CORS añadidas automáticamente. Se soportan códigos de estado de redirección (301, 302, 307, 308).
- Instantáneas y exportaciones de solicitudes/respuestas: Ve lo que se envió realmente para cada solicitud y exporta solicitudes como cURL, JavaScript fetch o Ruby.
- Registro duradero de solicitudes vía SQLite: Las solicitudes se escriben en SQLite inmediatamente para que los datos no se pierdan si la app se cierra inesperadamente.
Cómo usar Decoy
- Instala Decoy desde la Mac App Store, luego lanza la app en macOS 14 Sonoma o posterior.
- Crea o selecciona un proyecto, luego define endpoints usando un par de método y ruta.
- Configura la respuesta mock de cada endpoint: establece un código de estado, elige un tipo de cuerpo (incluyendo JSON, HTML, XML o archivo), añade cabeceras y opcionalmente un retraso.
- Apunta tu app o herramienta de prueba al dominio y puerto local de Decoy (decoy.my:8998 se menciona en la descripción del producto).
- Envía solicitudes desde tu cliente o navegador. Decoy mostrará los detalles de cada solicitud entrante y aplicará cambios de respuesta en la siguiente solicitud.
Casos de uso
- Pruebas de manejo de webhooks y casos límite: Envía solicitudes de webhook a Decoy para confirmar cómo tu código procesa diferentes códigos de estado, cuerpos de respuesta, cabeceras y latencia simulada.
- Verificación de lógica de wrappers de API: Ejecuta un cliente de API contra endpoints mock que controlas, ajustando payloads de respuesta y cabeceras mientras observas cada solicitud entrante.
- Reproducción de comportamiento de redirección: Configura endpoints para devolver redirecciones (con la cabecera Location adecuada) y prueba cómo tu aplicación los sigue o reacciona a 301/302/307/308.
- Servir contenido estático durante el desarrollo: Usa respuestas de archivo para servir imágenes, PDFs u otros archivos directamente, o páginas HTML completas estableciendo el tipo de cuerpo en HTML.
- Captura y reutilización de interacciones reales de solicitud/respuesta: Usa instantáneas de solicitudes y exporta equivalentes generados en cURL o fetch/Ruby para reproducir problemas o compartir ejemplos.
Preguntas frecuentes
¿Decoy requiere Docker, túneles en la nube o archivos de configuración?
No. La descripción del producto indica que funciona sin Docker, túneles en la nube ni archivos de configuración.
¿Qué plataformas y versiones están soportadas?
Decoy requiere macOS 14 Sonoma o posterior.
¿Cómo se aplican los cambios a las respuestas mock?
Las ediciones (como actualizar JSON, cabeceras o códigos de estado) surten efecto en la siguiente solicitud entrante.
¿Puede Decoy manejar solicitudes de navegador y CORS?
Sí. Se soportan solicitudes basadas en navegador y se añaden cabeceras CORS automáticamente.
¿Dónde se almacena el dato de las solicitudes?
Las solicitudes se escriben en SQLite inmediatamente, y la descripción del producto indica que nada se pierde si la app se cierra inesperadamente.
Alternativas
- Servidores mock HTTP locales (herramientas genéricas): Las herramientas de esta categoría también proporcionan endpoints locales y respuestas controlables, normalmente mediante archivos de configuración o contenedores; el enfoque de Decoy es una interfaz nativa de macOS sin Docker.
- Plataformas dedicadas de mocking de API (servicios alojados): Estas pueden simular endpoints a través de la red, pero suelen requerir configuración y despliegue externos en lugar de ejecutar un servidor mock local.
- Bibliotecas de stubbing de solicitudes/respuestas o frameworks de pruebas: Algunos equipos usan stubs basados en código dentro de su suite de pruebas; esto difiere del servidor local independiente de Decoy con interfaz para inspeccionar solicitudes y editar respuestas.
- Herramientas de pruebas de API con soporte para mocking: Algunos clientes interactivos de API admiten mocking o simulaciones locales; los flujos de trabajo pueden diferir, especialmente en inspección dedicada de solicitudes, proyectos y funciones de instantáneas/exportación de respuestas.
Alternativas
Falconer
Falconer es una plataforma de conocimiento autoactualizable para equipos ágiles: escribe, comparte y encuentra documentación interna y contexto de código en un solo lugar.
OpenFlags
OpenFlags es un sistema de feature flags open source y autohospedado con control plane y SDKs para evaluaciones locales y rollouts progresivos.
skills-janitor
skills-janitor audita y registra el uso de tus habilidades de Claude Code, comparándolas con 9 acciones de slash y sin dependencias.
Rectify
Rectify es una plataforma de operaciones todo en uno para SaaS: supervisión, analíticas, soporte, roadmaps, changelogs y gestión de agentes en un espacio visual.
GitBoard
GitBoard es una app nativa de la barra de menús en macOS para GitHub Projects: ve tu kanban, filtra por estado, busca issues y crea/asigna.
Studio CLI
Controla las funciones de WordPress Studio desde la terminal con Studio CLI: gestiona sitios locales y crea/actualiza/elimina previsualizaciones en WordPress.com.