Retour au catalogue

NAiOSOmni Web

omnichat-webv0.1.0

Ajoute un chatbot intégrable (widget de chat) à NAiOSOmni. Collez un <script> sur n'importe quel site et le visiteur discute avec votre agent ; il apparaît comme un canal de plus dans la boîte de réception unifiée.

Réservé aux utilisateurs MAXComunicaciónwebwidgetchatbotembedomnichatchannellead-captureNAiOS Team
Fonctions
3
Version
0.1.0
Licence
MIT
Services
—

Description

Plugin intégré à NAiOSOmni : enregistre un pilote 'web-widget' dans le ChannelRegistry afin que tout site web puisse intégrer un chatbot. Le transport est un long-polling sans état (compatible Passenger multi-workers) : le visiteur envoie son message en POST et interroge la base de données pour récupérer les réponses du bot ou de l'opérateur. Tout le reste (agents de l'assistant, boucle d'outils, capture des leads vers le CRM, webhooks, boîte de réception, tableaux de bord, partage) est hérité du cœur sans modification du schéma. Les données propres au web (visitor_id, page d'origine, user-agent, referrer) sont stockées dans media_meta au format JSON ; l'apparence, les domaines CORS et le sous-budget quotidien sont stockés dans driver_config.

Fonctionnalités (3)

Chatbot intégrable

Un <script> sur le site de votre client et la bulle de chat apparaît. Zéro dépendance, Shadow DOM isolé.

Même cerveau que WhatsApp/Telegram

L'agent de l'assistant, les outils, la capture des leads vers le CRM et la boîte de réception unifiée sont repris tels quels.

Sécurisé et multi-processus

Long-polling sans état + CORS par domaine + limitation de débit par IP + sous-budget quotidien de tokens.

Changelog

v0.1.02026-06-04
  • MVP (Phases 0-6) — pilote 'web-widget' enregistré dans le ChannelRegistry de NAiOSOmni
  • Appairage par embed : startPairing() renvoie le <script> à copier + page de configuration du widget (personnalisation + domaines CORS)
  • Transport entrant public : POST /p/omnichat-web/:channelId/message normalise le message et émet omnichat.message.received
  • Transport sortant en long-polling : sendMessage() persiste en base de données ; GET /poll renvoie les nouveaux messages du bot ou de l'opérateur
  • Widget intégrable widget.js : vanilla, Shadow DOM, lanceur + panneau + zone de saisie, persistance localStorage, personnalisation par canal
  • Sécurité sur 3 niveaux : sous-budget quotidien en base de données (AVANT l'IA) + limitation de débit par IP + liste blanche CORS par canal
  • Boîte de réception : badge/icône 'web', page d'origine dans le fil de discussion ; transfert de base (statut « un agent va rejoindre la conversation » + e-mail d'alerte au propriétaire)