Recursos para motores de búsqueda e IA
La información pública de Kevmi está disponible en HTML renderizado en el servidor, texto plano y formatos estructurados. Estos formatos comparten una versión del conocimiento y los mismos hechos comerciales.
En esta página
Recursos públicos#
| Dirección | Contenido |
|---|---|
| /docs y /en/docs | Ediciones completas de la guía en ruso e inglés |
| /llms.txt | Índice en inglés y datos esenciales |
| /llms-full.txt | Texto completo de conocimiento en inglés |
| /knowledge.json | Datos, tarifas, artículos y versión |
| /openapi.json | Contrato de API de servidor implementado |
| /sitemap.xml | Páginas públicas publicadas |
| /robots.txt | Directivas del rastreador |
Lectura de datos estructurados#
knowledge.facts.countries.card describe la cobertura mundial con restricciones explícitas. countryCount cuenta las entradas del directorio, coverageLabel es 190+, y exactList contiene las entradas ISO admitidas. restrictions conserva la lista de exclusión del proveedor.
source=owner_provided y status=owner_list_received registran el origen de la lista. independentlyVerified=false y verifiedCountryCount=null significan que la lista no ha sido verificada de forma independiente contra una pasarela en vivo; sigue siendo una lista recibida y publicada.
partialCoverage contiene ** países con cobertura de ubicación incompleta. unresolvedFootnotes conserva el marcador separado * para China. coverage=listed significa inclusión en la lista; partial_locations denota restricciones de ubicación; footnote_pending denota el significado separado no confirmado de un marcador. None garantiza la aprobación de cada tarjeta.
gatewayConnected=null y gatewayIntegration.liveConfigurationProvided=null significan que la base de conocimiento estática no contiene el estado actual de un despliegue. gatewayIntegration.availability identifica los puntos finales para verificaciones actuales. gateway.configured en /api/config informa ajustes, no conectividad del proveedor. invoice.availability en la respuesta de pago describe los términos de factura elegibles, mientras que el campo de compatibilidad invoice.gatewayConnected refleja availability.available. Ninguno reemplaza la confirmación de operación. gatewayIntegration.adapterImplemented=true describe el soporte del protocolo v3; subscriptionsSupported=false excluye cargos recurrentes.
{
"subscriptionsSupported": false,
"gatewayConnected": null,
"countries": {
"card": {
"coverageLabel": "190+",
"policy": "worldwide_except_restrictions",
"restrictions": [
{
"code": "AF",
"name": "Afghanistan"
},
{
"code": "AQ",
"name": "Antarctica"
},
{
"code": "BY",
"name": "Belarus"
},
{
"code": "MM",
"name": "Burma (Myanmar)"
},
{
"code": "BI",
"name": "Burundi"
},
{
"code": "CF",
"name": "Central African Republic"
},
{
"code": "TD",
"name": "Chad"
},
{
"code": "CU",
"name": "Cuba"
},
{
"code": "CD",
"name": "Democratic Republic of Congo"
},
{
"code": "CG",
"name": "Republic of Congo"
},
{
"code": "ER",
"name": "Eritrea"
},
{
"code": "HT",
"name": "Haiti"
},
{
"code": "IR",
"name": "Iran"
},
{
"code": "IQ",
"name": "Iraq"
},
{
"code": "LY",
"name": "Libya"
},
{
"code": "ML",
"name": "Mali"
},
{
"code": "NI",
"name": "Nicaragua"
},
{
"code": "KP",
"name": "North Korea"
},
{
"code": "RU",
"name": "Russia"
},
{
"code": "SO",
"name": "Somalia"
},
{
"code": "SS",
"name": "South Sudan"
},
{
"code": "SD",
"name": "Sudan"
},
{
"code": "SY",
"name": "Syria"
},
{
"code": "VE",
"name": "Venezuela"
},
{
"code": "YE",
"name": "Yemen"
},
{
"code": "ZW",
"name": "Zimbabwe"
},
{
"code": "UA-43",
"name": "Crimea (Region of Ukraine)"
},
{
"code": "UA-14",
"name": "Donetsk (Region of Ukraine)"
},
{
"code": "UA-65",
"name": "Kherson (Region of Ukraine)"
},
{
"code": "UA-09",
"name": "Luhansk (Region of Ukraine)"
},
{
"code": "UA-23",
"name": "Zaporizhzhia (Region of Ukraine)"
},
{
"code": "AN",
"name": "Netherlands Antilles"
}
],
"independentlyVerified": false,
"approvalGuaranteed": false
}
},
"gatewayIntegration": {
"adapterImplemented": true,
"contract": "v3",
"liveConfigurationProvided": null,
"availability": {
"source": "runtime",
"configurationEndpoint": "/api/config",
"configurationIncludesHealthCheck": false,
"checkoutEndpoint": "/api/checkout/{token}",
"checkoutIncludesProviderApproval": false
}
}
}Límites de información pública#
El texto plano y JSON no contienen sesiones, tokens, solicitudes de soporte privadas, registros de pago de usuarios ni secretos de integración. Las páginas de inicio de sesión, cuenta y pago están excluidas de la indexación de búsqueda.
Leer la documentación pública no otorga permisos de gestión de tienda. Los registros personales requieren una sesión válida y las mutaciones requieren verificaciones adicionales del servidor.
Actualizaciones y citas#
Los artículos tienen IDs estables, URLs, títulos y una fecha de actualización. Enlace a la guía pertinente al citar una respuesta y conserve las calificaciones sobre las condiciones de transacción.
Los mapas del sitio, recursos llms y HTML renderizado por servidor facilitan la extracción del contenido. No garantizan indexación, posición en búsqueda ni uso por un sistema de IA externo.
Solo las traducciones publicadas tienen URLs canónicas, alternativas hreflang y entradas en el mapa del sitio. Una configuración regional configurada para traducción futura no es una edición de idioma publicada.
Asistencia, soporte y administración de proyectos#
Un primer inicio de sesión con Telegram crea una cuenta y una tienda en borrador con estado not_submitted, no un comerciante aprobado. La cuenta abre el formulario de solicitud o la revisión actual; aceptar pagos requiere aprobación de especialistas. Cada tienda nueva tiene su propia revisión. GET /api/stores devuelve reviewStatus y applicationId. Las tiendas conectadas conservan acceso agregado, y el soporte y la documentación permanecen disponibles durante la revisión.
Habilitar Permite el acceso a mis datos en el chat cuando necesites ayuda con operaciones privadas. Una solicitud web con includeAccount=true requiere una sesión válida, Origin y X-CSRF-Token; X-Kevmi-Store selecciona una tienda propia o todas las tiendas propias. Sin permiso, el asistente usa documentación pública. En Telegram, un botón separado habilita el acceso después de identificar al remitente.
La herramienta read_account lee tiendas propias, facturas con estado de recibo verificado, eventos, solicitudes y solicitudes de soporte con respuestas de especialistas. Devuelve 30 registros y nextPage; los registros más antiguos están disponibles mediante paginación. Las lecturas por respuesta están limitadas, por lo que una muestra incompleta debe revelarse. Las claves de API, secretos de webhook, datos de tarjetas y sesiones no se proporcionan a la herramienta. No puede cobrar, pagar, reembolsar ni cambiar la configuración.
Crear una solicitud de soporte en el espacio de trabajo o en Telegram coloca una alerta de administrador separada en una cola duradera. Se enlaza a /admin/tickets?ticket=<id>; los fallos temporales de Telegram se reintentan. La recuperación también recoge solicitudes abiertas antiguas sin alerta. Los administradores responden en la página de la solicitud; la respuesta se guarda en el espacio de trabajo del usuario y se envía por Telegram cuando las notificaciones de soporte están habilitadas.
El bot usa botones en línea para el menú principal, tiendas, notificaciones, soporte, seguridad e idioma. La navegación edita el mensaje actual; un menú antiguo no disponible se reemplaza. Las notificaciones de pago y seguridad no se tratan como navegación desechable. Cerrar sesión a través del menú requiere confirmación. El comando explícito /logout sigue terminando cada sesión de cuenta.
El panel /admin/project está restringido a IDs de Telegram en la lista de permitidos MODERATOR_TELEGRAM_IDS del lado del servidor. Incluye usuarios, tiendas, operaciones, revocación de claves, deshabilitación de webhooks, pausa de facturas, controles de aceptación y un registro de auditoría. Las mutaciones requieren CSRF y un motivo. El panel no puede restringir a un administrador ni declarar manualmente un pago como exitoso. Restringir a un propietario termina las sesiones y bloquea el acceso a claves de API; restringir una tienda detiene nuevas operaciones. El historial se conserva.
La oferta pública está disponible en /public-offer y la política de privacidad en /privacy-policy en cada idioma habilitado. Busca monedas por nombre o ticker. Un selector de red aparece solo cuando hay múltiples redes en vivo disponibles. Una sola red se selecciona automáticamente y permanece nombrada en la confirmación. La disponibilidad en vivo de la pasarela determina los pares seleccionables; el catálogo de referencia no habilita un servicio.
Usa update.sh para lanzamientos rutinarios de la aplicación web: compila el candidato, verifica el historial de migraciones, haz una copia de seguridad de SQLite en línea, inicia un segundo contenedor, verifícalo y cambia Caddy sin interrupciones. La pasarela, PostgreSQL y el correo no se reinician. Los activos estáticos anteriores siguen disponibles para pestañas abiertas. Una nueva migración requiere autorización revisada explícita; un cambio de esquema incompatible no es un despliegue sin interrupciones.