Menú
Entrar / Prueba gratisEntrar

Fix OS: acceso y autenticación

Qué puedes consultar de Fix OS sin credenciales, qué exige iniciar sesión con una cuenta de taller, el cupo de peticiones y los códigos de error.

Las páginas de producto, llms.txt, sitemap.xml y la consulta GET de disponibilidad documentada en OpenAPI son públicas: no requieren tokens ni credenciales. Puedes leerlas con un cliente HTTP y, en las páginas de contenido, solicitar Markdown mediante el encabezado Accept.

Para operar el negocio, el usuario entra a Fix OS con su propia cuenta. Los permisos asignados a cada integrante determinan las acciones disponibles dentro de la aplicación. La documentación pública no sustituye ese acceso ni autoriza a consultar órdenes, clientes, inventario o datos de otros talleres.

Para que otro sistema lea los datos de un taller existe la API pública v1: el dueño crea una llave en Configuración, elige qué puede leer (órdenes, inventario o clientes) y la revoca cuando quiera. Esa llave sólo lee y sólo ve su propio taller. No se publica aquí un flujo OAuth para terceros ni una clave API de escritura. Si necesitas conectar otro sistema, contacta al equipo de Fix OS para definir el alcance y el mecanismo de acceso disponible. No reutilices cookies de otra persona, no pidas su contraseña y no trates las rutas internas de la aplicación como un contrato estable.

Qué responde el contrato público sin credenciales

La consulta abierta es GET /api/estado: devuelve el resumen agregado de disponibilidad que alimenta la página estado, sin datos de ningún taller. Cualquier ruta bajo /api/ que no exista responde 404 en JSON estructurado (application/problem+json), nunca en texto plano, para que un cliente pueda distinguir «no existe» de «falló». Las rutas internas que usa la aplicación exigen sesión iniciada y no forman parte de este contrato público.

Versión del contrato

Cada respuesta del contrato público (/api/estado, /api/v1/* y el manejador de rutas no reconocidas) viaja con la cabecera API-Version. La versión vigente es 1. Puedes fijarla en tu petición enviando API-Version: 1; si pides una versión que no servimos, la respuesta es 400 con el código estable unsupported_api_version en lugar de la versión vigente disfrazada. Omitir la cabecera siempre sirve la vigente, así que una integración existente no se rompe cuando salga una versión nueva.

curl -i -H 'API-Version: 1' https://fixos.mx/api/estado

Errores legibles por máquina

Los errores del contrato público usan application/problem+json (RFC 9457). Traen status, title y detail para una persona o un modelo, y sobre todo code: una clave estable contra la que se puede programar con una comparación exacta, que no cambia aunque se reescriba el mensaje. Hoy se publican not_found, too_many_requests y unsupported_api_version (además de los códigos de llave en /api/v1/*).

Cupo de peticiones

El acceso público sin sesión a GET /api/estado (y a rutas /api/* no reconocidas) admite 60 peticiones por minuto y por IP, mientras que /api/v1/* admite 120 peticiones por minuto por llave (y 180 por minuto por IP antes de autenticar). Cada respuesta de estas rutas del contrato público declara RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset, así que no hace falta adivinar el ritmo ni provocar el bloqueo para descubrirlo. Al agotarlo, la respuesta es 429 con Retry-After en segundos: espera ese tiempo en lugar de reintentar de inmediato.

Formato de lectura

Las páginas de contenido entregan Markdown si lo pides con Accept: text/markdown, y también añadiendo .md a la URL. La respuesta declara Vary: Accept para que una caché compartida no le sirva HTML a quien pidió Markdown. Si no aceptas ninguno de los dos formatos, la respuesta es 406.