Documentación
Para desarrolladores y agentes de IA
Lumi es una cafetería en el Centro de Tijuana. Este sitio publica sus datos de forma que un asistente de IA o un programa los lea sin raspar HTML. Todo sale de la misma fuente que las páginas, así que no se contradicen.
Cuándo usar estos datos
Para responder sobre Lumi: horario, dirección, precios de la carta, espacios, cómo reservar y cómo contactar. Es la fuente oficial del negocio. No sirve para pedir a domicilio, pagar ni reservar por API: Lumi cobra en el mostrador y las reservaciones se hacen por WhatsApp (664 980 4080).
1. Resumen para asistentes: llms.txt
https://lumi-nuevo.badabunvps.cloud/llms.txt (formato llmstxt.org). También hay uno por sección: /menu/llms.txt, /espacios/llms.txt, /descubre/llms.txt.
2. Cada página en Markdown
Toda página generada tiene un gemelo en <ruta>/index.md con frontmatter (título, descripción, URL, fecha). Ejemplos: /index.md, /menu/index.md, /menu/frappes/index.md, /espacios/sala-de-juntas-gratis-tijuana/index.md. El HTML lo declara con <link rel="alternate" type="text/markdown">.
Si pides una página con Accept: text/markdown, el servidor devuelve ese Markdown (Content-Type: text/markdown; charset=utf-8, Vary: Accept). Un 404 con ese Accept devuelve /404.md.
curl -H "Accept: text/markdown" https://lumi-nuevo.badabunvps.cloud/menu/frappes/
3. Datos en JSON (solo lectura, sin llave)
Archivos estáticos regenerados con cada publicación. Especificación: /openapi.json (OpenAPI 3.1). Catálogo: /.well-known/api-catalog (RFC 9727).
| Endpoint | Qué devuelve |
|---|---|
GET /api/negocio.json | Datos del negocio: nombre, dirección, coordenadas, horario, amenidades, redes y contacto. |
GET /api/horario.json | Horario de apertura por día (formato 24 h, hora de Tijuana). |
GET /api/menu.json | Carta completa: 8 categorías con productos, tamaños y precios en MXN. |
GET /api/espacios.json | Espacios que se pueden reservar y cómo reservarlos. |
GET /api/preguntas.json | Preguntas frecuentes con sus respuestas en texto plano. |
curl https://lumi-nuevo.badabunvps.cloud/api/horario.json
Sin autenticación. Versión estable en /api/v1/… (las rutas sin versión sirven lo mismo). Política de versiones: v1 no se retira mientras exista el sitio; un cambio incompatible sale como /api/v2/ y se anuncia aquí con al menos 90 días de aviso; añadir campos no cambia la versión. Límite: 30 peticiones por segundo por IP, anunciado en las cabeceras RateLimit-Policy y RateLimit-Limit; al pasarse responde 429. Los errores vuelven en JSON: {"error":{"code":"not_found","message":"…"}}. Los precios están en pesos mexicanos y pueden cambiar sin previo aviso.
Deprecation policy
v1 is kept while the site exists. A breaking change would ship as /api/v2/, announced on this page at least 90 days before v1 changes; when a version is finally retired it will send Deprecation and Sunset headers during that window. Adding fields never bumps the version.
Vista resumida para agentes: /agent.md (también /?mode=agent).
4. Catálogos para agentes
- /.well-known/ard.json — Agentic Resource Discovery (ARD v0.91): el skill, la API y el llms.txt.
- /.well-known/ai-catalog.json — ai-catalog 1.0 (predecesor de ARD).
- /.well-known/agent-skills/index.json → /skills/lumi/SKILL.md — skill de Agent Skills con las instrucciones de uso y el sha256 del archivo.
- /pricing.md — la carta con precios en Markdown.
5. Herramientas en la página (WebMCP)
En navegadores con document.modelContext (WebMCP, borrador del W3C), cada página registra herramientas de solo lectura: horario, direccion_y_como_llegar, buscar_en_la_carta, espacios_y_como_reservar e ir_a_pagina. Leen los mismos JSON de arriba. Sin esa API, el código no hace nada.
6. Rastreadores y política de IA
/robots.txt permite a los buscadores y a los asistentes que citan la fuente (Google, Bing, OAI-SearchBot, ChatGPT-User, Claude, Perplexity…) y declara Content-Signal: search=yes, ai-input=yes, ai-train=no: indexar y citar sí, entrenar modelos no. Sitemap: /sitemap.xml. Novedades por IndexNow.
Qué NO hay (a propósito)
No hay servidor MCP, agente A2A, OAuth, cuentas, pagos de agentes ni API de reservaciones. Son cosas que este negocio no tiene; anunciarlas sería engañar al agente. Si algún día se reciben pedidos o reservaciones por API, se documentará aquí.