128 lines
4.5 KiB
Markdown
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? |