Chatbot Maria - Romfast Support
Un chatbot de suport tehnic pentru sistemul ROA, construit cu Flowise embed.
Funcționalități
- Chatbot integrat: Interface de chat folosind Flowise embed library
- Suport pentru URL parametri: Permite trimiterea directă a mesajelor prin URL
- Două moduri de afișare:
- Chat widget standard cu prompt-uri predefinite
- Modal de răspuns direct pentru mesaje din URL
- Gestionare robustă a caracterelor speciale: Suport pentru URL-uri cu secvențe de encoding problematice
Testare
1. Test de bază
Deschide fișierul direct în browser:
chatbot_maria.html
2. Test cu mesaj din URL
Testează funcția de mesaj direct prin URL:
chatbot_maria.html?message=Cum%20se%20actualizeaza%20tokenul%20eFactura?
3. Test cu caractere speciale
Testează cu mesaje care conțin caractere speciale (cazul problematic):
chatbot_maria.html?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori
4. Debugging în Browser
Pentru a vedea ce se întâmplă în timpul testării:
- Deschide Developer Tools: F12 în browser
- Mergi la tab-ul Console
- Încarcă pagina cu parametrul URL
- Monitorizează log-urile:
"Parametru decodat cu URLSearchParams:"- prima încercare"Valoare brută din URL (fallback):"- dacă URLSearchParams nu funcționează"Parametru decodat cu metoda sigură:"- rezultatul final"Se trimite mesajul direct prin API:"- confirmă că mesajul e trimis"Status răspuns:"- codul de răspuns al API-ului"Răspuns primit de la API:"- răspunsul de la chatbot
5. Verificare Funcționalitate
Testul a reușit dacă:
- ✅ Nu vezi erori "URI malformed" în console
- ✅ Vezi mesajul decodat în console
- ✅ Vezi "Se trimite mesajul direct prin API"
- ✅ Vezi răspunsul API în modal
Semnale de probleme:
- ❌ "Eroare la decodarea parametrului URL"
- ❌ "URI malformed"
- ❌ Pagina nu afișează nimic
- ❌ Request-ul API eșuează cu timeout
6. Testare Offline
Poți testa funcțiile de decodificare fără server:
- Deschide Developer Tools (F12)
- Mergi la tab-ul Console
- Testează manual funcțiile:
// Test URLSearchParams
const urlParams = new URLSearchParams("?message=test%20cu%20caractere%20speciale");
console.log(urlParams.get('message'));
// Test cu URL problematic
const problematicUrl = "?message=F:%20Header%20(1)%20sectiune%20Company%20(1)%20sectiune%20BankAccount%20(1)%20eroare%20structura:%20grupul%20%27%BankAccount_choice0%27%20ar%20fi%20trebuit%20sa%20apara%20de%20minimum%201%20ori,%20dar%20apare%20efectiv%20de%200%20ori";
const testParams = new URLSearchParams(problematicUrl);
console.log(testParams.get('message'));
Configurare API
Chatbot-ul se conectează la:
- API Host:
https://mutual-special-koala.ngrok-free.app - Chatflow ID:
d4911620-07fe-41f8-adb4-f2f52d6ec766
Pentru modificare, editează valorile în secțiunea JavaScript:
const apiHost = "https://mutual-special-koala.ngrok-free.app";
const chatflowId = "d4911620-07fe-41f8-adb4-f2f52d6ec766";
Troubleshooting
Problema: "URI malformed"
Soluție: Implementarea actuală gestionează automat această problemă prin decodificare sigură chunk-by-chunk.
Problema: API nu răspunde
Verificări:
- API host-ul este accesibil
- Chatflow ID-ul este corect
- Conexiunea la internet funcționează
- Nu sunt blocate request-urile CORS
Problema: Pagina nu se încarcă
Verificări:
- Fișierul HTML este valid
- CDN-ul Flowise este accesibil:
https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js - Nu sunt erori JavaScript în console
Problema: Mesajul nu se trimite
Verificări:
- Parametrul URL este corect
- Mesajul nu este gol după decodificare
- API-ul acceptă request-ul
- Nu sunt erori de timeout (30 secunde)
Prompt-uri Predefinite
Chatbot-ul afișează următoarele prompt-uri standard când nu este specificat un mesaj în URL:
- Cum se actualizeaza tokenul eFactura?
- Cand se completeaza codul de plata pentru declaratia SAFT?
- Care sunt pasii pentru emiterea unei facturi service auto?
- Cum se valideaza o comanda service auto?
- Cum se deschide o comanda service auto?
- Cum se modifica datele initiale ale unei comenzi service auto?