Chat d'assistance et demandes
L'assistant explique les conditions de Kevmi, trouve la bonne page et aide avec les paramètres. Ouvrez le chat à l'aide du bouton rond en bas à droite. Utilisez une demande privée pour une question spécifique au compte.
Sur cette page
Aide sur la page actuelle#
Sur téléphone, le chat s'ouvre dans un panneau compact. Vous pouvez le réduire et le rouvrir ; un badge apparaît si une réponse arrive pendant qu'il est fermé.
Le support s'ouvre sur la page actuelle. L'ancienne adresse /help redirige vers la page d'accueil avec le chat ouvert.
- 1
Sélectionnez le bouton de support rond en bas à droite ou Posez votre question.
- 2
Ouvrez une conversation existante ou commencez-en une nouvelle. Choisissez une suggestion ou saisissez une question : Entrée envoie ; Maj + Entrée ajoute une ligne.
- 3
Lisez la réponse et suivez ses sources de documentation.
- 4
Réduisez le chat pour continuer à travailler. Les messages et le brouillon restent dans ce navigateur.
Conversations, brouillons et historique#
Gardez chaque sujet dans une conversation séparée. Recherchez dans l'historique par titre ou texte, renommez une conversation et épinglez celles qui sont importantes. Une nouvelle conversation préserve les chats antérieurs, et chacune garde son propre brouillon.
Restaurez une conversation depuis Supprimé, ou supprimez-la définitivement après confirmation. L'historique est stocké dans le navigateur de cet appareil, survit aux rechargements de page et ne se synchronise pas entre les appareils, votre compte ou Telegram. Effacer les données du site dans le navigateur supprime l'historique local.
Si le stockage du navigateur est indisponible, le chat continue dans la mémoire de la page ouverte. Les conversations locales sont séparées des demandes de support privées, qui sont stockées sur le serveur après connexion.
Sur quoi les réponses sont basées#
Le site web et le bot utilisent une base de connaissances versionnée. Le serveur fournit des guides publiés, des tarifs structurés, des faits sur les allocations et les pays, le catalogue de pages et l'état réel des fonctionnalités à l'assistant génératif. La base inclut les applications, les clés API, les widgets et les webhooks.
Les sources de réponses se réfèrent uniquement aux articles de cette base. Lorsque les informations confirmées sont insuffisantes, l'assistant le dit et suggère une question plus spécifique ou une demande de support. Il n'invente pas de pays, de délais de versement, de limites ou d'obligations fiscales.
Questions de suivi et contexte#
La question suivante inclut les trois dernières paires question-réponse de la conversation sélectionnée, ce qui aide pour les suivis comme « Et si le marchand paie la TVA ? ». L'autre historique local n'est pas automatiquement joint à la demande.
Un court libellé de section, comme Tarifs ou Paiement, est également envoyé. L'URL, les paramètres de requête et le jeton de facture sont exclus. Les messages antérieurs sont un contexte non fiable et sont vérifiés par rapport à la base de connaissances.
IA et recherche de documentation#
Le mode IA utilise un fournisseur configuré, un stockage serveur et un quota disponible. /api/config signale l'état de préparation ; la connectivité du modèle est vérifiée lors d'une demande. Une génération indisponible, un quota épuisé ou une réponse invalide retombe sur la recherche de documentation étiquetée.
La recherche fonctionne aussi sans modèle externe. Les enregistrements privés nécessitent une autorisation explicite du propriétaire et sont en lecture seule. Sans autorisation, seules les informations publiques sont disponibles. Il ne peut pas prélever des fonds, créer des paiements ou modifier les paramètres.
| Mode | Comportement |
|---|---|
| ai | Écrit une réponse à partir de l'ensemble des connaissances publiées et lie les guides pertinents |
| recherche | Renvoie la documentation publiée correspondante |
Poser une question utile#
Par exemple : « Une commande de carte de 5 $, avec TVA payée par le commerçant. Que reçoit le commerçant ? » Vérifiez les chiffres exacts dans la calculatrice publiée.
Le champ de discussion accepte jusqu'à 1 800 caractères. Si la connexion échoue, la question reste dans le champ pour une nouvelle tentative.
- Nommez la méthode : carte, SBP, Alipay ou cryptomonnaie.
- Pour un calcul, donnez le montant de base et les deux parts payées par le client : frais et TVA.
- Pour une erreur, nommez la page, l'action et le message affiché.
- N'envoyez pas de mots de passe, codes de connexion, jetons, CVV ou phrases de récupération.
Questionner via l'API#
POST /api/support/ask accepte une question de 2 à 2 000 caractères après suppression des espaces. L'historique facultatif contient jusqu'à six messages avec role=user ou role=assistant. Les messages utilisateur acceptent 1 à 1 800 caractères et les messages assistant 1 à 3 000.
pageContext facultatif est une étiquette de section de 1 à 80 caractères, sans URL, jetons, paramètres de requête ni sauts de ligne. locale facultatif est ru, en, es, de ou fr et sélectionne la langue de réponse. L'anglais est la valeur par défaut ; les sources techniques complètes sont disponibles en russe et en anglais. L'API n'accepte pas de messages système, d'outils ni d'instructions arbitraires du fournisseur.
La limite du corps JSON est de 65 536 octets. La réponse contient mode, answer, sources, knowledgeVersion et needsHuman, avec aiUnavailable:true lorsque la génération est indisponible. Aucune session utilisateur n'est nécessaire ; un Origin fourni doit correspondre à l'application.
Demandes de support privées#
Après la connexion, créez une demande avec un objet de 1 à 120 caractères et un message de 5 à 4 000 caractères. Elle est stockée dans votre compte et n'est pas visible par un autre utilisateur.
La liste affiche les 30 dernières demandes. Vous pouvez clore votre propre demande. Conservez sa référence pour vous renseigner sur le statut ; le délai de résolution dépend du problème.
Assistant, support et administration de projet#
Activer l'autorisation d'accès à mes données dans le chat lorsque vous avez besoin d'aide pour des opérations privées. Une requête web avec includeAccount=true nécessite une session valide, Origin et X-CSRF-Token ; X-Kevmi-Store sélectionne un magasin possédé ou tous les magasins possédés. Sans autorisation, l'assistant utilise la documentation publique. Dans Telegram, un bouton séparé permet l'accès après identification de l'expéditeur.
L'outil read_account lit les magasins possédés, les factures avec statut de reçu vérifié, les événements, les applications et les demandes de support avec réponses de spécialistes. Il renvoie 30 enregistrements et nextPage ; les enregistrements plus anciens sont disponibles via pagination. Les lectures par réponse sont limitées, donc un échantillon incomplet doit être divulgué. Les clés API, les secrets de webhook, les détails de carte et les sessions ne sont pas fournis à l'outil. Il ne peut pas facturer, payer, rembourser ou modifier les paramètres.
Créer une demande de support dans l'espace de travail ou Telegram place une alerte d'administrateur séparée dans une file durable. Elle pointe vers /admin/tickets?ticket=<id> ; les pannes temporaires de Telegram sont réessayées. La récupération reprend également les anciennes demandes ouvertes sans alerte. Les administrateurs répondent sur la page de demande ; la réponse est enregistrée dans l'espace de travail de l'utilisateur et envoyée via Telegram lorsque les notifications de support sont activées.
Le bot utilise des boutons en ligne pour le menu principal, les magasins, les notifications, le support, la sécurité et la langue. La navigation modifie le message actuel ; un ancien menu indisponible est remplacé. Les notifications de paiement et de sécurité ne sont pas traitées comme une navigation jetable. Se déconnecter via le menu nécessite une confirmation. La commande explicite /logout met fin à chaque session de compte.
Le panneau /admin/project est restreint aux identifiants Telegram de la liste blanche MODERATOR_TELEGRAM_IDS côté serveur. Il inclut les utilisateurs, les magasins, les opérations, la révocation de clés, la désactivation de webhooks, la mise en pause de factures, les contrôles d'acceptation et un journal d'audit. Les mutations nécessitent CSRF et une raison. Le panneau ne peut pas restreindre un administrateur ni déclarer manuellement un paiement réussi. Restreindre un propriétaire met fin aux sessions et bloque l'accès aux clés API ; restreindre un magasin arrête les nouvelles opérations. L'historique est conservé.
L'offre publique est disponible à /public-offer et la politique de confidentialité à /privacy-policy dans chaque langue activée. Recherchez les pièces par nom ou ticker. Un sélecteur de réseau apparaît uniquement lorsque plusieurs réseaux actifs sont disponibles. Un seul réseau est sélectionné automatiquement et reste nommé dans la confirmation. La disponibilité du passerelle en direct détermine les paires sélectionnables ; le catalogue de référence n'active pas un service.
Utilisez update.sh pour les versions routinières de l'application web : construisez le candidat, vérifiez l'historique de migration, sauvegardez SQLite en ligne, démarrez un deuxième conteneur, vérifiez-le, et basculez Caddy en douceur. La passerelle, PostgreSQL et la messagerie ne sont pas redémarrés. Les anciens fichiers statiques restent disponibles pour les onglets ouverts. Une nouvelle migration nécessite une autorisation revue explicite ; un changement de schéma incompatible n'est pas un déploiement transparent.