Files

128 lines
4.5 KiB
Markdown

# 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?