Saltar al contenido
Inicio · Para desarrolladores y agentes

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).

EndpointQué devuelve
GET /api/negocio.jsonDatos del negocio: nombre, dirección, coordenadas, horario, amenidades, redes y contacto.
GET /api/horario.jsonHorario de apertura por día (formato 24 h, hora de Tijuana).
GET /api/menu.jsonCarta completa: 8 categorías con productos, tamaños y precios en MXN.
GET /api/espacios.jsonEspacios que se pueden reservar y cómo reservarlos.
GET /api/preguntas.jsonPreguntas 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

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í.