{
  "openapi": "3.0.3",
  "info": {
    "title": "JCB Soluciones API & Service Interface",
    "description": "Especificación de interfaces, servicios de cotización y recursos de descubrimiento máquina-legibles de JCB Soluciones.",
    "version": "1.0.0",
    "contact": {
      "name": "JCB Soluciones",
      "url": "https://jcbsoluciones.dev/",
      "email": "contacto@jcbsoluciones.dev"
    }
  },
  "servers": [
    {
      "url": "https://jcbsoluciones.dev",
      "description": "Servidor de Producción Principal"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "summary": "Página Principal & Directorio de Servicios",
        "description": "Obtiene la página corporativa con información sobre desarrollo web, aplicaciones a medida y portafolio de proyectos.",
        "responses": {
          "200": {
            "description": "HTML principal o versión Markdown cuando se solicita con Accept: text/markdown.",
            "content": {
              "text/html": {},
              "text/markdown": {}
            }
          }
        }
      }
    },
    "/.well-known/api-catalog": {
      "get": {
        "summary": "Catálogo de APIs RFC 9727",
        "description": "Retorna el Linkset JSON con las relaciones de descubrimiento de APIs y servicios.",
        "responses": {
          "200": {
            "description": "Catálogo de APIs en formato Linkset",
            "content": {
              "application/linkset+json": {}
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Resumen Estructurado para LLMs (llmstxt.org)",
        "description": "Documento conciso de resumen para modelos de lenguaje y agentes de IA.",
        "responses": {
          "200": {
            "description": "Texto Markdown conciso",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Contenido Completo en Markdown para LLMs",
        "description": "Representación integral en Markdown de todo el contenido del sitio.",
        "responses": {
          "200": {
            "description": "Texto Markdown completo",
            "content": {
              "text/plain": {}
            }
          }
        }
      }
    },
    "/api/cotizacion": {
      "post": {
        "summary": "Solicitud de Cotización de Proyecto",
        "description": "Envía un requerimiento de cotización para páginas web o aplicaciones a medida.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["nombre", "correo", "mensaje"],
                "properties": {
                  "nombre": {
                    "type": "string",
                    "example": "Juan Pérez"
                  },
                  "correo": {
                    "type": "string",
                    "format": "email",
                    "example": "juan@empresa.com"
                  },
                  "tipo_proyecto": {
                    "type": "string",
                    "enum": ["Página Web", "Aplicación Web / CRM", "E-Commerce", "Otro"],
                    "example": "Aplicación Web / CRM"
                  },
                  "mensaje": {
                    "type": "string",
                    "example": "Necesito un sistema web para gestionar inventarios y vendedores."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Solicitud de cotización recibida con éxito"
          }
        }
      }
    }
  }
}
