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