Documentación de la API — ERProva

Documentación de los endpoints públicos (sin sesión de usuario) de la API. El resto de la API requiere la sesión del panel y no se publica acá porque expone datos de negocio de cada comercio. Especificación completa, en formato OpenAPI 3.1, en /openapi.json.

Estado del servicio

GET /api/health

Sin autenticación. Devuelve { ok, version, fiscalProvider, meliProvider, baseDeDatos }.

Identidad pública del comercio

GET /api/auth/identidad

Sin autenticación. Devuelve el nombre, rubro, colores de marca, domicilio y datos de contacto que el propio comercio ya tiene cargados y públicos en su cartelería — nunca datos sensibles.

Inicio de sesión

POST /api/auth/login
{ "usuario": "...", "clave": "..." }

Devuelve un token de sesión (JWT) para usar como Authorization: Bearer <token> en el resto de la API.

Asistente externo y servidor MCP

Cada comercio puede generar su propia clave desde el panel (Configuración → Asistente) para integrar el asistente con IA desde afuera del panel — ver /developers para el detalle de autenticación.

POST /api/asistente/externo
{ "pregunta": "...", "telefono": "opcional" }
POST /api/mcp   (JSON-RPC 2.0, servidor MCP)

Manifiesto de descubrimiento del servidor MCP: /.well-known/mcp.json.

Versionado

La API se versiona por header, no por URL: toda respuesta bajo /api incluye API-Version (hoy 2.0). Un cambio incompatible sumaría una versión nueva y anunciaría la anterior como deprecada con los headers Deprecation y Sunset (RFC 8594), con al menos 90 días de aviso antes de retirarla.

Errores

Todo error de la API pública devuelve el mismo formato: { "error": "mensaje legible", "codigo": "CODIGO_ESTABLE", "detalle": "opcional" }. El campo codigo es estable (no cambia si se retoca el texto de error) y pensado para que un cliente automatizado actúe sin parsear texto en español — ver el schema Error en /openapi.json.