Recursos para motores de busca e IA
Informações públicas da Kevmi estão disponíveis em HTML renderizado no servidor, texto simples e formatos estruturados. Esses formatos compartilham uma versão de conhecimento e os mesmos fatos comerciais.
Nesta página
Recursos públicos#
| Endereço | Conteúdo |
|---|---|
| /docs e /en/docs | Edições completas do guia em russo e inglês |
| /llms.txt | Índice em inglês e fatos essenciais |
| /llms-full.txt | Texto completo do conhecimento em inglês |
| /knowledge.json | Fatos, taxas, artigos e versão |
| /openapi.json | Contrato de API do servidor implementado |
| /sitemap.xml | Páginas públicas publicadas |
| /robots.txt | Diretrizes do rastreador |
Leitura de fatos estruturados#
knowledge.facts.countries.card descreve a cobertura mundial com restrições explícitas. countryCount conta as entradas do diretório, coverageLabel é 190+ e exactList contém as entradas ISO suportadas. restrictions preserva a lista de exclusões do provedor.
source=owner_provided e status=owner_list_received registram a origem da lista. independentlyVerified=false e verifiedCountryCount=null significam que a lista não foi verificada de forma independente contra um gateway ativo; ela ainda é uma lista recebida e publicada.
partialCoverage contém ** países com cobertura de localização incompleta. unresolvedFootnotes preserva o marcador separado * para a China. coverage=listed significa inclusão na lista; partial_locations denota restrições de localização; footnote_pending denota o significado separado não confirmado de um marcador. None garante a aprovação de cada cartão.
gatewayConnected=null e gatewayIntegration.liveConfigurationProvided=null significam que a base de conhecimento estática não contém o estado atual de uma implantação. gatewayIntegration.availability identifica os endpoints para verificações atuais. gateway.configured em /api/config relata configurações, não conectividade do provedor. invoice.availability na resposta de checkout descreve os termos de fatura elegíveis, enquanto o campo de compatibilidade invoice.gatewayConnected espelha availability.available. Nenhum deles substitui a confirmação operacional. gatewayIntegration.adapterImplemented=true descreve o suporte ao protocolo v3; subscriptionsSupported=false exclui cobranças recorrentes.
{
"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
}
}
}Limites das informações públicas#
Texto simples e JSON não contêm sessões, tokens, solicitações de suporte privadas, registros de pagamento do usuário ou segredos de integração. Páginas de login, conta e checkout são excluídas da indexação de busca.
Ler documentação pública não concede permissões de gerenciamento de loja. Registros pessoais exigem uma sessão válida e mutações exigem verificações adicionais no servidor.
Atualizações e citações#
Artigos têm IDs estáveis, URLs, títulos e uma data de atualização. Vincule ao guia relevante ao citar uma resposta e preserve as qualificações sobre as condições das transações.
Sitemaps, recursos llms e HTML renderizado no servidor facilitam a extração de conteúdo. Eles não garantem indexação, posição nos resultados de busca ou uso por um sistema de IA externo.
Somente traduções publicadas têm URLs canônicas, alternativas hreflang e entradas de sitemap. Uma localidade configurada para tradução futura não é uma edição de idioma publicada.
Assistente, suporte e administração de projetos#
Um primeiro login pelo Telegram cria uma conta e uma loja rascunho com status not_submitted, não um comerciante aprovado. A conta abre o formulário de inscrição para revisão atual; aceitar pagamentos requer aprovação de especialista. Cada nova loja tem sua própria revisão. GET /api/stores retorna reviewStatus e applicationId. Lojas conectadas mantêm acesso agregado, e suporte e documentação permanecem disponíveis durante a revisão.
Ativar Permitir acesso aos meus dados no chat quando precisar de ajuda com operações privadas. Uma solicitação da web com includeAccount=true exige uma sessão válida, Origin e X-CSRF-Token; X-Kevmi-Store seleciona uma loja própria ou todas as lojas próprias. Sem permissão, o assistente usa documentação pública. No Telegram, um botão separado permite o acesso depois que o remetente for identificado.
A ferramenta read_account lê lojas próprias, faturas com status de recebimento verificado, eventos, aplicativos e solicitações de suporte com respostas de especialistas. Ela retorna 30 registros e nextPage; registros mais antigos estão disponíveis por paginação. As leituras por resposta são limitadas, portanto uma amostra incompleta deve ser divulgada. Chaves de API, segredos de webhook, detalhes de cartão e sessões não são fornecidos à ferramenta. Ela não pode cobrar, pagar, reembolsar ou alterar configurações.
Criar uma solicitação de suporte no espaço de trabalho ou no Telegram coloca um alerta separado de administrador em uma fila durável. Ela vincula a /admin/tickets?ticket=<id>; falhas temporárias do Telegram são repetidas. A recuperação também pega solicitações abertas mais antigas sem alerta. Os administradores respondem na página da solicitação; a resposta é salva no espaço de trabalho do usuário e enviada pelo Telegram quando as notificações de suporte estão ativadas.
O bot usa botões em linha para o menu principal, lojas, notificações, suporte, segurança e idioma. A navegação edita a mensagem atual; um menu antigo indisponível é substituído. Notificações de pagamento e segurança não são tratadas como navegação descartável. Sair pelo menu exige confirmação. O comando explícito /logout ainda encerra todas as sessões da conta.
O painel /admin/project é restrito a IDs do Telegram na lista de permissão MODERATOR_TELEGRAM_IDS no lado do servidor. Inclui usuários, lojas, operações, revogação de chaves, desativação de webhooks, pausa de faturas, controles de aceitação e um registro de auditoria. Mutações exigem CSRF e um motivo. O painel não pode restringir um administrador nem declarar manualmente um pagamento como bem-sucedido. Restringir um proprietário encerra sessões e bloqueia o acesso a chaves de API; restringir uma loja interrompe novas operações. O histórico é mantido.
A oferta pública está disponível em /public-offer e a política de privacidade em /privacy-policy em todos os idiomas habilitados. Pesquise moedas por nome ou ticker. Um seletor de rede aparece somente quando várias redes ativas estão disponíveis. Uma única rede é selecionada automaticamente e permanece nomeada na confirmação. A disponibilidade ao vivo do gateway determina os pares selecionáveis; o catálogo de referência não habilita um serviço.
Use update.sh para lançamentos de rotina do app da web: compile o candidato, verifique o histórico de migrações, faça backup do SQLite online, inicie um segundo contêiner, verifique-o e alterne o Caddy sem interrupção. Gateway, PostgreSQL e e-mail não são reiniciados. Ativos estáticos anteriores permanecem disponíveis para abas abertas. Uma nova migração exige autorização revisada explícita; uma mudança incompatível de esquema não é uma implantação sem interrupção.