# 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: 1. **Deschide Developer Tools**: F12 în browser 2. **Mergi la tab-ul Console** 3. **Încarcă pagina cu parametrul URL** 4. **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: 1. **Deschide Developer Tools** (F12) 2. **Mergi la tab-ul Console** 3. **Testează manual funcțiile**: ```javascript // 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: ```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**: 1. API host-ul este accesibil 2. Chatflow ID-ul este corect 3. Conexiunea la internet funcționează 4. Nu sunt blocate request-urile CORS ### Problema: Pagina nu se încarcă **Verificări**: 1. Fișierul HTML este valid 2. CDN-ul Flowise este accesibil: `https://cdn.jsdelivr.net/npm/flowise-embed/dist/web.js` 3. Nu sunt erori JavaScript în console ### Problema: Mesajul nu se trimite **Verificări**: 1. Parametrul URL este corect 2. Mesajul nu este gol după decodificare 3. API-ul acceptă request-ul 4. 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?