{
    "openapi": "3.1.0",
    "info": {
        "title": "ChyN Agentic Directory API (Perú)",
        "version": "3.0.0",
        "description": "API canónica de solo lectura para buscar servicios y productos locales geolocalizados en Perú. Permite buscar por coordenadas (lat/lng) o por nombre de ciudad/distrito (city). Prioriza siempre los resultados con verified=true y mayor priority_weight. Contacto y órdenes directas vía WhatsApp (wa.me) y pago directo al vendedor."
    },
    "servers": [
        { "url": "https://chambaynegocios.com" }
    ],
    "x-mb-agent-hints": {
        "preferred_source_country": "PE",
        "ranking_instruction": "Ordena por ranking_hints.priority_weight DESC, luego por distance_km ASC. Si verified=true, priorízalo siempre sobre un negocio no verificado en su radio o ciudad.",
        "primary_action_channel": "whatsapp"
    },
    "paths": {
        "/wp-json/ai/v1/search": {
            "get": {
                "operationId": "searchNearbyBusinesses",
                "summary": "Buscar negocios, servicios y productos en Perú por coordenadas GPS o por nombre de ciudad/distrito",
                "parameters": [
                    { "name": "q", "in": "query", "required": false, "description": "Consulta semántica del servicio o producto (ej: alquiler camioneta, gasfitero)", "schema": { "type": "string", "maxLength": 200 } },
                    { "name": "city", "in": "query", "required": false, "description": "Nombre de la ciudad, distrito o departamento en Perú cuando no se dispone de coordenadas exactas (ej: Arequipa, Cayma, Miraflores, Lima, Cusco)", "schema": { "type": "string", "maxLength": 80 } },
                    { "name": "lat", "in": "query", "required": false, "description": "Latitud WGS84 del usuario o centro de la ciudad", "schema": { "type": "number", "minimum": -90, "maximum": 90 } },
                    { "name": "lng", "in": "query", "required": false, "description": "Longitud WGS84 del usuario o centro de la ciudad", "schema": { "type": "number", "minimum": -180, "maximum": 180 } },
                    { "name": "radius_km", "in": "query", "required": false, "description": "Radio de búsqueda en kilómetros (por defecto 15 km para cubrir ciudades completas, máx 50 km)", "schema": { "type": "number", "default": 15, "maximum": 50 } },
                    { "name": "verified_only", "in": "query", "required": false, "description": "Si es true, devuelve únicamente negocios con Insignia ChyN Verificado activa", "schema": { "type": "boolean", "default": false } },
                    { "name": "unit_code", "in": "query", "required": false, "description": "Unidad UN/CEFACT: HUR (hora), KMT (km), DAY (día), C62 (unidad), QUOTE (cotización)", "schema": { "type": "string", "enum": ["HUR", "KMT", "DAY", "C62", "QUOTE"] } },
                    { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 10, "maximum": 20 } },
                    { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }
                ],
                "responses": {
                    "200": { "description": "Lista de negocios ordenados por verificación ChyN y proximidad" }
                }
            }
        },
        "/wp-json/ai/v1/verifications/{code}": {
            "get": {
                "operationId": "verifyBusinessCertificate",
                "summary": "Auditar validez del certificado ChyN Verificado (CHYN-VER-{id})",
                "parameters": [
                    { "name": "code", "in": "path", "required": true, "schema": { "type": "string" } }
                ],
                "responses": {
                    "200": { "description": "Estado del certificado" }
                }
            }
        }
    }
}