# Quoting24 Help Center — testo completo Testo integrale della documentazione pubblica https://wiki.quoting24.com/ in tutte le lingue. Indice: https://wiki.quoting24.com/llms.txt Sitemap: https://wiki.quoting24.com/sitemap.xml # Home URL: https://wiki.quoting24.com/ Language: it Updated: 2026-11-04 # Quoting24 Help Center Benvenuto nell' **Help Center di Quoting24**. Questa documentazione ti guiderà passo dopo passo nell’utilizzo di Quoting24, spiegando **cosa fa la piattaforma**, **a chi è rivolta** e **come sfruttarla al meglio** nelle attività quotidiane. --- ## Cos’è Quoting24 **Quoting24** è una piattaforma progettata per **gestire, organizzare e automatizzare le richieste di preventivo ricevute tramite WhatsApp**, trasformando le conversazioni con i clienti in un flusso di lavoro strutturato ed efficiente. Quoting24 è particolarmente utile quando: - Più operatori lavorano sullo stesso numero e il volume di richieste è elevato - Ridurre il tempo di sviluppo dei preventivi tramite una serie di automatismi pensati per la vendita di ricambi automotive. A differenza di WhatsApp tradizionale, Quoting24: - divide le conversazioni in **ticket** - permette di lavorare in **team** senza limiti di numeri e operatori collegati - si collega direttamente a **Qricambi** e al tuo **gestionale** Quoting24 serve a: - gestire **molte richieste contemporaneamente** senza perdere messaggi - automatizzare ricerche di **targhe, telai e ricambi** - collaborare tra colleghi con note interne, reaction e notifiche unificate - creare un flusso continuo tra **richiesta → ricerca → preventivo → risposta** --- ## Indice della documentazione ### 🚀 Inizia con Quoting 24 - [Accesso a Quoting 24](content/login.md) Come effettuare il login e accedere alla piattaforma. - [Panoramica generale](content/general_overview.md) Visione d’insieme dell’interfaccia e del flusso di lavoro. --- ### 🧾 Gestione richieste - [Schermata principale](content/main_screen.md) Vista principale con ticket, chat e ricerca ricambi. - [Gestione ticket](content/gestione_ticket.md) Un ticket scrivibile per conversazione, reply, riapertura e messaggi programmati. - [Lista richieste](content/requested_list.md) Storico, ricerca e filtri delle richieste ricevute. - [Etichette](content/type_of_request.md) Etichette dei ticket, categorizzazione automatica e urgenza. - [Risposte salvate](content/save_response.md) Messaggi predefiniti per rispondere più velocemente. - [Assegnazioni](content/assegnazioni.md) Assegnazione automatica e gestione intelligente dei ticket. - [Turni di consegna](content/delivery_shifts.md) Gestione e assegnazione dei turni alle aziende. - [Report giornaliero attività](content/daily_activity_report.md) Report email con KPI ticket, operatori e andamento giornaliero. - [Quoting News](content/quoting_news.md) Canale in sola lettura per le comunicazioni di prodotto di Quoting. --- ### 💬 Canale WhatsApp - [Panoramica WhatsApp](content/whatsapp.md) Collegamento del numero WhatsApp tramite API ufficiali. - [Migrazione WhatsApp API](content/migrazione_whatsapp_api.md) Collegare a Quoting24 un numero già sulle API di un altro fornitore, senza cambiarlo. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Usare insieme l'app WhatsApp Business e le API ufficiali sullo stesso numero. - [Broadcast API](content/broadcast_api.md) Campagne con template Meta verso molti numeri, con destinatari da un file Excel. --- ### 🌐 Canale Widget - [Panoramica Widget](content/widget.md) Chat sul sito: ospite, associazione azienda e ripristino della cronologia. - [Widget B2C](content/widget_b2c.md) Script, visitatore sconosciuto e payload con `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) Cronologia tra dispositivi con `external_user_id` e `restore_id`. - [Integrazione tecnica](content/widget_tecnico.md) Contratto di `init()`, creazione azienda, CSP e risoluzione problemi. --- ### 👥 Contatti e aziende - [Contatti](content/contacts.md) Gestione dei contatti del canale WhatsApp. - [Aziende](content/companies.md) Creazione e gestione delle aziende clienti. --- ### 🤖 Intelligenza artificiale - [Panoramica AI](content/ai.md) Come l’AI legge il ticket e aggiorna veicoli/ricambi. - [Riconoscimento](content/ai_riconoscimento.md) Veicoli, ricambi, etichette, note interne e glossario. - [Foto, PDF e vocali](content/ai_media.md) Lettura media e scheda “Letture AI”. - [Riquadro e correzione](content/ai_riquadro.md) Riquadro in chat, click, Correggi e modalità di visualizzazione. - [Automazioni](content/automations.md) Ricerche automatiche di targhe, telai e ricambi. --- ### 🔌 Integrazioni - [Ricerca fornitori Qricambi](content/qricambi_integration.md) Collegamento con Qricambi e gestione fornitori. - [Ricerca con estensione](content/search_with_extension.md) Cercare su Partslink o Eper i telai non trovati, con Qricambi Assistant. - [Crediti Qricambi](content/credits.md) Utilizzo e gestione dei crediti condivisi con Qricambi. - [Invia preventivo a gestionale](content/invia_preventivo_gestionale.md) Invia i dati del preventivo al tuo gestionale. - [Scrivi su Whatsapp tramite le nostre API](content/invia_whatsapp_api.md) Invia messaggi tramite le API ufficiali di WhatsApp. - [Ricerca di un codice sul proprio gestionale](content/management_research.md) Ricerca al gestionale per avere prezzi e disponibilità per cliente. --- ### 👤 Impostazioni account - [Profilo utente](content/profilo.md) Personalizzazione del profilo e messaggi automatici. - [Attività](content/activities.md) Impostazioni dell’attività e comportamento generale. - [Utenti e permessi](content/user.md) Gestione utenti, ruoli e autorizzazioni. - [Notifiche](content/notifications.md) Configurazione delle notifiche personali, unificate e desktop. --- --- ## Da dove iniziare Se è la tua prima volta su Quoting24, ti consigliamo questo percorso: 1. [Accesso a Quoting 24](content/login.md) 2. [Panoramica generale](content/general_overview.md) 3. [Schermata principale](content/main_screen.md) 4. [Panoramica WhatsApp](content/whatsapp.md) 5. [Attività](content/activities.md) e [Automazioni](content/automations.md) Questo ti permetterà di avere una visione completa del funzionamento prima di entrare nei dettagli. --- # Accesso a Quoting 24 URL: https://wiki.quoting24.com/content/login/ Language: it Updated: 2026-11-04 # Accesso a Quoting24 Per accedere a **Quoting24** è necessario essere registrati (più informazioni [qui](https://welcome.quoting24.com/registrazione)) e disporre di una credenziale da poter usare per accedere al seguente link: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) L’**Username** e la **password** sono le stesse utilizzate per accedere a [**Qricambi**](https://qricambi.com/). Schermata di login --- ## Gestione password Al momento, per cambiare o recuperare la password è necessario utilizzare Qricambi, tramite una delle seguenti opzioni: - Pagina di [recupero password](https://app.qricambi.com/Authentication/RequestRecover?user=) - Sezione [Gestione utenti](https://app.qricambi.com/youraccount/UsersManager) --- ## Primo accesso e selezione attività Al primo accesso alla piattaforma, l’utente è **già stato creato e configurato** da colleghi con ruolo amministrativo. Dopo aver effettuato il login, il comportamento dipende dai **numeri di telefono/attività** associati all’utente. ### Utente associato a più numeri di telefono Se l’utente è assegnato a **più numeri di telefono**, verrà richiesto di scegliere **in quale attività entrare**. Schermata selezione attività ### Utente associato a un solo numero di telefono Se l’utente è assegnato a **un solo numero di telefono**, l’accesso avverrà automaticamente, senza alcuna selezione. --- ## Dopo l’accesso Una volta entrati, verrà mostrata la [**schermata principale di Quoting24**](main_screen.md), dalla quale è possibile iniziare a lavorare sulle richieste. --- # Panoramica generale URL: https://wiki.quoting24.com/content/general_overview/ Language: it Updated: 2026-11-04 # Panoramica generale Quoting24 è una piattaforma progettata per **gestire in modo centralizzato e intelligente le richieste di preventivo ricevute via WhatsApp**, integrando automazione, ricerca ricambi e collaborazione tra operatori. Questa panoramica ti aiuterà a capire: - com'è organizzata l’interfaccia - come funziona il flusso di lavoro - quali sono le principali funzionalità disponibili --- ## La schermata principale Una volta effettuato l’accesso, l’utente viene indirizzato alla **[schermata principale](main_screen.md)** di Quoting24. Schermata principale Quoting24 La schermata è divisa in **tre aree principali**, che lavorano insieme per trasformare una conversazione WhatsApp in un preventivo strutturato. --- ## 1. Gestione delle richieste (chat e ticket) Elenco ticket Ogni richiesta ricevuta da un cliente viene gestita come un **ticket**. A differenza di WhatsApp tradizionale: - ogni nuova richiesta di preventivo genera un ticket distinto - i ticket possono essere **assegnati**, messi **in pausa**, segnati **da leggere**, **chiusi** o **ripresi** - il lavoro viene distribuito tra più operatori in modo ordinato Da questa sezione è possibile: - ordinare e filtrare i ticket (assegnatario fuori, altri filtri nell’imbuto) - aprire nuove richieste dalla home o dai **Contatti** - monitorare lo stato del lavoro del team Per ogni conversazione c’è **un solo ticket scrivibile**: un ticket chiuso non si riapre a mano. Dettagli in **[Gestione ticket](gestione_ticket.md)**. 👉 Per approfondire: - **[Gestione ticket](gestione_ticket.md)** - **[Lista richieste](requested_list.md)** - **[Assegnazioni automatiche](assegnazioni.md)** - **[Etichette](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Conversazione con il cliente Chat Quoting24 Questa è l’area dedicata alla **comunicazione diretta con il cliente**. Da qui è possibile: - inviare e ricevere messaggi - allegare foto, video e documenti - inserire **note interne** visibili solo ai colleghi - utilizzare **risposte salvate** per velocizzare le comunicazioni Quoting24 analizza automaticamente i messaggi: - trascrive vocali - riconosce targhe, telai e riferimenti ai ricambi - prepara i dati necessari alla fase di preventivazione 👉 Per approfondire: - **[Risposte salvate](save_response.md)** - **[Notifiche](notifications.md)** --- ## 3. Ricerca veicolo e ricambi Ricerca targa e telaio La sezione di destra è dedicata alla **ricerca tecnica**. Qui vengono mostrati automaticamente: - targhe - telai - informazioni sul veicolo - componenti individuati nella conversazione Attraverso gli **spaccati** è possibile: - individuare il codice corretto del ricambio - cercarlo su Qricambi - avviare rapidamente la creazione del preventivo Spaccati veicolo 👉 Per approfondire: - **[Integrazione con Qricambi](qricambi_integration.md)** - **[Automazioni](automations.md)** --- ## Automazioni e assegnazioni intelligenti Quoting24 include funzionalità avanzate per **ridurre il lavoro manuale**: - **Automazioni** Ricerca automatica di targhe, telai e ricambi 👉 **[Vai alle Automazioni](automations.md)** - **Assegnazione automatica dei ticket** Assegnazione intelligente in base a: - [etichetta](type_of_request.md) - [azienda](companies.md) - [contatto](contacts.md) 👉 **[Vai alle Assegnazioni automatiche](assegnazioni.md)** Questo consente di: - ridurre i tempi di risposta - evitare errori di smistamento - lavorare in modo strutturato anche con molti operatori --- ## Collaborazione tra operatori Quoting24 è pensato per il lavoro di squadra. Sono disponibili: - ruoli (**amministratori** e **membri**) - assegnazioni dei ticket - note interne - notifiche personalizzabili - notifiche unificate anche su più numeri di telefono - turni di consegna associabili alle aziende 👉 Per approfondire: - **[Utenti e permessi](user.md)** - **[Profilo utente](profilo.md)** - **[Turni di consegna](delivery_shifts.md)** --- ## Integrazione con Qricambi Quoting24 è profondamente integrato con **Qricambi**. Questo permette di: - utilizzare gli stessi **crediti** - cercare ricambi su fornitori interni ed esterni - creare preventivi su Qricambi - inviarli al cliente direttamente dalla chat 👉 Approfondisci: - **[Crediti](credits.md)** - **[Integrazione Qricambi](qricambi_integration.md)** - **[Invia preventivo a gestionale](invia_preventivo_gestionale.md)** - **[Scrivi su Whatsapp tramite le nostre API](invia_whatsapp_api.md)** Il flusso di lavoro diventa così continuo: **richiesta → ricerca → preventivo → risposta al cliente** --- ## Da dove iniziare La Wiki di Quoting24 è raggiungibile anche dall'applicazione, nelle **Impostazioni** in basso a sinistra. Link Wiki nelle impostazioni Se sei nuovo su Quoting24, ti consigliamo questo percorso: 1. **[Accesso a Quoting24](login.md)** 2. **[Schermata principale](main_screen.md)** 3. **[Lista richieste](requested_list.md)** 4. **[Panoramica WhatsApp](whatsapp.md)** 5. **[Attività](activities.md)** e **[Automazioni](automations.md)** Questo ti permetterà di avere una visione completa del funzionamento della piattaforma prima di entrare nei dettagli. --- # Schermata principale URL: https://wiki.quoting24.com/content/main_screen/ Language: it Updated: 2026-11-04 # Schermata principale La schermata principale di **Quoting24** si divide in **tre sezioni principali**, illustrate di seguito da sinistra a destra. Schermata principale - - - ## 1. Elenco chat / ticket (parte sinistra) Parte di sinistra In questa sezione è presente l’elenco delle **chat / ticket**. A differenza di WhatsApp, dove le conversazioni sono flussi unici e continui, su **Quoting24** la conversazione viene suddivisa in **ticket**: ogni richiesta di preventivo deve essere considerata come un **ticket separato**. Per ogni contatto c’è **un solo ticket su cui si può scrivere**. Un ticket chiuso non si riapre a mano: vale il flusso descritto in [Gestione ticket](gestione_ticket.md). Nella stessa area della sidebar è disponibile anche **[Quoting News](quoting_news.md)**: il canale in sola lettura per le comunicazioni di prodotto pubblicate da Quoting. Quando si termina di lavorare su un preventivo, è consigliato **chiudere il ticket**. Chiusi ticket ### Stati del ticket Un ticket può trovarsi in stati diversi, in base al punto del flusso di lavoro in cui si trova: * **Aperto**: la richiesta è ancora da gestire o in lavorazione. * **Da leggere**: il ticket deve essere ripreso dal team. Quando un ticket viene segnato come *Da leggere*, gli assegnatari vengono rimossi e la richiesta torna disponibile agli operatori abilitati. * **In pausa**: la richiesta non è chiusa, ma si è in attesa di una risposta o di un'informazione dal cliente. * **Chiuso**: la richiesta è conclusa e non deve più comparire tra i ticket da lavorare. Lo stato **In pausa** è utile quando non si vuole chiudere definitivamente la richiesta. Se il cliente riscrive su un ticket in pausa, il ticket torna automaticamente **aperto**, rimane assegnato all'operatore originale e mostra di default anche i messaggi precedenti. Stato pausa del ticket ### Ordina per Sopra la lista è disponibile **Ordina per**, con queste opzioni: * **Messaggio più recente** (predefinito) — ultimo messaggio della chat, di qualsiasi mittente * **Ricevuto più recente** — ultimo messaggio **del cliente** * **Priorità decrescente** — priorità effettiva del contatto (personale o ereditata dall’azienda) * **Turni più recenti** — prossimo turno di consegna * **Messaggio meno recente** ### Filtri dei ticket I filtri di **assegnazione / stato** restano sempre visibili (es. non assegnato, assegnato a me, ad altri, da leggere, in pausa, chiuso). Il filtro **Assegnatario** resta **fuori**, nella riga principale. Tutti gli altri filtri sono raggruppati nel pulsante a **imbuto** (come su mobile). Quando un filtro dell’imbuto è attivo, compare anche **fuori** come chip rimovibile. Dentro l’imbuto trovi: * **Etichette** — etichette del ticket * **Utenti** — operatori assegnati * **Tipologia azienda** — tipologia del contatto / azienda (cliente, fornitore, collaboratore, …) * **Periodo ticket** — scorciatoie **Ultimi 7 giorni** o **Ultimi 30 giorni** * intervallo manuale **Da** / **A** (date) Un ticket assegnato presenta un’**icona con le iniziali dell’operatore** alla sinistra della preview del messaggio. L’assegnazione dei ticket consente una migliore **divisione del lavoro** e un’**ottimizzazione del flusso operativo** tra colleghi. ### Anteprima e indicatori nella lista Passando con il mouse sopra una chat nella parte sinistra è possibile visualizzare un'**anteprima della conversazione**, senza dover aprire subito il ticket. Nella lista ticket, alla destra del **nome del contatto**, compare un **tag unico** che mostra: * l’**icona di priorità** del contatto (personale o ereditata dall’azienda): * triangolo verso l’alto → priorità **alta** * pallino / trattino → priorità **media** * triangolo verso il basso → priorità **bassa** * subito dopo, il **codice azienda** (senza il `#` usato in passato) * il **colore del tag** riflette la tipologia dell’azienda associata oppure, se presente, la tipologia personale del contatto Passando il mouse sul tag compare un riepilogo (azienda, priorità, tipologia). Nella preview restano utili anche: * le **reaction** aggiunte dal cliente o dagli operatori * l'icona dell'operatore assegnato * lo stato del ticket e le eventuali [etichette](type_of_request.md) della richiesta * il prossimo turno di consegna, quando disponibile Anteprima chat nella parte sinistra ### Ricerca nella lista ticket Nella parte sinistra è disponibile un campo di **ricerca** suddiviso in sezioni, con il conteggio dei risultati per ciascuna: * **Tutte** * **Conversazioni** * **Messaggi** * **Ricambi** I chip delle sezioni si comprimono se lo spazio è stretto. I contatti si trovano anche per **nome azienda** e **codice azienda**. Se la corrispondenza è sull’azienda, compare un’etichetta con nome o codice. ### Creazione rapida di un ticket L’operatore può scrivere a uno dei propri contatti cliccando sul pulsante **‘+’** nella lista ticket (azione *“Apri nuova richiesta”*). La stessa azione è disponibile anche dalla sezione **[Contatti](contacts.md#apri-nuova-richiesta)** (lista e scheda del contatto). Apri ticket Cliccando sui **tre puntini** in alto a destra è possibile: * chiudere **tutti i ticket** * oppure chiudere **tutti i ticket fino a ieri** Tre puntini ### Dettagli per singola chat Chat utente singolo Qui spieghiamo nel dettaglio i componenti presenti nelle singole chat: * Le icone accanto allo stato sono le [etichette](type_of_request.md) della richiesta * Accanto al nome del contatto compare il **tag unico** con priorità e codice [azienda](companies.md) (senza `#`), colorato secondo la tipologia contatto/azienda * Il valore presente nell'ovale azzurro, in questo caso 'Domani 08:00', equivale al primo cutoff / turno disponibile - - - ## 2. Chat e gestione della conversazione Chat Questa sezione consente di: * inviare messaggi * allegare **foto, video e altri file** * gestire la conversazione con il cliente * controllare lo storico dei ticket collegati alla stessa chat ### Identificazione automatica dei dati Gli elementi utili alla creazione di un preventivo (es. **targa**, **telaio**, descrizione del veicolo o del ricambio richiesto) vengono **automaticamente identificati** dalla conversazione con il cliente, **taggati** e riportati nella sezione di destra (vedi punto **3**). ### Apertura, pausa e continuità dei ticket Il flusso di scrittura e riapertura è descritto in dettaglio in **[Gestione ticket](gestione_ticket.md)**. In sintesi: * se il ticket corrente è **aperto**, il messaggio resta sulla richiesta in corso * se è **in pausa**, torna automaticamente **aperto** e resta assegnato all'operatore originale * se è **chiuso**: * con un ticket **già aperto** sullo stesso contatto → la risposta va sul ticket aperto (il chiuso resta collegato) * se il chiuso **non è l’ultimo** → la risposta apre una **nuova richiesta** (il chiuso resta collegato) * se il chiuso **è l’ultimo** → il ticket viene **riaperto** Un ticket chiuso **non si riapre cambiando lo stato a mano**. Nei ticket chiusi sono disponibili i pulsanti **Vai al ticket aperto**, **Vai all’ultimo ticket chiuso** e **Apri nuova richiesta**. Quando ha senso, resta possibile: * visualizzare l’intera conversazione * **unire** ticket collegati per recuperare il contesto già lavorato I messaggi programmati vengono instradati **all’invio**. Se chiudi un ticket con messaggi ancora programmati, Quoting24 chiede conferma. ### Visualizzazione dei ticket nella chat La chat principale mostra i ticket con lo stesso formato della chat intera: sono presenti linee e **banner** che indicano dove **inizia** e dove **finisce** ogni ticket. Nei banner di separazione tra ticket (anche quando si usa **Vedi precedente**) vengono mostrati: * **data** e **ora** di chiusura del ticket * **chi ha chiuso** il ticket Banner ticket con data/ora e utente di chiusura Quando più ticket sono collegati alla stessa conversazione, sono disponibili azioni dedicate: * **Unisci**: collega il ticket attuale a uno precedente, recuperando il contesto già lavorato. * **Scollega richiesta**: separa una richiesta collegata per gestirla come ticket indipendente. L'azione è indicata dall'icona con l'**occhietto sbarrato**. * **Apri conversazione intera**: se tra due ticket collegati ci sono altri ticket o messaggi intermedi, compare un pulsante per aprire la conversazione intera in quel punto e vederli tutti. Linee di inizio e fine ticket con Unisci e Vedi insieme ### Banner “N messaggi da leggere” Aprendo un ticket con messaggi non letti del cliente, in chat compare un indicatore tra i messaggi già letti e quelli da leggere, ad esempio **“1 messaggio da leggere”** o **“N messaggi da leggere”**. Il conteggio si aggiorna se arrivano altri messaggi del cliente mentre il banner è visibile. Non conta le **note interne** né i messaggi **inviati**. Banner messaggi da leggere ### Trascrizione automatica vocali e immagini Quoting24 trascrive automaticamente: * i **messaggi vocali** ricevuti dai clienti * il contenuto delle **immagini**, ad esempio: * foto di una **targa**, che viene riconosciuta e trascritta automaticamente Dal testo trascritto vengono ricavate tutte le informazioni utili (targhe, telai, componenti del preventivo). Se l'estrapolazione automatica dei dati da parte dell'AI è stata nascosta dalle impostazioni dell'attività, le informazioni tecniche possono comunque essere disponibili nella sezione di destra, ma non vengono mostrate come dettaglio operativo nella conversazione. ### Allegati Cliccando sull’icona della **graffetta** è possibile allegare: * foto * video * PDF * altri file Gli allegati possono anche essere **trascinati direttamente nella chat**. ### Anteprima PDF in chat I **PDF** ricevuti o inviati in chat mostrano l’**anteprima della prima pagina** nel messaggio (miniatura in alto, nome e dimensione sotto). Cliccando sul file si apre il visualizzatore del documento. Se l’anteprima non è disponibile, resta la scheda file classica. Anteprima PDF in chat ### Editor immagini prima dell'invio Quando si allega un'immagine a un messaggio, tramite icona della graffetta o trascinamento nella chat, Quoting24 mostra una preview dell'allegato prima dell'invio. Cliccando sull'immagine nella preview si apre l'**editor immagini fullscreen**, che permette di modificare l'immagine prima di mandarla al cliente. L'editor è disponibile solo per le immagini ancora in coda di invio. Non si applica a video, file generici o messaggi già inviati. Gli strumenti disponibili sono: * **Ritaglia**: permette di selezionare l'area dell'immagine da mantenere trascinando il riquadro * **Ruota a sinistra / destra**: ruota l'immagine nella direzione scelta * **Specchia orizzontale / verticale**: ribalta l'immagine sull'asse selezionato * **Penna e colori**: consente di disegnare sull'immagine * **Gomma**: rimuove i tratti disegnati * **Sfocatura**: copre una zona con un rettangolo pixellato, regolabile in posizione e dimensione. Un altro clic sulla foto ne aggiunge un altro * **Annulla**: annulla l'ultimo passaggio effettuato Quando la modifica è terminata: * cliccando **Fatto**, l'allegato originale viene sostituito con l'immagine modificata * cliccando **Annulla**, l'immagine originale rimane invariata Dopo la modifica, il messaggio può essere inviato normalmente. Editor immagini prima dell'invio La **sfocatura** serve a oscurare dati visibili nella foto, per esempio una targa, prima di mandarla al cliente. Ogni rettangolo si sposta e si ridimensiona; un altro clic sulla foto aggiunge un rettangolo in più. Targa oscurata con rettangoli pixellati ### Messaggi vocali, audio e media Quoting24 supporta i **messaggi vocali** e i file audio ricevuti in chat. I vocali possono essere ascoltati, trascritti automaticamente e, quando disponibile, scaricati come file audio. Durante l’elaborazione compare lo stato **“Trascrizione in corso…”**. È disponibile anche il pulsante **Riprova**, per rilanciare la trascrizione se necessario. Le foto e i video inviati nella conversazione possono essere aperti nel **carosello dei media**, che permette di scorrere rapidamente tra i contenuti multimediali ricevuti o inviati nella chat. Carosello media e download audio Trascrizione in corso e Riprova ### Dettatura vocale Sotto il campo di scrittura è disponibile l’icona **Dettatura**. Con il permesso al microfono, la voce viene trascritta in tempo reale nel messaggio. Dettatura vocale ### Indicatore "sta scrivendo" Quando un altro utente sta digitando nella chat attiva, Quoting24 mostra l'indicatore **sta scrivendo**. Questo aiuta gli operatori a evitare risposte sovrapposte mentre un collega sta già preparando un messaggio. Indicatore sta scrivendo ### Invio senza intestazione o firma Se nel proprio [profilo](profilo.md) sono state configurate intestazione o firma, Quoting24 le aggiunge in base alla scelta impostata: **sempre**, oppure **solo al primo messaggio del ticket e con Invia e chiudi**. È comunque possibile inviare un singolo messaggio **senza intestazione e senza firma**. Questa opzione è utile per risposte rapide, messaggi molto brevi o comunicazioni che non devono includere il testo automatico configurato dall'operatore. Invio senza intestazione e firma ### Azioni sui messaggi Le azioni disponibili su un messaggio possono essere aperte in due modi: * facendo **click destro** sul messaggio * cliccando la **freccia** alla destra del messaggio Da questo menu è possibile eseguire operazioni come rispondere, inoltrare o eliminare messaggi. Quando previsto dalla selezione, è possibile effettuare anche **inoltro** ed **eliminazione multipla**. Azioni messaggio con click destro e freccia ### Reaction ai messaggi Le reaction permettono a clienti e operatori di reagire ai messaggi della conversazione. Quoting24 mostra: * la reaction applicata al messaggio * chi ha aggiunto la reaction * la reaction nella preview dei messaggi nella colonna di sinistra Le reaction ricevute generano notifiche su Quoting24, nella **campanella** e, se abilitate, anche come **notifiche desktop**. Se un cliente aggiunge una reaction a un messaggio appartenente a un ticket già chiuso, Quoting24 crea un riferimento al messaggio tramite **reply**, così la reaction resta visibile nel ticket attualmente aperto. ### Note interne Nella chat è possibile inserire una **nota interna** per i colleghi: * cliccando sull’icona dedicata * oppure digitando **@ + SPAZIO** Quando si scrive una nota interna: * lo sfondo diventa **giallo** * la nota **NON viene inviata al cliente** * è visibile solo agli utenti di Quoting24 All’interno delle note è possibile **taggare un collega** (scrivendo `@soprannome`) e il collega riceverà una notifica. E' anche possibile taggare **tutti i colleghi** scrivendo `@tutti`. Quando un utente viene taggato in una nota interna, la notifica generata da Quoting24 viene evidenziata in **arancione**. Accanto alle spunte di visualizzazione del messaggio viene inoltre mostrata l'icona della nota interna, così da distinguere subito i messaggi visibili solo agli operatori. Le note interne di **testo** possono essere **modificate entro 15 minuti**, solo dall’**autore**. Rispondendo a una nota interna: * la risposta resta una **nota interna** * l’autore della nota originale viene **riassegnato** al ticket Crea nota interna Invia nota interna Modifica nota interna ### Informazioni del ticket Nella tab **Informazioni** (icona **i**) del ticket è possibile consultare e modificare rapidamente i dati collegati alla richiesta. La sezione è organizzata così: 1. **In alto — Contatto** Note, avvisi, assegnatari del contatto, **priorità** del contatto e **tipologia** del contatto (quest’ultima modificabile solo se il contatto non ha un’azienda). 2. **In basso — Azienda** (se presente) Nome, note, sede, **priorità azienda** e **tipologia azienda**. Sulla priorità del contatto: * se non è impostata, viene **ereditata dall’azienda** (compare l’indicazione *Ereditata dall’azienda*) * puoi comunque impostarne una personale, anche se l’azienda ha già una priorità Sulla tipologia del contatto: * **senza azienda** → puoi assegnarla sul contatto * **con azienda** → è ereditata e **non modificabile** sul contatto; va cambiata sull’azienda Nella select degli assegnatari del ticket è disponibile anche l’opzione **Nessuno**, che rimuove tutti gli assegnatari. Dettagli in [Assegnazioni](assegnazioni.md#assegnazione-manuale-e-assegnazione-a-tutti). Se sul contatto sono presenti **avvisi importanti**, questi vengono mostrati sopra la chat per richiamare subito l'attenzione dell'operatore. ### Esportazione chat Dalla chat è possibile **esportare** la conversazione. All’avvio dell’export si può scegliere: * esportazione **senza media** * esportazione **con media** Se si includono i media, questi vengono salvati in uno **zip a parte**, insieme al file della chat. ### Storico del ticket Dal pannello laterale destro del ticket è possibile aprire la tab **Storico**, indicata dall'icona a forma di **orologio**. Questa tab mostra una timeline in **sola lettura** degli eventi collegati al ticket. Serve per consultare cosa è successo sulla richiesta, chi ha effettuato l'azione e in quale momento. Lo storico può includere eventi come: * cambio di stato del ticket * prima visualizzazione del ticket * lettura dei messaggi non letti * assegnazione o rimozione degli assegnatari del ticket * autoassegnazione dell'operatore, indicata come azione di presa in carico automatica * assegnazione delle ricerche collegate al ticket * cambio stato delle ricerche, ad esempio aperta, in pausa o chiusa Quando l'evento riguarda una ricerca veicolo, Quoting24 mostra anche i dati disponibili per riconoscerla più facilmente, come **targa**, **VIN** o **veicolo**. Lo storico si aggiorna in tempo reale e non è modificabile da questa tab: è pensato esclusivamente per consultazione e tracciabilità operativa. Storico ticket - - - ## 3. Sezione ricerca telaio e codici Conversione targa-telaio La sezione di destra può essere **collassata** cliccando sull'icona della tab attiva. In questo modo è possibile lasciare più spazio alla conversazione quando non serve lavorare sui dati tecnici. Tab destra collassabile In questa sezione vengono riportate: * **targhe** * **telai** * **descrizioni dei ricambi** identificati direttamente dalla chat con il cliente. La *targa* viene convertita automaticamente in *telaio* e vengono mostrate informazioni sul veicolo (es. **marca**, **modello**, ecc.). ### Sub-assegnazioni Le **sub-assegnazioni** permettono di assegnare non l’intero ticket, ma la **singola ricerca veicolo** all’interno della chat. In un ticket possono coesistere **più ricerche** (ad esempio due targhe diverse o due veicoli dello stesso cliente). Ogni ricerca ha: * un proprio **stato** (ad esempio *Aperto*, *In pausa*, *Chiuso*) * uno o più **operatori assegnati** In questo modo il lavoro può essere diviso per veicolo: un collega gestisce un mezzo, un altro collega un secondo mezzo, senza dover spezzare la conversazione in ticket diversi. #### Differenza rispetto all’assegnazione del ticket * **Assegnazione del ticket**: riguarda l’intera chat / richiesta e indica chi è responsabile della conversazione. * **Sub-assegnazione**: riguarda la singola ricerca veicolo e indica chi lavora su quel mezzo specifico. * **Dove si gestisce**: l’assegnazione del ticket sulla chat; la sub-assegnazione sul riquadro della ricerca, in alto a destra. L’assegnazione del ticket e le sub-assegnazioni possono convivere: il ticket può restare assegnato a un operatore, mentre le ricerche interne vengono distribuite ad altri collaboratori. #### Come assegnare una ricerca 1. Apri la ricerca veicolo nella sezione di destra. 2. Clicca l’icona della **persona** (o l’avatar dell’assegnatario) in alto a destra sulla riga del veicolo. 3. Cerca l’operatore e selezionalo, oppure scegli **Tutti** per coinvolgere tutti i collaboratori. Nella stessa riga puoi anche cambiare lo **stato** della singola ricerca, in modo indipendente dallo stato del ticket. Sub-assegnazioni delle ricerche veicolo Stato e assegnazione singolo veicolo Le variazioni di assegnazione e di stato delle ricerche vengono registrate anche nello [storico del ticket](#storico-del-ticket), insieme a targa, VIN o veicolo quando disponibili. Per l’assegnazione automatica e manuale a livello di ticket, consulta la pagina [Assegnazioni](assegnazioni.md). ### Ricerca del ricambio tramite spaccati Un modello di intelligenza artificiale propone una selezione di spaccati che possono includere la descrizione ricercata. L'estrapolazione dei dati da immagini, vocali e testo può essere nascosta dalle impostazioni dell'attività, se l'amministratore preferisce non mostrare il dettaglio dell'elaborazione AI agli operatori. L’operatore deve: * entrare negli spaccati * selezionare manualmente il **codice corretto** Apertura spaccato Cliccando sull’anteprima di uno spaccato si apre la pagina di navigazione completa degli spaccati disponibili. L’operatore: * cerca il pezzo desiderato * seleziona il codice spuntando la casella a sinistra * chiude la pagina tramite la **‘X’** in alto a destra Se l’operatore desidera visualizzare l’albero completo del telaio, può cliccare sulla **‘Q’** di Qricambi. ### Invio dello spaccato in chat Dalla visualizzazione degli spaccati è possibile inviare direttamente in chat la **foto dello spaccato** collegata al ricambio selezionato. Questa funzione è utile quando si vuole chiedere conferma al cliente mostrando il dettaglio tecnico del pezzo. Invio foto spaccato in chat ### Azioni disponibili sui codici Alla destra di ogni codice sono disponibili: * una **‘i’** con informazioni aggiuntive sul pezzo * una **‘Q’** rossa per cercare il codice su Qricambi * l’icona per **copiare il codice** Ricambio selezionato Il codice selezionato viene riportato nella schermata precedente ed è possibile: * cercarlo su **[Qricambi](https://app.qricambi.com/)** * creare un **[preventivo](invia_preventivo_gestionale.md)** * inviarlo al cliente tramite **Quoting24** ### Ricerca diretta sui fornitori In alternativa, è possibile cercare i codici direttamente su alcuni fornitori da **Quoting24**. Per farlo, dalla sezione **[Impostazioni → Qricambi](qricambi_integration.md)** è possibile selezionare: * fornitori **interni** (es. proprie liste) * fornitori **esterni** Ricerca ricambio La ricerca sui fornitori: * è più sintetica rispetto a Qricambi * segue la stessa logica I risultati sono ordinati per: * **prezzo** * **disponibilità** In alto vengono mostrati i prodotti: * più economici * immediatamente disponibili (**verde**) Scorrendo i risultati: * la disponibilità passa da **giallo** a **rosso** * il prezzo aumenta Vengono mostrati: * codice * marchio * fornitore * descrizione * prezzo netto * prezzo di listino, se disponibile * disponibilità Prodotto Accanto a ogni risultato sono presenti due icone: * aggiunta al **[carrello Qricambi](https://app.qricambi.com/?next=%2F&activetab=orders)** * link al sito e-commerce del fornitore > **NB** > La ricerca automatica sui fornitori di Qricambi può essere disabilitata in qualsiasi momento > dalla sezione **[Impostazioni → Qricambi](qricambi_integration.md)** ### Ricerca nei risultati Qricambi Quando sono presenti molti risultati, è possibile effettuare una **ricerca per testo** all'interno dei risultati di Qricambi, così da individuare più rapidamente il codice, il marchio o la descrizione desiderata. Ricerca testuale nei risultati Qricambi --- # Gestione ticket URL: https://wiki.quoting24.com/content/gestione_ticket/ Language: it Updated: 2026-11-04 # Gestione ticket Quoting24 organizza ogni conversazione WhatsApp in **ticket**. Da ora il flusso è **ordinato**: per ogni contatto esiste **un solo ticket su cui si può scrivere** in modo libero. Questa pagina spiega le regole di scrittura, riapertura, reply e messaggi programmati. --- ## Concetti base | Concetto | Significato | | --- | --- | | **Thread** | Tutti i ticket dello stesso contatto | | **Ticket scrivibile** | L’unico ticket del thread su cui puoi digitare liberamente (di solito quello aperto, oppure l’ultimo chiuso nelle condizioni sotto) | | **Reply** | Risposta a un messaggio specifico: può instradare il testo verso un altro ticket del thread | Regola pratica: **non puoi riaprire a mano un ticket chiuso** (cambiando lo stato). Per riprendere il lavoro usi un messaggio, una risposta a un messaggio, o i pulsanti dedicati nei ticket chiusi. --- ## Cosa succede quando scrivi ### C’è già un ticket aperto Se il cliente (o tu) rispondete mentre esiste un ticket **aperto** (o **in pausa** che torna aperto), i messaggi vanno su quel ticket. ### Scrivi da un ticket chiuso Dipende dalla posizione del ticket chiuso nel thread: 1. **Esiste già un ticket aperto** La risposta viene inviata sul ticket aperto. Il ticket chiuso da cui stavi rispondendo resta chiuso e viene **collegato** al ticket che ha ricevuto il messaggio. 2. **Il ticket chiuso non è l’ultimo del thread** La risposta **apre una nuova richiesta**. Anche in questo caso il ticket chiuso di partenza resta collegato al ticket di destinazione. 3. **Il ticket chiuso è l’ultimo del thread** Solo in questo caso il messaggio **riapre** quel ticket. Per scrivere da un ticket chiuso che non è quello scrivibile, Quoting24 chiede di **rispondere a un messaggio** (reply): senza reply, la composizione resta bloccata con l’indicazione di selezionare un messaggio. --- ## Pulsanti nei ticket chiusi Quando apri un ticket chiuso, in basso compaiono azioni che seguono le stesse regole del flusso: - **Vai al ticket aperto** — se nel thread c’è già una richiesta aperta - **Vai all’ultimo ticket chiuso** — se non ci sono aperti (e l’ultimo chiuso non è quello che stai guardando) - **Apri nuova richiesta** — crea una nuova richiesta nel thread, quando non c’è un ticket aperto Questi pulsanti evitano di “lavorare sul ticket sbagliato” e ti portano nel punto corretto del flusso. Quando fai reply da un ticket chiuso, Quoting24 ti indica anche dove andrà il messaggio, ad esempio: - *La risposta verrà inviata nel ticket aperto.* - *La risposta aprirà un nuovo ticket.* --- ## Messaggi programmati I messaggi programmati **non decidono subito** il ticket definitivo: vengono **instradati al momento dell’invio**, con le regole del thread in vigore in quell’istante. Conseguenza: se chiudi un ticket che ha ancora messaggi programmati in sospeso, Quoting24 chiede conferma. All’invio il messaggio potrebbe: - riaprire il ticket (se è ancora l’ultimo chiuso) - oppure finire in un’altra richiesta aperta / nuova --- ## Cosa non puoi più fare - **Riaprire manualmente** un ticket chiuso cambiandone lo stato Il sistema blocca l’azione e invita a scrivere un messaggio (nelle condizioni corrette) oppure a usare i pulsanti del flusso. - Avere **due ticket aperti** sullo stesso contatto Se ne esiste già uno aperto, non se ne apre un secondo. --- ## Stati del ticket (promemoria) - **Aperto** — in lavorazione - **Da leggere** — da riprendere; gli assegnatari vengono rimossi - **In pausa** — in attesa del cliente; se il cliente riscrive, torna **aperto** e resta assegnato all’operatore originale - **Chiuso** — concluso; non compare tra i ticket da lavorare, ma resta consultabile e soggetto alle regole di reply / riapertura sopra La **pausa** non è una chiusura: non applica le regole dei ticket chiusi. --- ## Dove aprire una nuova richiesta Puoi avviare una conversazione / nuova richiesta da: - il pulsante **+** nella lista ticket della home (*Apri nuova richiesta*) - la sezione **[Contatti](contacts.md#apri-nuova-richiesta)** (lista e scheda contatto) - il pulsante **Apri nuova richiesta** dentro un ticket chiuso, quando previsto dal flusso --- ## Collegamenti utili - [Schermata principale](main_screen.md) — lista, filtri, anteprima, chat - [Lista richieste](requested_list.md) — storico e filtri di stato - [Contatti](contacts.md) — apri richiesta, priorità e tipologia contatto --- # Lista richieste URL: https://wiki.quoting24.com/content/requested_list/ Language: it Updated: 2026-11-04 # Lista richieste Cliccando sul **menù in alto a destra** e selezionando **“Lista richieste”**, si apre lo **storico delle richieste** create dai vari contatti su Quoting24. Schermata liste richieste --- ## Visualizzazione delle richieste Di default vengono mostrate **solo le richieste aperte**. Tramite il **filtro in alto a destra** è possibile: - visualizzare le richieste **in pausa** - visualizzare le richieste **da leggere** - visualizzare le richieste **chiuse** - applicare **altri filtri** per affinare la ricerca Filtri richieste aperte in pausa e chiuse --- ## Ricerca tra le richieste La lista richieste permette di cercare rapidamente tra i ticket presenti nello storico. La ricerca può essere usata per individuare una richiesta partendo da informazioni come: - nome o numero del contatto - azienda collegata - contenuto della richiesta - stato del ticket - dati tecnici riconosciuti, ad esempio targa o telaio I filtri possono essere combinati con la ricerca testuale per restringere l'elenco e trovare più velocemente il ticket corretto. --- ## Richieste in pausa Le richieste **in pausa** sono ticket non chiusi definitivamente, ma momentaneamente sospesi perché si è in attesa di un messaggio o di una conferma dal cliente. Quando il cliente riscrive su un ticket in pausa: - il ticket torna automaticamente **aperto** - rimane assegnato all'operatore originale - vengono mostrati di default anche i messaggi precedenti Questo comportamento è diverso dai ticket **chiusi**: su un ticket chiuso valgono le regole del flusso ordinato (reply, riapertura solo se è l’ultimo, altrimenti nuova richiesta o instradamento sul ticket già aperto). Dettagli in [Gestione ticket](gestione_ticket.md). --- ## Apertura di una richiesta Cliccando sulla **freccia rossa** in fondo a destra di una riga, è possibile aprire la **richiesta specifica** e accedere al relativo ticket. Quando si apre una richiesta, Quoting24 mostra il contesto collegato al ticket, inclusi eventuali messaggi precedenti se la richiesta era stata messa in pausa o collegata ad altri ticket. --- # Etichette URL: https://wiki.quoting24.com/content/type_of_request/ Language: it Updated: 2026-11-04 # Etichette Un ticket può avere **più etichette** insieme. Servono a classificare la richiesta e, con l’[assegnazione automatica](assegnazioni.md) attiva, a passarla agli operatori collegati a quelle etichette. Nella lista dei ticket ne compaiono fino a **3 come icone**. Se ce ne sono altre, compare **+N**. Se il nome non entra nello spazio, resta l’icona: il nome si legge nel tooltip. Etichette predefinite --- ## Tre tipi di etichetta | Tipo | Chi la crea | Chi la può assegnare | | --- | --- | --- | | **Personalizzata** | La stanza | Gli operatori | | **AI** | La stanza, con «assegna con l’AI» attivo (solo AI Premium) | Gli operatori e l’agente premium | | **Predefinita** | Già presente in ogni stanza | Gli operatori e il classificatore | Le etichette messe da un operatore **non vengono mai tolte in automatico**. Il classificatore e l’agente **aggiungono** soltanto. --- ## Etichette predefinite Sono **11**, uguali per tutte le stanze: * Informazioni * Commerciale * Ordini e logistica * Acquisti * Garanzie, resi e reclami * Supporto * Amministrazione * IT * Servizi * Auth * Altro Non si possono **rinominare** né **eliminare**. Si possono cambiare il **colore** e gli **assegnatari**. Si trovano in **Impostazioni → Ticket e automazioni → Etichette**, scheda **Etichette predefinite**. Modifica colore di un'etichetta predefinita Con **AI lite** non c’è categorizzazione automatica: le predefinite si possono comunque assegnare a mano. In quel modulo la scheda delle predefinite non compare. --- ## Etichette personalizzate Nella scheda **Etichette personalizzate** il pulsante **Aggiungi** crea un’etichetta della stanza: nome, colore, icona e descrizione. Etichette personalizzate Con **AI Premium** si può attivare **Autoassegna questa etichetta ai ticket con intelligenza artificiale**. L’agente la usa solo se la descrizione dice con chiarezza quando applicarla. In lista queste etichette hanno il badge **AI**. Nuova etichetta con assegnazione AI Gli assegnatari si impostano dalla colonna **Assegnato a**. Se l’[assegnazione automatica](assegnazioni.md) è attiva, una richiesta con quell’etichetta va a loro. --- ## Categorizzazione automatica Ogni stanza sceglie chi mette le etichette in automatico, da **Impostazioni → Ticket e automazioni → Classificatore ticket**. La modifica si salva con **Salva modifiche**. Classificatore ticket | Opzione | Cosa succede | Per chi | | --- | --- | --- | | **Disattivata** | Nessuna etichetta automatica, solo a mano | Tutti | | **Etichette predefinite (AI economica)** | Il classificatore mette le etichette predefinite | Solo AI economica | | **AI Premium** | L’agente premium mette le etichette AI della stanza | Solo AI Premium | Quando cambia il modulo AI della stanza, l’opzione si adegua: * **Premium** → AI Premium * **Lite** → Disattivata * **Economica**, se prima era Premium o Lite → Etichette predefinite. Se era già economica e disattivata, resta disattivata Il classificatore mette le etichette solo sui **primi messaggi del cliente**. Appena un operatore risponde, scrive una nota interna o mette un’etichetta, si ferma. --- ## Urgenza Tre livelli: * **Bassa** — saluti, ringraziamenti, spam * **Normale** — preventivi, ordini, fatture * **Alta** — ricambio che serve oggi, auto ferma in officina, consegna in ritardo o sbagliata, pagamento in scadenza I ticket con urgenza **alta** hanno un’icona di avviso nella lista. Con l’**AI economica** la imposta il classificatore, a ogni nuovo gruppo di messaggi del cliente. Con l’**AI Premium** la imposta l’agente. --- ## Messaggi semplici Molti messaggi del cliente sono chiacchiere o accordi pratici («grazie», «ok», orari, ritiro) e non hanno bisogno del riconoscimento ricambi. Con l’**AI economica**, se il classificatore è abbastanza sicuro e il messaggio è **solo testo o vocale**, il riconoscimento ricambi non parte. **Immagini e file** passano sempre dal riconoscimento. --- ## Collegamento ai ticket precedenti Nella stessa pagina **Classificatore ticket**, l’interruttore **Collegamento automatico ticket** è **spento** di default. Vale solo per l’**AI economica**. Quando un contatto scrive in un nuovo ticket, prima che un operatore risponda, l’AI lo confronta con gli **ultimi due ticket chiusi** del contatto. Se è la continuazione di uno di questi (stesso veicolo, o un ticket senza veicolo), collega il nuovo ticket a quello e la conversazione precedente compare in chat. Collega solo quando è molto sicura: a volte non collega anche quando avrebbe ragione. Non lavora su un ticket **già collegato**. --- ## Quando lavorano | Funzione | Lavora solo se… | | --- | --- | | **Classificatore** | la stanza ha l’**AI economica**, arrivano **nuovi messaggi del cliente** e il classificatore è configurato | | **Urgenza** | a ogni nuovo gruppo di messaggi del cliente | | **Messaggi semplici** | i nuovi messaggi sono **solo testo o vocali** | | **Etichette automatiche** | la stanza è su «Etichette predefinite», nel ticket **non ha ancora scritto nessun operatore** e **nessun operatore ha messo un’etichetta** | | **Collegamento** | è **attivo**, nel ticket **non ha ancora scritto nessun operatore**, il contatto ha **ticket chiusi** (solo gli ultimi due) e il ticket **non è già collegato** | Se il classificatore non è configurato, Quoting24 funziona comunque: semplicemente non classifica. --- ## Come usarle * **A mano**: nel ticket, sul campo **Etichetta**, si scelgono una o più etichette (personalizzate e predefinite). * **Etichette automatiche**: in Classificatore ticket scegli «Etichette predefinite (AI economica)», poi in Etichette imposta gli **assegnatari** di ogni etichetta predefinita. * **Agente premium**: crea le etichette con l’assegnazione AI e scrivi una **descrizione chiara**. * **Collegamento**: attivalo se i clienti tendono a riscrivere su richieste già chiuse. * **Urgenze**: tieni d’occhio l’icona di avviso nella lista dei ticket. Le impostazioni della stanza le vedono admin, owner e superadmin. --- # Risposte salvate URL: https://wiki.quoting24.com/content/save_response/ Language: it Updated: 2026-11-04 # Risposte salvate Risposte salvate Dalla sezione **“Risposte salvate”** è possibile creare **risposte predefinite** da inviare rapidamente ai clienti. --- ## Creazione di una nuova risposta salvata Per creare una nuova **Risposta salvata**, clicca sul pulsante rosso in alto **“+ Aggiungi Risposta”**. Modifica risposte salvate È necessario inserire: - un **nome** - il **contenuto** della risposta E' possibile aggiungere un **file in allegato**. --- ## Tipologia di risposte salvate Le risposte salvate possono essere gestite in **due modalità**: - **Solo per me** Pensata per risposte personali (es. *“Sono Antonio…”*). Questa risposta sarà utilizzabile **solo dall’utente che la crea**. Gli [utenti](user.md) **non amministratori** possono visualizzare e impostare **solo** risposte salvate di tipo *“solo per me”*. - **Per tutta l’attività** Tutti gli utenti dell’account vedranno la risposta salvata. **Solo gli [utenti amministratori](user.md)** possono creare e modificare questo tipo di risposte. --- ## Gestione delle risposte salvate Le risposte salvate possono essere: - **attivate o disattivate** tramite l’apposita spunta - **modificate** cliccando sull’icona a forma di **matita** alla destra di ogni risposta --- ## Utilizzo delle risposte salvate in chat L’inserimento di una risposta salvata avviene direttamente dalla **barra di scrittura del messaggio**. Per utilizzarla: 1. digita il carattere **`/`** 2. scrivi il **nome** della risposta salvata (anche parzialmente) Esempio di risposta salvata È possibile inserire la risposta: - **senza completare il nome** - premendo **Invio** sulla risposta evidenziata (non è necessario utilizzare il mouse) --- ## Ordinamento dei suggerimenti Nel caso in cui il testo inserito sia **parziale o ambiguo** (es. `/o`), i suggerimenti delle risposte salvate vengono ordinati come segue: Esempio di utilizzo risposta salvata 1. **Ordine alfabetico** dei nomi che iniziano con il testo digitato (es. `/o` → *ora*, *orario*) 2. Successivamente, vengono mostrati i risultati in cui il testo digitato è contenuto **nel nome o nel contenuto**, anch’essi in ordine alfabetico --- # Assegnazioni URL: https://wiki.quoting24.com/content/assegnazioni/ Language: it Updated: 2026-11-04 # Assegnazione automatica Il sistema di **Assegnazione Automatica** ha l’obiettivo di rendere la gestione dei ticket più **rapida**, **efficiente** e **precisa**, soprattutto in contesti in cui più operatori lavorano su un unico numero WhatsApp. Questa funzionalità assegna automaticamente i **nuovi ticket** all’operatore o al team più adatto, basandosi su **regole predefinite**. L’obiettivo è: - eliminare l’assegnazione manuale - ridurre i tempi di attesa per i clienti - garantire che ogni richiesta arrivi subito alla persona giusta --- ## Quando entra in funzione l’assegnazione automatica Il sistema entra in azione **quando arriva il primo messaggio di un nuovo ticket**. Analizza le informazioni del ticket e le confronta con: - competenze - responsabilità - configurazioni degli operatori L’assegnazione si basa su **tre criteri di corrispondenza**: 1. **[Etichetta](type_of_request.md)** (vedi sezione *Etichette*) 2. **[Azienda](companies.md) assegnata al contatto** Se esistono operatori dedicati a una specifica azienda cliente 3. **[Contatto](contacts.md)** Se esiste un referente di fiducia per uno specifico contatto Per ogni nuovo ticket il sistema: - calcola quante corrispondenze ha ciascun operatore - procede con l’assegnazione secondo la regola scelta ⚠️ L’auto-assegnazione **si applica solo ai primi messaggi del cliente** e smette di funzionare quando c’è un’attività dell’operatore sul ticket. ### Autoassegnazione all'apertura Se un ticket è ancora **da leggere** e non è assegnato a nessun operatore, l'apertura del ticket può assegnarlo automaticamente all'operatore che lo sta prendendo in carico. Questo comportamento evita che due operatori inizino a lavorare contemporaneamente sulla stessa richiesta e rende più chiaro chi è responsabile del ticket. Autoassegnazione ticket all'apertura --- ## Disponibilità degli operatori Il sistema è progettato per lavorare **solo con operatori realmente disponibili**. L’assegnazione automatica avviene **solo se almeno un operatore idoneo è online**. - **Se nessun operatore qualificato è online** Il ticket **non viene assegnato automaticamente** e rimane disponibile per la presa in carico manuale. - **Se almeno un operatore qualificato è online** Il sistema procede con l’assegnazione automatica. --- ## Regole di assegnazione Puoi configurare il sistema affinché utilizzi una delle seguenti **logiche di assegnazione**: Assegnazione --- ### Miglior corrispondenza Con questa regola, il ticket viene assegnato **solo all’operatore (o agli operatori)** con il **punteggio di corrispondenza più alto**. È ideale per indirizzare le richieste verso un esperto specifico. #### Esempio pratico Un ticket arriva dall’azienda **“ACME Corp”** ed è di tipo **“Commerciale”**: - **Anna** → responsabile per il tipo *Commerciale* (1 corrispondenza) - **Marco** → responsabile per l’azienda *ACME Corp* (1 corrispondenza) - **Lucia** → responsabile sia per il tipo *Commerciale* che per *ACME Corp* (2 corrispondenze) ➡️ Con la regola **Miglior Corrispondenza**, il ticket viene assegnato **solo a Lucia**. --- ### Tutte le corrispondenze Con questa regola, il ticket viene assegnato a **tutti gli operatori** che hanno **almeno una corrispondenza**. È adatta a team in cui più persone possono gestire lo stesso tipo di richiesta. #### Esempio pratico Usando lo stesso scenario precedente: ➡️ Con la regola **Tutte le Corrispondenze**, il ticket viene assegnato ad **Anna, Marco e Lucia**. --- ## Gestione del ciclo di vita di un ticket auto-assegnato ### Assegnazione manuale e assegnazione a tutti Oltre all'assegnazione automatica, un ticket può essere assegnato manualmente a uno o più operatori. Nella select degli **assegnatari** è disponibile l’opzione **Nessuno**. Selezionandola si **rimuovono tutti gli assegnatari** dal ticket. Select assegnatari – opzione Nessuno Quando serve coinvolgere tutto il team, è possibile assegnare il ticket a **tutti i collaboratori** abilitati. Questa funzione è utile per richieste urgenti o per ticket che possono essere gestiti dal primo operatore disponibile. Assegna tutti i collaboratori al ticket ### Ticket segnato come "Da leggere" Un ticket può essere segnato come **Da leggere** per rimetterlo nel flusso di presa in carico del team. Quando un ticket viene segnato come *Da leggere*: - vengono rimossi gli assegnatari presenti - la richiesta torna visibile agli operatori che possono prendere in carico ticket non assegnati - il ticket può essere riassegnato manualmente o tramite il normale flusso operativo ### Ticket senza risposta (tempo di sicurezza) Per evitare che un ticket auto-assegnato rimanga ignorato, è previsto un **tempo di sicurezza configurabile**. Se un ticket: - è stato auto-assegnato - **non riceve risposta** entro il tempo impostato l’assegnazione automatica viene **rimossa**. Il ticket torna: - **non assegnato** - visibile a tutto il team Questo meccanismo evita che le richieste vadano perse. --- ### La prima risposta “reclama” il ticket Quando un ticket è assegnato automaticamente a **più operatori**: 1. il **primo operatore che risponde** reclama il ticket 2. tutti gli altri operatori vengono rimossi dall’assegnazione 3. l’operatore che ha risposto diventa l’**unico responsabile** Questo garantisce: - nessuna sovrapposizione - responsabilità sempre chiara --- ## Configurazione dell’assegnazione automatica L’amministratore può configurare il sistema seguendo questi passaggi: 1. **Abilita la funzione** Attiva l’opzione *“Abilita Assegnazione Automatica”* nelle impostazioni. 2. **Scegli la regola di assegnazione** - Miglior corrispondenza - Tutte le corrispondenze 3. **Imposta il tempo di sicurezza** Definisci dopo quanti minuti un ticket non gestito deve tornare non assegnato (di default **15 minuti**). 4. **Definisci le responsabilità degli operatori** Associa gli operatori alle loro aree di competenza: - **Tipi di ticket** - **Aziende** - **Contatti** Assegnazione automatica --- ## Esempio pratico avanzato - **Matteo** è esperto di *Jeep* e *carrozzeria* - **Alessandro** è esperto di *carrozzeria* Arriva una richiesta per una **portiera di una Jeep Renegade**. - Con **Miglior Corrispondenza** ➜ il ticket viene assegnato **solo a Matteo** - Con **Tutte le Corrispondenze** ➜ il ticket viene assegnato **a Matteo e Alessandro** --- # Turni di consegna URL: https://wiki.quoting24.com/content/delivery_shifts/ Language: it Updated: 2026-11-04 # Turni di consegna È possibile creare e gestire i **turni di consegna** dall’apposita voce presente nel menù. Cliccando sul menù, viene mostrato l’elenco dei **turni di consegna già esistenti**. Per creare un nuovo turno, è sufficiente cliccare sul pulsante rosso in alto a destra **“+ aggiungi”**. Schermata aggiunta turni di consegna --- ## Assegnazione dei turni alle aziende Una volta creato un turno di consegna, è possibile **assegnarlo a una o più [aziende](companies.md)**. L’assegnazione può essere effettuata da diversi punti dell’applicazione (all’interno della gestione azienda), ma il metodo **consigliato** è quello di procedere **in modo massivo**. Per farlo: 1. entra nel **turno di consegna** a cui vuoi assegnare le aziende 2. utilizza la schermata di modifica del turno Schermata modifica turni di consegna --- ## Assegnazione massiva tramite filtri Da questa schermata è possibile: - filtrare le aziende - selezionare più aziende contemporaneamente - assegnare il turno in modo massivo - salvare le modifiche I filtri possono utilizzare anche **dati di anagrafica azienda**, ad esempio: - città - note - note amministratore --- # Report giornaliero attività URL: https://wiki.quoting24.com/content/daily_activity_report/ Language: it Updated: 2026-11-04 # Report giornaliero attività È disponibile un **report giornaliero automatico** inviato via email che fornisce una panoramica sull’attività di gestione dei ticket di supporto. I KPI si riferiscono al **giorno precedente** e sono confrontati con lo **stesso giorno della settimana precedente**. Tutti i tempi sono espressi in **minuti**. --- ## Requisiti Per configurare i destinatari del report è necessario essere **[amministratore](user.md)**. Se il proprio utente è un **membro**, occorre richiedere a un amministratore della stanza il **cambio di tipologia utenza** (da membro ad amministratore), oppure contattare il supporto Quoting24. --- ## Come impostare il report 1. Aprire **Impostazioni → Impostazioni generali → Stanza** 2. Nella sezione **Email report statistiche**, cliccare su **Modifica destinatari** 3. Aggiungere un **nuovo destinatario** e compilare: - **Email** dell’indirizzo che deve ricevere il report - **Attivo**: se disattivo, quell’indirizzo non riceve il report - **Frequenza** (ad esempio **Giornaliera**) - **Ora di invio** 4. Cliccare su **Salva** Impostazioni stanza - Email report statistiche Modale nuovo destinatario report --- ## Cosa contiene il report ### KPI di ieri Indicatori principali del giorno precedente, con confronto rispetto allo stesso giorno della settimana precedente: - ticket creati e ticket chiusi - percentuale di chiusura - risposte inviate dagli operatori - messaggi ricevuti - tempo mediano di risposta - tempo mediano di apertura ticket - operatori attivi - contatti attivi - veicoli cercati - richieste ricambi effettuate ### Performance operatori Dettaglio per ciascun operatore su: - risposte inviate - note interne - ticket assegnati e chiusi - percentuale di chiusura - tempo mediano di risposta e di apertura ### Messaggi per fascia oraria Distribuzione dei **messaggi ricevuti e inviati** durante la giornata, suddivisi per fascia oraria (ora locale). Note interne e messaggi cancellati sono esclusi. ### Utenti online Numero di **operatori diversi** che hanno lavorato in ciascuna fascia oraria (eventi ticket, messaggi o note inviati). ### Ticket aperti Andamento dei ticket **in stato aperto** nel corso della giornata (campioni periodici), incluso il picco e quanti ne risultano aperti a fine giornata. Conta anche i ticket creati nei giorni precedenti, se ancora aperti. ### Top clienti Elenco dei clienti con maggiore attività nel giorno, ordinati per messaggi ricevuti, con dettaglio su veicoli, ricerche, messaggi e operatori coinvolti. ### Andamento giornaliero Confronto tra **settimana corrente e precedente**: ticket creati e risposte operatori giorno per giorno. ### Statistiche degli ultimi 7 giorni - **Performance operatori** aggregate sugli ultimi 7 giorni - **Heatmap di attività**, che evidenzia le risposte di ciascun operatore giorno per giorno Questo report consente di **monitorare l’efficienza del servizio clienti**, analizzare i carichi di lavoro e valutare l’andamento delle performance nel tempo. --- # Quoting News URL: https://wiki.quoting24.com/content/quoting_news/ Language: it Updated: 2026-11-04 # Quoting News **Quoting News** è il canale dove Quoting pubblica aggiornamenti e avvisi sul prodotto. Compare nella sidebar delle chat, insieme alle richieste. Non è un ticket: è una chat in **sola lettura**. Solo Quoting può inviare questi messaggi: gli operatori li leggono, non li creano né rispondono. --- ## Come funziona 1. Apri **Quoting News** dalla sidebar a sinistra. 2. Leggi lo storico delle comunicazioni, ordinate per data. 3. Quando hai finito, clicca **Ho letto**: sparisce il badge delle novità non lette, senza chiudere la chat. Non puoi scrivere né rispondere. Se non ci sono messaggi, vedi lo stato *Nessuna novità*. --- # Panoramica WhatsApp URL: https://wiki.quoting24.com/content/whatsapp/ Language: it Updated: 2026-11-04 # WhatsApp Questa sezione è visibile **solo agli amministratori** e non ai membri (utenti). Da qui è possibile collegare **Quoting24** a **WhatsApp** tramite le **API ufficiali di Meta** (WhatsApp Business Platform), abilitando: - gestione delle chat - gestione dei contatti - invio e ricezione dei messaggi da Quoting24 Il collegamento tramite API ufficiali è la modalità prevista per questa versione della wiki. --- ## Collegamento tramite API ufficiali Meta Le API ufficiali permettono a Quoting24 di gestire le conversazioni WhatsApp in modo stabile, tracciabile e supportato da Meta. ### Pro - Possibilità di utilizzare **bottoni interattivi** nei messaggi (es. "Approva preventivo"), collegabili a sistemi ERP - **Alta stabilità** e supporto tecnico ufficiale - Gestione centralizzata delle richieste in Quoting24, con ticket, assegnazioni e automazioni ### Regole operative - I messaggi in uscita verso **nuovi contatti** (da cui non abbiamo ricevuto messaggi nelle ultime 24 ore) sono vincolati a **template pre-approvati da Meta** Solo dopo una risposta del cliente è possibile comunicare liberamente. Dopo l'invio di un messaggio pre-approvato è possibile scrivere messaggi normali, ma questi verranno recapitati al cliente **solo dopo una sua azione** (es. click su bottone "dimmi pure" o risposta). - Il cliente deve **approvare l'apertura del canale di comunicazione** e deve trovarsi su **dispositivo mobile** per completare correttamente l'interazione con i template. - A seconda della configurazione scelta, l'uso manuale dell'app WhatsApp Business sullo stesso numero può richiedere la funzione [WhatsApp Coexistence](whatsapp_coexistence.md). - I gruppi WhatsApp e le liste broadcast dell'app non sono supportati sulle API Meta; per campagne con template usa la sezione [Broadcast API](broadcast_api.md). Se il numero è già sulle API di un altro fornitore e vuoi portarlo su Quoting24 senza cambiarlo, segui [Migrazione WhatsApp API](migrazione_whatsapp_api.md). --- ## Funzionalità disponibili con Quoting24 Una volta collegato il canale ufficiale, Quoting24 permette di lavorare sulle richieste WhatsApp con le proprie funzioni operative: - suddivisione delle conversazioni in **ticket** - assegnazione manuale o automatica agli operatori - riconoscimento di targhe, telai e ricambi nei messaggi - invio di messaggi, immagini e documenti - invio di preventivi e PDF dal gestionale - utilizzo di bottoni interattivi quando previsti dal flusso API Le funzionalità interne di Quoting24 restano gestite dalla piattaforma; l'invio dei messaggi verso il cliente segue invece le regole operative delle API ufficiali Meta. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/content/whatsapp_coexistence/ Language: it Updated: 2026-11-04 # WhatsApp Coexistence La funzione **WhatsApp Coexistence** (coesistenza) permette alle aziende di utilizzare contemporaneamente l'**App WhatsApp Business** (su telefono) e le **API di WhatsApp Business** (tramite Quoting24 o altri software) sullo stesso numero di telefono. Questa è una **svolta significativa**, poiché in precedenza l'attivazione delle API richiedeva la cancellazione dell'account WhatsApp Business sul telefono, impedendo l'uso manuale dell'app. --- ## Vantaggi della Coesistenza Attivando la coesistenza, puoi ottenere il meglio da entrambi i mondi: 1. **Interazione Umana e Personale (App Business)**: - Continua a usare WhatsApp sul tuo smartphone come hai sempre fatto. - Rispondi manualmente ai clienti quando necessario. - Intervieni manualmente dal telefono quando serve una gestione diretta del cliente. 2. **Potenza e Automazione (API Business)**: - Collega Quoting24 per gestire volumi elevati di richieste. - Sfrutta i bot per l'auto-risposta e la qualificazione dei contatti. - Invia preventivi strutturati direttamente dal gestionale. - Gestisci le chat in team multi-utente tramite la piattaforma web. In sintesi: **puoi automatizzare il lavoro pesante con le API, mantenendo la possibilità di intervenire personalmente dal telefono per i casi speciali.** --- ## Requisiti Per attivare la coesistenza è necessario soddisfare alcuni requisiti tecnici: - **App Aggiornata**: Assicurati di avere l'ultima versione di WhatsApp Business installata sul tuo dispositivo. - **Account Business Verificato**: Potrebbe essere necessario completare la verifica dell'azienda nel Business Manager di Meta. --- ## Come attivare la Coesistenza Il processo segue il flusso di "Embedded Signup" (registrazione integrata) usato per l'attivazione delle API ufficiali. 1. **Avvia la connessione**: Inizia il processo di collegamento del numero da Quoting24: il tuo BSP (Business Solution Provider). 2. **Scegli il numero**: Seleziona il numero di telefono che è **già attivo** sull'App WhatsApp Business. 3. **Verifica dell'idoneità**: Il sistema controlla che il numero e l'account rispettino i requisiti previsti da Meta. 4. **Conferma guidata**: Completa i passaggi richiesti dal flusso Meta e da Quoting24. 5. **Attivazione**: Una volta completato il processo, le API vengono abilitate sul numero esistente e possono lavorare in parallelo con l'app. --- ## Note Importanti - **Sincronizzazione**: I messaggi inviati dall'app e quelli inviati dalle API saranno visibili su entrambe le piattaforme entro i limiti tecnici previsti da Meta. - **Costi**: I messaggi iniziati tramite API (es. invio preventivi, template) seguono il listino prezzi di Meta. Le risposte manuali dall'app rimangono gratuite. - **Limitazioni**: Alcune attività svolte dall'app possono non essere automatizzabili da Quoting24 e restano gestite direttamente dall'app WhatsApp Business. --- ## Limitazione importante: "Cold Chat" (Conversazioni spontanee) È possibile avviare una nuova conversazione verso un cliente direttamente dall'App WhatsApp Business. **Tuttavia, questa conversazione non potrà essere continuata su Quoting24.** Il motivo è tecnico e riguarda le regole di Meta: 1. Un messaggio inviato manualmente dall'App **non apre la finestra di assistenza delle 24 ore** per le API (come invece farebbe un messaggio del cliente). 2. Non essendo un "Messaggio Template" a pagamento approvato da Meta, non crea una sessione valida per il software. **Conseguenza**: Vedrai il messaggio su Quoting24 grazie alla sincronizzazione, ma **non potrai rispondere o inviare altri messaggi da Quoting24** all'interno di quella chat finché il cliente non risponderà al tuo messaggio. Solo la risposta del cliente sblocca la conversazione e permette a Quoting24 di intervenire. --- ## Numero già in coesistenza con un altro fornitore Se il numero è già in coesistenza presso un altro fornitore e va riportato su Quoting24, segui [Migrazione WhatsApp API](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/content/broadcast_api/ Language: it Updated: 2026-11-04 # Broadcast API La sezione **Broadcast** permette di creare e gestire **campagne di messaggistica broadcast** sui numeri collegati a Quoting24 tramite le **API ufficiali Meta** (WhatsApp Business Platform). In pratica puoi **inviare lo stesso messaggio template a molti numeri WhatsApp**, caricando i destinatari da un file Excel, scegliendo data e ora di invio e monitorando lo stato di ogni messaggio. > **Attenzione:** le Campagne Broadcast di Quoting24 **non** sono le “liste broadcast” dell’app WhatsApp. > Funzionano solo con una connessione **WhatsApp Business / API Meta** in stato **connessa** e usano **template WhatsApp** già presenti in Quoting24 (sincronizzati / approvati da Meta). --- ## Requisiti 1. **Connessione WhatsApp Business attiva** La voce di menu **Broadcast** compare solo se lo stato della connessione API Meta è **connected**. Vedi [WhatsApp](whatsapp.md) e, se usi lo stesso numero anche dal telefono, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Permessi** Tutti i membri della stanza possono **vedere** le campagne. Solo **owner** e **admin** possono **creare**, modificare o eliminare campagne e messaggi in coda. 3. **Template WhatsApp** Serve almeno un template disponibile in Quoting24 (quelli selezionabili nel wizard). Se il template ha un **header di tipo immagine, video o documento**, in creazione campagna è obbligatorio caricare il file media: Meta non riutilizza automaticamente l’anteprima del modello. 4. **File destinatari** I destinatari si caricano da un **file XLSX** (non dalla rubrica Contatti). Massimo **1000** destinatari per campagna. 5. **Pagamento Meta** I messaggi template seguono il listino Meta (categoria Marketing / Utility / Authentication, ecc.). --- ## Come aprire la sezione Broadcast 1. Apri il **menu** di Quoting24 (icona in alto a destra). 2. Seleziona **Broadcast**. Voce Broadcast nel menu di Quoting24 Si apre la pagina **Campagne Broadcast**, con sottotitolo *Gestisci le campagne di messaggistica broadcast WhatsApp.* --- ## Lista delle campagne | Colonna | Descrizione | | ------- | ----------- | | **Nome** | Nome della campagna (cliccabile per il dettaglio) | | **Programmazione** | Data e ora di invio programmate | | **Progresso** | `inviati / totale (percentuale)` — la percentuale considera messaggi **inviati + falliti** sul totale | | **Stato** | Stato della campagna (vedi sotto) | In alto a destra: **+ Nuova campagna**. Su ogni riga puoi eliminare la campagna o aprirne il dettaglio. Lista delle campagne Broadcast ### Stati campagna | Stato | Significato | | ----- | ----------- | | **Bozza** | Bozza (non usata dal flusso standard di creazione) | | **Attiva** | Campagna creata e in coda / in attesa dell’orario programmato | | **In invio** | Invio in corso | | **Completata** | Tutti i messaggi sono stati elaborati (inviati o falliti) | | **Fallita** | Campagna fallita | | **Annullata** | Campagna fermata dall’utente: i messaggi non ancora inviati non vengono più spediti | | **Archiviata** | Archiviazione automatica dopo circa 30 giorni | --- ## Creare una nuova campagna Il wizard ha **tre passaggi**: 1. **Configurazione** 2. **Destinatari (XLS)** 3. **Anteprima e conferma** ### Passo 1 — Configurazione Dalla lista clicca **+ Nuova campagna** e compila: | Campo | Cosa inserire | | ----- | ------------- | | **Nome campagna** | Nome per riconoscerla in lista | | **Template** | Template WhatsApp da inviare | | **Immagine / video / documento header** | Comparte **solo** se il template selezionato lo richiede; in quel caso il file è obbligatorio | | **Data** | Giorno di avvio invio | | **Ora** | Orario di avvio invio | Nella stessa schermata vedi l’**anteprima** del template (testo, footer, pulsanti e media se caricato). Poi clicca **Avanti**. Schermata Crea campagna — configurazione #### Media in header (solo se il template lo permette) Il campo per caricare un media in header **non è sempre presente**. Compare **solo** dopo aver scelto un template il cui header Meta è di tipo: - **immagine** → formati `JPG`, `JPEG`, `PNG` - **video** → formato `MP4` - **documento** → formato `PDF` Se il template non prevede media in header, il campo non viene mostrato e puoi proseguire senza allegati. Se invece il template lo richiede, senza file caricato non puoi andare avanti: Meta non riutilizza automaticamente l’anteprima del modello. Nell’esempio sotto, selezionando un template con header immagine compare l’area **Immagine header** (clic o drag-and-drop). Caricamento immagine header nella creazione campagna Broadcast ### Passo 2 — Destinatari (XLS) 1. Clicca **Scarica template XLSX** per ottenere il file di esempio. 2. Compila il foglio con queste colonne: | Colonna | Obbligatoria | Descrizione | | ------- | ------------ | ----------- | | `recipient_name` | No | Nome del destinatario (solo etichetta in Quoting24) | | `recipient_address` | **Sì** | Numero WhatsApp (con o senza `+`; spazi e prefisso `00` vengono normalizzati in invio) | | `var1`, `var2`, `var3`, … | Se il template ha variabili | Valori delle variabili del template, in ordine | 3. Carica il file compilato (**Carica file compilato**, formato `.xlsx`). 4. Quando compare almeno un destinatario valido, clicca **Avanti**. Limite: **massimo 1000 destinatari** per campagna. ### Passo 3 — Anteprima e conferma Controlla: - anteprima del template - elenco destinatari (puoi **modificare** o **eliminare** singole righe) Poi clicca **Conferma e invia**. La campagna viene creata nello stato **Attiva** e i messaggi entrano in coda con stato **In attesa**, programmati per la data/ora scelte. Verrai portato al **dettaglio campagna**. --- ## Dettaglio campagna e messaggi Nel dettaglio vedi: - stato e programmazione della campagna - elenco di ogni messaggio con: - nome e numero - prossimo invio (se ancora in coda) - stato messaggio - tentativi (`retry / max`) - eventuale errore - anteprima del testo reso (con variabili sostituite) ### Stati messaggio | Stato | Significato | | ----- | ----------- | | **In attesa** | In coda, non ancora inviato | | **Programmato** | Programmato | | **In invio** | Invio in corso verso Meta | | **Inviato** | Inviato con successo | | **Fallito** | Fallito dopo i tentativi previsti | | **Annullato** | Annullato | | **Archiviato** | Archiviato (messaggi vecchi) | Se un invio fallisce, il sistema può **riprovarlo** automaticamente (fino a 10 tentativi, con attesa tra un tentativo e l’altro). Puoi anche modificare o rimuovere dalla coda i messaggi non ancora inviati (solo owner/admin). ### Annullare una campagna Finché lo stato è **Attiva** (o **Bozza**), puoi usare **Annulla campagna**. I messaggi già spediti restano inviati; quelli ancora in coda **non vengono più spediti**. --- ## Come avviene l’invio - L’invio parte **alla data/ora programmate** (o subito dopo, se l’orario è già passato). - I messaggi vengono spediti **uno alla volta**, con una piccola pausa tra un invio e l’altro. - Ogni messaggio è un **template WhatsApp** inviato via API Meta sulla connessione della stanza. - Quando tutti i messaggi risultano **inviati** o **falliti**, la campagna passa a **Completata**. --- ## Note importanti - **Solo API Meta:** la sezione è disponibile con il numero collegato tramite le API ufficiali WhatsApp Business. - **Menu nascosto senza Business connesso:** se non vedi **Broadcast**, verifica che WhatsApp Business sia collegato e in stato connesso. - **Non usa la rubrica Contatti:** i numeri arrivano dal file XLSX (o dalle modifiche fatte in anteprima). - **Costi Meta:** ogni template recapitabile può generare un addebito secondo categoria e regole Meta. Vedi anche [WhatsApp Coexistence](whatsapp_coexistence.md) per i costi in caso di coesistenza. - **Consenso e conformità:** per campagne marketing assicurati di avere il consenso dei destinatari e di rispettare le policy WhatsApp / Meta. - **Invio 1:1 dal gestionale:** per mandare un messaggio a un singolo contatto da un software esterno usa [Scrivi su WhatsApp tramite le nostre API](invia_whatsapp_api.md). Quella integrazione non sostituisce le campagne Broadcast di massa. --- ## Riepilogo operativo 1. Collega il numero con **API Meta** (stato connesso). 2. Assicurati di essere **owner** o **admin**. 3. Prepara i **template** WhatsApp in Quoting24. 4. Apri **Broadcast** → **+ Nuova campagna**. 5. Configura nome, template, data/ora (e media header se richiesto). 6. Scarica il template XLSX, compilalo e caricalo. 7. Controlla l’anteprima e conferma. 8. Monitora progresso, stato campagna e dettaglio messaggi. --- # Migrazione WhatsApp API URL: https://wiki.quoting24.com/content/migrazione_whatsapp_api/ Language: it Updated: 2026-11-04 # Migrazione WhatsApp API Questa guida spiega come collegare a **Quoting24** un numero già attivo sulle **API ufficiali di WhatsApp** (WhatsApp Business Platform) presso un altro fornitore, **senza cambiare il numero**. La sezione **WhatsApp** è visibile **solo agli amministratori**. Il collegamento parte sempre dallo stesso punto in Quoting24: **Impostazioni → WhatsApp → WhatsApp Business → Connetti**. Il pulsante **Connetti** apre la registrazione integrata di Meta (Embedded Signup). Da lì Quoting24 diventa il fornitore che riceve e invia i messaggi di quel numero. La modalità prevista è il collegamento alle API ufficiali, descritto in [Panoramica WhatsApp](whatsapp.md). --- ## Quale procedura seguire Meta ha due modi di collegare un numero già usato da un altro fornitore. Prima di cliccare **Connetti**, controlla il portfolio in **Meta Business Suite → Impostazioni → Account**. | In Meta Business Suite vedi | Cosa fare | | --- | --- | | **Account WhatsApp** e **Account di messaggistica** (Messaging Accounts) separati | Modello attuale: **condividi** l’account WhatsApp con Quoting24. Il numero resta dov’è. | | Solo **Account WhatsApp** | Modello precedente: **migra** il numero con un codice SMS o vocale. | Sul modello attuale Meta rifiuta lo spostamento del numero da un account a un altro. Scollegarlo dal fornitore precedente non lo rende libero. --- ## Cosa preparare - Accesso **amministratore** a Quoting24. - Accesso **amministratore** al portfolio Meta (Business Manager) che possiede il numero, con l’utente Facebook che userai nella finestra di **Connetti**. - Il numero già registrato sulle API ufficiali. I numeri di prova gratuiti assegnati da Meta non si possono migrare. - Possibilità di ricevere un SMS o una chiamata vocale su quel numero, se Meta chiede un codice. Per la migrazione del modello precedente servono anche: - nome visualizzato **già approvato**, senza una richiesta di cambio nome ancora aperta; - verifica in due passaggi (PIN) **disattivata** sul numero, senza cancellare il numero né chiudere l’account. Se non hai accesso all’account WhatsApp, la disattivazione va chiesta al fornitore attuale. --- ## Modello attuale: condividi il numero con Quoting24 Usa questa procedura se in Meta Business Suite compaiono sia **Account WhatsApp** sia **Account di messaggistica**. Lascia il numero attivo sul fornitore attuale fino alla fine. Toglierlo prima, con messaggi dei clienti in arrivo, interrompe la ricezione. 1. In Quoting24 apri **Impostazioni → WhatsApp**. 2. Sulla riga **WhatsApp Business** clicca **Connetti** e accedi con l’amministratore del portfolio Meta. 3. Seleziona il numero già registrato presso l’altro fornitore. Meta lo mostra in elenco e non chiede un nuovo codice: il numero è già registrato. 4. Meta propone il portfolio e l’account WhatsApp di quel numero. Conferma la condivisione con Quoting24. 5. Inserisci il nome visualizzato del numero e prosegui. Meta può riesaminarlo dopo l’attivazione. 6. Controlla i permessi richiesti (account WhatsApp, account di messaggistica e risorse collegate) e conferma. 7. Chiudi la finestra Meta. In Quoting24 la riga **WhatsApp Business** risulta **connessa**. Meta crea un account di messaggistica nuovo per Quoting24, sotto lo stesso account WhatsApp. Il fornitore precedente resta collegato finché non lo rimuovi. ### Far arrivare i messaggi su Quoting24 La condivisione da sola non sposta i messaggi in arrivo. Finché il fornitore precedente è ancora partner, Meta può continuare a consegnarli a lui. Quando in Quoting24 la riga **WhatsApp Business** è connessa: 1. In **Meta Business Suite** apri **Impostazioni → Account → Account di messaggistica**, seleziona l’account, vai in **Partner** e rimuovi l’accesso dell’app del fornitore precedente. 2. Apri **Impostazioni → Account → Account WhatsApp**, seleziona l’account del numero, vai in **Partner** e rimuovi anche lì l’accesso dello stesso fornitore. 3. Nello stesso account WhatsApp apri **Routing delle conversazioni** (Conversation routing) e assegna a Quoting24 ogni tipo di conversazione. In elenco partner può comparire il nome dell’app Meta collegata a Quoting24, non la scritta «Quoting24». Se non è chiaro quale accesso togliere, fermati e chiedi al supporto Quoting24 prima di rimuovere un partner. Quando resta un solo partner, Meta disattiva il routing e consegna i messaggi a quel partner. ### Cosa resta su questo modello Restano sul numero, perché l’account WhatsApp non cambia: - numero di telefono - nome visualizzato - valutazione della qualità - limiti di messaggistica - stato di Official Business Account, se era già attivo I **template** stanno sull’account di messaggistica, non sul numero. L’account creato per Quoting24 nasce vuoto: i template del fornitore precedente vanno **ricreati in Quoting24** e approvati di nuovo da Meta. Finché non sono approvati: - da Quoting24 puoi rispondere liberamente solo entro **24 ore** dall’ultimo messaggio del cliente; - in [Broadcast API](broadcast_api.md) non ci sono modelli da selezionare. Le chat salvate nel software precedente **non** entrano nei ticket di Quoting24. I messaggi che arrivano dopo la connessione diventano ticket. Le chat già presenti sul telefono del cliente restano sull’app WhatsApp del cliente. --- ## Modello precedente: migra il numero Usa questa procedura solo se in Meta Business Suite compare **soltanto Account WhatsApp**. ### Disattiva la verifica in due passaggi Chiedi al fornitore attuale di disattivare il PIN del numero, oppure fallo tu dal portfolio Meta se ne hai l’accesso. Il numero e l’account devono restare attivi. Va tolta solo la verifica in due passaggi. ### Collega il numero da Quoting24 1. In Quoting24 apri **Impostazioni → WhatsApp**. 2. Sulla riga **WhatsApp Business** clicca **Connetti** e accedi come amministratore del portfolio Meta. 3. Scegli di **creare un nuovo account WhatsApp**. È il passaggio con cui Meta sposta il numero già esistente: non è un secondo numero. 4. Inserisci **lo stesso nome visualizzato** già approvato su quel numero. 5. Inserisci **lo stesso numero**. Meta avvisa che è già registrato su un account WhatsApp Business o presso un altro fornitore. 6. Chiedi il codice via **SMS** o **chiamata vocale** e inseriscilo. 7. Completa i passaggi rimasti nella finestra Meta. Lo spostamento di solito si conclude in pochi minuti. In Quoting24 la riga **WhatsApp Business** passa a **connessa**. Durante il passaggio la ricezione può interrompersi per qualche minuto. ### Cosa resta e cosa va rifatto Restano sul numero: - nome visualizzato - valutazione della qualità - stato di Official Business Account - limiti di messaggistica Vanno rifatti in Quoting24: - i **template**, da reinviare e far riapprovare da Meta, prima di scrivere fuori dalla finestra di 24 ore e prima di usare [Broadcast API](broadcast_api.md); - le campagne del fornitore precedente; - lo storico chat di quel software, che non viene importato. I messaggi nuovi arrivano come ticket. --- ## Numero già in coesistenza con un altro fornitore Se lo stesso numero è usato **insieme** dall’app WhatsApp Business e dalle API presso un altro fornitore, il collegamento API non riallaccia da solo l’app sul telefono. 1. Fai un **backup delle chat** nell’app WhatsApp Business. 2. Registra lo stesso numero sull’app **WhatsApp personale**: il numero esce dall’app Business. 3. Registralo di nuovo sull’app **WhatsApp Business**. 4. In Quoting24 clicca **Connetti** su **WhatsApp Business** e completa la coesistenza descritta in [WhatsApp Coexistence](whatsapp_coexistence.md): sull’app, **Impostazioni → Dispositivi collegati → Collega un dispositivo**, poi scansiona il QR mostrato da Quoting24. Per portare il numero sulle sole API, senza app sul telefono, usa la procedura del modello Meta verificato sopra. --- ## Dopo il collegamento - I messaggi nuovi del numero diventano **ticket** in Quoting24. - Fuori dalle 24 ore dall’ultimo messaggio del cliente si scrive con un **template approvato**. Le regole del canale ufficiale sono in [Panoramica WhatsApp](whatsapp.md). - Le campagne si creano in [Broadcast API](broadcast_api.md) quando i template sono disponibili in Quoting24. - Per usare anche l’app WhatsApp Business sullo stesso numero serve [WhatsApp Coexistence](whatsapp_coexistence.md). - Gruppi e liste broadcast dell’app non passano sulle API. --- ## Se la procedura si ferma - **Meta rifiuta lo spostamento del numero.** Il portfolio è sul modello attuale: torna alla condivisione e lascia il numero registrato sul fornitore precedente finché Quoting24 non risulta connesso. - **Il codice SMS o vocale non arriva.** Sul modello precedente la verifica in due passaggi è ancora attiva. Falla disattivare e ripeti **Connetti**. - **Il nome visualizzato blocca la migrazione precedente.** Meta accetta il passaggio solo con nome approvato e senza un cambio nome in sospeso. - **Quoting24 è connesso ma i messaggi non arrivano.** Sul modello attuale il routing punta ancora al fornitore precedente. Controlla **Partner** e **Routing delle conversazioni** prima di scollegare il numero. - Se il partner da rimuovere non è riconoscibile, contatta il supporto Quoting24 con il numero e l’ID del portfolio Meta. --- # Panoramica Widget URL: https://wiki.quoting24.com/content/widget/ Language: it Updated: 2026-11-04 # Canale Widget — Panoramica Il **Canale Widget** riceve richieste di assistenza e preventivo dal **sito web**. I visitatori aprono una chat sul sito; i messaggi arrivano in Quoting24 come ticket e gli operatori rispondono dall’interfaccia abituale, con la stessa logica già usata per gli altri canali. L’interfaccia è in un **iframe**. Nel sito ospitante bastano uno script e, quando i dati sono già noti, una chiamata a `init()`. Non servono Angular, un client Supabase o accesso diretto al database di Quoting24. --- ## Quale integrazione serve Associare un’azienda e recuperare la cronologia sono operazioni distinte. `external_id`, `company_name`, `name`, `phone` e `email` non autorizzano l’accesso alle conversazioni di un’altra persona. Un utente già autenticato nel sito resta un ospite del widget finché il sito non passa una credenziale di ripristino valida. | Caso | Cosa implementare | Continuità | Sezione | | --- | --- | --- | --- | | Sito pubblico, visitatore sconosciuto | Solo lo script. Il visitatore compila il modulo di contatto. | Sessione ospite nello stesso browser | [Widget B2C](widget_b2c.md) | | Sito che conosce già profilo e azienda | Script e `init()` con il profilo e i dati dell’azienda | Sessione ospite precompilata e associazione aziendale | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portale con cronologia personale tra dispositivi | Anche un’integrazione backend per `external_user_id` e `restore_id` | Cronologia personale nel canale widget autorizzato | [Widget B2B](widget_b2b.md) | | Contratto dei campi, CSP, login/logout, provisioning | Guida per sviluppatori | — | [Integrazione tecnica](widget_tecnico.md) | --- ## Cosa fa il widget - Mostra un **pulsante flottante** oppure una chat **incorporata** in pagina - Per un nuovo visitatore apre il modulo con le etichette Telefono e Nome. In `init()` i campi si chiamano `phone` e `name`; l’email, se il sito la conosce, si chiama `email` - Se il sito chiama `init()`, usa i dati già disponibili e può collegare il contatto a un’azienda tramite `external_id` (`web_code`). Se l’azienda manca e arriva anche `company_name`, può crearla - Apre una conversazione gestita in Quoting24 come gli altri canali - Accetta allegati PDF, DOC/DOCX, JPG/JPEG e PNG, fino a 10 MiB per file e 100 MiB di allegati referenziati per conversazione - Mostra saluto, benvenuto e, fuori orario, il banner configurato. La composizione dei messaggi resta disponibile Il loader conserva la credenziale ospite nel `localStorage` del sito, separata per chiave widget. Se lo storage è bloccato, la continuità può limitarsi alla pagina corrente. La sessione ospite permette di rileggere la conversazione più recente anche dopo la chiusura, nello stesso browser. Su un altro dispositivo serve il [ripristino autenticato](widget_b2b.md). --- ## Dove si configura in Quoting24 1. Apri **Impostazioni → Canali** 2. Seleziona il canale di tipo **Widget** 3. Apri la configurazione Da lì si impostano: - logo, colore principale, posizione del pulsante - messaggio di saluto, messaggio di benvenuto, messaggio fuori orario - **domini consentiti** - **codice di incorporamento** (URL completo dello script e chiave pubblica del widget) Gli orari del canale determinano il banner fuori orario. Chiedi all’amministratore il codice di incorporamento e i domini autorizzati, compresi collaudo e sviluppo locale. Usa URL e chiave dello stesso ambiente. Negli esempi, `HOST_WIDGET` e `CHIAVE_PUBBLICA_WIDGET` vanno sostituiti con i valori ricevuti. I domini autorizzati sono nomi host, per esempio `shop.example.com` o `localhost`, senza `https://`, porta, percorso o prefisso `*.`. `example.com` autorizza anche i suoi sottodomini. Una lista vuota non applica restrizioni di dominio. Per il collaudo locale servi la pagina via HTTP: aprirla come file non basta. Logo, colore, posizione e messaggi si configurano in Quoting24. Il `company_name` passato a `init()` è la ragione sociale del cliente, non il titolo del widget. Non esiste un parametro pubblico `language` o `locale`: l’interfaccia attuale è in italiano. --- ## Due modi di mostrarlo sul sito ### Pulsante flottante Lo script aggiunge il pulsante dopo il caricamento delle impostazioni grafiche. Al click si apre la chat. Su mobile la chat flottante si espande fino a occupare il viewport. Vedi [Widget B2C](widget_b2c.md). ### Chat incorporata La chat occupa un contenitore della pagina, con altezza esplicita. Non c’è pulsante flottante: layout e titolo li fornisce il sito. In questa modalità `open()`, `close()` e `toggle()` non hanno effetto. Il sito controlla altezza e larghezza del contenitore. Vedi [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Una sola istanza per pagina: il loader espone un unico `window.Quoting24Widget`. Un secondo script non crea un secondo widget. --- ## Chiave pubblica e segreti {#chiave-pubblica-e-segreti} | Valore | Dove sta | A cosa serve | | --- | --- | --- | | Chiave pubblica del widget | URL dello script | Seleziona il canale. È pubblica: non è una credenziale personale né un segreto di integrazione backend | | Segreto privato dell’integrazione | Solo nel backend del sito | Autorizza la creazione e il riutilizzo di `restore_id` | | `restore_id` | Archivio privato per utente, nel backend | Credenziale con cui ripristinare la cronologia di quella persona su quel widget | | Credenziale sessione ospite | `localStorage` del sito, gestita dal loader | Continuità ospite nello stesso browser, per chiave widget | --- ## Flusso per l’operatore 1. Il visitatore apre la chat sul sito e invia un messaggio 2. In Quoting24 nasce o continua un **ticket** sul canale Widget 3. Se l’inizializzazione ha risolto un `external_id`, il contatto risulta collegato all’azienda con quel `web_code`. Un’azienda appena creata dal widget ha ragione sociale e, se inviata, email; un’azienda già presente non viene rinominata da `init()` 4. L’operatore gestisce la richiesta e risponde dalla chat 5. Il cliente vede le risposte nel widget I messaggi del widget si eliminano solo **per tutti**. Il dato arriva dal browser e il visitatore può modificarlo. Il collegamento all’azienda non dimostra identità e non apre la cronologia degli altri contatti di quell’azienda. --- ## Da dove iniziare 1. Configura aspetto, orari e domini in **Impostazioni → Canali → Widget** 2. Sito pubblico o portale che precompila il profilo: [Widget B2C](widget_b2c.md) 3. Cronologia della stessa persona su un altro browser: [Widget B2B](widget_b2b.md) 4. Campi, creazione azienda, CSP e checklist: [Integrazione tecnica](widget_tecnico.md) --- # Widget B2C URL: https://wiki.quoting24.com/content/widget_b2c/ Language: it Updated: 2026-11-04 # Widget B2C — visitatore ospite e azienda Questa sezione copre le integrazioni in cui il widget resta in **sessione ospite**: - sito pubblico, visitatore sconosciuto: solo lo script e il modulo di contatto - sito o portale che conosce già l’account: `init()` con profilo e dati azienda, modulo saltato quando i dati bastano, contatto collegato all’azienda La cronologia personale su un altro browser o dispositivo è un’altra integrazione. Vedi [Widget B2B](widget_b2b.md). Contratto completo dei campi, cambio account in una SPA, CSP e provisioning: [Integrazione tecnica](widget_tecnico.md). **Associare un’azienda non autorizza la cronologia di un’altra persona.** Anche un utente autenticato nel sito resta un ospite del widget finché non invii `external_user_id` insieme a un `restore_id` valido. --- ## Cosa ottieni - Pulsante flottante, oppure chat incorporata in un contenitore della pagina - Modulo iniziale per chi è sconosciuto: etichette Telefono e Nome. In `init()` i campi sono `phone` e `name` - Sessione ospite salvata dal loader nello stesso browser, separata per chiave widget. Se il `localStorage` è bloccato, la continuità può restare sulla pagina corrente - Se invii `external_id`, Quoting24 cerca un’azienda con lo stesso `web_code`. Con anche `company_name`, può creare l’azienda mancante e collegarvi il contatto - Ticket e risposte in Quoting24, come sugli altri canali La sessione ospite rilegge la propria conversazione più recente anche dopo la chiusura della scheda. Non segue la persona su un altro browser. --- ## 1. Prerequisiti in Quoting24 1. Canale **Widget** attivo in **Impostazioni → Canali** 2. Logo, colore, posizione, saluto, benvenuto e fuori orario configurati 3. **Domini consentiti** aggiornati, compresi collaudo e `localhost` 4. Codice embed copiato dalla configurazione del canale: URL dello script e chiave pubblica Usa host e chiave dello **stesso ambiente**. Negli esempi sostituisci `HOST_WIDGET` e `CHIAVE_PUBBLICA_WIDGET`. I domini sono nomi host, senza `https://`, porta, percorso o `*.`. `example.com` include i sottodomini. Lista vuota: nessuna restrizione. In locale servi la pagina via HTTP, non come `file://`. Il `company_name` di `init()` è la ragione sociale del cliente. Non è il titolo del widget e non si configura da questo payload. --- ## 2. Installare il pulsante flottante Incolla lo script **una sola volta**, prima di ``: ```html ``` Il pulsante compare dopo il caricamento delle impostazioni grafiche. Un nuovo visitatore vede il modulo di contatto. Chi torna sullo stesso browser riprende la sessione ospite, se lo storage è disponibile. Lo script espone un unico `window.Quoting24Widget`. --- ## 3. Incorporare la chat in pagina {#incorporare-la-chat-in-pagina} Crea il contenitore **prima** dello script e assegnagli un’altezza esplicita: ```html

Assistenza

``` - `target` è l’ID dell’elemento, senza `#` - L’iframe riempie il contenitore - Non c’è pulsante flottante - `open()`, `close()` e `toggle()` non hanno effetto - Su questa modalità il sito decide altezza e larghezza. In modalità flottante, su mobile, la chat può occupare il viewport La modalità incorporata, da sola, non abilita il ripristino della cronologia. --- ## 4. Inviare il profilo del cliente {#inviare-il-profilo-del-cliente} Quando il sito conosce l’account, invia il profilo dopo il caricamento del loader. I campi sono **stringhe**. Ometti quelli sconosciuti: non inviare `null`, ID numerici o un’email vuota. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Dato nel sito o nel gestionale | Campo | Significato | | --- | --- | --- | | Riferimento stabile dell’azienda, lo stesso valore importato in `web_code` | `external_id` | Confronto esatto con `companies.web_code`, nell’organizzazione del widget | | Ragione sociale | `company_name` | Usata se l’azienda va creata | | Nome della persona o dell’utente | `name` | Nome mostrato sul contatto | | Email dell’account | `email` | Salvata sull’azienda solo quando l’azienda viene creata | | Telefono, se lo conosci | `phone` | Numero del contatto. Preferisci il formato internazionale, per esempio `+393331234567` | Questo payload non invia `external_user_id` né `restore_id`. Mantieni separati `name` e `company_name`: non concatenare la ragione sociale al nome utente per ottenere l’associazione. Il campo pubblico è `external_id`. Non inviare `web_code`, l’UUID interno di Quoting24 o `companies.code`. Il modulo mostra **Nome** e **Telefono**. In `init()` i campi si chiamano `name` e `phone`. L’email si chiama `email`. `Nome`, `Telefono` ed `Email` non sono chiavi: il loader le scarta, come scarta `web_code` al posto di `external_id`. ### Esempi Nome e telefono, gli stessi dati del modulo. La chat parte e non cerca un’azienda. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Profilo con azienda. `name` è la persona, `phone` il numero del contatto, `email` l’indirizzo scritto sull’azienda solo se questa chiamata la crea. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Solo email. Un indirizzo valido in `email` basta per aprire la sessione. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Se un campo supera i limiti o l’email è malformata, la richiesta viene rifiutata. Limiti e comportamento di ogni campo: [Integrazione tecnica](widget_tecnico.md#campi-di-init). ### Attendere il loader Uno script `async` può non essere ancora eseguito quando il codice successivo chiama `init()`. Per i dati precompilati usa un modulo di caricamento **al posto** del tag statico, importato una sola volta nel layout principale: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CHIAVE_PUBBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API del widget non disponibile")); } }; script.onerror = () => { script.remove(); reject(new Error("Caricamento del widget non riuscito")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Importa il modulo dal bundler, oppure carica il file di ingresso con ``. Per la modalità incorporata aggiungi `&mode=embedded&target=chat-assistenza` all’URL e monta prima il contenitore. `loadWidget()` segnala solo che l’API JavaScript è disponibile. `init()` restituisce `void`: accoda il profilo se l’iframe non è pronto e non attende la sessione. Per l’esito usa `isReady()` e `hasSessionError()`. `init()` **sostituisce** il profilo memorizzato, non lo unisce al precedente. Passa tutti i campi che devono restare. Un cambio di pagina in una SPA non richiede un nuovo script né un `reset()`. Al cambio di persona o account, e al logout, chiama `reset()` prima del nuovo profilo: cambiare solo i campi non stacca la sessione ospite precedente. Pattern completo: [Login, logout e cambio account](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Come viene associata o creata l’azienda Quoting24 esegue questo flusso all’inizializzazione, anche se il visitatore non ha ancora inviato un messaggio: 1. Con un `external_id` non vuoto, cerca un’azienda della stessa organizzazione con `web_code` uguale a quel valore 2. Se la trova, collega il contatto. Nome ed email dell’azienda esistente restano invariati 3. Se non la trova e c’è anche un `company_name` non vuoto, crea l’azienda con `name = company_name`, `web_code = external_id` ed eventuale `email`, poi collega il contatto 4. Se non può trovare o creare l’azienda, prosegue con il profilo disponibile. Se per un nuovo ospite non basta, mostra il modulo. Errori di database o il limite di richieste fanno fallire l’inizializzazione | Dati inviati | Situazione in Quoting24 | Risultato | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Esiste `web_code = "52"` | Usa l’azienda esistente e non ne modifica il nome | | Stessi dati, più un’email valida | Non esiste `web_code = "52"` | Crea l’azienda con codice web `52`, ragione sociale ed email, e associa il contatto | | `external_id: "52"`, `name: "mario.rossi"` | Nessuna corrispondenza | Avvia l’ospite senza una nuova associazione aziendale | | `external_id: "52"`, senza altri dati | Esiste una corrispondenza | Avvia l’ospite associato all’azienda, con nome di default `Visitatore` | | `external_id: "52"`, senza altri dati | Nessuna corrispondenza | Mostra il modulo di contatto | | `company_name` senza `external_id`, più `name` | Qualsiasi | Avvia il visitatore. Non cerca e non crea un’azienda | La ricerca non usa ragione sociale, email, telefono, partita IVA o `companies.code`. `"052"` e `"52"` sono valori diversi; gli spazi in `external_id` non vengono tolti. Se importi l’anagrafica prima, scrivi in `web_code` lo stesso valore che il sito invierà in `external_id`. Vedi anche [Aziende → Codice web](companies.md#codice-web-web_code). Un nuovo ospite parte se c’è almeno un nome, un telefono, un’email valida o un `external_user_id`, oppure un’azienda trovata o creata tramite `external_id`. `init({})` e `company_name` da solo non avviano una sessione. Per un contatto già collegato, un nuovo codice valido può cambiarne l’azienda. Omettere il codice, o inviarne uno non risolto, non cancella l’associazione precedente. Al cambio persona o account serve `reset()`. ### Limiti `web_code` non è univoco. Con più corrispondenze, l’inizializzazione pubblica prende la prima in ordine di data di creazione crescente. Richieste simultanee che non trovano ancora l’azienda possono crearne più di una: la creazione non è atomica e non sostituisce un import o una sincronizzazione dal gestionale. La creazione implicita è limitata a 20 tentativi per finestra di 60 secondi e indirizzo IP, nel processo backend che gestisce la richiesta. Oltre il limite l’inizializzazione fallisce con `TOO_MANY_REQUESTS`: riprova con attesa, senza cicli continui di `init()`. I dati partono dal browser e il visitatore può alterarli. Il collegamento non prova l’appartenenza all’azienda e non concede la cronologia aziendale. Invia `company_name` solo se vuoi consentire questa creazione pubblica. Per aggiornare aziende già presenti usa gli strumenti di Quoting24 o un’integrazione gestionale autorizzata. L’email dell’inizializzazione pubblica finisce solo sull’azienda nuova. Non viene scritta sul contatto e non aggiorna un’azienda già presente. Un telefono già usato da un altro contatto non unisce contatti o chat. --- ## 6. Comportamento sul sito | Situazione | Comportamento atteso | | --- | --- | | Primo visitatore, solo script | Pulsante, poi modulo, poi chat | | `init()` con profilo sufficiente | Modulo saltato | | `external_id` già presente come `web_code` | Contatto associato; nome ed email dell’azienda invariati | | `external_id` nuovo con `company_name` | Azienda creata e contatto associato | | Codice nuovo e nome, senza `company_name` | Chat senza nuova azienda | | Solo codice nuovo | Modulo di contatto | | Solo ragione sociale e nome | Nessuna ricerca o creazione per nome | | Ricarica nello stesso browser | Sessione ospite ripresa, se lo storage è disponibile | | Altro browser o dispositivo | Nuova sessione ospite | | Fuori orario | Banner fuori orario; la composizione resta utilizzabile | | Mobile, pulsante flottante | La chat può occupare il viewport | Allegati: PDF, DOC, DOCX, JPG/JPEG, PNG. Massimo 10 MiB per file e 100 MiB di allegati referenziati per conversazione. --- ## 7. Controlli utili Quando il pulsante flottante è visibile puoi collegare un pulsante del sito a `window.Quoting24Widget?.open()`. | Metodo | Uso | | --- | --- | | `init(profile)` | Imposta o sostituisce il profilo corrente | | `open()` / `close()` / `toggle()` | Solo widget flottante. Chiudere non è un logout | | `isReady()` | Sessione visitatore avviata. Resta falso sul modulo di contatto | | `hasSessionError()` | Errore di sessione segnalato dall’iframe | | `reset()` | Cancella profilo, sessione locale, credenziale ospite salvata e non letti di questa istanza | | `dispose()` | Smonta interfaccia e listener. Non cancella la credenziale ospite salvata né l’oggetto API globale | Non aspettare `isReady()` per far aprire il modulo a un nuovo ospite. Non c’è un evento pubblico di disponibilità. Questi indicatori non descrivono tutto lo stato di rete. --- ## Checklist prima del rilascio - [ ] Host e chiave dello stesso ambiente - [ ] Domini del sito e dello staging in elenco, solo come hostname - [ ] Logo, colore, saluto, benvenuto e fuori orario verificati - [ ] Browser nuovo, solo script: modulo, messaggio, ticket in Quoting24 - [ ] `external_id` già in `web_code`: associazione, anagrafica azienda invariata - [ ] Codice nuovo con `company_name`: azienda creata con quel codice web - [ ] Codice nuovo senza `company_name`: nessuna azienda creata - [ ] Email vuota, ID numerico o ragione sociale troppo lunga: payload rifiutato, da correggere - [ ] Ricarica e navigazione SPA: una sola istanza, sessione ospite conservata - [ ] Cambio account: `reset()` subito, risposte tardive scartate - [ ] Mobile: composizione utilizzabile - [ ] Dominio non autorizzato: widget rifiutato Problemi frequenti: [Risoluzione dei problemi](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B URL: https://wiki.quoting24.com/content/widget_b2b/ Language: it Updated: 2026-11-04 # Widget B2B — cronologia su altri dispositivi Questa sezione copre il recupero della **cronologia personale** del widget quando la stessa persona apre il sito da un altro browser o dispositivo. Il sito deve autenticare la persona. Il suo backend ottiene e conserva in privato la credenziale di ripristino per quell’utente e quel widget. Il browser la passa a `init()` insieme al profilo. Per il solo script, o per precompilare profilo e azienda restando in sessione ospite, vedi [Widget B2C](widget_b2c.md). Endpoint, persistenza e concorrenza del `restore_id`: [Integrazione tecnica](widget_tecnico.md#provisioning-da-backend). --- ## Cosa aggiunge rispetto alla sessione ospite | | Ospite | Ripristino | | --- | --- | --- | | Login sul sito | Non richiesto | Richiesto, perché la credenziale esce dal tuo backend | | Dati che identificano la chat | Credenziale ospite del browser, oppure profilo passato a `init()` | `external_user_id` e `restore_id` insieme | | Continuità | Stesso browser | Browser e dispositivi diversi, sul canale widget autorizzato | | Chi emette la credenziale | Loader | Backend del sito, tramite Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` e `external_user_id`, da soli, non ripristinano la cronologia. `external_user_id` senza `restore_id` non basta. Il campo è `restore_id`, in snake case: `restoreId` non è un campo del loader. Il recupero non unisce vecchie sessioni ospite e non condivide la cronologia tra colleghi della stessa azienda. Riguarda solo il canale widget. Puoi inviare nello stesso `init()` anche i campi azienda. L’associazione o la creazione dell’azienda segue le regole del [payload ospite](widget_b2c.md#inviare-il-profilo-del-cliente): è indipendente dal ripristino e non dimostra l’identità. --- ## Flusso 1. Il cliente effettua il login sul portale 2. Il backend autenticato chiede a Quoting24 una credenziale (`provisionRestoreId`) oppure riutilizza quella già salvata 3. La pagina chiama `init()` con lo stesso `external_user_id`, il `restore_id` e, se servono, i dati azienda 4. Quoting24 verifica la credenziale e mostra le conversazioni del widget visibili per quella persona, comprese quelle già chiuse 5. Al logout, o al cambio persona, la pagina chiama `reset()` così la chat precedente non resta sul browser ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` è la risposta del backend per l’utente autenticato. Usala senza modificarla. Massimo 200 caratteri. Richiede il corrispondente `external_user_id`: ID stabile della singola persona, non vuoto, massimo 100 caratteri dopo il trim. Non è un ID azienda condiviso. `external_id` confronta `web_code`. Insieme a `company_name` può creare l’azienda mancante. Non autentica l’utente e non sostituisce `restore_id`. --- ## Prerequisiti Oltre a branding, domini e codice embed: - integrazione backend autorizzata in Quoting24 - segreto privato dell’integrazione, solo sul server - endpoint di provisioning, di solito `widget.provisionRestoreId` - archivio privato nel database del sito, una credenziale per utente e widget La chiave pubblica nell’URL dello script e il segreto di integrazione sono valori diversi. Vedi [Panoramica](widget.md#chiave-pubblica-e-segreti). --- ## Endpoint sul backend del sito `/api/widget/session` è un esempio da implementare nel portale. Non è un URL pubblico di Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - L’identità si ricava dalla sessione server, non da un ID scelto dal browser - `Cache-Control: no-store` - Non loggare e non mettere in cache `restore_id` - Non mettere segreti nell’URL dello script o in attributi `data-*` - Salva la credenziale **prima** di restituirla al browser Il contratto verso Quoting24 (`attempt_id`, `saved_restore_id`, lock, riutilizzo della chiave) è in [Integrazione tecnica](widget_tecnico.md#provisioning-da-backend). Se il portale ha già un endpoint autenticato che, per l’utente corrente, restituisce il `restore_id` di questo widget, usa quella risposta. Combinala con l’ID della persona e con il riferimento azienda nella chiamata a `init()`. --- ## Login, ricarica, cambio account, logout Distingui un ricaricamento della pagina da un cambio reale di persona o account. - Ricaricamento con lo stesso login ancora attivo: `init()` **senza** `reset()`, così resta la sessione ospite salvata se stai solo ridando il profilo. Con il ripristino, riusa la credenziale già persistita: non generarne una nuova a ogni page view - Cambio persona, cambio account, logout: `reset()` subito, poi il nuovo profilo oppure nessun `init()` se l’utente è uscito - Scarta le risposte di ripristino arrivate dopo il cambio: una risposta vecchia non va trattata come un nuovo login - In una SPA tieni una sola istanza nel layout principale. Un cambio di route non rilancia il provisioning Se il ripristino non è disponibile puoi offrire la chat ospite: `reset()`, poi `init()` senza `restore_id`. Quella chat resta separata dalla cronologia ripristinata. Una credenziale non valida, di un altro utente o revocata viene rifiutata. Quoting24 non la converte in sessione ospite. Il pulsante «Riprova» del widget non chiede da solo un nuovo `restore_id` al backend. Esempio di `applyWidgetAuth` e smontaggio: [Integrazione tecnica](widget_tecnico.md#login-logout-e-cambio-account). Il `reset()` dimentica la sessione ospite di questa istanza e la credenziale salvata nel browser. Non revoca `restore_id` sul server e non chiude le sessioni sugli altri dispositivi. Le altre schede aperte vanno aggiornate dal sito. --- ## Conversazioni precedenti Nella cronologia ripristinata le chat già chiuse possono comparire come conversazione precedente. - Aprirle in consultazione non riapre la vecchia conversazione - I messaggi nuovi restano sulla conversazione attiva --- ## Checklist prima del rilascio - [ ] Segreto di integrazione solo sul server - [ ] `external_user_id` stabile e per persona, identico tra provisioning e `init()` - [ ] `restore_id` persistito prima della risposta al browser, e riutilizzato alle visite successive - [ ] Stesso utente su un secondo browser: stessa cronologia - [ ] Due utenti della stessa azienda: cronologie distinte - [ ] `external_id` e `company_name` verificati in anagrafica, senza aspettarsi che ripristinino la chat - [ ] Logout o cambio account durante il fetch: nessuna chat del vecchio utente a schermo - [ ] Passaggio ospite ↔ ripristino con `reset()` in mezzo - [ ] Credenziale revocata o non valida: errore, senza fallback silenzioso a ospite Test e sintomi: [Verificare l’integrazione](widget_tecnico.md#verificare-lintegrazione) · [Risoluzione dei problemi](widget_tecnico.md#risoluzione-dei-problemi). --- # Integrazione tecnica URL: https://wiki.quoting24.com/content/widget_tecnico/ Language: it Updated: 2026-11-04 # Widget — Integrazione tecnica Guida per sviluppatori: script, payload di `init()`, associazione e creazione azienda, ciclo di vita, ripristino autenticato (`restore_id`), CSP e verifica. Pagine di percorso: [Panoramica](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Edizione di riferimento:** 26 ottobre 2026. Il ripristino tra dispositivi è aggiuntivo rispetto al payload azienda. Prima di abilitarlo, verifica che `provisionRestoreId` sia disponibile nella tua installazione. L’interfaccia è in un iframe. Nel sito ospitante non servono Angular, un client Supabase o accesso al database di Quoting24. --- ## Scegliere il tipo di integrazione | Caso | Implementazione | Continuità | | --- | --- | --- | | Sito pubblico, visitatore sconosciuto | Solo script. Modulo di contatto | Sessione ospite nello stesso browser | | Sito con dati del cliente | Script e `init()` con profilo e azienda | Sessione ospite precompilata e associazione aziendale | | Portale con cronologia personale tra dispositivi | Anche backend per `external_user_id` e `restore_id` | Cronologia personale nel canale widget autorizzato | Associare un’azienda e recuperare la cronologia sono operazioni distinte. `external_id`, `company_name`, nome, email e telefono non autorizzano le conversazioni di un’altra persona. Un utente autenticato nel sito resta un ospite del widget finché non fornisci una credenziale di ripristino valida. --- ## 1. Configurazione da Quoting24 In **Impostazioni → Canali**, apri il canale widget e recupera: - URL completo dello script e **chiave pubblica** - **domini autorizzati**, compresi collaudo e sviluppo locale - logo, colore, posizione, saluto, benvenuto e orari Usa URL e chiave dello stesso ambiente. Negli esempi sostituisci `HOST_WIDGET` e `CHIAVE_PUBBLICA_WIDGET`. La chiave nell’URL è pubblica e seleziona il canale: non è una credenziale personale né un segreto di integrazione backend. I domini sono nomi host (`shop.example.com`, `localhost`), senza `https://`, porta, percorso o prefisso `*.`. `example.com` autorizza anche i sottodomini. Una lista vuota non applica restrizioni. Per il collaudo locale servi la pagina via HTTP, non come file. | Valore | Dove conservarlo | Scopo | | --- | --- | --- | | Chiave pubblica | URL dello script | Seleziona il canale widget | | Segreto privato dell’integrazione | Solo secrets del backend | Autorizza create/reuse di `restore_id` | | `restore_id` | Archivio privato per utente; in pagina solo a sessione autenticata | Dimostra quale cronologia ripristinare | | Credenziale sessione ospite | `localStorage` del sito, per chiave widget, gestita dal loader | Continuità ospite nello stesso browser | Per il ripristino servono integrazione backend, endpoint privato e segreto, separati dal codice pubblico. Vedi [sezione 6](#provisioning-da-backend). --- ## 2. Installazione ### Pulsante flottante Una sola volta, prima di ``: ```html ``` Il pulsante compare dopo il caricamento delle impostazioni grafiche. Un nuovo visitatore apre il modulo con telefono e nome facoltativo. Il loader conserva la credenziale ospite nel `localStorage`, separata per chiave. Se lo storage è bloccato, la continuità può limitarsi alla pagina corrente. Il loader espone un unico `window.Quoting24Widget`. Un secondo script non crea un secondo widget. ### Chat incorporata Contenitore prima dello script, altezza esplicita: ```html

Assistenza

``` `target` è l’ID, senza `#`. L’iframe riempie il contenitore. Non c’è pulsante flottante. `open()`, `close()` e `toggle()` non hanno effetto. ### Attendere il loader Per i dati precompilati usa questo modulo **al posto** del tag statico, importato una sola volta nel layout principale. Gli esempi sono moduli JavaScript: bundler, oppure ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CHIAVE_PUBBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API del widget non disponibile")); } }; script.onerror = () => { script.remove(); reject(new Error("Caricamento del widget non riuscito")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Per la modalità incorporata aggiungi `&mode=embedded&target=chat-assistenza` all’URL e monta prima il contenitore. Non duplicare questo caricamento con un tag script statico. `loadWidget()` segnala la disponibilità dell’API. `init()` restituisce `void`: accoda il profilo se l’iframe non è pronto e non attende la sessione. Per l’esito usa `isReady()` e `hasSessionError()`. --- ## 3. Campi di `init()` {#campi-di-init} Tutti i valori sono **stringhe**. Ometti quelli sconosciuti. Non inviare `null`, ID numerici o un’email vuota. Se un campo supera i limiti o l’email è malformata, la richiesta viene rifiutata. | Campo | Limite e comportamento | | --- | --- | | `external_id` | Massimo 100 caratteri. Riferimento aziendale confrontato esattamente con `web_code`, nell’organizzazione del widget. Gli spazi non vengono rimossi | | `company_name` | Massimo 250 caratteri dopo la rimozione degli spazi iniziali e finali. Crea un’azienda mancante solo insieme a `external_id`. Una stringa vuota o di soli spazi non abilita la creazione | | `name` | Massimo 250 caratteri. Nome del contatto; può aggiornarlo nella sessione corrente | | `email` | Indirizzo valido. Nell’inizializzazione pubblica viene salvata solo su un’azienda nuova. Non viene scritta sul contatto né su un’azienda già presente | | `phone` | Massimo 80 caratteri. Numero del contatto; preferisci il formato internazionale, per esempio `+393331234567`. Un conflitto con un numero esistente non unisce contatti o chat | | `external_user_id` | Facoltativo nel caso base. ID stabile della persona, non vuoto, massimo 100 caratteri dopo il trim. Da solo non ripristina la cronologia | | `restore_id` | Credenziale privata, massimo 200 caratteri, ottenuta dal backend. Richiede il corrispondente `external_user_id`. Usa il valore restituito senza modificarlo | Esempio quando il sito conosce l’account. I nomi dei campi nel gestionale possono essere diversi: mappa il riferimento azienda su `external_id`, la ragione sociale su `company_name`, la persona su `name`, l’email account su `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Nome, telefono ed email del modulo e del gestionale si inviano con questi nomi: `name`, `phone`, `email`. Non usare `Nome`, `Telefono` o `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Il primo esempio apre la chat con nome e telefono, senza cercare un’azienda. Il secondo basta con un’email valida. Nel profilo completo qui sopra, `phone` è il numero del contatto e `email` viene scritta sull’azienda solo se l’azienda viene creata in questa chiamata. Mantieni separati `name` e `company_name`. Non concatenare la ragione sociale al nome utente per ottenere l’associazione. Non inviare un campo `web_code`: il nome pubblico è `external_id`. Non usare l’UUID interno di Quoting24 né `companies.code` al posto del valore in `web_code`. `init(profile)` sostituisce il profilo memorizzato dal loader. Non fa merge: passa i campi che vuoi mantenere. Un nuovo ospite può iniziare con almeno un nome, un telefono, un’email valida o un `external_user_id`, oppure con un’azienda trovata o creata tramite `external_id`. `init({})` e `company_name` da solo non avviano una nuova sessione. Se invii soltanto un `external_id` sconosciuto, senza `company_name`, il widget chiede i dati tramite il modulo. `init({ restoreId: "..." })` non trasmette la credenziale. Il campo è `restore_id`. --- ## 4. Associare o creare l’azienda {#associare-o-creare-lazienda} Il flusso scatta quando Quoting24 elabora l’inizializzazione, anche senza un messaggio: 1. Se riceve un `external_id` non vuoto, cerca un’azienda della stessa organizzazione con `web_code` uguale a quel valore 2. Se la trova, collega il contatto. Nome ed email dell’azienda esistente restano invariati 3. Se non la trova e riceve anche un `company_name` non vuoto, crea l’azienda con `name = company_name`, `web_code = external_id` ed eventuale `email`, poi collega il contatto 4. Se non può trovare o creare l’azienda per dati mancanti, prosegue con il profilo disponibile. Se è insufficiente per un nuovo ospite, richiede il modulo. Gli errori di database o il limite richieste fanno fallire l’inizializzazione | Dati inviati | Situazione in Quoting24 | Risultato | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Esiste `web_code = "52"` | Usa l’azienda esistente; non ne modifica il nome | | Stessi dati, più un’email valida | Non esiste `web_code = "52"` | Crea l’azienda con codice web `52`, ragione sociale ed email, e associa il contatto | | `external_id: "52"`, `name: "mario.rossi"` | Nessuna corrispondenza | Avvia l’ospite senza una nuova associazione aziendale | | `external_id: "52"`, senza altri dati | Esiste una corrispondenza | Avvia l’ospite associato, con nome di default `Visitatore` | | `external_id: "52"`, senza altri dati | Nessuna corrispondenza | Richiede i dati del visitatore | | `company_name` senza `external_id`, più `name` | Qualsiasi | Avvia il visitatore. Non cerca e non crea un’azienda | La ricerca non usa ragione sociale, email, telefono, partita IVA o `companies.code`. `"052"` e `"52"` sono valori diversi. Se importi prima l’anagrafica, compila `web_code` con lo stesso valore che il sito invierà in `external_id`. L’associazione riguarda il contatto. Per un contatto già collegato, un nuovo codice valido può cambiarne l’azienda. Omettere il codice, o inviarne uno non risolto, non cancella l’associazione precedente. Al cambio di persona o account esegui `reset()`: non limitarti a cambiare il profilo. ### Limiti `web_code` non ha un vincolo di unicità. Con più corrispondenze viene selezionata la prima, ordinando per data di creazione crescente. Evita i duplicati: richieste simultanee che non trovano ancora l’azienda possono crearne più di una. Il flusso non garantisce una creazione atomica e non sostituisce import o sincronizzazione dal gestionale. La creazione implicita è limitata a 20 tentativi per finestra di 60 secondi e indirizzo IP, nel processo backend che gestisce la richiesta. Al superamento, l’inizializzazione fallisce con `TOO_MANY_REQUESTS`. Usa una riprova con attesa. Evita cicli continui di `init()`. I dati arrivano dal browser e il visitatore può modificarli. L’associazione non dimostra appartenenza o identità e non concede la cronologia aziendale. Invia `company_name` se vuoi consentire questa creazione pubblica. Per aggiornare aziende esistenti usa Quoting24 o un’integrazione gestionale autorizzata. --- ## 5. Login, logout e cambio account {#login-logout-e-cambio-account} Mantieni un’unica istanza nella struttura principale di una SPA. Un cambio di pagina non richiede un nuovo script né un reset. Al cambio di persona o account, e al logout, chiama **`reset()` prima del nuovo profilo**. Al ricaricamento con lo stesso login ancora attivo, usa `init()` senza reset, come nell’avvio: così conservi la sessione ospite salvata. Il sito deve distinguere il ricaricamento dal cambio effettivo. Chiamata ai cambi di autenticazione. `profile` è il profilo del nuovo utente, oppure `null` al logout. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Gestisci l’errore di caricamento nella UI del sito, con una riprova. Se recuperi il profilo dal backend prima di questa funzione, invalida anche quelle richieste al cambio utente. Durante l’attesa, cancella subito il profilo precedente con `applyWidgetIdentity(null)`. Il reset dimentica la sessione ospite di questa istanza, la credenziale salvata, il profilo e il contatore dei non letti. Non è una revoca server e non termina le sessioni su altri dispositivi. Il cambio di autenticazione va applicato anche nelle altre schede aperte. ### Con ripristino della cronologia Quando il profilo include `restore_id`, scaricalo dall’endpoint autenticato del sito dopo il `reset()`, e scarta la risposta se nel frattempo l’utente è cambiato. Il ricaricamento con lo stesso utente riusa la credenziale già salvata e non deve chiamare `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Solo al login, al logout e al cambio utente. // Al ricaricamento con lo stesso utente non chiamarla: useresti reset() e perderesti la sessione già in corso. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("Ripristino del widget non disponibile"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Risposta di ripristino inattesa"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Chat di assistenza: ripristino non riuscito.", error); } } ``` Il ciclo copia solo i campi presenti e non vuoti. Un’email `""` o un ID numerico non vanno inviati. ### API JavaScript | Metodo | Uso | | --- | --- | | `init(profile)` | Fornisce o sostituisce il profilo corrente. Il loader non unisce i campi a un profilo precedente | | `open()` / `close()` / `toggle()` | Apre, chiude o alterna il widget flottante. La chiusura non è un logout. In modalità incorporata non hanno effetto | | `isReady()` | Inizializzazione della sessione visitatore riuscita. Resta falso durante il modulo di contatto | | `hasSessionError()` | Errore di sessione segnalato dall’iframe | | `reset()` | Cancella profilo, sessione locale, credenziale ospite salvata e contatore dei non letti | | `dispose()` | Smonta interfaccia e listener. Non cancella la credenziale ospite salvata né l’oggetto API globale | Puoi collegare un pulsante del sito a `window.Quoting24Widget?.open()` quando il pulsante flottante è comparso. Non aspettare `isReady()` per lasciare che un nuovo ospite apra il modulo. Non esiste un evento pubblico di disponibilità. Questi indicatori non descrivono l’intero stato della rete. `loadWidget()` risolto non significa che branding e sessione siano pronti. ### Smontaggio completo Se devi togliere il widget, esegui `dispose()`. Se lo smontaggio coincide con il logout, esegui prima `reset()`. Prima di caricare di nuovo lo script, elimina il globale e azzera la Promise del loader. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` è quella definita nel modulo del loader. Esegui lo smontaggio dopo il completamento del caricamento. Non farlo in concorrenza con una nuova `loadWidget()`. Per i cambi di autenticazione usa `applyWidgetIdentity()` o `applyWidgetAuth()`, che attendono il loader. Il reset locale non revoca il `restore_id` sul server. --- ## 6. Ripristino autenticato {#provisioning-da-backend} La sessione ospite legge la sua conversazione più recente anche dopo la chiusura. Per le conversazioni visibili della stessa persona su un altro browser servono insieme `external_user_id` e `restore_id`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` Il recupero non unisce vecchie sessioni ospite e non condivide la cronologia tra colleghi della stessa azienda. ### Endpoint sul backend del sito Esempio da implementare nel portale, non un URL di Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Imposta `Cache-Control: no-store`. Identità e azienda solo dalla sessione server. Applica auth e CSRF dell’applicazione. Non loggare body che contengono la credenziale. Se il portale espone già un endpoint autenticato che restituisce il `restore_id` dell’utente corrente per questo widget, usa quella risposta e combinala con l’ID persona e il riferimento azienda. ### Provisioning server-to-server Percorso tipico: `/fastify/trpc/widget.provisionRestoreId` (oppure `/trpc/widget.provisionRestoreId` se il backend è esposto direttamente). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` I valori generati iniziano con `q24-restore-v1:`. Non inventarli e non derivarli da ID pubblici. | Input | Requisito | | --- | --- | | `widget_api_key` | UUID obbligatorio, autorizzato per il segreto | | `external_user_id` | ID persona stabile, uguale a quello in `init()` | | `attempt_id` | Intero positivo strettamente crescente, come stringa decimale, massimo `9223372036854775807` | | `saved_restore_id` | Credenziale già salvata. Omettila al primo provisioning | | `external_id`, `name`, `email`, `phone` | Facoltativi, con gli stessi limiti di `init()` | Pattern **ensure**, recupera o crea: 1. Autentica l’utente e acquisisci un lock sulla riga di ripristino, in transazione 2. Alloca un nuovo `attempt_id` da sequenza **dopo** il lock (`CACHE 1`, non ciclica; la sequenza sopravvive al rollback) 3. Chiama Quoting24 con `attempt_id` e, se presente, `saved_restore_id` 4. Salva `result.data.restore_id` e fai commit 5. Solo dopo il commit restituisci la credenziale al browser Un `saved_restore_id` valido va **riutilizzato**. Ometterlo quando esiste già una chiave valida sostituisce la chiave e invalida le sessioni ripristinate. Non generare una chiave nuova a ogni page view. Se il provisioning remoto riesce e il salvataggio locale fallisce, restituisci errore. Non restituire la chiave non salvata. Timeout limitati. `company_name` si invia in `init()`. Il body di provisioning sopra non lo include: associazione e creazione dell’azienda, descritte nella [sezione 4](#associare-o-creare-lazienda), avvengono quando il browser inizializza la sessione. L’email dell’inizializzazione pubblica è scritta solo su un’azienda nuova. ### Esito lato widget Quoting24 verifica la credenziale e carica la cronologia widget visibile di quell’utente. Le chat già chiuse possono comparire come conversazione precedente: consultarle non riapre la vecchia conversazione; l’invio resta sulla conversazione corrente. Una credenziale non valida, di un altro utente o revocata viene rifiutata, senza conversione automatica in sessione ospite. Il pulsante «Riprova» del widget non richiede da solo un nuovo `restore_id`. --- ## 7. Pagina, rete e aspetto - **Una sola istanza per pagina** - **CSP.** Consenti l’origine del widget in `script-src` e `frame-src`, e l’origine API indicata per l’installazione in `connect-src` (caricamento delle impostazioni grafiche). Autorizza le immagini configurate in `img-src`. Il loader inserisce stili inline e non espone un’opzione pubblica per il nonce: verifica la CSP del sito. Il CSS della pagina non modifica l’interno dell’iframe cross-origin - **Connessioni dell’iframe.** Deve raggiungere API, Realtime/WebSocket e storage della propria installazione. Per filtri di rete usa gli host effettivi dell’ambiente - **Aspetto e lingua.** Logo, colore, posizione e messaggi si configurano in Quoting24. `company_name` è la ragione sociale del cliente. Non esiste un parametro pubblico `language` o `locale`; l’interfaccia attuale è in italiano - **Mobile.** La chat flottante può occupare il viewport. In modalità incorporata il sito controlla altezza e larghezza - **Allegati e orari.** PDF, DOC/DOCX, JPG/JPEG e PNG. Fino a 10 MiB per file e 100 MiB di allegati referenziati per conversazione. Fuori orario il widget mostra il banner e lascia disponibile la composizione --- ## 8. Verificare l’integrazione {#verificare-lintegrazione} Usa un account e un canale di test. Controlla l’anagrafica in Quoting24, oltre alla chat. | Prova | Risultato atteso | | --- | --- | | Browser nuovo, solo script | Modulo di contatto, poi conversazione | | Payload completo con `external_id` già presente come `web_code` | Contatto associato all’azienda esistente; nome ed email dell’azienda invariati | | Payload completo con codice nuovo | Azienda creata con codice web, ragione sociale ed email; contatto associato | | Codice nuovo e nome, senza `company_name` | Chat avviata, nessuna azienda creata | | Solo codice nuovo | Modulo di contatto | | Solo ragione sociale e nome | Nessuna azienda cercata o creata per nome | | Email vuota, ID numerico o ragione sociale troppo lunga | Payload rifiutato | | Seconda `init()` nella stessa sessione | Continua la sessione ospite. Email e telefono non recuperano la chat di un’altra persona | | Ricarica, navigazione SPA, mobile | Una sola istanza; continuità ospite se lo storage c’è; layout utilizzabile | | Logout o cambio account durante il caricamento | Sessione precedente cancellata; i risultati tardivi non ripristinano il vecchio profilo | | Stesso utente autenticato, altro browser, `restore_id` valido | Cronologia di quella persona | | Due utenti della stessa azienda | Credenziali e cronologie distinte | | Ospite, poi ripristino | `reset()` in mezzo; le sessioni non si uniscono | | Credenziale non valida o revocata | Errore, senza fallback ospite automatico | | Conversazioni precedenti | Solo consultazione; l’invio resta sulla corrente | | Dominio non autorizzato | Accesso rifiutato | | Rete interrotta | Riconnessione; bozza conservata se l’invio fallisce | --- ## Risoluzione dei problemi {#risoluzione-dei-problemi} | Sintomo | Controllo | | --- | --- | | Il pulsante non compare | URL, chiave, canale abilitato, domini, CSP, richiesta `widget.getBranding`. Il solo globale JavaScript non prova che il pulsante esista. `open()` non ha effetto finché il branding non è caricato, e non ha effetto in modalità incorporata | | `Quoting24Widget` non è definito | Attendi il caricamento. Controlla il parametro `key` | | La chat incorporata è invisibile | Contenitore prima del loader, ID corretto, altezza maggiore di zero | | `Domain not allowed` | Nome host del sito, senza schema, porta e percorso. Verifica anche il collaudo. La pagina va servita via HTTP | | Modulo telefono nonostante il profilo | Ordine asincrono, snake_case, valori vuoti, `reset()` precedente, profilo insufficiente per un nuovo ospite | | L’azienda non viene trovata | Confronta `external_id` con `web_code` nella stessa organizzazione, spazi e zeri iniziali compresi | | L’azienda mancante non viene creata | Servono `external_id` e `company_name` entrambi non vuoti. Controlla validazione e limite di creazione | | Nome o email dell’azienda non cambiano | Previsto: `init()` crea le aziende mancanti e non aggiorna quelle esistenti | | L’email non appare sul contatto | Previsto per l’inizializzazione pubblica: l’email si usa solo alla creazione dell’azienda | | `TOO_MANY_REQUESTS` | Attendi e riprova. Evita chiamate ripetute o importazioni massive tramite il widget | | La cronologia manca su un altro dispositivo | Il payload azienda non la ripristina. Servono `external_user_id` e `restore_id` | | Sessioni ripristinate invalidate | Le chiamate ensure devono rimandare `saved_restore_id`. Non emettere una chiave nuova a ogni page view | | «Riprova» non basta | Nuovo `restore_id` dal tuo endpoint, poi `reset()` e `init()` | | Dopo un cambio account resta la vecchia chat | `reset()` subito al cambio identità. Scarta le risposte asincrone precedenti | | Dopo `dispose()` lo script non ricrea il widget | Elimina il globale e lo script, azzera la Promise del loader, poi ricarica | | L’interfaccia resta in italiano | Nessuna opzione pubblica `language` o `locale` sul loader | --- ## Riferimenti implementazione - Loader e API JavaScript: `@frontend/src/public/widget/script.ts` - Inizializzazione, associazione aziendale e creazione implicita: `@backend/fastify/routes/widget/initialize.ts` - Test di inizializzazione e aziende: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Dominio e canale: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning `restore_id`: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Contatti URL: https://wiki.quoting24.com/content/contacts/ Language: it Updated: 2026-11-04 # Contatti Nel menù in alto a destra è disponibile la sezione **“Contatti”**. Questa pagina mostra l’elenco dei **contatti gestiti in Quoting24** a partire dal collegamento del canale WhatsApp. Schermata dei contatti --- ## Navigazione nella pagina ### Ricerca contatti In alto a sinistra è presente un **campo di ricerca** che consente di trovare rapidamente un contatto: - inserendo il **nome** - oppure il **numero di telefono** ### Azioni principali In alto a destra sono presenti i seguenti pulsanti: - **Ricarica** Consente di effettuare un **aggiornamento manuale** dei dati contatto tra il canale WhatsApp e Quoting24. - **Import/Export** Apre il dialog per **scaricare un template Excel**, **esportare** i contatti oppure **importare** un file. Dettagli nella sezione [Import/Export contatti tramite Excel](#importexport-contatti-tramite-excel). - **+ Aggiungi** Permette di creare un **nuovo contatto**. Si aprirà una schermata in cui è possibile inserire: - nome - numero di telefono - azienda Dopo aver compilato i campi, è possibile **salvare il contatto**. Schermata aggiunta utente --- ## Assegnazione di un’azienda a un contatto Dall’elenco dei contatti è possibile assegnare rapidamente un’azienda a un contatto cliccando su **“+ Assegna azienda”**. Schermata aggiunta azienda ed utente Verrà mostrato l’elenco delle **aziende salvate** sul proprio account\* di Quoting24. Per assegnare l’azienda al contatto è sufficiente cliccare su **“Seleziona”**. Schermata seleziona azienda > *Per **account** si intende il **numero di telefono**: > ogni numero di telefono associato a Quoting24 ha i propri **contatti**, **aziende** e **[turni di consegna](delivery_shifts.md)**.* --- ## Assegnazione di un’azienda a un contatto (secondo metodo) Utente non assegnato Al momento in cui, un cliente non è ancora stato assegnato a nessun' [**Azienda**](companies.md) o non è etichettato come **Privato**, bisogna cliccare nell'elemento cerchiato per aprire la finestra successiva. Assegna azienda In questo momento si presentano 3 casistiche: - Il contatto è un **Privato**, quindi non appartenente ad una specifica azienda, in questo caso l'assegnazione cadrà sul pulsante ***Assegna come privato*** - Il contatto **appartiene ad un' azienda tra quelle esportate**, in tal caso basta selezionare l'azienda corrispondente al cliente - Il contatto **appartiene ad un' azienda non tra quelle esportate**, in questo caso basta schiacciare il pulsante ***Nuova azienda*** e assegnarla al cliente Utente assegnato Dopo aver assegnato l'utente all'azienda, nella lista ticket e nelle anteprima compare il **codice azienda** (senza `#`) nel tag accanto al nome. Se il cliente è stato contrassegnato come **Privato**, viene mostrata l’etichetta *Privato*. Nella **lista ticket**, alla destra del nome, il tag unico mostra anche la **priorità** del contatto e prende il colore dalla **tipologia** (azienda o personale). Dettagli in [Schermata principale](main_screen.md#anteprima-e-indicatori-nella-lista). --- ## Apri nuova richiesta Dalla sezione Contatti puoi avviare una conversazione senza passare dal **+** della home. * nella **lista contatti**, su ogni riga è disponibile **Apri nuova richiesta** * nella **scheda del contatto** trovi lo stesso pulsante in alto Si apre così una nuova richiesta verso quel contatto, con le stesse regole di [gestione ticket](gestione_ticket.md) della home. --- ## Priorità del contatto Ogni contatto può avere una **priorità** propria: **Alta**, **Media** o **Bassa**. Comportamento: * se il contatto ha un’azienda e non hai impostato una priorità sul contatto, Quoting24 usa quella dell’**azienda** (*Ereditata dall’azienda*) * puoi impostare una priorità anche su un contatto **senza azienda** * puoi **sovrascrivere** la priorità ereditata lasciando quella dell’azienda invariata La priorità si gestisce: * dal form di creazione / modifica contatto * dalla tab **Informazioni** del ticket * (se prevista) dall’import Excel contatti Nella lista ticket l’icona di priorità compare nel tag accanto al nome. --- ## Tipologia del contatto La **tipologia** (es. cliente, fornitore, collaboratore) funziona in modo diverso dalla priorità: * contatto **senza azienda** → puoi assegnare una tipologia personale * contatto **con azienda** → la tipologia è **sempre quella dell’azienda**, non modificabile sul contatto; per cambiarla modifica l’azienda Nella tab **Informazioni** del ticket, se la tipologia è ereditata compare l’indicazione *Ereditata dall’azienda*. La tipologia effettiva colora il tag nella lista ticket e può essere usata come filtro (**Tipologia azienda**) nell’imbuto della home. --- ## Sincronizzazione nomi contatti Quoting24 è il **riferimento principale** per il nome dei contatti. Questo significa che, quando un contatto ha già un nome salvato in Quoting24, quel nome viene considerato corretto e **non viene più sovrascritto** da aggiornamenti automatici del canale WhatsApp. La sincronizzazione dei contatti può avvenire in diversi momenti, ad esempio: - quando viene avviata una sincronizzazione manuale - quando arriva un messaggio da un numero nuovo - durante altri processi automatici di aggiornamento dei contatti Quando arriva un aggiornamento da WhatsApp, Quoting24 applica questa logica: - se il contatto **non esiste ancora** in Quoting24, viene creato usando numero di telefono e nome disponibile dal canale WhatsApp - se il contatto **esiste già**, vengono completati solo i dati mancanti - il **nome** viene aggiornato solo se in Quoting24 è ancora vuoto - se in Quoting24 il contatto ha già un nome, gli aggiornamenti automatici non lo modificano In pratica, la sincronizzazione serve a **riempire i dati mancanti**, non a sovrascrivere informazioni già sistemate dagli operatori in Quoting24. Questa impostazione evita che nomi corretti manualmente dagli operatori vengano persi dopo un nuovo aggiornamento WhatsApp e mantiene coerenti i dati gestiti su Quoting24. --- ## Avvisi sui contatti È possibile configurare **avvisi sui contatti**, cioè note importanti che vengono mostrate sopra la chat quando si apre una conversazione con quel contatto. Gli avvisi sono utili per evidenziare informazioni che l'operatore deve vedere subito, ad esempio: - istruzioni commerciali particolari - condizioni concordate con il cliente - attenzioni operative da rispettare - note importanti inserite dai colleghi --- ## Import/Export contatti tramite Excel Dalla lista contatti è possibile aprire il dialog **Import/Export** per: - **scaricare un template Excel** con la struttura corretta delle colonne - **esportare** tutti i contatti del tenant, oppure **solo quelli selezionati** - **importare** un file Excel e salvare le modifiche dopo l’anteprima ### Export L’export scarica i contatti del tenant (inclusi i riferimenti a **azienda** e **location**) e genera un file **`.xlsx`**. Puoi esportare: - **tutti** i contatti - oppure **solo i contatti selezionati** nella lista Il file esportato include anche la colonna **`id`**: è l’identificativo del contatto Quoting24 e va tenuto se vuoi aggiornare gli stessi contatti in un successivo import. ### Import Per importare i contatti: 1. apri il dialog **Import/Export** dalla lista contatti 2. carica il file Excel (puoi partire dal template scaricabile o da un export precedente) 3. verifica l’**anteprima in tabella** 4. salva per avviare l’import Il backend esegue un **upsert a batch da 500** righe. #### Come viene abbinato ogni contatto Per ogni riga del file vale questa logica: 1. se la colonna **`id`** è valorizzata e l’id esiste già **nel tenant corrente** → **aggiorna** quel contatto 2. se non c’è `id` (o non matcha nel tenant) → cerca per **telefono** (anche in forma normalizzata): se lo trova → **aggiorna** il contatto esistente, **senza crearne uno nuovo** 3. solo se non matcha né per `id` né per telefono → **crea** un contatto nuovo 4. se l’`id` esiste ma appartiene a un **altro tenant** → viene trattato come nuovo contatto (ne viene generato uno nuovo) #### Campi obbligatori e regole - **`name`** e **`phone`** sono **obbligatori** - numeri di telefono **senza** prefisso `+` o `00` → Quoting24 assume il prefisso **`+39`** - **`company_id`** e **`location_id`** vengono applicati **solo se validi e coerenti tra loro**; in caso contrario vengono **ignorati** --- ## Azioni disponibili sui contatti All’interno della schermata dei contatti sono presenti, oltre ad **Apri nuova richiesta**: - **Bidone** → elimina il contatto - **Matita** → modifica il contatto - **Freccia rossa** → apre lo **storico delle richieste** del contatto Schermata icone contatti --- # Aziende URL: https://wiki.quoting24.com/content/companies/ Language: it Updated: 2026-11-04 # Aziende Nel menù in alto a destra è disponibile anche la sezione **“Aziende”**. Questa pagina mostra l’elenco delle **aziende presenti sul proprio account\*** di Quoting24. A differenza dei **contatti** (che vengono creati o aggiornati dal canale WhatsApp e dagli operatori), le **aziende** si creano dall’operatore, a mano o da Excel, oppure dal **canale Widget** quando il sito invia insieme `external_id` e `company_name`. > *Per **account** si intende il **numero di telefono**: > ogni numero di telefono associato a Quoting24 ha i propri **[contatti](contacts.md)**, **aziende** e **[turni di consegna](delivery_shifts.md)**.* --- ## Creazione di nuove aziende Per creare nuove aziende sono disponibili **due metodi**, accessibili tramite i pulsanti presenti **in alto a destra** nella schermata: - **Import da file Excel** Consente di caricare più aziende contemporaneamente tramite un file Excel strutturato. - **Aggiunta e modifica manuale** (`+ Aggiungi`) Permette di inserire una singola azienda compilando il form manualmente. Entrambi i metodi consentono di gestire in modo completo e indipendente le aziende associate al proprio account Quoting24. Schermata lista aziende --- Utilizzando il pulsante **“+ Aggiungi”** è possibile creare una nuova azienda compilando il form dedicato. Schermata aggiunta aziende Questa stessa schermata permette anche di modificare le aziende esistenti (cliccando sull'icona della penna). --- ## Importazione aziende tramite Excel Per importare più aziende contemporaneamente tramite file Excel: 1. clicca sul pulsante **“Import/Export excel”** 2. nella schermata successiva clicca sul pulsante rosso **“Importa”** 3. carica il file Excel dal tuo computer È inoltre possibile **scaricare un file di esempio** per verificare la corretta formattazione da utilizzare nel file da caricare. Schermata aggiunta aziende excel Durante la fase di importazione delle aziende tramite Excel è **consigliabile inserire delle note** all’interno del file, così da facilitare l’associazione dei [turni di consegna](delivery_shifts.md). --- ## Priorità e tipologia azienda Sull’azienda puoi impostare: * una **priorità** (Alta, Media, Bassa) * una **tipologia** (cliente, fornitore, collaboratore, …) Questi valori influenzano i contatti collegati: * la **priorità** dell’azienda viene ereditata dai contatti che non hanno una priorità propria; il contatto può comunque sovrascriverla * la **tipologia** dell’azienda viene ereditata dai contatti e **non può essere modificata** sul singolo contatto finché l’azienda è assegnata Nella lista ticket, il colore del tag accanto al nome riflette la tipologia effettiva (azienda o, per i contatti senza azienda, quella personale). Priorità e tipologia azienda sono modificabili anche dalla tab **Informazioni** del ticket, nella sezione azienda in basso. Dettagli sul contatto: [Contatti → Priorità](contacts.md#priorità-del-contatto) e [Contatti → Tipologia](contacts.md#tipologia-del-contatto). --- ## Codice web (`web_code`) {#codice-web-web_code} `web_code` è il riferimento con cui il widget riconosce l’azienda. Il sito invia lo stesso valore nel campo pubblico `external_id`. Nel payload del widget non esiste un campo `web_code`. Se carichi l’anagrafica prima di collegare il sito, scrivi in `web_code` **lo stesso valore** che il sito invierà in `external_id`. Non usare l’UUID interno di Quoting24 né il codice gestionale `companies.code`. | Situazione | Risultato | | --- | --- | | `web_code` uguale a `external_id` | Il contatto del widget viene collegato. Nome ed email dell’azienda restano quelli già salvati | | Nessuna corrispondenza, e il sito invia anche `company_name` | Quoting24 crea l’azienda (`name`, `web_code`, email se presente) e collega il contatto | | Più aziende con lo stesso `web_code` | L’inizializzazione pubblica usa la prima, in ordine di data di creazione crescente | `"052"` e `"52"` sono codici diversi. Gli spazi dentro `external_id` non vengono rimossi. `web_code` non ha un vincolo di unicità: conviene evitarne i duplicati, perché due creazioni simultanee possono generarli. Il collegamento fatto dal widget non aggiorna un’azienda già presente e non apre la cronologia degli altri contatti. Dettaglio del contratto: [Integrazione tecnica del widget](widget_tecnico.md#associare-o-creare-lazienda). --- ## Note azienda Le aziende possono avere note operative collegate alla loro anagrafica. Queste note aiutano gli operatori a recuperare rapidamente informazioni utili durante la gestione di un ticket, ad esempio indicazioni commerciali, riferimenti interni o condizioni di lavoro specifiche. Quando si lavora su un ticket, le note dell'azienda possono essere consultate e modificate rapidamente dalla tab **Informazioni** della richiesta (sezione azienda in basso). --- # Panoramica AI URL: https://wiki.quoting24.com/content/ai/ Language: it Updated: 2026-11-04 # Panoramica AI L’**AI** è il modulo di Quoting24 che **legge e interpreta l’intera conversazione** di un ticket e aggiorna di conseguenza la **parte di destra** (veicoli e ricambi). Non si limita più a “capire” un messaggio alla volta: tiene conto dello **storico della chat**, dell’**andamento** della conversazione e dello **stato attuale** della sezione veicoli/ricambi. In questo modo i pezzi finiscono sotto il veicolo giusto anche quando il cliente: * scrive prima i ricambi e **poi** la targa * manda la **foto del libretto** dopo l’elenco pezzi * risponde **citando** un messaggio precedente * parla di **più auto** nello stesso ticket Questa guida descrive il **riconoscimento AI** della conversazione. Dove serve distinguerlo dall’assistente conversazionale in chat (**AI Premium**), lo indichiamo chiaramente. --- ## Come elabora i messaggi {#come-elabora-i-messaggi} I messaggi **ravvicinati** vengono elaborati **insieme**, non uno per uno. * Quoting24 attende circa **15 secondi** per raggruppare i messaggi consecutivi del cliente. * Se l’operatore **apre il ticket**, l’elaborazione parte **subito**. * Il gruppo di messaggi produce **un solo riquadro** di riepilogo in chat. Così l’AI vede il contesto completo di quel “blocco” di conversazione e aggiorna veicoli e ricambi in modo coerente. --- ## Tab AI a destra Nella sezione di destra è presente la **tab AI**, visibile nella sezione di destra del ticket. * mentre l’AI elabora il ticket compare uno **spinner** * cliccandola viene ricordato che l’**assistente in chat** appartiene al modulo **AI Premium** (prodotto diverso) --- ## In sintesi | Obiettivo | Cosa fa l’AI | |---|---| | Capire la chat | Legge l’**intero ticket**, non solo l’ultimo messaggio | | Compilare la destra | Crea/aggiorna **veicoli** e **ricambi** in automatico | | Multimediale | Interpreta **foto**, **PDF** e **vocali** | | Controllare | Permette di **correggere** errori e navigare verso le ricerche | | Rispettare l’operatore | Non sovrascrive le modifiche **manuali** a destra | --- ## Approfondimenti | Sezione | Contenuto | | --- | --- | | [Riconoscimento](ai_riconoscimento.md) | Veicoli, ricambi, etichette, note interne, glossario e ricerche automatiche | | [Foto, PDF e vocali](ai_media.md) | Lettura media e scheda “Letture AI” | | [Riquadro e correzione](ai_riquadro.md) | Riquadro in chat, click, Correggi e modalità di visualizzazione | | [Automazioni](automations.md) | Conversione targa → telaio, albero e ricerca ricambi automatica | --- # Riconoscimento URL: https://wiki.quoting24.com/content/ai_riconoscimento/ Language: it Updated: 2026-11-04 # Riconoscimento L’AI può riconoscere e strutturare dati dalla conversazione e aggiornare la parte di destra del ticket. Per il funzionamento generale vedi [Panoramica AI](ai.md). --- ## Cosa riconosce ### Veicoli * targa * telaio (VIN) * marca e modello * anno * codice motore * altri dati tipici del **libretto** ### Ricambi * nome del ricambio **normalizzato in italiano**, anche se il cliente scrive in un’altra lingua o con abbreviazioni (es. `f olio`, `pf`, `fab`) * **codici** OE, aftermarket, EAN * **posizione** e **quantità** ### Messaggi “solo targa” o “solo codice” Un messaggio con **solo la targa** o **solo un codice** non viene trattato come vuoto: * la **targa** crea o completa il veicolo * il **codice** completa una richiesta in sospeso oppure ne crea una nuova --- ## Etichette sul singolo ricambio Ogni riga del riquadro può mostrare le informazioni che il cliente ha dato **per quel pezzo specifico**: * **Preventivo** / **Ordine** * posizione * quantità * condizioni (nuovo, usato, rigenerato) * qualità (originale, equivalente) * marchi preferiti (★) * esclusioni barrate (es. “non Brembo”) * scadenza (es. “entro venerdì”, “per domani”) * **Urgente** * problemi e **codici diagnostici** (es. `P0401`) * consegna o ritiro (es. “passo io”) Le etichette valgono **solo** per il pezzo a cui il cliente le riferisce: **non** vengono copiate automaticamente sugli altri ricambi. Dettagli sul riquadro: [Riquadro e correzione](ai_riquadro.md). --- ## Comportamento con clienti indecisi o distratti L’AI **aggiorna**, **sposta** e **rimuove** da sola veicoli e ricambi nella parte di destra, seguendo la conversazione. Esempi tipici: * un ricambio scritto **prima** della targa viene **spostato** sul veicolo giusto quando arriva la targa * “il filtro aria non mi serve più” **cancella solo** quel filtro * “non Brembo” diventa un’**esclusione** * se il cliente **modifica o cancella** un messaggio su WhatsApp, la parte di destra **segue** * un codice mandato dopo **completa** la richiesta senza codice * una richiesta senza nome (codice nudo, etichetta, foto) e il nome dato **in un altro messaggio**, anche giorni dopo, diventano **una sola richiesta** * più foto dello **stesso pezzo** → una sola richiesta * “dischi e pastiglie” → **due** richieste; “kit distribuzione” → **una** richiesta * se non è chiaro a quale auto si riferisce, il ricambio resta in **“Senza veicolo”** con un **avviso**, senza indovinare ### Cosa non viene mai sovrascritto * ciò che l’**operatore modifica a mano** a destra **non** viene sovrascritto dall’AI * una **tab eliminata** torna solo se arrivano **nuovi ricambi** per quel veicolo * i ricambi **scartati** dall’operatore restano scartati --- ## Note interne e risposte al cliente ### Note interne Una **nota interna** è un **ordine** per l’AI: * viene applicata **subito** (veicolo, ricambi, codici, cancellazioni) * riceve il **suo riquadro** ### Risposte inviate al cliente Una **risposta al cliente** è solo una **proposta**: * **non** cambia veicoli/ricambi finché il cliente non conferma (es. “ok”, “manda”, cita la risposta o nomina il pezzo) * il riquadro sotto la conferma **rimanda** alla risposta originale * “Ok manda” dopo un prezzo può impostare l’etichetta **Ordine** --- ## Risposte a richieste precedenti Se il cliente risponde **citando** un messaggio di un **ticket precedente**: * l’AI lo elabora in **quel** ticket * nel ticket attualmente aperto compare solo il rimando **“Elaborato in un’altra richiesta”** con **“Vai alla richiesta”** --- ## Ricerche automatiche Le ricerche seguono le regole in **Impostazioni → Automazioni** (conversione targa → telaio, caricamento dell’albero, ricerca ricambi). Dettagli in [Automazioni](automations.md#automazioni-disponibili). Comportamento con l’AI: * ogni richiesta decide **da sola** quando cercare * i **codici** cercano subito per codice * **nessuna ricerca doppia** per lo stesso testo * le richieste **senza nome e senza codice** non generano ricerche * la targa **verificata** arricchisce il veicolo (marca, modello, telaio, codice motore) e l’AI ne tiene conto --- ## Glossario del ricambista Il **glossario del ricambista** contiene frasi e abbreviazioni tipiche dei clienti, con il significato valido per la **stanza**. Esempio: “tre filtri” = filtro olio, filtro aria motore, filtro abitacolo. * l’AI lo usa come **dizionario** * **non** riscrive il messaggio del cliente * sostituisce le vecchie **“disambiguazioni”** * si configura dal **backoffice Qricambi** --- ## Dalla tab veicolo al messaggio Nella parte di destra, cliccando di nuovo la **tab già selezionata** di un veicolo, la chat **scorre** al messaggio da cui l’AI ha letto quel veicolo. Utile per verificare subito la fonte del riconoscimento. Per foto, PDF e vocali vedi [Foto, PDF e vocali](ai_media.md). --- # Foto, PDF e vocali URL: https://wiki.quoting24.com/content/ai_media/ Language: it Updated: 2026-11-04 # Foto, PDF e vocali L’AI interpreta anche i **media** della conversazione, oltre al testo. Per il funzionamento generale vedi [Panoramica AI](ai.md); per cosa viene strutturato in veicoli e ricambi vedi [Riconoscimento](ai_riconoscimento.md). --- ## Foto Le immagini vengono **lette** e i dati entrano nella conversazione come se fossero testo. Tipici contenuti riconosciuti: * targhe * libretti * etichette e confezioni * screenshot di cataloghi o diagnosi * documenti * componenti fotografati **Foto e didascalia** sono trattate come **un unico messaggio**. Se una foto è ancora in **caricamento**, l’AI **aspetta** che sia pronta prima di elaborare i messaggi successivi. --- ## PDF I PDF (preventivi, fatture, DDT, liste ricambi, libretti scansionati) vengono letti **pagina per pagina**: * una **riga per ricambio** * veicolo con **targa** e **telaio** quando presenti * **senza** prezzi e **senza** dati personali --- ## Vocali I messaggi vocali vengono **trascritti** e interpretati come testo. Targhe e codici scanditi a voce vengono **ricostruiti**. --- ## Lettura prudente La lettura è più cauta rispetto al passato: * targhe **parziali** * telai **incoerenti** con la marca non vengono accettati in silenzio: vengono segnalati come **“Lettura incerta”**. --- ## “Letture AI” nel visualizzatore {#letture-ai-nel-visualizzatore} Aprendo una **foto** o un **PDF** a schermo intero compare la scheda **“Letture AI”**. Mostra: * cosa l’AI ha letto in quel file * cosa contiene ora la richiesta * la **matita** per correggere targa, telaio o codice direttamente da lì * le **letture incerte** * quante **pagine** del PDF sono state lette * eventuali **file non letti** La correzione da qui segue le stesse regole descritte in [Riquadro e correzione](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Gli interruttori per trascrizione vocali, lettura immagini e riconoscimento testo si trovano in **Impostazioni → Intelligenza artificiale → Riconoscimento AI** (vedi anche [Modalità di visualizzazione](ai_riquadro.md#modalità-di-visualizzazione)). --- # Riquadro e correzione URL: https://wiki.quoting24.com/content/ai_riquadro/ Language: it Updated: 2026-11-04 # Riquadro e correzione Per ogni gruppo di messaggi elaborati compare un **riquadro** sotto l’ultimo messaggio del gruppo. Per come i messaggi vengono raggruppati vedi [Panoramica AI](ai.md#come-elabora-i-messaggi). --- ## Il riquadro AI in chat ### Intestazione e messaggi collegati * intestazione del tipo **“Riepilogo AI di N messaggi”** * passando il mouse sul riquadro, vengono **evidenziati** i messaggi riassunti ### Solo ciò che è cambiato Il riquadro mostra **cosa è cambiato** con quei messaggi, non tutto lo storico: * **Nuovo** * **Aggiornato** * **Spostato** * **Rimosso** Il dettaglio modificato viene **colorato** per individuarlo subito. ### Organizzazione dei ricambi * i ricambi sono raggruppati **per veicolo** * oppure sotto **“Senza veicolo”** se non è ancora chiaro a quale auto appartengono * oltre **tre righe** per veicolo compare **“Mostra altri N componenti”** * i codici aggiuntivi possono stare dietro **“+N”** * un telaio troncato si vede **intero** al passaggio del mouse ### Frecce e avvisi * le frecce **↑** portano al messaggio che ha indicato il veicolo o alla richiesta precedente * gli **avvisi** (triangolo) segnalano i dubbi dell’AI, ad esempio: * associazione incerta * ambiguità residua * abbreviazione ambigua * conflitto tra fonti * incoerenza logica --- ## Click sinistro: dalla chat alla parte di destra Il **click sinistro** sul riquadro (o sulle sue parti) serve a **navigare**, non a lanciare ricerche: * click su un **componente** → si apre la tab del veicolo giusto e la ricerca corrispondente **lampeggia** * click su un **codice** → si evidenzia la ricerca di quel codice * click su **targa** o **telaio** → si apre la tab di quel veicolo (se la tab era stata eliminata, viene **ricreata**) Il click sinistro **non avvia ricerche** e **non consuma crediti**. --- ## Tasto destro sulle pillole nere Su targa, telaio e codice (pillole nere) il **tasto destro** apre un menu con: * **Cerca targa** — conversione targa → telaio * **Cerca telaio** — albero / struttura dal telaio * **Cerca codice** — nuova ricerca del codice * **Correggi** — corregge il valore letto male dall’AI --- ## Correggi: l’AI non ripete l’errore {#correggi-lai-non-ripete-lerrore} Se l’AI legge male una **targa**, un **telaio** o un **codice**: 1. tasto destro → **Correggi** 2. inserisci il valore giusto Quoting24 sostituisce il valore **ovunque**: * in **tutti i riquadri** della chat * nelle **ricerche** a destra * nella **memoria** dell’AI Da quel momento il vecchio valore è trattato come **errore**, anche se una nuova foto o un nuovo messaggio lo ripetono. Altre regole importanti: * se il valore corretto coincide con un veicolo già presente, i due vengono **uniti** * correggere una targa **azzera** i dati trovati con la vecchia targa (telaio, marca, modello) e **rilancia** la ricerca se le [automazioni](automations.md) sono attive * serve il permesso di **ricerca ricambi** Puoi correggere anche dalla scheda **“Letture AI”** aprendo foto o PDF: vedi [Foto, PDF e vocali](ai_media.md#letture-ai-nel-visualizzatore). --- ## Modalità di visualizzazione {#modalità-di-visualizzazione} In **Impostazioni → Intelligenza artificiale → Riconoscimento AI** puoi scegliere come mostrare i riquadri in chat. Nello stesso punto sono stati spostati anche i tre interruttori: * trascrizione dei **vocali** * lettura nelle **immagini** * riconoscimento nei **messaggi di testo** ### Completo Mostra il **riquadro intero**. ### Solo targa, telaio e codici Mostra una **pillola compatta** con: * targa o telaio (solo quando il messaggio ha aggiunto o aggiornato il veicolo) * la striscia dei **codici** * una **maniglia** per aprire il riquadro intero di quel messaggio È la modalità più simile alla visualizzazione precedente. ### Nascosto Nessun riquadro in chat. ### Bottone “AI” in chat In **tutte** le modalità, ogni messaggio collegato a un riquadro ha il bottone **“AI”**: * mostra o nasconde **tutti** i riquadri della chat aperta * la scelta **non viene salvata** (vale solo per la sessione/visualizzazione corrente) Click sinistro, tasto destro e **Correggi** funzionano anche nella pillola compatta. --- # Automazioni URL: https://wiki.quoting24.com/content/automations/ Language: it Updated: 2026-11-04 # Automazioni Automazioni Le **regole di automazione** consentono di attivare delle attività automatiche che lavorano sulle ricerche e che possono essere **attivate o disattivate a piacere**. Queste automazioni permettono di lavorare in modo **più diretto e veloce**: appena si riceve una richiesta di preventivo, il sistema inizia automaticamente a cercare, *dietro le quinte*: - targhe - telai - ricambi --- ## Avvertenza sui crediti > **NOTA BENE** > Le automazioni attive **consumano automaticamente i [crediti](credits.md)** del proprio account. > È quindi importante tenere in considerazione questa componente di costo. > > Per ulteriori dettagli è possibile consultare la sezione **“[Crediti](credits.md)”**. --- ## Automazioni disponibili {#automazioni-disponibili} Le automazioni che è possibile **attivare o disattivare** sono le seguenti: - **Conversione targa → VIN automatica** Appena viene riconosciuta una targa, questa viene automaticamente convertita in **telaio**. - **Caricamento automatico dell’albero** Appena è disponibile un VIN, viene effettuata la ricerca del telaio e viene caricato automaticamente l’**albero con gli spaccati**. - **Ricerca automatica dei ricambi** Avvia automaticamente la ricerca dei pezzi (ad esempio *filtro aria*) all’interno degli spaccati del telaio. --- ## Controllo dei consumi Se l'attività deve limitare l'uso dei crediti, gli amministratori possono combinare le automazioni con le impostazioni di blocco descritte nella pagina [Crediti](credits.md). In questo modo è possibile evitare che conversione targa-telaio o ricerca VIN vengano eseguite quando non devono consumare crediti. --- # Ricerca fornitori Qricambi URL: https://wiki.quoting24.com/content/qricambi_integration/ Language: it Updated: 2026-11-04 # Integrazione con Qricambi Da questa sezione è possibile **attivare o disattivare** la **ricerca automatica dei codici su Qricambi**. Integrazione Qricambi Quando si cerca un codice su Qricambi da Quoting24 e Qricambi è già aperto in un'altra scheda del browser, la ricerca viene eseguita nella scheda già aperta invece di aprirne una nuova. Questo mantiene il lavoro più ordinato e riduce il numero di schede aperte durante la gestione delle richieste. --- ## Tipologie di fornitori ### Fornitori interni Per **fornitori interni** si intendono le ['Liste'](https://qricambi.com/liste/) di Qricambi. Si tratta di **file Excel** che contengono, ad esempio: - le giacenze del proprio magazzino - listini personalizzati --- ### Fornitori esterni Per **fornitori esterni** si intendono gli **e-commerce dei propri fornitori**, sui quali è possibile effettuare ricerche automatiche dei codici direttamente da Quoting24. --- ## Selezione fornitori e flag Gruppi In **Impostazioni → Qricambi**, nella selezione dei fornitori da usare per la ricerca, è disponibile il flag **Gruppi**. Attivando **Gruppi**: * compaiono i **gruppi fornitori** presenti sull’account Qricambi collegato * è possibile **aggiungere massivamente** i fornitori appartenenti a un gruppo, senza selezionarli uno per uno --- ## Ricerca testuale nei risultati Quando Quoting24 mostra i risultati di Qricambi o dei fornitori collegati, è possibile effettuare una **ricerca per testo** all'interno dei risultati. La ricerca aiuta a individuare più rapidamente: - codice prodotto - marchio - descrizione - fornitore --- ## Prezzi di listino Nei risultati di ricerca può essere mostrato anche il **prezzo di listino**, quando disponibile. Il prezzo di listino affianca le informazioni operative già presenti, come prezzo netto, disponibilità e fornitore, e aiuta l'operatore a valutare meglio il risultato prima di inserirlo nel flusso di preventivazione. --- # Ricerca con estensione URL: https://wiki.quoting24.com/content/search_with_extension/ Language: it Updated: 2026-11-04 # Ricerca con estensione ## Utilizzo dell'estensione per cercare su Eper e Partslink Effettuando l'installazione dell'estensione di Qricambi (Qricambi Assistant), puoi effettuare le ricerche dei telai non trovati sulla piattaforma di Partslink o su quella di Eper. [Clicca qui per installare Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Clicca qui per installare Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Guida all'utilizzo Schermata cerca su E e su P ### Cerca su P Per cercare un ricambio di un veicolo avendo il telaio su Quoting24, schiacciando sul bottone "Cerca su P", il telaio verrà inviato a Partslink24, che selezionerà in automatico il marchio del veicolo, cercherà il telaio e infine effettuerà la ricerca del componente. Quando è già presente una scheda di Partslink aperta, la ricerca non apre una nuova scheda: Quoting24 utilizza la scheda già esistente e invia lì la nuova ricerca. Il percorso utilizzato per i codici cercati su Partslink viene salvato, così da rendere più semplice riprendere o ricostruire il contesto della ricerca. Dopo aver identificato il codice del prodotto tramite l'apertura degli spaccati, sarà possibile vedere tre nuove icone sotto di esso, ciascuna con una funzione specifica. Partendo da sinistra: * **Icona bianca con la "Q"**: permette di trasferire il codice selezionato nella ricerca "prezzi e disponibilità" di Qricambi; * **Icona rossa**: consente di inviare il codice a Quoting24; * **Icona bianca con il "24"**: invia il codice a Quoting24, ma chiude la scheda di Partslink (non indicato se si vogliono effettuare altre ricerche). ### Cerca su E Per cercare un ricambio di un veicolo avendo il telaio su Quoting24, schiacciando sul bottone "Cerca su E", il telaio verrà inviato a Eper, che cercherà il telaio stesso e infine il componente del veicolo. Screenshot Anche su Eper, come su Partslink, è possibile sfruttare le funzionalità delle tre icone precedentemente descritte (dopo aver selezionato il codice corretto). --- # Crediti Qricambi URL: https://wiki.quoting24.com/content/credits/ Language: it Updated: 2026-11-04 # Crediti I **crediti** servono per poter effettuare le seguenti attività su Quoting24: 1. **Conversione targa → telaio** 2. **Ricerca dei componenti all’interno del telaio**, tramite apertura degli spaccati Schermata utilizzo crediti --- ## Costo delle operazioni Il costo in crediti di queste operazioni è visibile all’interno dell’applicazione [Qricambi](https://app.qricambi.com/), nella sezione **“Crediti”** (Tasto rosso in alto a destra -> Crediti). L’utilizzo delle funzionalità che consumano crediti ha **lo stesso costo** sia su **Qricambi** sia su **Quoting24**. --- ## Blocco utilizzo crediti sui veicoli Nella sezione dedicata ai veicoli sono disponibili impostazioni che permettono di bloccare l'utilizzo dei crediti su Quoting24. Le opzioni principali sono: - **Blocca la transcodifica targa → telaio** Impedisce l'utilizzo dei crediti per convertire automaticamente una targa in telaio. - **Blocca la ricerca del VIN** Impedisce l'utilizzo dei crediti per effettuare la ricerca del telaio e accedere alle informazioni collegate. Queste impostazioni sono utili quando si vuole evitare consumo involontario di crediti da parte degli operatori o limitare alcune ricerche automatiche. --- ## Utilizzo crediti Qricambi ↔ Quoting24 Di seguito alcune informazioni generali sui crediti di Quoting24: - I crediti dell’account **Quoting24** sono **condivisi** con il proprio account **Qricambi** Il numero di crediti disponibili è visibile: - nell’**angolo in alto a destra** dell’applicazione Visualizza crediti L’acquisto dei crediti viene gestito **direttamente da Qricambi** - cliccando sul contatore dei crediti si apre la [pagina dedicata](https://app.qricambi.com/youraccount/BuyCredits) --- # Invia preventivo a gestionale URL: https://wiki.quoting24.com/content/invia_preventivo_gestionale/ Language: it Updated: 2026-11-04 # Invia preventivo a gestionale Invia a gestionale Questa funzionalità rappresenta il cuore dell'integrazione tra Quoting24 e il mondo esterno. L'obiettivo è semplice: **permettere a Quoting24 di "parlare" con qualsiasi software gestionale (ERP)** presente in azienda. Che tu utilizzi un gestionale famoso o uno sviluppato su misura, Quoting24 è progettato per essere **universalmente compatibile**. Il processo si divide in due passaggi: 1. **Invio del preventivo semilavorato da Quoting24 al gestionale** 2. **Invio del preventivo finalizzato dal gestionale al cliente** --- ## 1. Invio del preventivo semilavorato da Quoting24 al gestionale Questa sezione spiega come collegare Quoting24 a un qualsiasi gestionale esterno per la creazione automatica dei preventivi. Il flusso logico dei dati parte sempre dal **Ticket (Chat)** e segue questa struttura: `Ticket` → `Veicolo` → `Ricerca ("Ricambio")` → `Codice "giusto" (Codice OE)` → `Prodotti selezionati` Quando un operatore decide di creare un preventivo, Quoting24 invia una "chiamata" (richiesta) verso il tuo gestionale, a un indirizzo personalizzato e specifico per la tua azienda. Preventivo in lavorazione Cosa succede in questa fase: - **Matching del cliente**: Il sistema cerca di riconoscere il cliente inviando il **codice azienda** corretto al gestionale (o eventuali altri campi come partita IVA o numero di telefono). - **Adattamento della richiesta**: I dati raccolti in chat (targa, codici ricambi, descrizioni) vengono "tradotti" nel formato che il tuo gestionale si aspetta la customizzazione della chiamata va richiesta all'assistenza clienti di Quoting24. - **Salvataggio riferimenti**: Quoting24 memorizza l’ID o l'indirizzo del preventivo che è stato appena creato nel gestionale, per poterlo richiamare in futuro. In sintesi: **Quoting24 compila per te la bozza del preventivo direttamente nel tuo sistema.** ## 2. Invio del preventivo finalizzato dal gestionale al cliente Una volta che il preventivo è pronto o confermato nel tuo gestionale, è possibile inviare una notifica di ritorno a Quoting24 (al nostro indirizzo API dedicato) passando il preventivo in formato PDF e il riferimento all'ID del preventivo o al ticket di origine. Preventivo confermato Dopo la ricezione da parte di Quoting24 del preventivo da gestionale ci troviamo in questa fase, in cui il preventivo è completato e possiamo compiere delle azioni: - con la **Freccia** possiamo aprire il preventivo nel gestionale - con l' **Occhio** possiamo visualizzare il preventivo - con la **Freccia di download** possiamo scaricare il preventivo in formato **PDF** - con la **Freccia di invio** possiamo inviare il preventivo al cliente E' possibile fare in modo che, tramite un parametro di chiamata, il preventivo venga inviato direttamente al cliente tramite WhatsApp, senza nessun passaggio confermativo all'interno di Quoting24 (senza dover cliccare sull'icona di invio). Nel caso di utilizzo delle API ufficiali di Whatsapp è inoltre possibile inviare un pulsante di accettazione contestualmente all'allegato PDF e, nel caso che questo pulsante venga premuto, il preventivo viene automaticamente inviato al gestionale come accettato. ### Nome del file del preventivo Il nome del file PDF del preventivo viene generato includendo, quando disponibili, informazioni utili al riconoscimento del documento, come: - targa - telaio - numero del preventivo Questo rende più semplice identificare il file dopo il download o quando viene inviato al cliente. Nome file preventivo con targa telaio e numero --- ## ESEMPIO INTEGRAZIONE: Preventivi di Qricambi Per chi utilizza **Qricambi**, l'integrazione con il gestionale è facilmente riproducibile utilizzando i Preventivi di Qricambi come esempio di piattaforma di gestione. ### Richiesta preventivo Qricambi preventivi Il sistema crea automaticamente il preventivo su Qricambi seguendo logiche intelligenti: - **Riconoscimento Cliente**: Se il contatto di Quoting24 corrisponde a un cliente di Qricambi (incrocio codice cliente), il preventivo viene intestato a lui. In caso contrario, vengono utilizzate le informazioni generiche dell'operatore di Quoting24. - **Dati trasmessi**: Vengono inviati automaticamente Targa/Telaio, Veicolo, Link al ticket di origine e l'Utente che sta eseguendo l'operazione. **Come vengono compilate le righe del preventivo?** Il sistema è in grado di gestire diverse casistiche per non perdere nessuna informazione: 1. **Righe selezionate**: Se hai selezionato dei ricambi dalla ricerca di Qricambi, questi vengono inseriti con tutti i dettagli (codice, prezzo, ecc.). Prodotto 2. **Da Ricerca (Codice OE)**: Se non hai selezionato righe specifiche o non hai trovato risultati su Qricambi, ma hai un codice originale (OE) dal telaio, il sistema crea una riga con quel codice e la nota "DA RICERCA". Nessun risultato 3. **Descrizione generica**: Se non c'è nessun telaio o ricerca tecnica, ma solo una richiesta testuale (es. "specchietto dx"), viene creata una riga vuota contenente solo la descrizione del pezzo richiesto. Nessuna ricerca ### Ricezione preventivo Una volta lavorato e completato il preventivo dentro Qricambi: - È sufficiente cliccare sul bottone **"Invia a Quoting24"**. - Il sistema invia immediatamente il **PDF** alla chat. - Il preventivo viene segnato come **completato**. L'operatore può quindi visualizzare il PDF, scaricarlo o inviarlo direttamente al cliente su WhatsApp senza mai uscire dal flusso di lavoro. --- # Scrivi su Whatsapp tramite le nostre API URL: https://wiki.quoting24.com/content/invia_whatsapp_api/ Language: it Updated: 2026-11-04 # Scrivi su Whatsapp tramite le nostre API Questa funzionalità permette al tuo gestionale o a qualsiasi altro software esterno di **comunicare direttamente con i tuoi clienti su WhatsApp**, utilizzando Quoting24 come ponte. In parole semplici, grazie a questa integrazione è possibile **inviare messaggi e documenti in modo automatico**, senza dover aprire l'applicazione di Quoting24 e senza dover copiare e incollare manualmente i dati. --- ## Cosa è possibile fare? Utilizzando questa connessione, il tuo sistema gestionale può compiere tre azioni principali in un colpo solo: 1. **Inviare un messaggio di testo** Puoi scrivere al cliente qualsiasi informazione: un avviso di merce pronta, una conferma d'ordine o un semplice saluto. 2. **Inviare file e documenti (PDF, immagini, ecc.)** Insieme al testo, puoi allegare dei file. Molto utile, ad esempio, per **inviare il PDF di un preventivo** o di una fattura direttamente nella chat WhatsApp del cliente. 3. **Chiudere automaticamente la richiesta (Ticket)** Spesso, quando si invia un preventivo o una conferma, l'operazione si può dire conclusa. È possibile dire al sistema di **"archiviare" (chiudere) subito la conversazione** dopo l'invio del messaggio, così da tenere pulita la lista delle richieste aperte su Quoting24 senza doverlo fare a mano. --- ## Dettagli tecnici per l'integrazione È disponibile un endpoint per inviare messaggi a un **contatto individuale** tramite WhatsApp Business API. L'autenticazione avviene tramite header `X-API-Key` usando la chiave API del tuo tenant, reperibile nelle impostazioni account. --- ### Invia messaggio a un contatto **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Messaggio di testo:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Messaggio con immagine o documento (URL pubblico):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Parametri `message_content`:** | Campo | Tipo | Obbligatorio | Descrizione | | ---------------- | --------------------------------------------- | -------------------------------- | --------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | No, default `text` | Tipo di messaggio | | `text` | stringa | No | Testo del messaggio o didascalia del file | | `file.url` | stringa URL | Sì se `type` è diverso da `text` | URL pubblico del file da inviare | | `file.name` | stringa | Sì se `type` è diverso da `text` | Nome del file con estensione, ad esempio `preventivo.pdf` | | `file.mime_type` | stringa | Sì se `type` è diverso da `text` | Tipo MIME, ad esempio `application/pdf` o `image/jpeg` | **Parametri principali:** | Campo | Descrizione | | ------------------- | ------------------------------------------------------------------------------------- | | `tenant_id` | ID del tuo tenant, disponibile dalle impostazioni | | `phone_number` | Numero di telefono del cliente con prefisso internazionale, ad esempio `+39123456789` | | `channel` | `whatsapp-api` per WhatsApp Business API | | `auto_close_ticket` | `true` per chiudere automaticamente il ticket dopo l'invio | --- > **Nota:** il file da allegare deve essere raggiungibile tramite un URL pubblico. Se il file proviene da un gestionale o da un sistema interno, assicurarsi che sia accessibile da internet prima di passarne il link all'API. > **Nota operativa:** l'invio dei messaggi segue le regole Meta. Per avviare conversazioni fuori dalla finestra di assistenza delle 24 ore possono essere necessari template pre-approvati. --- # Ricerca di un codice sul proprio gestionale URL: https://wiki.quoting24.com/content/management_research/ Language: it Updated: 2026-11-04 # Ricerca puntuale per codici OE / AM sul proprio gestionale ## Panoramica generale Integrando il proprio gestionale su Quoting24 è possibile restituire in tempo reale prezzi e disponibilità personalizzate per lo specifico cliente con cui si sta scrivendo quando si cercano dei codici. In questo modo si ricavano velocemente le **condizioni commerciali specifiche** del cliente con cui si sta parlando. L'obiettivo è consentire a Quoting24, una volta identificato un codice prodotto, di recuperare automaticamente: - Disponibilità e prezzo netto dello specifico cliente - Metadati del prodotto: informazioni descrittive, brand, eventuali promozioni attive e altri attributi correlati. - Il flusso è progettato per interfacciarsi in modo trasparente con le API ERP del sistema gestionale del Fornitore. --- ## Parametri di ricerca **Da Quoting24 al Fornitore** ### Parametri obbligatori - **Token di autenticazione** Un token univoco che identifica univocamente i server Quoting24. - **Codice di ricerca** Preferibilmente un **codice AM o OE**. La ricerca **non dovrebbe essere limitata solo ai codici prodotto esatti**, ma dovrebbe anche: - Cercare codici alternativi - Cercare nelle banche esterne ⚠️ Se questo comportamento **non è supportato**, deve essere comunicato chiaramente. Come minimo, la ricerca deve includere i dati anagrafici del prodotto e non solo i codici interni esatti. --- ### Identificazione del cliente **Deve essere fornito almeno uno dei seguenti** - **ID (come anagrafato nel Gestionale)** della sede del vs. cliente - **ID (come anagrafato nel Gestionale)** dell'azienda vs. cliente - **Partita IVA del cliente** - **ID categoria sconto** Usato per: - Clienti non registrati - Consentire all'operatore di modificare dinamicamente le regole di sconto --- ### Parametri opzionali - **ID operatore** *(opzionale ma raccomandato)* Utilizzato per tracciare chi ha generato il preventivo. - **Quantità** Può essere incluso nella richiesta se strettamente richiesto. Approccio preferito: gestione della quantità nella **risposta**, non nella richiesta. - **Brand / Produttore** Per consentire ricerche più precise. - **Modalità di ricerca** Parametro opzione ricerca esatta puntuale o ricerca con cross (che produce anche i risultati di prodotti alternativi). --- ## Parametri di risposta **Dal fornitore a Quoting24** La risposta deve contenere un **elenco di prodotti**, ciascuno con i seguenti campi. ### Campi obbligatori (per prodotto) - **Codice prodotto del fornitore** Codice d'ordine interno, inclusi i prefissi, esattamente come utilizzato nei sistemi del Fornitore. - **Produttore** Nome del produttore (es. *LUK, Magneti Marelli, Brembo*). Può essere strutturato in 2 campi: - Versione abbreviata/precodice (es. `MAR`) - Nome completo (es. `Magneti Marelli`) - **Prezzo di vendita netto al cliente** - Prezzo netto (IVA esclusa) - Costi di spedizione esclusi - Le spese di spedizione possono essere restituite separatamente, se applicabile - **Disponibilità** Valore numerico che rappresenta la quantità disponibile in magazzino. - **Magazzino** Nome del magazzino, scaffale o riferimento alla posizione interna. --- ### Campi opzionali - **Descrizione del prodotto** Testo libero (es. *Pastiglie freno*) e/o categoria merceologica. - **Codice identificativo del Costruttore** Obbligatorio quando il codice prodotto ERP differisce dal codice del produttore. - **Prezzo di listino** Non necessario ma riproducibile se necessario. - **Promozioni** - Presenza di promozione (binario) - Testo della promozione (opzionale) - Se il testo è vuoto → promozione non attiva - **Immagine prodotto** - URL dell'immagine - O immagine Base64 - **URL scheda prodotto** Link alla pagina dei dettagli del prodotto sull'e-commerce o sul sito esterno. Se il collegamento diretto non è possibile: - Fornire regole di sintassi URL - Oppure restituire un URL generico della pagina di accesso - **Prezzi basati sulla quantità / Sconti** Se esistono sconti quantità, restituisci i livelli in qualsiasi **formato analizzabile**, ad esempio: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Profilo utente URL: https://wiki.quoting24.com/content/profilo/ Language: it Updated: 2026-11-04 # Profilo Cliccando sui **trattini in alto a destra** in Quoting24 e accedendo alla sezione **Impostazioni → Profilo**, è possibile modificare alcuni aspetti importanti dell’esperienza di utilizzo della piattaforma. Profilo --- ## Personalizzazione del profilo In questa sezione è possibile personalizzare il proprio profilo modificando: - l’**avatar**, inserendo: - le iniziali personalizzate del proprio nome - un *logo artistico* - oppure caricando un’**immagine** Edit del profilo --- ## Soprannome Il **soprannome**: - inizialmente coincide con lo **username di accesso di Qricambi** - è **obbligatorio** - può essere modificato liberamente Il soprannome rappresenta il proprio **nome interno** su Quoting24 ed è quello che: - viene visualizzato dai colleghi - viene utilizzato per le **assegnazioni dei ticket** La modifica del soprannome: - **non cambia** lo username di login - **non influisce** sulle credenziali di accesso a Quoting24 e Qricambi --- ## Salvataggio delle modifiche Salvataggio modifiche Dopo aver personalizzato le impostazioni del profilo è necessario **salvare le modifiche** prima di uscire dalla pagina. La visualizzazione delle modifiche nella chat potrebbe richiedere: - il salvataggio delle impostazioni - un **refresh della pagina dei ticket (F5)** --- ## Firma, intestazione e messaggi automatici È possibile impostare una **firma personale** e un’**intestazione automatica**. Per firma e intestazione si sceglie quando inserirle nei messaggi inviati da Quoting24: * **Sempre** — vanno su ogni messaggio * **Solo al primo messaggio del ticket e con Invia e chiudi** — vengono aggiunte solo al primo messaggio di quel ticket e quando si invia con **Invia e chiudi** (invia il messaggio e chiude il ticket) La firma viene inserita **in fondo** al messaggio. L’intestazione, simile alla firma, viene inserita **prima** del messaggio. Firma È anche possibile configurare un **messaggio di presa in carico**, inviato automaticamente quando si clicca sul pulsante di assegnazione di un ticket non ancora assegnato. --- ## Invio senza intestazione o firma Anche quando intestazione e firma sono impostate su **sempre** oppure **solo al primo messaggio del ticket e con Invia e chiudi**, è possibile inviare un singolo messaggio **senza intestazione e senza firma**. Questa opzione è utile quando il messaggio deve essere più diretto, ad esempio per conferme brevi o risposte operative già contestualizzate nella conversazione. --- # Attività URL: https://wiki.quoting24.com/content/activities/ Language: it Updated: 2026-11-04 # Attività Questa sezione è visibile **solo agli [amministratori](user.md)**, non ai **[membri](user.md)** (utenti). Cliccando sui **trattini in alto a destra** in Quoting24 e accedendo alla sezione **Impostazioni → Attività**, è possibile gestire alcune **opzioni fondamentali** dell’esperienza di utilizzo della piattaforma. Attività --- ## Nome dell’attività È possibile modificare il **nome dell’attività** impostandone uno a piacimento. Ogni **numero di telefono** collegato a Quoting24 ha un proprio **nome attività**, che permette agli utenti, in fase di login, di distinguere facilmente **su quale “stanza”** andranno a lavorare. --- ## Commenti interni Da questa sezione è possibile **attivare o disattivare** i **commenti interni** nelle chat. I commenti interni consentono agli operatori di: - comunicare tra colleghi - inserire note non visibili al cliente --- ## Comunicazioni di servizio La sezione **Comunicazioni di servizio** permette di gestire messaggi o avvisi interni legati all'attività. Queste comunicazioni servono per informare gli operatori su indicazioni operative, aggiornamenti o note importanti da tenere presenti durante il lavoro quotidiano su Quoting24. Comunicazioni di servizio --- ## Estrapolazione dati AI Quoting24 può estrapolare automaticamente informazioni utili da: - immagini - messaggi vocali - testo dei messaggi La gestione completa del riconoscimento (modalità di visualizzazione dei riquadri, trascrizione vocali, lettura immagini e riconoscimento testo) si trova in **Impostazioni → Intelligenza artificiale → Riconoscimento AI**. Tutti i dettagli sul funzionamento dell’**AI** sono descritti nella guida dedicata: [AI](ai.md). Da questa sezione attività è comunque possibile **nascondere l'estrapolazione dei dati da parte dell'AI** nell’interfaccia operativa. L'impostazione è utile quando si vuole mantenere più pulita l'interfaccia o evitare di mostrare agli operatori il dettaglio dell'elaborazione automatica. --- # Utenti e permessi URL: https://wiki.quoting24.com/content/user/ Language: it Updated: 2026-11-04 # Utenti Questa sezione è visibile **solo agli amministratori**, non ai **membri** (utenti). Dalla sezione **Impostazioni → Utenti** è possibile visualizzare e gestire l’elenco degli **utenti associati al proprio profilo di Quoting24**. Pagina utente --- ## Stato degli utenti Ogni utente può trovarsi in uno dei seguenti stati: 1. **Attivo** L’utente ha già effettuato almeno un login su Quoting24. 2. **In attesa** L’utente è stato invitato su Quoting24, ma **non ha ancora effettuato il primo accesso**. 3. **Inattivo** L’utente per 5 minuti **non è entrato su Quoting24**. 4. **Offline** L’utente per più di 15 minuti **non è entrato su Quoting24**. È inoltre possibile visualizzare lo stato: - **Online** - **Offline** Lo stato dell' utente è usato dalla piattaforma per determinare la fattibilità della [“autoassegnazione”](assegnazioni.md). Se gli utenti che sono potenzialmente target di **"autoassegnazione"** sono tutti offline, l' autoassegnazione non avverrà (e rimarrà **non assegnato** e quindi visibile a tutti gli aventi diritto). --- ## Ruoli degli utenti Gli utenti possono avere uno dei seguenti ruoli: - **Amministratore** Ha accesso a **tutte le funzionalità e sezioni** dell’applicazione. - **Membro** Ha accesso limitato. Alcune sezioni, come **Utenti**, **WhatsApp** e **Attività**, **non sono visibili**. --- ## Gestione avanzata utenti (amministratori) Un utente con ruolo **amministratore** può cliccare sull’**icona a forma di ingranaggio** presente alla destra di ogni utente per modificare alcune impostazioni. In particolare è possibile: - **Cambiare il ruolo** dell’utente (amministratore / membro) - Gestire la **visibilità delle richieste** Di default un *membro* può vedere solo le richieste assegnate a lui, ma è possibile abilitare: - visualizzazione delle richieste non assegnate - visualizzazione delle richieste assegnate ad altri utenti - Configurare i **moduli abilitati** È possibile selezionare in modo granulare quali moduli ogni membro può: - visualizzare - modificare Ad esempio, per il modulo **“ricerca auto e pezzi”**: - un membro può solo visualizzare i codici selezionati da altri operatori - oppure può entrare negli spaccati ed effettuare ricerche e modifiche come un amministratore Privilegi utente --- ## Aggiunta di nuovi utenti Un amministratore può **invitare o aggiungere nuovi utenti** a Quoting24 cliccando sul pulsante rosso **“Aggiungi”**. Si aprirà l’elenco degli utenti disponibili; per invitare un utente è sufficiente cliccare sulla **freccia rossa** accanto al nome desiderato. Aggiungi utente Durante la creazione o l'invito di un nuovo utente è possibile preimpostare il suo **soprannome**. Il soprannome è il nome interno utilizzato su Quoting24 per: - visualizzare l'utente nelle assegnazioni - taggarlo nelle note interne - riconoscerlo più rapidamente nella collaborazione tra operatori --- ## Cambio password e gestione account Cliccando su **“Cambia password”** in alto a destra, si viene reindirizzati alla sezione [**Account → Gestione utenti**](https://app.qricambi.com/youraccount/UsersManager) di Qricambi (Account Admin): Se il proprio utente è **amministratore di Qricambi**, da questa sezione è possibile: - modificare **username** - modificare **password** Se il proprio utente è **amministratore di Quoting24**, da questa [**sezione**](https://app.qricambi.com/youraccount/UsersManager) è possibile: - modificare rapidamente **soprannome** e **firma** dell’utente selezionato, tramite l’**icona a matita** Le credenziali di accesso sono le **stesse** per **Qricambi** e **Quoting24**. --- # Notifiche URL: https://wiki.quoting24.com/content/notifications/ Language: it Updated: 2026-11-04 # Notifiche Quoting24 permette a ogni utente di configurare le proprie **notifiche personali**, così da rimanere aggiornato sulle richieste da gestire anche quando si lavora su più numeri di telefono. Le notifiche aiutano l'operatore a seguire: - nuove richieste - messaggi ricevuti - ticket assegnati o disassegnati - note interne e tag dei colleghi - reaction ai messaggi --- ## Dove si configurano le notifiche Le notifiche si configurano da **Impostazioni → Notifiche**. Da questa sezione è possibile: - scegliere il **suono** della notifica (con anteprima) - impostare il **livello delle notifiche messaggi** per l’attività corrente - attivare le **notifiche desktop** Impostazioni Notifiche --- ## Notifiche unificate Le notifiche di Quoting24 sono **unificate**: se un utente lavora su più numeri di telefono collegati, riceve le notifiche da tutti i numeri per cui è abilitato, indipendentemente dal numero aperto in quel momento. Questo permette di evitare di tenere aperta una scheda del browser per ogni attività solo per controllare le notifiche. Le notifiche vengono mostrate nella **campanella** di Quoting24 e seguono le impostazioni personali dell'utente. --- ## Notifiche desktop Per ricevere gli avvisi anche fuori dalla finestra di Quoting24, è possibile attivare le **notifiche desktop**. Per abilitarle: 1. entra in **Impostazioni → Notifiche** 2. clicca su **Attiva notifiche desktop** 3. conferma l'autorizzazione richiesta dal browser Una volta attivate, il browser può mostrare una notifica anche quando Quoting24 non è la scheda attiva. --- ## Suono delle notifiche Nelle impostazioni è possibile scegliere il **suono** della notifica, con anteprima all’ascolto. Le opzioni disponibili includono suoni come Default, Chime, Pop, Pulse, Ring, Bloom e Runaway, oltre all’opzione **Nessuno**. Con **Nessuno**, le notifiche visive restano attive secondo le regole configurate, ma l’avviso sonoro viene silenziato completamente. Menzioni, assegnazioni e suono restano **impostazioni dell’utente**. Scelta suono notifica --- ## Livelli di notifica per attività Il livello delle **notifiche messaggi** non è più globale sull’utente: è impostabile **per ogni attività**. Se lavori su più tenant, ogni attività ha la propria preferenza; quella che stai modificando è quella del **workspace corrente**. I livelli disponibili permettono di ricevere notifiche: - nessuna - solo le mie - mie e nuove - tutte La scelta dipende dal ruolo dell'operatore e dal flusso di lavoro dell'azienda. Livello notifiche messaggi per attività --- ## Notifiche per nuove richieste e messaggi Quando arriva una nuova richiesta da un cliente, Quoting24 può avvisare gli operatori in base alla configurazione scelta per l’attività. Questo è utile soprattutto quando: - più operatori lavorano sullo stesso numero - le richieste devono essere prese in carico rapidamente - l'azienda vuole evitare che un nuovo ticket rimanga non gestito Le notifiche possono essere generate anche dai messaggi ricevuti su ticket già aperti, in base al livello selezionato per l’attività. --- ## Notifiche per ticket assegnati o disassegnati Quando un ticket aperto viene **assegnato** a un operatore, la notifica permette di sapere rapidamente che una richiesta deve essere lavorata. La notifica viene generata anche quando un ticket aperto viene **disassegnato**, così l'operatore sa che la richiesta non è più sotto la sua responsabilità. L'assegnazione può avvenire: - manualmente - tramite regole automatiche - in base alla configurazione delle assegnazioni Per maggiori dettagli consulta la pagina [Assegnazioni](assegnazioni.md). --- ## Notifiche per note interne e tag All'interno delle conversazioni è possibile creare **note interne** visibili solo ai colleghi. Quando un collega viene taggato con `@soprannome`, riceve una notifica specifica. È anche possibile usare `@tutti` per richiamare l'attenzione di tutti gli operatori abilitati. Le notifiche generate da un tag in una nota interna vengono evidenziate in **arancione**, così da distinguerle dalle normali notifiche di messaggio. Accanto alle spunte di visualizzazione viene mostrata l'icona della nota interna, per indicare che quel contenuto non è stato inviato al cliente. --- ## Notifiche per reaction Le reaction ai messaggi generano notifiche su Quoting24. Le notifiche delle reaction vengono mostrate: - nella **campanella** - nelle **notifiche desktop**, se abilitate - nella preview dei messaggi nella colonna di sinistra Quando si apre il messaggio è possibile visualizzare anche **chi ha messo la reaction**. --- ## Consigli operativi Per un uso corretto delle notifiche: - scegli un livello coerente con il tuo ruolo per ogni attività - attiva notifiche più ampie se devi monitorare nuove richieste - usa notifiche più ristrette se lavori solo sui ticket assegnati - usa **Nessuno** come suono se preferisci solo gli avvisi visivi - abilita le notifiche desktop se non tieni sempre Quoting24 in primo piano - usa i tag nelle note interne per richiamare colleghi specifici - verifica periodicamente la configurazione se cambi ruolo, attività o numero di telefono --- # Quoting24 Help Center URL: https://wiki.quoting24.com/en/ Language: en Updated: 2026-11-04 # Quoting24 Help Center Welcome to the **Quoting24 Help Center**. This documentation will guide you step by step through using Quoting24, explaining **what the platform does**, **who it is for** and **how to make the most of it** in your daily activities. --- ## What Quoting24 is **Quoting24** is a platform designed to **manage, organize and automate quote requests received via WhatsApp**, turning conversations with customers into a structured and efficient workflow. Quoting24 is especially useful when: - Multiple operators work on the same number and the volume of requests is high - You need to reduce quote preparation time through a set of automations designed for automotive parts sales. Unlike traditional WhatsApp, Quoting24: - splits conversations into **tickets** - lets you work as a **team** with no limits on connected numbers and operators - connects directly to **Qricambi** and your **management software** Quoting24 is used to: - manage **many requests at the same time** without losing messages - automate searches for **license plates, VINs and spare parts** - collaborate among colleagues with internal notes, reactions and unified notifications - create a continuous flow from **request → search → quote → response** --- ## Documentation index ### 🚀 Get Started with Quoting 24 - [Access Quoting 24](content/login.md) How to log in and access the platform. - [General overview](content/general_overview.md) Overview of the interface and workflow. --- ### 🧾 Request management - [Main screen](content/main_screen.md) Main view with tickets, chat and spare parts search. - [Ticket management](content/gestione_ticket.md) One writable ticket per conversation, replies, reopen and scheduled messages. - [Request list](content/requested_list.md) History, search and filters for received requests. - [Labels](content/type_of_request.md) Ticket labels, automatic categorization and urgency. - [Saved responses](content/save_response.md) Predefined messages to respond faster. - [Assignments](content/assegnazioni.md) Automatic assignment and intelligent ticket management. - [Delivery shifts](content/delivery_shifts.md) Managing and assigning shifts to companies. - [Daily activity report](content/daily_activity_report.md) Email report with ticket KPIs, operators and daily trends. - [Quoting News](content/quoting_news.md) Read-only channel for Quoting product communications. --- ### 💬 WhatsApp channel - [WhatsApp overview](content/whatsapp.md) Connecting the WhatsApp number through the official APIs. - [WhatsApp API migration](content/migrazione_whatsapp_api.md) Connect to Quoting24 a number already on another provider’s APIs, without changing it. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Use the WhatsApp Business app and the official APIs on the same number. - [Broadcast API](content/broadcast_api.md) Meta template campaigns to many numbers, with recipients uploaded from Excel. --- ### 🌐 Widget channel - [Widget overview](content/widget.md) — Chat on the site: guest session, company association, and history restore. - [Widget B2C](content/widget_b2c.md) — Script, unknown visitor, and payload with `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — History across devices with `external_user_id` and `restore_id`. - [Technical integration](content/widget_tecnico.md) — `init()` contract, company creation, CSP, and troubleshooting. --- ### 👥 Contacts and companies - [Contacts](content/contacts.md) Managing contacts from the WhatsApp channel. - [Companies](content/companies.md) Creating and managing customer companies. --- ### Artificial intelligence - [AI overview](content/ai.md) How AI reads the ticket and updates vehicles/parts. - [Recognition](content/ai_riconoscimento.md) Vehicles, parts, labels, internal notes and glossary. - [Photos, PDFs and voice messages](content/ai_media.md) Media reading and the “AI readings” panel. - [AI panel and corrections](content/ai_riquadro.md) Chat box, clicks, Correct and display modes. - [Automations](content/automations.md) Automatic license plate, VIN and spare parts searches. --- ### 🔌 Integrations - [Qricambi supplier search](content/qricambi_integration.md) Connection with Qricambi and supplier management. - [Search with Extension](content/search_with_extension.md) Search Partslink or Eper for VINs that were not found, using Qricambi Assistant. - [Qricambi credits](content/credits.md) Using and managing credits shared with Qricambi. - [Send quote to management software](content/invia_preventivo_gestionale.md) Send quote data to your management software. - [Write on WhatsApp through our APIs](content/invia_whatsapp_api.md) Send messages through the official WhatsApp APIs. - [Search for a code in your management software](content/management_research.md) Search the management software to get prices and availability for the customer. --- ### 👤 Account settings - [User profile](content/profilo.md) Profile customization and automatic messages. - [Activities](content/activities.md) Activity settings and general behavior. - [Users and permissions](content/user.md) Managing users, roles and permissions. - [Notifications](content/notifications.md) Configuring personal, unified and desktop notifications. --- --- ## Where to start If this is your first time using Quoting24, we recommend this path: 1. [Access Quoting 24](content/login.md) 2. [General overview](content/general_overview.md) 3. [Main screen](content/main_screen.md) 4. [WhatsApp overview](content/whatsapp.md) 5. [Activities](content/activities.md) and [Automations](content/automations.md) This will give you a complete overview of how it works before going into the details. --- # Access Quoting24 URL: https://wiki.quoting24.com/en/content/login/ Language: en Updated: 2026-11-04 # Access Quoting24 To access **Quoting24**, you must be registered (more information [here](https://welcome.quoting24.com/registrazione)) and have credentials that can be used to access the following link: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) The **Username** and **password** are the same ones used to access [**Qricambi**](https://qricambi.com/). Login screen --- ## Password management At the moment, to change or recover your password you must use Qricambi, through one of the following options: - [Password recovery](https://app.qricambi.com/Authentication/RequestRecover?user=) page - [User management](https://app.qricambi.com/youraccount/UsersManager) section --- ## First access and activity selection On first access to the platform, the user has **already been created and configured** by colleagues with an administrator role. After logging in, the behavior depends on the **phone numbers/activities** associated with the user. ### User associated with multiple phone numbers If the user is assigned to **multiple phone numbers**, they will be asked to choose **which activity to enter**. Activity selection screen ### User associated with a single phone number If the user is assigned to **a single phone number**, access will happen automatically, without any selection. --- ## After login Once inside, the [**Quoting24 main screen**](main_screen.md) will be shown, where you can start working on requests. --- # General overview URL: https://wiki.quoting24.com/en/content/general_overview/ Language: en Updated: 2026-11-04 # General overview Quoting24 is a platform designed to **centrally and intelligently manage quote requests received via WhatsApp**, integrating automation, spare parts search and collaboration between operators. This overview will help you understand: - how the interface is organized - how the workflow works - which main features are available --- ## The main screen Once logged in, the user is directed to the **[main screen](main_screen.md)** of Quoting24. Quoting24 main screen The screen is divided into **three main areas**, which work together to turn a WhatsApp conversation into a structured quote. --- ## 1. Request management (chat and tickets) Ticket list Each request received from a customer is managed as a **ticket**. Unlike traditional WhatsApp: - each new quote request generates a separate ticket - tickets can be **assigned**, put **on pause**, marked **unread**, **closed** or **resumed** - work is distributed among multiple operators in an organized way From this section you can: - sort and filter tickets (assignee outside, other filters in the funnel) - open new requests from home or from **Contacts** - monitor the team's work status For each conversation there is **only one writable ticket**: a closed ticket is not reopened by hand. Details in **[Ticket management](gestione_ticket.md)**. 👉 Learn more: - **[Ticket management](gestione_ticket.md)** - **[Request list](requested_list.md)** - **[Automatic assignments](assegnazioni.md)** - **[Labels](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Conversation with the customer Quoting24 chat This is the area dedicated to **direct communication with the customer**. From here you can: - send and receive messages - attach photos, videos and documents - add **internal notes** visible only to colleagues - use **saved responses** to speed up communication Quoting24 automatically analyzes messages: - transcribes voice messages - recognizes license plates, VINs and spare parts references - prepares the data required for the quoting phase 👉 Learn more: - **[Saved responses](save_response.md)** - **[Notifications](notifications.md)** --- ## 3. Vehicle and spare parts search License plate and VIN search The right section is dedicated to **technical search**. Here, Quoting24 automatically shows: - license plates - VINs - vehicle information - components identified in the conversation Through the **exploded views** you can: - identify the correct spare part code - search for it on Qricambi - quickly start creating the quote Vehicle exploded views 👉 Learn more: - **[Qricambi integration](qricambi_integration.md)** - **[Automations](automations.md)** --- ## Automations and intelligent assignments Quoting24 includes advanced features to **reduce manual work**: - **Automations** Automatic search for license plates, VINs and spare parts 👉 **[Go to Automations](automations.md)** - **Automatic ticket assignment** Intelligent assignment based on: - [label](type_of_request.md) - [company](companies.md) - [contact](contacts.md) 👉 **[Go to Automatic assignments](assegnazioni.md)** This allows you to: - reduce response times - avoid routing errors - work in a structured way even with many operators --- ## Collaboration between operators Quoting24 is designed for teamwork. Available features include: - roles (**administrators** and **members**) - ticket assignments - internal notes - customizable notifications - unified notifications, even across multiple phone numbers - delivery shifts assignable to companies 👉 Learn more: - **[Users and permissions](user.md)** - **[User profile](profilo.md)** - **[Delivery shifts](delivery_shifts.md)** --- ## Integration with Qricambi Quoting24 is deeply integrated with **Qricambi**. This allows you to: - use the same **credits** - search for spare parts from internal and external suppliers - create quotes on Qricambi - send them to the customer directly from the chat 👉 Learn more: - **[Credits](credits.md)** - **[Qricambi integration](qricambi_integration.md)** - **[Send quote to management software](invia_preventivo_gestionale.md)** - **[Write on WhatsApp through our APIs](invia_whatsapp_api.md)** The workflow becomes continuous: **request → search → quote → customer response** --- ## Where to start The Quoting24 Wiki can also be accessed from the application, in **Settings** at the bottom left. Wiki link in settings If you are new to Quoting24, we recommend this path: 1. **[Access Quoting24](login.md)** 2. **[Main screen](main_screen.md)** 3. **[Request list](requested_list.md)** 4. **[WhatsApp overview](whatsapp.md)** 5. **[Activities](activities.md)** and **[Automations](automations.md)** This will give you a complete overview of how the platform works before going into the details. --- # Main screen URL: https://wiki.quoting24.com/en/content/main_screen/ Language: en Updated: 2026-11-04 # Main screen The **Quoting24** main screen is divided into **three main sections**, shown below from left to right. Main screen - - - ## 1. Chat / ticket list (left side) Left side This section contains the list of **chats / tickets**. Unlike WhatsApp, where conversations are single continuous streams, in **Quoting24** the conversation is divided into **tickets**: each quote request must be considered as a **separate ticket**. For each contact there is **only one ticket you can write in**. A closed ticket is not reopened by hand: see the flow in [Ticket management](gestione_ticket.md). In the same sidebar area you will also find **[Quoting News](quoting_news.md)**: the read-only channel for product communications published by Quoting. When you finish working on a quote, it is recommended to **close the ticket**. Closed tickets ### Ticket statuses A ticket can be in different statuses, depending on where it is in the workflow: * **Open**: the request still needs to be handled or is being processed. * **Unread**: the ticket must be picked up again by the team. When a ticket is marked as *Unread*, the assignees are removed and the request becomes available again to enabled operators. * **On pause**: the request is not closed, but you are waiting for a response or information from the customer. * **Closed**: the request is complete and should no longer appear among the tickets to work on. The **On pause** status is useful when you do not want to permanently close the request. If the customer writes again on a paused ticket, the ticket automatically becomes **open**, remains assigned to the original operator and also shows previous messages by default. Ticket pause status ### Sort by Above the list, **Sort by** offers: * **Latest message** (default) — latest message in the chat, from any sender * **Latest received** — latest message **from the customer** * **Priority descending** — effective contact priority (personal or inherited from the company) * **Latest shifts** — next delivery shift * **Oldest message** ### Ticket filters **Assignment / status** filters stay always visible (e.g. unassigned, assigned to me, to others, unread, on pause, closed). The **Assignee** filter stays **outside**, on the main row. All other filters are grouped in the **funnel** button (same as on mobile). When a funnel filter is active, it also appears **outside** as a removable chip. Inside the funnel you find: * **Labels** — ticket labels * **Users** — assigned operators * **Company type** — contact / company type (customer, supplier, collaborator, …) * **Ticket period** — shortcuts **Last 7 days** or **Last 30 days** * manual **From** / **To** date range An assigned ticket shows an **icon with the operator's initials** to the left of the message preview. Ticket assignment allows for better **division of work** and **optimization of the operational flow** among colleagues. ### Preview and indicators in the list By hovering over a chat on the left side, you can view a **conversation preview** without having to open the ticket immediately. In the ticket list, to the right of the **contact name**, a **single tag** shows: * the contact **priority icon** (personal or inherited from the company): * triangle up → **high** priority * dot / dash → **medium** priority * triangle down → **low** priority * right after that, the **company code** (without the `#` used in the past) * the **tag color** reflects the linked company type or, when present, the contact's personal type Hovering the tag shows a short summary (company, priority, type). Previews also still show useful indicators such as: * **reactions** added by the customer or operators * the assigned operator icon * ticket status and any [labels](type_of_request.md) on the request * the next delivery shift, when available Chat preview on the left side ### Search in the ticket list In the left panel there is a **search** field split into sections, with the result count for each: * **All** * **Conversations** * **Messages** * **Parts** Section chips collapse when space is tight. Contacts can also be found by **company name** and **company code**. If the match is on the company, a label with the name or code is shown. ### Quick ticket creation The operator can write to one of their contacts by clicking the **‘+’** button in the ticket list (action *“Open new request”*). The same action is also available from **[Contacts](contacts.md#open-new-request)** (list and contact detail). Open ticket By clicking the **three dots** at the top right you can: * close **all tickets** * or close **all tickets up to yesterday** Three dots ### Details for each chat Single user chat Here we explain in detail the components in each chat: * The icons next to the status are the request [labels](type_of_request.md) * Next to the contact name, the **single tag** shows priority and [company](companies.md) code (without `#`), colored by contact/company type * The value in the blue oval, in this case 'Tomorrow 08:00', corresponds to the first available cutoff / shift - - - ## 2. Chat and conversation management Chat This section allows you to: * send messages * attach **photos, videos and other files** * manage the conversation with the customer * check the history of tickets linked to the same chat ### Automatic data identification Elements useful for creating a quote (e.g. **license plate**, **VIN**, vehicle description or requested spare part) are **automatically identified** from the conversation with the customer, **tagged** and shown in the right section (see point **3**). ### Opening, pausing and ticket continuity Write and reopen behavior is explained in full in **[Ticket management](gestione_ticket.md)**. In short: * if the current ticket is **open**, the message stays on the request in progress * if it is **on pause**, it automatically becomes **open** and stays assigned to the original operator * if it is **closed**: * with an **already open** ticket on the same contact → the reply goes to the open ticket (the closed one stays linked) * if the closed ticket is **not the latest** → the reply opens a **new request** (the closed one stays linked) * if the closed ticket **is the latest** → the ticket is **reopened** A closed ticket **cannot be reopened by changing its status by hand**. On closed tickets you get **Go to open ticket**, **Go to latest closed ticket** and **Open new request**. When useful, you can still: * view the entire conversation * **merge** linked tickets to recover work already done Scheduled messages are routed **at send time**. If you close a ticket that still has scheduled messages, Quoting24 asks for confirmation. ### Viewing tickets in the chat The main chat shows tickets in the same format as the full chat: lines and **banners** indicate where each ticket **starts** and **ends**. On the separation banners between tickets (including when using **View previous**), the following are shown: * **date** and **time** of ticket closure * **who closed** the ticket Banner ticket con data/ora e utente di chiusura When multiple tickets are linked to the same conversation, dedicated actions are available: * **Merge**: links the current ticket to a previous one, recovering the context already worked on. * **Unlink request**: separates a linked request so it can be managed as an independent ticket. The action is indicated by the **crossed-out eye** icon. * **Open full conversation**: if there are other tickets or intermediate messages between two linked tickets, a button appears to open the full conversation at that point and view them all. Ticket start and end lines with Merge and View together ### “N unread messages” banner When opening a ticket with unread customer messages, a divider appears in chat between already read and unread messages, e.g. **“1 unread message”** or **“N unread messages”**. The count updates if more customer messages arrive while the banner is visible. It does not count **internal notes** or **outbound** messages. Banner messaggi da leggere ### Automatic transcription of voice messages and images Quoting24 automatically transcribes: * **voice messages** received from customers * the content of **images**, for example: * a photo of a **license plate**, which is recognized and transcribed automatically All useful information is extracted from the transcribed text (license plates, VINs, quote components). If automatic AI data extraction has been hidden from the activity settings, the technical information may still be available in the right section, but it is not shown as an operational detail in the conversation. ### Attachments By clicking the **paperclip** icon you can attach: * photos * videos * PDFs * other files Attachments can also be **dragged directly into the chat**. ### PDF preview in chat **PDFs** received or sent in chat show a **first-page preview** in the message (thumbnail on top, name and size below). Clicking the file opens the document viewer. If the preview is unavailable, the classic file card remains. Anteprima PDF in chat ### Image editor before sending When you attach an image to a message, using the paperclip icon or by dragging it into the chat, Quoting24 shows a preview of the attachment before sending. Clicking the image in the preview opens the **fullscreen image editor**, where you can edit the image before sending it to the customer. The editor is available only for images still queued for sending. It does not apply to videos, generic files, or messages that have already been sent. Available tools include: * **Crop**: lets you select the part of the image to keep by dragging the crop box * **Rotate left / right**: rotates the image in the selected direction * **Flip horizontally / vertically**: mirrors the image on the selected axis * **Pen and colors**: lets you draw on the image * **Eraser**: removes drawn strokes * **Blur**: covers an area with a pixelated rectangle that you can move and resize. Another click on the photo adds another one * **Undo**: reverts the last action When editing is complete: * clicking **Done** replaces the original attachment with the edited image * clicking **Cancel** leaves the original image unchanged After editing, the message can be sent as usual. Image editor before sending **Blur** hides details visible in the photo, for example a license plate, before you send it to the customer. Each rectangle can be moved and resized; another click on the photo adds one more rectangle. License plate hidden with pixelated rectangles ### Voice messages, audio and media Quoting24 supports **voice messages** and audio files received in chat. Voice messages can be listened to, automatically transcribed and, when available, downloaded as audio files. During processing, the status **“Transcription in progress…”** is shown. A **Retry** button is also available to relaunch the transcription if needed. Photos and videos sent in the conversation can be opened in the **media carousel**, which lets you quickly browse through multimedia content received or sent in the chat. Media carousel and audio download Trascrizione in corso e Riprova ### Voice dictation Below the message input field there is a **Dictation** icon. With microphone permission, speech is transcribed in real time into the message. Dettatura vocale ### “Typing” indicator When another user is typing in the active chat, Quoting24 shows the **typing** indicator. This helps operators avoid overlapping replies while a colleague is already preparing a message. Typing indicator ### Sending without header or signature If header or signature have been configured in your [profile](profilo.md), Quoting24 adds them according to the chosen option: **always**, or **only on the first message of the ticket and with Send and close**. You can still send a single message **without header and without signature**. This option is useful for quick replies, very short messages or communications that should not include the automatic text configured by the operator. Send without header and signature ### Message actions The actions available on a message can be opened in two ways: * by **right-clicking** the message * by clicking the **arrow** to the right of the message From this menu you can perform operations such as replying, forwarding or deleting messages. When allowed by the selection, you can also perform **bulk forwarding** and **bulk deletion**. Message actions with right click and arrow ### Message reactions Reactions allow customers and operators to react to messages in the conversation. Quoting24 shows: * the reaction applied to the message * who added the reaction * the reaction in the message preview in the left column Received reactions generate notifications in Quoting24, in the **bell** and, if enabled, also as **desktop notifications**. If a customer adds a reaction to a message belonging to an already closed ticket, Quoting24 creates a reference to the message through a **reply**, so the reaction remains visible in the currently open ticket. ### Internal notes In the chat, you can add an **internal note** for colleagues: * by clicking the dedicated icon * or by typing **@ + SPACE** When you write an internal note: * the background becomes **yellow** * the note is **NOT sent to the customer** * it is visible only to Quoting24 users Inside notes, you can **tag a colleague** (by writing `@nickname`) and the colleague will receive a notification. It is also possible to tag **all colleagues** by writing `@everyone`. When a user is tagged in an internal note, the notification generated by Quoting24 is highlighted in **orange**. Next to the message read checkmarks, the internal note icon is also shown, so messages visible only to operators can be recognized immediately. Text internal notes can be **edited within 15 minutes**, only by the **author**. When replying to an internal note: * the reply remains an **internal note** * the author of the original note is **reassigned** to the ticket Create internal note Send internal note Modifica nota interna ### Ticket information In the ticket **Information** tab (**i** icon) you can quickly view and edit data linked to the request. The section is organized as follows: 1. **Top — Contact** Notes, warnings, contact assignees, contact **priority** and contact **type** (type is editable only if the contact has no company). 2. **Bottom — Company** (when present) Name, notes, location, **company priority** and **company type**. On contact priority: * if unset, it is **inherited from the company** (label *Inherited from company*) * you can still set a personal priority even if the company already has one On contact type: * **without a company** → you can set it on the contact * **with a company** → it is inherited and **not editable** on the contact; change it on the company In the ticket assignees select, the **None** option is also available: it **removes all assignees**. Details in [Assignments](assegnazioni.md#manual-assignment-and-assignment-to-everyone). If the contact has **important notices**, these are shown above the chat to immediately draw the operator's attention. ### Chat export From the chat you can **export** the conversation. When starting the export you can choose: * export **without media** * export **with media** If media are included, they are saved in a **separate zip**, together with the chat file. ### Ticket history From the right side panel of the ticket, you can open the **History** tab, identified by the **clock** icon. This tab shows a **read-only** timeline of the events linked to the ticket. It is used to check what happened on the request, who performed the action, and when. The history can include events such as: * ticket status changes * first ticket view * reading unread messages * assignment or removal of ticket assignees * operator self-assignment, shown as an automatic take-over action * assignment of searches linked to the ticket * search status changes, for example open, paused or closed When the event concerns a vehicle search, Quoting24 also shows the available data to identify it more easily, such as **license plate**, **VIN** or **vehicle**. The history updates in real time and cannot be edited from this tab: it is intended only for consultation and operational traceability. Ticket history - - - ## 3. VIN and code search section License plate-to-VIN conversion The right section can be **collapsed** by clicking the active tab icon. This lets you leave more space for the conversation when you do not need to work on technical data. Collapsible right tab This section shows: * **license plates** * **VINs** * **spare part descriptions** identified directly from the chat with the customer. The *license plate* is automatically converted into a *VIN* and vehicle information is shown (e.g. **make**, **model**, etc.). ### Sub-assignments **Sub-assignments** let you assign not the whole ticket, but the **individual vehicle search** inside the chat. A ticket can contain **multiple searches** at the same time (for example two different plates or two vehicles from the same customer). Each search has: * its own **status** (for example *Open*, *On hold*, *Closed*) * one or more **assigned operators** This way work can be split by vehicle: one colleague handles one vehicle, another colleague handles a second one, without splitting the conversation into separate tickets. #### Difference from ticket assignment * **Ticket assignment**: covers the whole chat / request and shows who owns the conversation. * **Sub-assignment**: covers the individual vehicle search and shows who works on that specific vehicle. * **Where you manage it**: ticket assignment on the chat; sub-assignment on the search panel, top right. Ticket assignment and sub-assignments can coexist: the ticket can stay assigned to one operator, while the searches inside it are distributed to other collaborators. #### How to assign a search 1. Open the vehicle search in the right-hand section. 2. Click the **person** icon (or the assignee avatar) at the top right of the vehicle row. 3. Search for the operator and select them, or choose **Everyone** to involve all collaborators. On the same row you can also change the **status** of that single search, independently from the ticket status. Vehicle search sub-assignments Single vehicle status and assignment Changes to search assignment and status are also recorded in the [ticket history](#ticket-history), together with plate, VIN or vehicle details when available. For automatic and manual assignment at ticket level, see the [Assignments](assegnazioni.md) page. ### Spare part search through exploded views An artificial intelligence model suggests some spare part options based on the exploded views. Data extraction from images, voice messages and text can be hidden from the activity settings if the administrator prefers not to show operators the details of AI processing. The operator must: * enter the exploded views * manually select the **correct code** Open exploded view Clicking an exploded view preview opens the full navigation page for the available exploded views. The operator: * searches for the desired part * selects the code by checking the box on the left * closes the page using the **‘X’** at the top right If the operator wants to view the complete VIN tree, they can click the **‘Q’** of Qricambi. ### Sending the exploded view in chat From the exploded view, you can send the **photo of the exploded view** linked to the selected spare part directly in chat. This feature is useful when you want to ask the customer for confirmation by showing the technical detail of the part. Send exploded view photo in chat ### Available actions on codes To the right of each code, the following are available: * an **‘i’** with additional information about the part * a red **‘Q’** to search for the code on Qricambi * the icon to **copy the code** Selected spare part The selected code is shown on the previous screen and you can: * search for it on **[Qricambi](https://app.qricambi.com/)** * create a **[quote](invia_preventivo_gestionale.md)** * send it to the customer through **Quoting24** ### Direct supplier search Alternatively, you can search for codes directly on some suppliers from **Quoting24**. To do this, from the **[Settings → Qricambi](qricambi_integration.md)** section you can select: * **internal** suppliers (e.g. your own lists) * **external** suppliers Spare part search Supplier search: * is more concise than Qricambi * follows the same logic Results are sorted by: * **price** * **availability** Products shown at the top are: * cheaper * immediately available (**green**) As you scroll through the results: * availability changes from **yellow** to **red** * the price increases The following are shown: * code * brand * supplier * description * net price * list price, if available * availability Product Next to each result there are two icons: * add to the **[Qricambi cart](https://app.qricambi.com/?next=%2F&activetab=orders)** * link to the supplier's e-commerce site > **NB** > Automatic supplier search on Qricambi can be disabled at any time > from the **[Settings → Qricambi](qricambi_integration.md)** section ### Search within Qricambi results When there are many results, you can perform a **text search** within Qricambi results, so you can identify the desired code, brand or description more quickly. Text search in Qricambi results --- # Ticket management URL: https://wiki.quoting24.com/en/content/gestione_ticket/ Language: en Updated: 2026-11-04 # Ticket management Quoting24 organizes every WhatsApp conversation into **tickets**. The flow is now **ordered**: for each contact there is **only one ticket you can freely write in**. This page explains write rules, reopen behavior, replies and scheduled messages. --- ## Core concepts | Concept | Meaning | | --- | --- | | **Thread** | All tickets for the same contact | | **Writable ticket** | The only ticket in the thread where you can type freely (usually the open one, or the latest closed one under the rules below) | | **Reply** | A reply to a specific message: it can route the text to another ticket in the thread | Practical rule: **you cannot manually reopen a closed ticket** by changing its status. To continue, send a message, reply to a message, or use the buttons on closed tickets. --- ## What happens when you write ### An open ticket already exists If the customer (or you) reply while an **open** ticket exists (or a **paused** one that becomes open again), messages go to that ticket. ### Writing from a closed ticket It depends on where that closed ticket sits in the thread: 1. **An open ticket already exists** The reply is sent on the open ticket. The closed ticket you replied from stays closed and is **linked** to the ticket that received the message. 2. **The closed ticket is not the latest in the thread** The reply **opens a new request**. The closed starting ticket stays linked to the destination ticket. 3. **The closed ticket is the latest in the thread** Only in this case does the message **reopen** that ticket. To write from a closed ticket that is not the writable one, Quoting24 asks you to **reply to a message**. Without a reply, the composer stays blocked with a hint to select a message. --- ## Buttons on closed tickets When you open a closed ticket, actions at the bottom follow the same flow rules: - **Go to open ticket** — if the thread already has an open request - **Go to latest closed ticket** — if none are open (and the latest closed is not the one you are viewing) - **Open new request** — creates a new request in the thread when there is no open ticket These buttons keep you on the correct ticket in the flow. When you reply from a closed ticket, Quoting24 also tells you where the message will go, for example: - *The reply will be sent to the open ticket.* - *The reply will open a new ticket.* --- ## Scheduled messages Scheduled messages do **not** lock the final ticket immediately: they are **routed at send time**, using the thread rules in force at that moment. If you close a ticket that still has pending scheduled messages, Quoting24 asks for confirmation. At send time the message may: - reopen the ticket (if it is still the latest closed one) - or land in another open / new request --- ## What you can no longer do - **Manually reopen** a closed ticket by changing its status The system blocks the action and asks you to send a message (under the correct conditions) or use the flow buttons. - Have **two open tickets** on the same contact If one is already open, a second one is not created. --- ## Ticket statuses (reminder) - **Open** — in progress - **Unread** — to be picked up again; assignees are removed - **On pause** — waiting for the customer; if the customer writes again it becomes **open** and stays assigned to the original operator - **Closed** — finished; it no longer appears among tickets to work on, but remains browsable under the reply / reopen rules above **Pause** is not a close: closed-ticket rules do not apply. --- ## Where to open a new request You can start a conversation / new request from: - the **+** button in the home ticket list (*Open new request*) - the **[Contacts](contacts.md#open-new-request)** section (list and contact detail) - the **Open new request** button inside a closed ticket, when the flow allows it --- ## Useful links - [Main screen](main_screen.md) — list, filters, preview, chat - [Request list](requested_list.md) — history and status filters - [Contacts](contacts.md) — open request, contact priority and type --- # Request list URL: https://wiki.quoting24.com/en/content/requested_list/ Language: en Updated: 2026-11-04 # Request list By clicking the **menu at the top right** and selecting **“Request list”**, the **request history** created by the various contacts on Quoting24 opens. Request list screen --- ## Viewing requests By default, **only open requests** are shown. Using the **filter at the top right** you can: - view **paused** requests - view **unread** requests - view **closed** requests - apply **other filters** to refine the search Open paused and closed request filters --- ## Searching requests The request list lets you quickly search the tickets in the history. Search can be used to find a request starting from information such as: - contact name or number - linked company - request content - ticket status - recognized technical data, such as license plate or VIN Filters can be combined with text search to narrow down the list and find the correct ticket faster. --- ## Paused requests **Paused** requests are tickets that are not permanently closed, but temporarily suspended because you are waiting for a message or confirmation from the customer. When the customer writes again on a paused ticket: - the ticket automatically becomes **open** - it remains assigned to the original operator - previous messages are also shown by default This behavior is different from **closed** tickets: on a closed ticket the ordered flow rules apply (reply, reopen only if it is the latest, otherwise a new request or routing to an already open ticket). Details in [Ticket management](gestione_ticket.md). --- ## Opening a request By clicking the **red arrow** at the bottom right of a row, you can open the **specific request** and access its ticket. When you open a request, Quoting24 shows the context linked to the ticket, including any previous messages if the request had been paused or linked to other tickets. --- # Labels URL: https://wiki.quoting24.com/en/content/type_of_request/ Language: en Updated: 2026-11-04 # Labels A ticket can have **more than one label**. Labels classify the request and, when [automatic assignment](assegnazioni.md) is on, send it to the operators linked to those labels. In the ticket list, up to **3 labels** show as icons. Extra labels appear as **+N**. If the name does not fit, only the icon remains and the name is in the tooltip. Default labels --- ## Three kinds of label | Kind | Who creates it | Who can assign it | | --- | --- | --- | | **Custom** | The room | Operators | | **AI** | The room, with “assign with AI” on (AI Premium only) | Operators and the premium agent | | **Default** | Already present in every room | Operators and the classifier | Labels set by an operator are **never removed automatically**. The classifier and the agent only **add** labels. --- ## Default labels There are **11**, the same in every room: * Information * Sales * Orders and logistics * Purchasing * Warranties, returns and complaints * Support * Administration * IT * Services * Auth * Other They cannot be **renamed** or **deleted**. You can change the **color** and the **assignees**. They are in **Settings → Tickets and automations → Labels**, tab **Default labels**. Edit the color of a default label With **AI lite** there is no automatic categorization. Default labels can still be assigned by hand. On that module the default-labels tab is hidden. --- ## Custom labels On the **Custom labels** tab, **Add** creates a room label: name, color, icon and description. Custom labels With **AI Premium** you can turn on **Auto-assign this label to tickets with artificial intelligence**. The agent uses it only when the description clearly says when to apply it. These labels show an **AI** badge in the list. New label with AI assignment Assignees are set in the **Assigned to** column. If [automatic assignment](assegnazioni.md) is on, a request with that label goes to them. --- ## Automatic categorization Each room chooses who applies labels automatically, in **Settings → Tickets and automations → Ticket classifier**. Save with **Save changes**. Ticket classifier | Option | What happens | Who | | --- | --- | --- | | **Off** | No automatic labels, manual only | Everyone | | **Default labels (economic AI)** | The classifier applies the default labels | Economic AI only | | **AI Premium** | The premium agent applies the room’s AI labels | AI Premium only | When the room’s AI module changes, the option follows: * **Premium** → AI Premium * **Lite** → Off * **Economic**, if it was previously Premium or Lite → Default labels. If it was already economic and off, it stays off The classifier labels only the **customer’s first messages**. It stops as soon as an operator replies, writes an internal note, or sets a label. --- ## Urgency Three levels: * **Low** — greetings, thanks, spam * **Normal** — quotes, orders, invoices * **High** — a part needed today, a vehicle waiting in the workshop, a late or wrong delivery, a payment due **High** urgency tickets show a warning icon in the list. With **economic AI** the classifier sets it on every new group of customer messages. With **AI Premium** the agent sets it. --- ## Simple messages Many customer messages are small talk or practical arrangements (“thanks”, “ok”, opening hours, pickup) and do not need parts recognition. With **economic AI**, when the classifier is confident enough and the message is **text or voice only**, parts recognition does not start. **Images and files** always go through recognition. --- ## Linking to earlier tickets On the same **Ticket classifier** page, **Automatic ticket linking** is **off** by default. It is available only with **economic AI**. When a contact writes in a new ticket, before an operator replies, the AI compares it with the contact’s **last two closed tickets**. If it continues one of them (same vehicle, or a ticket with no vehicle), it links the new ticket to that one and the earlier conversation shows in the chat. It links only when it is very sure, so it sometimes skips a link it could have made. It does not run on a ticket that is **already linked**. --- ## When they run | Function | Runs only if… | | --- | --- | | **Classifier** | the room has **economic AI**, **new customer messages** arrive, and the classifier is configured | | **Urgency** | on every new group of customer messages | | **Simple messages** | the new messages are **text or voice only** | | **Automatic labels** | the room is on “Default labels”, **no operator has written** in the ticket yet, and **no operator has set a label** | | **Linking** | it is **on**, **no operator has written** in the ticket yet, the contact has **closed tickets** (only the last two), and the ticket is **not already linked** | If the classifier is not configured, Quoting24 still works: it simply does not classify. --- ## How to use them * **By hand**: on the ticket, the **Label** field accepts one or more labels (custom and default). * **Automatic labels**: in Ticket classifier choose “Default labels (economic AI)”, then set the **assignees** of each default label. * **Premium agent**: create labels with AI assignment and write a **clear description**. * **Linking**: turn it on if customers tend to write again about requests that are already closed. * **Urgency**: watch the warning icon in the ticket list. Room settings are visible to admins, owners and superadmins. --- # Saved responses URL: https://wiki.quoting24.com/en/content/save_response/ Language: en Updated: 2026-11-04 # Saved responses Saved responses From the **“Saved responses”** section you can create **predefined responses** to send quickly to customers. --- ## Creating a new saved response To create a new **Saved response**, click the red button at the top **“+ Add Response”**. Edit saved responses You must enter: - a **name** - the **content** of the response It is possible to add an **attached file**. --- ## Types of saved responses Saved responses can be managed in **two modes**: - **Only for me** Designed for personal responses (e.g. *“I am Antonio…”*). This response will be usable **only by the user who creates it**. [Users](user.md) who are **not administrators** can view and set **only** saved responses of the *“only for me”* type. - **For the whole activity** All users of the account will see the saved response. **Only [administrator users](user.md)** can create and edit this type of response. --- ## Managing saved responses Saved responses can be: - **enabled or disabled** using the dedicated checkbox - **edited** by clicking the **pencil** icon to the right of each response --- ## Using saved responses in chat A saved response is inserted directly from the **message writing bar**. To use it: 1. type the **`/`** character 2. write the saved response **name** (even partially) Saved response example You can insert the response: - **without completing the name** - by pressing **Enter** on the highlighted response (you do not need to use the mouse) --- ## Suggestion ordering If the entered text is **partial or ambiguous** (e.g. `/o`), saved response suggestions are sorted as follows: Saved response usage example 1. **Alphabetical order** of names that start with the typed text (e.g. `/o` → *now*, *opening hours*) 2. Then, results where the typed text is contained **in the name or content** are shown, also in alphabetical order --- # Automatic assignment URL: https://wiki.quoting24.com/en/content/assegnazioni/ Language: en Updated: 2026-11-04 # Automatic assignment The **Automatic Assignment** system aims to make ticket management more **quick**, **efficient** and **accurate**, especially in contexts where multiple operators work on a single WhatsApp number. This feature automatically assigns **new tickets** to the most suitable operator or team, based on **predefined rules**. The goal is to: - eliminate manual assignment - reduce waiting times for customers - ensure that every request immediately reaches the right person --- ## When automatic assignment is triggered The system starts working **when the first message of a new ticket arrives**. It analyzes the ticket information and compares it with: - skills - responsibilities - operator configurations Assignment is based on **three matching criteria**: 1. **[Label](type_of_request.md)** (see the *Labels* section) 2. **[Company](companies.md) assigned to the contact** If there are operators dedicated to a specific customer company 3. **[Contact](contacts.md)** If there is a trusted contact person for a specific contact For each new ticket, the system: - calculates how many matches each operator has - proceeds with assignment according to the selected rule ⚠️ Auto-assignment **applies only to the customer's first messages** and stops working when there is operator activity on the ticket. ### Auto-assignment on opening If a ticket is still **unread** and not assigned to any operator, opening the ticket can automatically assign it to the operator who is taking it over. This behavior prevents two operators from starting to work on the same request at the same time and makes it clearer who is responsible for the ticket. Ticket auto-assignment on opening --- ## Operator availability The system is designed to work **only with operators who are actually available**. Automatic assignment happens **only if at least one eligible operator is online**. - **If no qualified operator is online** The ticket **is not automatically assigned** and remains available for manual takeover. - **If at least one qualified operator is online** The system proceeds with automatic assignment. --- ## Assignment rules You can configure the system to use one of the following **assignment logics**: Assignment --- ### Best match With this rule, the ticket is assigned **only to the operator (or operators)** with the **highest matching score**. It is ideal for routing requests to a specific expert. #### Practical example A ticket arrives from the company **“ACME Corp”** and is of type **“Commercial”**: - **Anna** → responsible for the *Commercial* type (1 match) - **Marco** → responsible for the *ACME Corp* company (1 match) - **Lucia** → responsible for both the *Commercial* type and *ACME Corp* (2 matches) ➡️ With the **Best Match** rule, the ticket is assigned **only to Lucia**. --- ### All matches With this rule, the ticket is assigned to **all operators** who have **at least one match**. It is suitable for teams where multiple people can handle the same type of request. #### Practical example Using the same scenario as above: ➡️ With the **All Matches** rule, the ticket is assigned to **Anna, Marco and Lucia**. --- ## Managing the lifecycle of an auto-assigned ticket ### Manual assignment and assignment to everyone In addition to automatic assignment, a ticket can be manually assigned to one or more operators. In the **assignees** select, the **None** option is available. Selecting it **removes all assignees** from the ticket. Select assegnatari – opzione Nessuno When the whole team needs to be involved, the ticket can be assigned to **all enabled collaborators**. This function is useful for urgent requests or for tickets that can be handled by the first available operator. Assign all collaborators to the ticket ### Ticket marked as “Unread” A ticket can be marked as **Unread** to put it back into the team's takeover flow. When a ticket is marked as *Unread*: - existing assignees are removed - the request becomes visible again to operators who can take over unassigned tickets - the ticket can be reassigned manually or through the normal operational flow ### Ticket without response (safety time) To prevent an auto-assigned ticket from being ignored, a configurable **safety time** is provided. If a ticket: - has been auto-assigned - **does not receive a response** within the set time the automatic assignment is **removed**. The ticket becomes: - **unassigned** - visible to the whole team This mechanism prevents requests from being lost. --- ### The first reply “claims” the ticket When a ticket is automatically assigned to **multiple operators**: 1. the **first operator who replies** claims the ticket 2. all other operators are removed from the assignment 3. the operator who replied becomes the **only person responsible** This ensures: - no overlap - always clear responsibility --- ## Configuring automatic assignment The administrator can configure the system by following these steps: 1. **Enable the function** Enable the *“Enable Automatic Assignment”* option in settings. 2. **Choose the assignment rule** - Best match - All matches 3. **Set the safety time** Define after how many minutes an unmanaged ticket must become unassigned again (default **15 minutes**). 4. **Define operator responsibilities** Associate operators with their areas of expertise: - **Ticket types** - **Companies** - **Contacts** Automatic assignment --- ## Advanced practical example - **Matteo** is an expert in *Jeep* and *bodywork* - **Alessandro** is an expert in *bodywork* A request arrives for a **door of a Jeep Renegade**. - With **Best Match** ➜ the ticket is assigned **only to Matteo** - With **All Matches** ➜ the ticket is assigned **to Matteo and Alessandro** --- # Delivery shifts URL: https://wiki.quoting24.com/en/content/delivery_shifts/ Language: en Updated: 2026-11-04 # Delivery shifts You can create and manage **delivery shifts** from the dedicated item in the menu. By clicking the menu, the list of **existing delivery shifts** is shown. To create a new shift, simply click the red button at the top right **“+ add”**. Delivery shift add screen --- ## Assigning shifts to companies Once a delivery shift has been created, you can **assign it to one or more [companies](companies.md)**. The assignment can be performed from different points in the application (inside company management), but the **recommended** method is to proceed **in bulk**. To do this: 1. enter the **delivery shift** to which you want to assign companies 2. use the shift edit screen Delivery shift edit screen --- ## Bulk assignment through filters From this screen you can: - filter companies - select multiple companies at the same time - assign the shift in bulk - save the changes Filters can also use **company registry data**, for example: - city - notes - administrator notes --- # Daily activity report URL: https://wiki.quoting24.com/en/content/daily_activity_report/ Language: en Updated: 2026-11-04 # Daily activity report An **automatic daily report** is available by email and provides an overview of ticket support management activity. KPIs refer to the **previous day** and are compared with the **same day of the previous week**. All times are expressed in **minutes**. --- ## Requirements To configure report recipients you must be an **[administrator](user.md)**. If your user is a **member**, ask a room administrator to **change your user type** (from member to administrator), or contact Quoting24 support. --- ## How to set up the report 1. Open **Settings → General settings → Business** 2. In the **Statistics report emails** section, click **Edit recipients** 3. Add a **new recipient** and fill in: - **Email** of the address that should receive the report - **Active**: when off, that address does not receive the report - **Frequency** (for example **Daily**) - **Send time** 4. Click **Save** Business settings - Statistics report emails New report recipient modal --- ## What the report contains ### Yesterday’s KPIs Main indicators for the previous day, with comparison to the same day of the previous week: - tickets created and tickets closed - closure percentage - replies sent by operators - messages received - median response time - median ticket opening time - active operators - active contacts - vehicles searched - spare parts requests made ### Operator performance Detail for each operator on: - replies sent - internal notes - assigned and closed tickets - closure percentage - median response and opening time ### Messages by time slot Distribution of **messages received and sent** during the day, split by time slot (local time). Internal notes and deleted messages are excluded. ### Online users Number of **different operators** who worked in each time slot (ticket events, messages or notes sent). ### Open tickets Trend of tickets **in open status** throughout the day (periodic samples), including the peak and how many are still open at end of day. Also counts tickets created on previous days if still open. ### Top customers List of customers with the most activity that day, ordered by messages received, with details on vehicles, searches, messages and involved operators. ### Daily trend Comparison between the **current and previous week**: tickets created and operator replies day by day. ### Last 7 days statistics - Aggregated **operator performance** over the last 7 days - **Activity heatmap**, which highlights each operator’s replies day by day This report helps you **monitor customer service efficiency**, analyze workloads and evaluate performance trends over time. --- # Quoting News URL: https://wiki.quoting24.com/en/content/quoting_news/ Language: en Updated: 2026-11-04 # Quoting News **Quoting News** is the channel where Quoting publishes product updates and notices. It appears in the chat sidebar, alongside requests. It is not a ticket: it is a **read-only** chat. Only Quoting can send these messages: operators read them — they do not create or reply to them. --- ## How it works 1. Open **Quoting News** from the left sidebar. 2. Read the history of communications, ordered by date. 3. When you are done, click **I've read**: the unread news badge clears, without closing the chat. You cannot write or reply. If there are no messages, you see the *No news* empty state. --- # WhatsApp URL: https://wiki.quoting24.com/en/content/whatsapp/ Language: en Updated: 2026-11-04 # WhatsApp This section is visible **only to administrators** and not to members (users). From here you can connect **Quoting24** to **WhatsApp** through the **official Meta APIs** (WhatsApp Business Platform), enabling: - chat management - contact management - message sending and receiving from Quoting24 The connection through official APIs is the mode covered by this version of the wiki. --- ## Connection through official Meta APIs The official APIs allow Quoting24 to manage WhatsApp conversations in a stable, traceable way supported by Meta. ### Pros - Ability to use **interactive buttons** in messages (e.g. "Approve quote"), connectable to ERP systems - **High stability** and official technical support - Centralized request management in Quoting24, with tickets, assignments and automations ### Operational Rules - Outgoing messages to **new contacts** (from whom we have not received messages in the last 24 hours) are restricted to **templates pre-approved by Meta** Only after a customer reply is it possible to communicate freely. After sending a pre-approved message, it is possible to write normal messages, but they will be delivered to the customer **only after an action from them** (e.g. clicking the "tell me more" button or replying). - The customer must **approve opening the communication channel** and must be on a **mobile device** to correctly complete the interaction with templates. - Depending on the selected configuration, manual use of the WhatsApp Business App on the same number may require the [WhatsApp Coexistence](whatsapp_coexistence.md) feature. - WhatsApp groups and the app's broadcast lists are not supported on the Meta APIs; for template campaigns use the [Broadcast API](broadcast_api.md) section. If the number is already on another provider’s APIs and you want to bring it to Quoting24 without changing it, follow [WhatsApp API migration](migrazione_whatsapp_api.md). --- ## Features Available with Quoting24 Once the official channel is connected, Quoting24 lets you work on WhatsApp requests with its operational features: - splitting conversations into **tickets** - manual or automatic assignment to operators - recognition of plates, VINs and spare parts in messages - sending messages, images and documents - sending quotes and PDFs from the management software - using interactive buttons when supported by the API flow Quoting24 internal features remain managed by the platform; message delivery to customers follows the operational rules of the official Meta APIs. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/en/content/whatsapp_coexistence/ Language: en Updated: 2026-11-04 # WhatsApp Coexistence The **WhatsApp Coexistence** feature allows companies to use the **WhatsApp Business App** (on phone) and the **WhatsApp Business APIs** (through Quoting24 or other software) at the same time on the same phone number. This is a **significant breakthrough**, because previously activating the APIs required deleting the WhatsApp Business account on the phone, preventing manual use of the app. --- ## Benefits of Coexistence By enabling coexistence, you can get the best of both worlds: 1. **Human and Personal Interaction (Business App)**: - Continue using WhatsApp on your smartphone as you always have. - Reply manually to customers when needed. - Step in manually from the phone when direct customer handling is needed. 2. **Power and Automation (Business API)**: - Connect Quoting24 to manage high volumes of requests. - Use bots for auto-replies and contact qualification. - Send structured quotes directly from the management software. - Manage chats as a multi-user team through the web platform. In short: **you can automate the heavy work with the APIs, while keeping the ability to personally step in from your phone for special cases.** --- ## Requirements To enable coexistence, some technical requirements must be met: - **Updated App**: Make sure you have the latest version of WhatsApp Business installed on your device. - **Verified Business Account**: You may need to complete company verification in Meta Business Manager. --- ## How to enable Coexistence The process follows the "Embedded Signup" flow used to activate the official APIs. 1. **Start the connection**: Begin the number connection process from Quoting24: your BSP (Business Solution Provider). 2. **Choose the number**: Select the phone number that is **already active** on the WhatsApp Business App. 3. **Eligibility check**: The system checks that the number and account meet Meta's requirements. 4. **Guided confirmation**: Complete the steps required by the Meta and Quoting24 flow. 5. **Activation**: Once the process is complete, the APIs are enabled on the existing number and can work in parallel with the app. --- ## Important Notes - **Synchronization**: Messages sent from the app and those sent from the APIs will be visible on both platforms within the technical limits defined by Meta. - **Costs**: Messages initiated through API (e.g. quote sending, templates) follow Meta's price list. Manual replies from the app remain free. - **Limitations**: Some activities performed from the app may not be automatable by Quoting24 and remain managed directly from the WhatsApp Business App. --- ## Important limitation: "Cold Chat" (spontaneous conversations) It is possible to start a new conversation with a customer directly from the WhatsApp Business App. **However, this conversation cannot be continued on Quoting24.** The reason is technical and relates to Meta's rules: 1. A message sent manually from the App **does not open the 24-hour customer service window** for the APIs (unlike a customer message). 2. Since it is not a paid "Template Message" approved by Meta, it does not create a valid session for the software. **Consequence**: You will see the message on Quoting24 thanks to synchronization, but **you will not be able to reply or send other messages from Quoting24** within that chat until the customer replies to your message. Only the customer's reply unlocks the conversation and allows Quoting24 to intervene. --- ## Number already in coexistence with another provider If the number is already in coexistence with another provider and needs to move to Quoting24, follow [WhatsApp API migration](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/en/content/broadcast_api/ Language: en Updated: 2026-11-04 # Broadcast API The **Broadcast** section lets you create and manage **broadcast messaging campaigns** on numbers connected to Quoting24 through the **official Meta APIs** (WhatsApp Business Platform). In practice, you can **send the same template message to many WhatsApp numbers**, upload recipients from an Excel file, choose the send date and time, and monitor the status of every message. > **Note:** Quoting24 Broadcast Campaigns are **not** the “broadcast lists” from the WhatsApp app. > They only work with a **WhatsApp Business / Meta API** connection in **connected** status and use **WhatsApp templates** already available in Quoting24 (synced / approved by Meta). --- ## Requirements 1. **Active WhatsApp Business connection** The **Broadcast** menu item appears only if the Meta API connection status is **connected**. See [WhatsApp](whatsapp.md) and, if you also use the same number on the phone, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Permissions** All room members can **view** campaigns. Only **owner** and **admin** can **create**, edit or delete campaigns and queued messages. 3. **WhatsApp templates** At least one template must be available in Quoting24 (the ones selectable in the wizard). If the template has an **image, video or document header**, you must upload the media file when creating the campaign: Meta does not automatically reuse the template preview. 4. **Recipients file** Recipients are loaded from an **XLSX file** (not from the Contacts directory). Maximum **1000** recipients per campaign. 5. **Meta billing** Template messages follow Meta’s price list (Marketing / Utility / Authentication categories, etc.). --- ## How to open the Broadcast section 1. Open the Quoting24 **menu** (icon at the top right). 2. Select **Broadcast**. Broadcast item in the Quoting24 menu The **Broadcast Campaigns** page opens, with subtitle *Manage WhatsApp broadcast messaging campaigns.* --- ## Campaign list | Column | Description | | ------ | ----------- | | **Name** | Campaign name (clickable for details) | | **Schedule** | Scheduled send date and time | | **Progress** | `sent / total (percentage)` — the percentage counts **sent + failed** messages over the total | | **Status** | Campaign status (see below) | Top right: **+ New campaign**. On each row you can delete the campaign or open its details. Broadcast campaigns list ### Campaign statuses | Status | Meaning | | ------ | ------- | | **Draft** | Draft (not used by the standard creation flow) | | **Active** | Campaign created and queued / waiting for the scheduled time | | **Sending** | Sending in progress | | **Completed** | All messages have been processed (sent or failed) | | **Failed** | Campaign failed | | **Cancelled** | Stopped by the user: messages not yet sent will no longer be delivered | | **Archived** | Automatic archival after about 30 days | --- ## Create a new campaign The wizard has **three steps**: 1. **Configuration** 2. **Recipients (XLS)** 3. **Preview and confirm** ### Step 1 — Configuration From the list, click **+ New campaign** and fill in: | Field | What to enter | | ----- | ------------- | | **Campaign name** | Name to recognize it in the list | | **Template** | WhatsApp template to send | | **Header image / video / document** | Appears **only** if the selected template requires it; in that case the file is mandatory | | **Date** | Send start day | | **Time** | Send start time | On the same screen you see the template **preview** (text, footer, buttons and media if uploaded). Then click **Next**. Create campaign screen — configuration #### Header media (only if the template allows it) The upload field for header media is **not always shown**. It appears **only** after you select a template whose Meta header type is: - **image** → formats `JPG`, `JPEG`, `PNG` - **video** → format `MP4` - **document** → format `PDF` If the template has no header media, the field is hidden and you can continue without attachments. If the template requires it, you cannot proceed without uploading a file: Meta does not automatically reuse the template preview. In the example below, selecting a template with an image header shows the **Header image** area (click or drag-and-drop). Uploading a header image when creating a Broadcast campaign ### Step 2 — Recipients (XLS) 1. Click **Download XLSX template** to get the sample file. 2. Fill the sheet with these columns: | Column | Required | Description | | ------ | -------- | ----------- | | `recipient_name` | No | Recipient name (label only in Quoting24) | | `recipient_address` | **Yes** | WhatsApp number (with or without `+`; spaces and `00` prefix are normalized on send) | | `var1`, `var2`, `var3`, … | If the template has variables | Template variable values, in order | 3. Upload the completed file (**Upload completed file**, `.xlsx` format). 4. When at least one valid recipient appears, click **Next**. Limit: **maximum 1000 recipients** per campaign. ### Step 3 — Preview and confirm Check: - template preview - recipient list (you can **edit** or **delete** individual rows) Then click **Confirm and send**. The campaign is created in **Active** status and messages enter the queue as **Pending**, scheduled for the chosen date/time. You are taken to the **campaign detail**. --- ## Campaign detail and messages In the detail you see: - campaign status and schedule - list of every message with: - name and number - next send (if still queued) - message status - retries (`retry / max`) - any error - rendered text preview (with variables replaced) ### Message statuses | Status | Meaning | | ------ | ------- | | **Pending** | Queued, not sent yet | | **Scheduled** | Scheduled | | **Sending** | Sending to Meta in progress | | **Sent** | Sent successfully | | **Failed** | Failed after the allowed retries | | **Cancelled** | Cancelled | | **Archived** | Archived (old messages) | If a send fails, the system may **retry** automatically (up to 10 attempts, with a wait between attempts). You can also edit or remove from the queue messages that have not been sent yet (owner/admin only). ### Cancel a campaign While the status is **Active** (or **Draft**), you can use **Cancel campaign**. Messages already sent remain sent; those still in the queue **are no longer delivered**. --- ## How sending works - Sending starts at the **scheduled date/time** (or shortly after, if that time has already passed). - Messages are sent **one at a time**, with a short pause between sends. - Each message is a **WhatsApp template** sent via Meta API on the room connection. - When all messages are **sent** or **failed**, the campaign becomes **Completed**. --- ## Important notes - **Meta API only:** this section is available when the number is connected through the official WhatsApp Business APIs. - **Menu hidden without Business connected:** if you do not see **Broadcast**, check that WhatsApp Business is linked and in connected status. - **Does not use the Contacts directory:** numbers come from the XLSX file (or from edits made in the preview). - **Meta costs:** each deliverable template may generate a charge by category and Meta rules. See also [WhatsApp Coexistence](whatsapp_coexistence.md) for costs when coexistence is enabled. - **Consent and compliance:** for marketing campaigns, make sure you have recipient consent and follow WhatsApp / Meta policies. - **1:1 send from ERP:** to send a message to a single contact from external software, use [Write on WhatsApp through our APIs](invia_whatsapp_api.md). That integration does not replace mass Broadcast campaigns. --- ## Operational summary 1. Connect the number with **Meta API** (connected status). 2. Make sure you are **owner** or **admin**. 3. Prepare the WhatsApp **templates** in Quoting24. 4. Open **Broadcast** → **+ New campaign**. 5. Configure name, template, date/time (and header media if required). 6. Download the XLSX template, fill it in and upload it. 7. Review the preview and confirm. 8. Monitor progress, campaign status and message details. --- # WhatsApp API migration URL: https://wiki.quoting24.com/en/content/migrazione_whatsapp_api/ Language: en Updated: 2026-11-04 # WhatsApp API migration This guide explains how to connect to **Quoting24** a number that is already active on the **official WhatsApp APIs** (WhatsApp Business Platform) with another provider, **without changing the number**. The **WhatsApp** section is visible **only to administrators**. The connection always starts from the same place in Quoting24: **Settings → WhatsApp → WhatsApp Business → Connect**. The **Connect** button opens Meta’s embedded signup. From there, Quoting24 becomes the provider that receives and sends messages for that number. The intended mode is the official API connection described in [WhatsApp overview](whatsapp.md). --- ## Which procedure to follow Meta has two ways to connect a number that is already used by another provider. Before you click **Connect**, check the portfolio in **Meta Business Suite → Settings → Accounts**. | What you see in Meta Business Suite | What to do | | --- | --- | | **WhatsApp Accounts** and **Messaging Accounts** listed separately | Current model: **share** the WhatsApp account with Quoting24. The number stays where it is. | | **WhatsApp Accounts** only | Previous model: **migrate** the number with an SMS or voice code. | On the current model, Meta rejects moving the number from one account to another. Disconnecting it from the previous provider does not free it. --- ## What to prepare - **Administrator** access to Quoting24. - **Administrator** access to the Meta portfolio (Business Manager) that owns the number, with the Facebook user you will use in the **Connect** window. - The number already registered on the official APIs. Free test numbers assigned by Meta cannot be migrated. - The ability to receive an SMS or a voice call on that number, if Meta asks for a code. The previous-model migration also requires: - a display name that is **already approved**, with no open display-name change request; - two-step verification (PIN) **turned off** on the number, without deleting the number or closing the account. If you do not have access to the WhatsApp account, ask the current provider to turn it off. --- ## Current model: share the number with Quoting24 Use this procedure if Meta Business Suite shows both **WhatsApp Accounts** and **Messaging Accounts**. Leave the number active with the current provider until the end. Removing it earlier, while customer messages are still arriving, interrupts reception. 1. In Quoting24, open **Settings → WhatsApp**. 2. On the **WhatsApp Business** row, click **Connect** and sign in with the Meta portfolio administrator. 3. Select the number already registered with the other provider. Meta shows it in the list and does not ask for a new code: the number is already registered. 4. Meta proposes the portfolio and the WhatsApp account for that number. Confirm sharing with Quoting24. 5. Enter the number’s display name and continue. Meta may review it again after activation. 6. Review the requested permissions (WhatsApp account, messaging account, and linked assets) and confirm. 7. Close the Meta window. In Quoting24, the **WhatsApp Business** row shows **connected**. Meta creates a new messaging account for Quoting24 under the same WhatsApp account. The previous provider stays connected until you remove it. ### Make messages arrive in Quoting24 Sharing alone does not move incoming messages. While the previous provider is still a partner, Meta can keep delivering them there. When the **WhatsApp Business** row in Quoting24 is connected: 1. In **Meta Business Suite**, open **Settings → Accounts → Messaging Accounts**, select the account, go to **Partners**, and remove the previous provider’s app access. 2. Open **Settings → Accounts → WhatsApp Accounts**, select the number’s account, go to **Partners**, and remove the same provider’s access there as well. 3. In the same WhatsApp account, open **Conversation routing** and assign every conversation type to Quoting24. The partner list may show the name of the Meta app linked to Quoting24, not the text “Quoting24”. If it is not clear which access to remove, stop and ask Quoting24 support before removing a partner. When only one partner remains, Meta turns routing off and delivers messages to that partner. ### What stays on this model These stay on the number, because the WhatsApp account does not change: - phone number - display name - quality rating - messaging limits - Official Business Account status, if it was already active **Templates** belong to the messaging account, not to the number. The account created for Quoting24 starts empty: templates from the previous provider must be **recreated in Quoting24** and approved again by Meta. Until they are approved: - from Quoting24 you can reply freely only within **24 hours** of the customer’s last message; - [Broadcast API](broadcast_api.md) has no templates to select. Chats saved in the previous software do **not** become Quoting24 tickets. Messages that arrive after the connection become tickets. Chats already on the customer’s phone stay in the customer’s WhatsApp app. --- ## Previous model: migrate the number Use this procedure only if Meta Business Suite shows **WhatsApp Accounts only**. ### Turn off two-step verification Ask the current provider to turn off the number’s PIN, or do it yourself from the Meta portfolio if you have access. The number and the account must stay active. Only two-step verification is removed. ### Connect the number from Quoting24 1. In Quoting24, open **Settings → WhatsApp**. 2. On the **WhatsApp Business** row, click **Connect** and sign in as the Meta portfolio administrator. 3. Choose **create a new WhatsApp account**. This is the step Meta uses to move the existing number: it is not a second number. 4. Enter **the same display name** already approved for that number. 5. Enter **the same number**. Meta warns that it is already registered to a WhatsApp Business account or with another provider. 6. Request the code by **SMS** or **voice call** and enter it. 7. Complete the remaining steps in the Meta window. The move usually finishes within a few minutes. In Quoting24, the **WhatsApp Business** row changes to **connected**. During the move, reception can stop for a few minutes. ### What stays and what must be done again These stay on the number: - display name - quality rating - Official Business Account status - messaging limits These must be done again in Quoting24: - **templates**, which must be submitted again and re-approved by Meta before you write outside the 24-hour window and before you use [Broadcast API](broadcast_api.md); - the previous provider’s campaigns; - that software’s chat history, which is not imported. New messages arrive as tickets. --- ## Number already in coexistence with another provider If the same number is used **together** by the WhatsApp Business app and the APIs with another provider, the API connection does not by itself reattach the app on the phone. 1. **Back up the chats** in the WhatsApp Business app. 2. Register the same number on the **personal WhatsApp** app: the number leaves the Business app. 3. Register it again on the **WhatsApp Business** app. 4. In Quoting24, click **Connect** on **WhatsApp Business** and complete the coexistence described in [WhatsApp Coexistence](whatsapp_coexistence.md): on the app, **Settings → Linked devices → Link a device**, then scan the QR code shown by Quoting24. To move the number to the APIs only, without the app on the phone, use the procedure for the Meta model you checked above. --- ## After the connection - New messages for the number become **tickets** in Quoting24. - Outside 24 hours from the customer’s last message, you write with an **approved template**. The rules of the official channel are in [WhatsApp overview](whatsapp.md). - Campaigns are created in [Broadcast API](broadcast_api.md) once the templates are available in Quoting24. - To also use the WhatsApp Business app on the same number, you need [WhatsApp Coexistence](whatsapp_coexistence.md). - The app’s groups and broadcast lists do not move to the APIs. --- ## If the procedure stops - **Meta rejects moving the number.** The portfolio is on the current model: go back to sharing and leave the number registered with the previous provider until Quoting24 shows connected. - **The SMS or voice code does not arrive.** On the previous model, two-step verification is still on. Turn it off and click **Connect** again. - **The display name blocks the previous migration.** Meta accepts the move only with an approved name and no pending name change. - **Quoting24 is connected but messages do not arrive.** On the current model, routing still points to the previous provider. Check **Partners** and **Conversation routing** before you disconnect the number. - If the partner to remove is not recognizable, contact Quoting24 support with the number and the Meta portfolio ID. --- # Widget channel — Overview URL: https://wiki.quoting24.com/en/content/widget/ Language: en Updated: 2026-11-04 # Widget channel — Overview The **Widget channel** receives support and quote requests from the **website**. Visitors open a chat on the site; messages arrive in Quoting24 as tickets and operators reply from the usual interface, with the same logic already used for the other channels. The interface runs in an **iframe**. The host site only needs a script and, when the data is already known, a call to `init()`. Angular, a Supabase client, or direct access to the Quoting24 database are not required. --- ## Which integration you need Associating a company and restoring history are separate operations. `external_id`, `company_name`, `name`, `phone`, and `email` do not authorize access to another person’s conversations. A user already authenticated on the site remains a widget guest until the site passes a valid restore credential. | Case | What to implement | Continuity | Section | | --- | --- | --- | --- | | Public site, unknown visitor | Script only. The visitor fills in the contact form. | Guest session in the same browser | [Widget B2C](widget_b2c.md) | | Site that already knows the profile and company | Script and `init()` with the profile and company data | Prefilled guest session and company association | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portal with personal history across devices | Also a backend integration for `external_user_id` and `restore_id` | Personal history on the authorized widget channel | [Widget B2B](widget_b2b.md) | | Field contract, CSP, login/logout, provisioning | Developer guide | — | [Technical integration](widget_tecnico.md) | --- ## What the widget does - Shows a **floating button** or a chat **embedded** in the page - For a new visitor, opens the form labeled Telephone and Name. In `init()` the fields are `phone` and `name`; the email, when the site knows it, is `email` - If the site calls `init()`, uses the data already available and can link the contact to a company through `external_id` (`web_code`). If the company is missing and `company_name` is also sent, it can create it - Opens a conversation managed in Quoting24 like the other channels - Accepts PDF, DOC/DOCX, JPG/JPEG, and PNG attachments, up to 10 MiB per file and 100 MiB of referenced attachments per conversation - Shows the greeting, the welcome message, and, outside working hours, the configured banner. Message composition stays available The loader stores the guest credential in the site’s `localStorage`, separated by widget key. If storage is blocked, continuity may be limited to the current page. The guest session can reread its most recent conversation after the tab is closed, in the same browser. Another device requires [authenticated restore](widget_b2b.md). --- ## Where to configure it in Quoting24 1. Open **Settings → Channels** (Impostazioni → Canali) 2. Select the **Widget** channel 3. Open the configuration From there you set: - logo, primary color, button position - greeting message, welcome message, out-of-hours message - **allowed domains** - **embed code** (full script URL and public widget key) The channel hours determine the out-of-hours banner. Ask the administrator for the embed code and the authorized domains, including staging and local development. Use the URL and key of the same environment. In the examples, replace `WIDGET_HOST` and `PUBLIC_WIDGET_KEY` with the values you received. Authorized domains are host names, for example `shop.example.com` or `localhost`, without `https://`, port, path, or a `*.` prefix. `example.com` also authorizes its subdomains. An empty list applies no domain restriction. For local testing, serve the page over HTTP: opening it as a file is not enough. Logo, color, position, and messages are configured in Quoting24. The `company_name` passed to `init()` is the customer’s legal name, not the widget title. There is no public `language` or `locale` parameter: the current interface is in Italian. --- ## Two ways to show it on the site ### Floating button The script adds the button after the visual settings load. A click opens the chat. On mobile, the floating chat expands to fill the viewport. See [Widget B2C](widget_b2c.md). ### Embedded chat The chat fills a page container with an explicit height. There is no floating button: the site provides layout and title. In this mode `open()`, `close()`, and `toggle()` have no effect. The site controls the container height and width. See [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). One instance per page: the loader exposes a single `window.Quoting24Widget`. A second script does not create a second widget. --- ## Public key and secrets {#chiave-pubblica-e-segreti} | Value | Where it lives | What it is for | | --- | --- | --- | | Public widget key | Script URL | Selects the channel. It is public: it is not a personal credential and not a backend integration secret | | Private integration secret | Site backend only | Authorizes creating and reusing `restore_id` | | `restore_id` | Private per-user store, in the backend | Credential used to restore that person’s history on that widget | | Guest session credential | Site `localStorage`, managed by the loader | Guest continuity in the same browser, per widget key | --- ## Operator flow 1. The visitor opens the chat on the site and sends a message 2. Quoting24 creates or continues a **ticket** on the Widget channel 3. If initialization resolved an `external_id`, the contact is linked to the company with that `web_code`. A company just created by the widget has the legal name and, if sent, the email; an existing company is not renamed by `init()` 4. The operator handles the request and replies from the chat 5. The customer sees the replies in the widget Widget messages can be deleted only **for everyone**. The data comes from the browser and the visitor can change it. The company link does not prove identity and does not open the history of the other contacts of that company. --- ## Where to start 1. Configure appearance, hours, and domains in **Settings → Channels → Widget** 2. Public site, or a portal that prefills the profile: [Widget B2C](widget_b2c.md) 3. The same person’s history on another browser: [Widget B2B](widget_b2b.md) 4. Fields, company creation, CSP, and checklist: [Technical integration](widget_tecnico.md) --- # Widget B2C — guest visitor and company URL: https://wiki.quoting24.com/en/content/widget_b2c/ Language: en Updated: 2026-11-04 # Widget B2C — guest visitor and company This section covers integrations where the widget stays in a **guest session**: - public site, unknown visitor: script and contact form only - site or portal that already knows the account: `init()` with profile and company data, form skipped when the data is enough, contact linked to the company Personal history on another browser or device is a different integration. See [Widget B2B](widget_b2b.md). Full field contract, account changes in a SPA, CSP, and provisioning: [Technical integration](widget_tecnico.md). **Associating a company does not authorize another person’s history.** A user authenticated on the site remains a widget guest until you send `external_user_id` together with a valid `restore_id`. --- ## What you get - A floating button, or a chat embedded in a page container - An initial form for unknown visitors, labeled Telephone and Name. In `init()` the fields are `phone` and `name` - A guest session stored by the loader in the same browser, separated by widget key. If `localStorage` is blocked, continuity can stay on the current page - If you send `external_id`, Quoting24 looks for a company with the same `web_code`. With `company_name` as well, it can create the missing company and link the contact to it - Tickets and replies in Quoting24, as on the other channels The guest session rereads its most recent conversation even after the tab is closed. It does not follow the person to another browser. --- ## 1. Prerequisites in Quoting24 1. **Widget** channel active in **Settings → Channels** (Impostazioni → Canali) 2. Logo, color, position, greeting, welcome, and out-of-hours message configured 3. **Allowed domains** updated, including staging and `localhost` 4. Embed code copied from the channel configuration: script URL and public key Use the host and key of the **same environment**. In the examples, replace `WIDGET_HOST` and `PUBLIC_WIDGET_KEY`. Domains are host names, without `https://`, port, path, or `*.`. `example.com` includes subdomains. Empty list: no restriction. Locally, serve the page over HTTP, not as `file://`. The `company_name` in `init()` is the customer’s legal name. It is not the widget title and it is not configured from this payload. --- ## 2. Install the floating button Paste the script **once**, before ``: ```html ``` The button appears after the visual settings load. A new visitor sees the contact form. Someone returning in the same browser resumes the guest session, if storage is available. The script exposes a single `window.Quoting24Widget`. --- ## 3. Embed the chat in the page {#incorporare-la-chat-in-pagina} Create the container **before** the script and give it an explicit height: ```html

Support

``` - `target` is the element ID, without `#` - The iframe fills the container - There is no floating button - `open()`, `close()`, and `toggle()` have no effect - In this mode the site decides height and width. In floating mode, on mobile, the chat can fill the viewport Embedded mode alone does not enable history restore. --- ## 4. Send the customer profile {#inviare-il-profilo-del-cliente} When the site knows the account, send the profile after the loader has loaded. Fields are **strings**. Omit unknown ones: do not send `null`, numeric IDs, or an empty email. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Data in the site or ERP | Field | Meaning | | --- | --- | --- | | Stable company reference, the same value imported into `web_code` | `external_id` | Exact match with `companies.web_code`, in the widget organization | | Legal name | `company_name` | Used if the company must be created | | Person or user name | `name` | Name shown on the contact | | Account email | `email` | Saved on the company only when the company is created | | Phone, if you know it | `phone` | Contact number. Prefer international format, for example `+393331234567` | This payload does not send `external_user_id` or `restore_id`. Keep `name` and `company_name` separate: do not concatenate the legal name onto the user name to obtain the association. The public field is `external_id`. Do not send `web_code`, the Quoting24 internal UUID, or `companies.code`. The form shows **Name** and **Telephone**. In `init()` those fields are `name` and `phone`. The email field is `email`. `Name`, `Telephone`, and `Email` are not keys: the loader drops them, the same way it drops `web_code` in place of `external_id`. ### Examples Name and phone, the same data as the form. The chat starts and does not look up a company. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Profile with a company. `name` is the person, `phone` is the contact number, and `email` is written on the company only if this call creates it. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Email only. A valid address in `email` is enough to open the session. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` If a field exceeds the limits or the email is malformed, the request is rejected. Limits and behavior of each field: [Technical integration](widget_tecnico.md#campi-di-init). ### Wait for the loader An `async` script may not have run yet when later code calls `init()`. For prefilled data, use a loader module **instead of** the static tag, imported once in the main layout: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://WIDGET_HOST/assets/widget/script.js?key=PUBLIC_WIDGET_KEY"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("Widget API is not available")); } }; script.onerror = () => { script.remove(); reject(new Error("Widget script failed to load")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Import the module from the bundler, or load the entry file with ``. For embedded mode, add `&mode=embedded&target=support-chat` to the URL and mount the container first. `loadWidget()` only reports that the JavaScript API is available. `init()` returns `void`: it queues the profile if the iframe is not ready and does not wait for the session. For the outcome, use `isReady()` and `hasSessionError()`. `init()` **replaces** the stored profile. It does not merge it with the previous one. Pass every field that must remain. A page change in a SPA does not need a new script or a `reset()`. On a person or account change, and on logout, call `reset()` before the new profile: changing only the fields does not detach the previous guest session. Full pattern: [Login, logout, and account change](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. How the company is associated or created Quoting24 runs this flow at initialization, even if the visitor has not sent a message yet: 1. With a non-empty `external_id`, it looks for a company in the same organization whose `web_code` equals that value 2. If it finds one, it links the contact. The existing company’s name and email stay unchanged 3. If it does not find one and a non-empty `company_name` is also present, it creates the company with `name = company_name`, `web_code = external_id`, and the email when present, then links the contact 4. If it cannot find or create the company, it continues with the available profile. If that is not enough for a new guest, it shows the form. Database errors or the request limit fail initialization | Data sent | Situation in Quoting24 | Result | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` exists | Uses the existing company and does not change its name | | Same data, plus a valid email | `web_code = "52"` does not exist | Creates the company with web code `52`, legal name, and email, and associates the contact | | `external_id: "52"`, `name: "mario.rossi"` | No match | Starts the guest without a new company association | | `external_id: "52"`, with no other data | A match exists | Starts the guest associated with the company, with the default name `Visitatore` | | `external_id: "52"`, with no other data | No match | Shows the contact form | | `company_name` without `external_id`, plus `name` | Any | Starts the visitor. Does not search for or create a company | The search does not use legal name, email, phone, VAT number, or `companies.code`. `"052"` and `"52"` are different values; spaces in `external_id` are not removed. If you import the registry first, write in `web_code` the same value the site will send in `external_id`. See also [Companies → Web code](companies.md#codice-web-web_code). A new guest starts if there is at least a name, a phone, a valid email, or an `external_user_id`, or a company found or created through `external_id`. `init({})` and `company_name` alone do not start a session. For a contact that is already linked, a new valid code can change their company. Omitting the code, or sending one that does not resolve, does not clear the previous association. A person or account change requires `reset()`. ### Limits `web_code` is not unique. With several matches, public initialization takes the first one by ascending creation date. Simultaneous requests that do not find the company yet can create more than one: creation is not atomic and does not replace an import or a sync from the ERP. Implicit creation is limited to 20 attempts per 60-second window and IP address, in the backend process that handles the request. Above the limit, initialization fails with `TOO_MANY_REQUESTS`: retry with a delay, without continuous `init()` loops. The data comes from the browser and the visitor can alter it. The link does not prove membership of the company and does not grant company history. Send `company_name` only if you want to allow this public creation. To update companies that already exist, use Quoting24 tools or an authorized ERP integration. The email from public initialization is stored only on the new company. It is not written on the contact and it does not update a company that already exists. A phone already used by another contact does not merge contacts or chats. --- ## 6. Behavior on the site | Situation | Expected behavior | | --- | --- | | First visitor, script only | Button, then form, then chat | | `init()` with a sufficient profile | Form skipped | | `external_id` already present as `web_code` | Contact associated; company name and email unchanged | | New `external_id` with `company_name` | Company created and contact associated | | New code and name, without `company_name` | Chat without a new company | | New code only | Contact form | | Legal name and visitor name only | No search or creation by name | | Reload in the same browser | Guest session resumed, if storage is available | | Another browser or device | New guest session | | Outside working hours | Out-of-hours banner; composition stays usable | | Mobile, floating button | The chat can fill the viewport | Attachments: PDF, DOC, DOCX, JPG/JPEG, PNG. Maximum 10 MiB per file and 100 MiB of referenced attachments per conversation. --- ## 7. Useful controls When the floating button is visible you can connect a site button to `window.Quoting24Widget?.open()`. | Method | Use | | --- | --- | | `init(profile)` | Sets or replaces the current profile | | `open()` / `close()` / `toggle()` | Floating widget only. Closing is not a logout | | `isReady()` | Visitor session started. Stays false on the contact form | | `hasSessionError()` | Session error reported by the iframe | | `reset()` | Clears profile, local session, saved guest credential, and unread count of this instance | | `dispose()` | Unmounts the interface and listeners. Does not clear the saved guest credential or the global API object | Do not wait for `isReady()` to let a new guest open the form. There is no public availability event. These indicators do not describe the whole network state. --- ## Checklist before release - [ ] Host and key of the same environment - [ ] Site and staging domains in the list, as host names only - [ ] Logo, color, greeting, welcome, and out-of-hours message checked - [ ] New browser, script only: form, message, ticket in Quoting24 - [ ] `external_id` already in `web_code`: association, company record unchanged - [ ] New code with `company_name`: company created with that web code - [ ] New code without `company_name`: no company created - [ ] Empty email, numeric ID, or legal name too long: payload rejected, to be corrected - [ ] Reload and SPA navigation: one instance, guest session kept - [ ] Account change: `reset()` immediately, late responses discarded - [ ] Mobile: composition usable - [ ] Unauthorized domain: widget rejected Frequent problems: [Troubleshooting](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — history on other devices URL: https://wiki.quoting24.com/en/content/widget_b2b/ Language: en Updated: 2026-11-04 # Widget B2B — history on other devices This section covers restoring the widget’s **personal history** when the same person opens the site from another browser or device. The site must authenticate the person. Its backend obtains and privately stores the restore credential for that user and that widget. The browser passes it to `init()` together with the profile. For the script alone, or to prefill profile and company while staying in a guest session, see [Widget B2C](widget_b2c.md). `restore_id` endpoints, persistence, and concurrency: [Technical integration](widget_tecnico.md#provisioning-da-backend). --- ## What it adds compared with the guest session | | Guest | Restore | | --- | --- | --- | | Login on the site | Not required | Required, because the credential comes from your backend | | Data that identifies the chat | Browser guest credential, or profile passed to `init()` | `external_user_id` and `restore_id` together | | Continuity | Same browser | Different browsers and devices, on the authorized widget channel | | Who issues the credential | Loader | Site backend, through Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name`, and `external_user_id`, by themselves, do not restore history. `external_user_id` without `restore_id` is not enough. The field is `restore_id`, in snake case: `restoreId` is not a loader field. Restore does not merge old guest sessions and does not share history among colleagues of the same company. It applies only to the widget channel. You can send the company fields in the same `init()`. Association or creation follows the rules of the [guest payload](widget_b2c.md#inviare-il-profilo-del-cliente): it is independent of restore and does not prove identity. --- ## Flow 1. The customer logs in on the portal 2. The authenticated backend asks Quoting24 for a credential (`provisionRestoreId`) or reuses the one already saved 3. The page calls `init()` with the same `external_user_id`, the `restore_id`, and, if needed, the company data 4. Quoting24 checks the credential and shows the widget conversations visible for that person, including closed ones 5. On logout, or on a person change, the page calls `reset()` so the previous chat does not stay in the browser ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` is the backend response for the authenticated user. Use it without modifying it. Maximum 200 characters. It requires the matching `external_user_id`: a stable ID of the single person, non-empty, maximum 100 characters after trim. It is not a shared company ID. `external_id` is compared with `web_code`. Together with `company_name` it can create the missing company. It does not authenticate the user and it does not replace `restore_id`. --- ## Prerequisites In addition to branding, domains, and embed code: - a backend integration authorized in Quoting24 - the private integration secret, on the server only - a provisioning endpoint, usually `widget.provisionRestoreId` - a private store in the site database, one credential per user and widget The public key in the script URL and the integration secret are different values. See [Overview](widget.md#chiave-pubblica-e-segreti). --- ## Endpoint on the site backend `/api/widget/session` is an example to implement in the portal. It is not a public Quoting24 URL. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - Identity comes from the server session, not from an ID chosen by the browser - `Cache-Control: no-store` - Do not log or cache `restore_id` - Do not put secrets in the script URL or in public `data-*` attributes - Save the credential **before** returning it to the browser The contract toward Quoting24 (`attempt_id`, `saved_restore_id`, lock, key reuse) is in [Technical integration](widget_tecnico.md#provisioning-da-backend). If the portal already has an authenticated endpoint that, for the current user, returns this widget’s `restore_id`, use that response. Combine it with the person ID and the company reference in the `init()` call. --- ## Login, reload, account change, logout Distinguish a page reload from a real person or account change. - Reload with the same login still active: `init()` **without** `reset()`, so the saved guest session remains if you are only supplying the profile again. With restore, reuse the credential already persisted: do not generate a new one on every page view - Person change, account change, logout: `reset()` immediately, then the new profile, or no `init()` if the user has left - Discard restore responses that arrive after the change: an old response must not be treated as a new login - In a SPA keep a single instance in the main layout. A route change does not run provisioning again If restore is unavailable you can offer the guest chat: `reset()`, then `init()` without `restore_id`. That chat stays separate from the restored history. A credential that is invalid, belongs to another user, or has been revoked is rejected. Quoting24 does not turn it into a guest session. The widget’s «Riprova» button does not by itself ask your backend for a new `restore_id`. The current interface is in Italian, so that button label is Italian. Example of `applyWidgetAuth` and unmount: [Technical integration](widget_tecnico.md#login-logout-e-cambio-account). `reset()` forgets this instance’s guest session and the credential saved in the browser. It does not revoke `restore_id` on the server and does not close sessions on other devices. The site must update the other open tabs. --- ## Previous conversations In the restored history, closed chats can appear as a previous conversation. - Opening them for reading does not reopen the old conversation - New messages stay on the active conversation --- ## Checklist before release - [ ] Integration secret on the server only - [ ] `external_user_id` stable and per person, identical between provisioning and `init()` - [ ] `restore_id` persisted before the response to the browser, and reused on later visits - [ ] Same user on a second browser: same history - [ ] Two users of the same company: distinct histories - [ ] `external_id` and `company_name` checked in the registry, without expecting them to restore the chat - [ ] Logout or account change during the fetch: no chat of the previous user left on screen - [ ] Guest ↔ restore transition with `reset()` in between - [ ] Revoked or invalid credential: error, with no silent fallback to guest Tests and symptoms: [Verify the integration](widget_tecnico.md#verificare-lintegrazione) · [Troubleshooting](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Technical integration URL: https://wiki.quoting24.com/en/content/widget_tecnico/ Language: en Updated: 2026-11-04 # Widget — Technical integration Developer guide: script, `init()` payload, company association and creation, lifecycle, authenticated restore (`restore_id`), CSP, and verification. Path pages: [Overview](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Reference edition:** 26 October 2026. Restore across devices is additional to the company payload. Before enabling it, check that `provisionRestoreId` is available in your installation. The interface runs in an iframe. The host site does not need Angular, a Supabase client, or access to the Quoting24 database. --- ## Choose the integration type | Case | Implementation | Continuity | | --- | --- | --- | | Public site, unknown visitor | Script only. Contact form | Guest session in the same browser | | Site with customer data | Script and `init()` with profile and company | Prefilled guest session and company association | | Portal with personal history across devices | Also a backend for `external_user_id` and `restore_id` | Personal history on the authorized widget channel | Associating a company and restoring history are separate operations. `external_id`, `company_name`, name, email, and phone do not authorize another person’s conversations. A user authenticated on the site remains a widget guest until you provide a valid restore credential. --- ## 1. Configuration from Quoting24 In **Settings → Channels** (Impostazioni → Canali), open the widget channel and collect: - full script URL and **public key** - **authorized domains**, including staging and local development - logo, color, position, greeting, welcome, and hours Use the URL and key of the same environment. In the examples, replace `WIDGET_HOST` and `PUBLIC_WIDGET_KEY`. The key in the URL is public and selects the channel: it is not a personal credential and not a backend integration secret. Domains are host names (`shop.example.com`, `localhost`), without `https://`, port, path, or a `*.` prefix. `example.com` also authorizes its subdomains. An empty list applies no restriction. For local testing, serve the page over HTTP, not as a file. | Value | Where to store it | Purpose | | --- | --- | --- | | Public key | Script URL | Selects the widget channel | | Private integration secret | Backend secrets only | Authorizes create/reuse of `restore_id` | | `restore_id` | Private per-user store; in the page only for an authenticated session | Proves which history to restore | | Guest session credential | Site `localStorage`, per widget key, managed by the loader | Guest continuity in the same browser | Restore needs a backend integration, a private endpoint, and a secret, separate from the public code. See [section 6](#provisioning-da-backend). --- ## 2. Installation ### Floating button Once, before ``: ```html ``` The button appears after the visual settings load. A new visitor opens the form with phone and optional name. The loader stores the guest credential in `localStorage`, separated by key. If storage is blocked, continuity may be limited to the current page. The loader exposes a single `window.Quoting24Widget`. A second script does not create a second widget. ### Embedded chat Container before the script, explicit height: ```html

Support

``` `target` is the ID, without `#`. The iframe fills the container. There is no floating button. `open()`, `close()`, and `toggle()` have no effect. ### Wait for the loader For prefilled data, use this module **instead of** the static tag, imported once in the main layout. The examples are JavaScript modules: a bundler, or ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://WIDGET_HOST/assets/widget/script.js?key=PUBLIC_WIDGET_KEY"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("Widget API is not available")); } }; script.onerror = () => { script.remove(); reject(new Error("Widget script failed to load")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` For embedded mode, add `&mode=embedded&target=support-chat` to the URL and mount the container first. Do not duplicate this load with a static script tag. `loadWidget()` reports that the API is available. `init()` returns `void`: it queues the profile if the iframe is not ready and does not wait for the session. For the outcome, use `isReady()` and `hasSessionError()`. --- ## 3. `init()` fields {#campi-di-init} All values are **strings**. Omit unknown ones. Do not send `null`, numeric IDs, or an empty email. If a field exceeds the limits or the email is malformed, the request is rejected. | Field | Limit and behavior | | --- | --- | | `external_id` | Maximum 100 characters. Company reference compared exactly with `web_code`, in the widget organization. Spaces are not removed | | `company_name` | Maximum 250 characters after leading and trailing spaces are removed. Creates a missing company only together with `external_id`. An empty string or a string of only spaces does not enable creation | | `name` | Maximum 250 characters. Contact name; it can update it in the current session | | `email` | Valid address. On public initialization it is saved only on a new company. It is not written on the contact or on a company that already exists | | `phone` | Maximum 80 characters. Contact number; prefer international format, for example `+393331234567`. A conflict with an existing number does not merge contacts or chats | | `external_user_id` | Optional in the base case. Stable person ID, non-empty, maximum 100 characters after trim. By itself it does not restore history | | `restore_id` | Private credential, maximum 200 characters, obtained from the backend. Requires the matching `external_user_id`. Use the returned value without modifying it | Example when the site knows the account. Field names in the ERP can differ: map the company reference to `external_id`, the legal name to `company_name`, the person to `name`, and the account email to `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` The form labels Name and Telephone are sent as `name` and `phone`. The email is `email`. Do not send `Name`, `Telephone`, or `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` The first call opens the chat with name and phone and does not look up a company. The second is enough with a valid email. In the full profile above, `phone` is the contact number and `email` is written on the company only if this call creates the company. Keep `name` and `company_name` separate. Do not concatenate the legal name onto the user name to obtain the association. Do not send a `web_code` field: the public name is `external_id`. Do not use the Quoting24 internal UUID or `companies.code` in place of the value in `web_code`. `init(profile)` replaces the profile stored by the loader. It does not merge: pass the fields you want to keep. A new guest can start with at least a name, a phone, a valid email, or an `external_user_id`, or with a company found or created through `external_id`. `init({})` and `company_name` alone do not start a new session. If you send only an unknown `external_id`, without `company_name`, the widget asks for the data through the form. `init({ restoreId: "..." })` does not transmit the credential. The field is `restore_id`. --- ## 4. Associate or create the company {#associare-o-creare-lazienda} The flow runs when Quoting24 processes initialization, even without a message: 1. If it receives a non-empty `external_id`, it looks for a company in the same organization whose `web_code` equals that value 2. If it finds one, it links the contact. The existing company’s name and email stay unchanged 3. If it does not find one and it also receives a non-empty `company_name`, it creates the company with `name = company_name`, `web_code = external_id`, and the email when present, then links the contact 4. If it cannot find or create the company because data is missing, it continues with the available profile. If that is not enough for a new guest, it asks for the form. Database errors or the request limit fail initialization | Data sent | Situation in Quoting24 | Result | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` exists | Uses the existing company; does not change its name | | Same data, plus a valid email | `web_code = "52"` does not exist | Creates the company with web code `52`, legal name, and email, and associates the contact | | `external_id: "52"`, `name: "mario.rossi"` | No match | Starts the guest without a new company association | | `external_id: "52"`, with no other data | A match exists | Starts the associated guest, with the default name `Visitatore` | | `external_id: "52"`, with no other data | No match | Asks for the visitor’s data | | `company_name` without `external_id`, plus `name` | Any | Starts the visitor. Does not search for or create a company | The search does not use legal name, email, phone, VAT number, or `companies.code`. `"052"` and `"52"` are different values. If you import the registry first, fill `web_code` with the same value the site will send in `external_id`. The association applies to the contact. For a contact that is already linked, a new valid code can change their company. Omitting the code, or sending one that does not resolve, does not clear the previous association. On a person or account change, run `reset()`: do not only change the profile. ### Limits `web_code` has no uniqueness constraint. With several matches, the first one is selected, ordered by ascending creation date. Avoid duplicates: simultaneous requests that do not find the company yet can create more than one. The flow does not guarantee atomic creation and does not replace an import or a sync from the ERP. Implicit creation is limited to 20 attempts per 60-second window and IP address, in the backend process that handles the request. Above the limit, initialization fails with `TOO_MANY_REQUESTS`. Retry with a delay. Avoid continuous `init()` loops. The data comes from the browser and the visitor can modify it. The association does not prove membership or identity and does not grant company history. Send `company_name` if you want to allow this public creation. To update existing companies, use Quoting24 or an authorized ERP integration. --- ## 5. Login, logout, and account change {#login-logout-e-cambio-account} Keep a single instance in the main structure of a SPA. A page change does not need a new script or a reset. On a person or account change, and on logout, call **`reset()` before the new profile**. On reload with the same login still active, use `init()` without reset, as at startup: that keeps the saved guest session. The site must distinguish a reload from an actual change. Call this on authentication changes. `profile` is the new user’s profile, or `null` on logout. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Handle the load error in the site UI, with a retry. If you fetch the profile from the backend before this function, invalidate those requests on user change as well. While waiting, clear the previous profile immediately with `applyWidgetIdentity(null)`. Reset forgets this instance’s guest session, the saved credential, the profile, and the unread counter. It is not a server revocation and it does not end sessions on other devices. The authentication change must also be applied in the other open tabs. ### With history restore When the profile includes `restore_id`, download it from the site’s authenticated endpoint after `reset()`, and discard the response if the user has changed in the meantime. A reload with the same user reuses the credential already saved and must not call `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Only on login, logout, and user change. // Do not call it on reload with the same user: it calls reset() and drops the session already in progress. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("Widget restore is unavailable"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Unexpected restore response"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Support chat: restore failed.", error); } } ``` The loop copies only fields that are present and non-empty. An email `""` or a numeric ID must not be sent. ### JavaScript API | Method | Use | | --- | --- | | `init(profile)` | Provides or replaces the current profile. The loader does not merge fields into a previous profile | | `open()` / `close()` / `toggle()` | Opens, closes, or toggles the floating widget. Closing is not a logout. In embedded mode they have no effect | | `isReady()` | Visitor session initialization succeeded. Stays false during the contact form | | `hasSessionError()` | Session error reported by the iframe | | `reset()` | Clears profile, local session, saved guest credential, and unread counter | | `dispose()` | Unmounts the interface and listeners. Does not clear the saved guest credential or the global API object | You can connect a site button to `window.Quoting24Widget?.open()` when the floating button has appeared. Do not wait for `isReady()` to let a new guest open the form. There is no public availability event. These indicators do not describe the whole network state. A resolved `loadWidget()` does not mean that branding and session are ready. ### Full unmount If you must remove the widget, run `dispose()`. If unmount coincides with logout, run `reset()` first. Before loading the script again, delete the global and reset the loader Promise. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` is the one defined in the loader module. Run the unmount after the script load has finished. Do not run it concurrently with a new `loadWidget()`. For authentication changes use `applyWidgetIdentity()` or `applyWidgetAuth()`, which wait for the loader. The local reset does not revoke `restore_id` on the server. --- ## 6. Authenticated restore {#provisioning-da-backend} The guest session reads its most recent conversation even after it is closed. The conversations visible for the same person on another browser require `external_user_id` and `restore_id` together. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` Restore does not merge old guest sessions and does not share history among colleagues of the same company. ### Endpoint on the site backend Example to implement in the portal, not a Quoting24 URL. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Set `Cache-Control: no-store`. Identity and company come only from the server session. Apply the application’s auth and CSRF. Do not log bodies that contain the credential. If the portal already exposes an authenticated endpoint that returns the current user’s `restore_id` for this widget, use that response and combine it with the person ID and the company reference. ### Server-to-server provisioning Typical path: `/fastify/trpc/widget.provisionRestoreId` (or `/trpc/widget.provisionRestoreId` if the backend is exposed directly). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Generated values start with `q24-restore-v1:`. Do not invent them and do not derive them from public IDs. | Input | Requirement | | --- | --- | | `widget_api_key` | Mandatory UUID, authorized for the secret | | `external_user_id` | Stable person ID, equal to the one in `init()` | | `attempt_id` | Strictly increasing positive integer, as a decimal string, maximum `9223372036854775807` | | `saved_restore_id` | Credential already saved. Omit it on the first provisioning | | `external_id`, `name`, `email`, `phone` | Optional, with the same limits as `init()` | **Ensure** pattern, retrieve or create: 1. Authenticate the user and take a lock on the restore row, in a transaction 2. Allocate a new `attempt_id` from a sequence **after** the lock (`CACHE 1`, not cyclic; the sequence survives rollback) 3. Call Quoting24 with `attempt_id` and, if present, `saved_restore_id` 4. Save `result.data.restore_id` and commit 5. Only after the commit, return the credential to the browser A valid `saved_restore_id` must be **reused**. Omitting it when a valid key already exists replaces the key and invalidates restored sessions. Do not generate a new key on every page view. If remote provisioning succeeds and the local save fails, return an error. Do not return the unsaved key. Use limited timeouts. `company_name` is sent in `init()`. The provisioning body above does not include it: company association and creation, described in [section 4](#associare-o-creare-lazienda), happen when the browser initializes the session. The email of public initialization is written only on a new company. ### Outcome on the widget Quoting24 checks the credential and loads the widget history visible for that user. Closed chats can appear as a previous conversation: reading them does not reopen the old conversation; sending stays on the current conversation. A credential that is invalid, belongs to another user, or has been revoked is rejected, with no automatic conversion to a guest session. The widget’s «Riprova» button does not by itself request a new `restore_id`. The current interface is in Italian. --- ## 7. Page, network, and appearance - **One instance per page** - **CSP.** Allow the widget origin in `script-src` and `frame-src`, and the API origin indicated for the installation in `connect-src` (loading visual settings). Allow configured images in `img-src`. The loader inserts inline styles and does not expose a public nonce option: check the site CSP. The page CSS does not modify the inside of the cross-origin iframe - **Iframe connections.** It must reach the API, Realtime/WebSocket, and storage of its own installation. For network filters, use the environment’s actual hosts - **Appearance and language.** Logo, color, position, and messages are configured in Quoting24. `company_name` is the customer’s legal name. There is no public `language` or `locale` parameter; the current interface is in Italian - **Mobile.** The floating chat can fill the viewport. In embedded mode the site controls height and width - **Attachments and hours.** PDF, DOC/DOCX, JPG/JPEG, and PNG. Up to 10 MiB per file and 100 MiB of referenced attachments per conversation. Outside working hours the widget shows the banner and leaves composition available --- ## 8. Verify the integration {#verificare-lintegrazione} Use a test account and a test channel. Check the registry in Quoting24, as well as the chat. | Test | Expected result | | --- | --- | | New browser, script only | Contact form, then conversation | | Full payload with `external_id` already present as `web_code` | Contact associated with the existing company; company name and email unchanged | | Full payload with a new code | Company created with web code, legal name, and email; contact associated | | New code and name, without `company_name` | Chat started, no company created | | New code only | Contact form | | Legal name and name only | No company searched or created by name | | Empty email, numeric ID, or legal name too long | Payload rejected | | Second `init()` in the same session | Continues the guest session. Email and phone do not recover another person’s chat | | Reload, SPA navigation, mobile | One instance; guest continuity if storage is available; usable layout | | Logout or account change during loading | Previous session cleared; late results do not restore the old profile | | Same authenticated user, another browser, valid `restore_id` | That person’s history | | Two users of the same company | Distinct credentials and histories | | Guest, then restore | `reset()` in between; sessions are not merged | | Invalid or revoked credential | Error, with no automatic guest fallback | | Previous conversations | Read only; sending stays on the current one | | Unauthorized domain | Access rejected | | Network interrupted | Reconnection; draft kept if sending fails | --- ## Troubleshooting {#risoluzione-dei-problemi} | Symptom | Check | | --- | --- | | The button does not appear | URL, key, channel enabled, domains, CSP, `widget.getBranding` request. The JavaScript global alone does not prove that the button exists. `open()` has no effect until branding has loaded, and it has no effect in embedded mode | | `Quoting24Widget` is undefined | Wait for the load. Check the `key` parameter | | The embedded chat is invisible | Container before the loader, correct ID, height greater than zero | | `Domain not allowed` | Host name of the site, without scheme, port, and path. Also check staging. The page must be served over HTTP | | Phone form despite the profile | Async order, snake_case, empty values, a previous `reset()`, profile insufficient for a new guest | | The company is not found | Compare `external_id` with `web_code` in the same organization, including spaces and leading zeros | | The missing company is not created | Both `external_id` and `company_name` must be non-empty. Check validation and the creation limit | | Company name or email does not change | Expected: `init()` creates missing companies and does not update existing ones | | The email does not appear on the contact | Expected for public initialization: the email is used only when the company is created | | `TOO_MANY_REQUESTS` | Wait and retry. Avoid repeated calls or bulk imports through the widget | | History is missing on another device | The company payload does not restore it. `external_user_id` and `restore_id` are required | | Restored sessions invalidated | Ensure calls must send `saved_restore_id` again. Do not issue a new key on every page view | | «Riprova» is not enough | A new `restore_id` from your endpoint, then `reset()` and `init()` | | The old chat remains after an account change | `reset()` immediately on identity change. Discard previous async responses | | After `dispose()` the script does not recreate the widget | Delete the global and the script, reset the loader Promise, then load again | | The interface stays in Italian | No public `language` or `locale` option on the loader | --- ## Implementation references - Loader and JavaScript API: `@frontend/src/public/widget/script.ts` - Initialization, company association, and implicit creation: `@backend/fastify/routes/widget/initialize.ts` - Initialization and company tests: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Domain and channel: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - `restore_id` provisioning: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Contacts URL: https://wiki.quoting24.com/en/content/contacts/ Language: en Updated: 2026-11-04 # Contacts The **“Contacts”** section is available in the menu at the top right. This page shows the list of **contacts managed in Quoting24** starting from the connection of the WhatsApp channel. Contacts screen --- ## Page navigation ### Contact search At the top left there is a **search field** that allows you to quickly find a contact: - by entering the **name** - or the **phone number** ### Main actions At the top right there are the following buttons: - **Reload** Allows you to perform a **manual update** of contact data between the WhatsApp channel and Quoting24. - **Import/Export** Opens the dialog to **download an Excel template**, **export** contacts, or **import** a file. Details in the section [Import/Export contacts via Excel](#importexport-contacts-via-excel). - **+ Add** Allows you to create a **new contact**. A screen will open where you can enter: - name - phone number - company After filling in the fields, you can **save the contact**. Add user screen --- ## Assigning a company to a contact From the contact list, you can quickly assign a company to a contact by clicking **“+ Assign company”**. Add company and user screen The list of **companies saved** on your Quoting24 account\* will be shown. To assign the company to the contact, simply click **“Select”**. Select company screen > *By **account** we mean the **phone number**: > each phone number associated with Quoting24 has its own **contacts**, **companies** and **[delivery shifts](delivery_shifts.md)**.* --- ## Assigning a company to a contact (second method) Unassigned user When a customer has not yet been assigned to any [**Company**](companies.md) or has not been labeled as a **Private individual**, you need to click the circled element to open the next window. Assign company At this point there are 3 cases: - The contact is a **Private individual**, therefore not belonging to a specific company; in this case the assignment will be made using the ***Assign as private individual*** button - The contact **belongs to a company among those exported**; in this case, simply select the company corresponding to the customer - The contact **belongs to a company not among those exported**; in this case, simply press the ***New company*** button and assign it to the customer Assigned user After assigning the user to the company, the ticket list preview shows the **company code** (without `#`) in the tag next to the name. If the customer was marked as **Private individual**, the *Private* label is shown. In the **ticket list**, to the right of the name, the single tag also shows the contact **priority** and takes its color from the **type** (company or personal). Details in [Main screen](main_screen.md#preview-and-indicators-in-the-list). --- ## Open new request From Contacts you can start a conversation without using the home **+**. * in the **contacts list**, each row has **Open new request** * in the **contact detail** you find the same button at the top This opens a new request to that contact, using the same [ticket management](gestione_ticket.md) rules as the home screen. --- ## Contact priority Each contact can have its own **priority**: **High**, **Medium** or **Low**. Behavior: * if the contact has a company and no contact priority is set, Quoting24 uses the **company** priority (*Inherited from company*) * you can set a priority on a contact **without a company** * you can **override** the inherited priority without changing the company priority Priority can be managed: * from the create / edit contact form * from the ticket **Information** tab * from contacts Excel import when the column is present In the ticket list, the priority icon appears in the tag next to the name. --- ## Contact type **Type** (e.g. customer, supplier, collaborator) works differently from priority: * contact **without a company** → you can assign a personal type * contact **with a company** → the type is **always the company type**, not editable on the contact; change it on the company In the ticket **Information** tab, if the type is inherited you see *Inherited from company*. The effective type colors the tag in the ticket list and can be used as the **Company type** filter in the home funnel. --- ## Contact name synchronization Quoting24 is the **main reference** for contact names. This means that, when a contact already has a name saved in Quoting24, that name is considered correct and is **no longer overwritten** by automatic updates from the WhatsApp channel. Contact synchronization can happen at different times, for example: - when a manual synchronization is started - when a message arrives from a new number - during other automatic contact update processes When an update arrives from WhatsApp, Quoting24 applies this logic: - if the contact **does not exist yet** in Quoting24, it is created using the phone number and the name available from the WhatsApp channel - if the contact **already exists**, only missing data is completed - the **name** is updated only if it is still empty in Quoting24 - if the contact already has a name in Quoting24, automatic updates do not change it In practice, synchronization is used to **fill missing data**, not to overwrite information already corrected by operators in Quoting24. This setting prevents names manually corrected by operators from being lost after a new WhatsApp update and keeps the data managed in Quoting24 consistent. --- ## Contact notices You can configure **contact notices**, meaning important notes that are shown above the chat when you open a conversation with that contact. Notices are useful for highlighting information that the operator needs to see immediately, for example: - specific commercial instructions - conditions agreed with the customer - operational precautions to follow - important notes entered by colleagues --- ## Import/Export contacts via Excel From the contacts list you can open the **Import/Export** dialog to: - **download an Excel template** with the correct column structure - **export** all tenant contacts, or **only the selected ones** - **import** an Excel file and save the changes after preview ### Export Export downloads the tenant contacts (including **company** and **location** references) and generates an **`.xlsx`** file. You can export: - **all** contacts - or **only the contacts selected** in the list The exported file also includes the **`id`** column: it is the Quoting24 contact identifier and should be kept if you want to update the same contacts in a later import. ### Import To import contacts: 1. open the **Import/Export** dialog from the contacts list 2. upload the Excel file (you can start from the downloadable template or from a previous export) 3. check the **table preview** 4. save to start the import The backend performs an **upsert in batches of 500** rows. #### How each contact is matched For each row in the file this logic applies: 1. if the **`id`** column is filled and the id already exists **in the current tenant** → **update** that contact 2. if there is no `id` (or it does not match in the tenant) → search by **phone** (including normalized form): if found → **update** the existing contact, **without creating a new one** 3. only if there is no match by `id` or by phone → **create** a new contact 4. if the `id` exists but belongs to **another tenant** → it is treated as a new contact (a new one is generated) #### Required fields and rules - **`name`** and **`phone`** are **required** - phone numbers **without** a `+` or `00` prefix → Quoting24 assumes the **`+39`** prefix - **`company_id`** and **`location_id`** are applied **only if valid and consistent with each other**; otherwise they are **ignored** --- ## Available actions on contacts Inside the contacts screen, besides **Open new request**, you will find: - **Trash can** → deletes the contact - **Pencil** → edits the contact - **Red arrow** → opens the contact's **request history** Contact icons screen --- # Companies URL: https://wiki.quoting24.com/en/content/companies/ Language: en Updated: 2026-11-04 # Companies The **“Companies”** section is also available in the menu at the top right. This page shows the list of **companies present on your Quoting24 account\***. Unlike **contacts** (which are created or updated from the WhatsApp channel and by operators), **companies** are created by the operator, manually or from Excel, or by the **Widget channel** when the site sends `external_id` together with `company_name`. > *By **account** we mean the **phone number**: > each phone number associated with Quoting24 has its own **[contacts](contacts.md)**, **companies** and **[delivery shifts](delivery_shifts.md)**.* --- ## Creating new companies Two **methods** are available for creating new companies, accessible through the buttons at the **top right** of the screen: - **Import from Excel file** Allows you to upload multiple companies at the same time through a structured Excel file. - **Manual add and edit** (`+ Add`) Allows you to enter a single company by filling out the form manually. Both methods allow complete and independent management of the companies associated with your Quoting24 account. Company list screen --- Using the **“+ Add”** button, you can create a new company by filling out the dedicated form. Add companies screen This same screen also allows you to edit existing companies (by clicking the pen icon). --- ## Importing companies through Excel To import multiple companies at the same time through an Excel file: 1. click the **“Import/Export excel”** button 2. on the next screen, click the red **“Import”** button 3. upload the Excel file from your computer It is also possible to **download a sample file** to check the correct formatting to use in the file to upload. Excel company add screen During the company import phase through Excel, it is **recommended to enter notes** inside the file, so as to make it easier to associate [delivery shifts](delivery_shifts.md). --- ## Company priority and type On a company you can set: * a **priority** (High, Medium, Low) * a **type** (customer, supplier, collaborator, …) These values affect linked contacts: * company **priority** is inherited by contacts without their own priority; the contact can still override it * company **type** is inherited by contacts and **cannot be changed** on the contact while a company is assigned In the ticket list, the tag color next to the name reflects the effective type (company or, for contacts without a company, the personal type). Company priority and type can also be edited from the ticket **Information** tab, in the company section at the bottom. Contact details: [Contacts → Priority](contacts.md#contact-priority) and [Contacts → Type](contacts.md#contact-type). --- ## Web code (`web_code`) {#codice-web-web_code} `web_code` is the reference the widget uses to recognize the company. The site sends the same value in the public field `external_id`. The widget payload has no `web_code` field. If you load the registry before connecting the site, write in `web_code` **the same value** the site will send in `external_id`. Do not use the Quoting24 internal UUID or the ERP code `companies.code`. | Situation | Result | | --- | --- | | `web_code` equals `external_id` | The widget contact is linked. The company name and email stay as already saved | | No match, and the site also sends `company_name` | Quoting24 creates the company (`name`, `web_code`, email if present) and links the contact | | Several companies with the same `web_code` | Public initialization uses the first one, by ascending creation date | `"052"` and `"52"` are different codes. Spaces inside `external_id` are not removed. `web_code` has no uniqueness constraint: avoid duplicates, because two simultaneous creations can produce them. The link made by the widget does not update a company that already exists and does not open the history of the other contacts. Full contract: [Widget technical integration](widget_tecnico.md#associare-o-creare-lazienda). --- ## Company notes Companies can have operational notes linked to their registry data. These notes help operators quickly retrieve useful information while managing a ticket, for example commercial instructions, internal references or specific working conditions. When working on a ticket, company notes can be quickly viewed and edited from the request **Information** tab (company section at the bottom). --- # AI overview URL: https://wiki.quoting24.com/en/content/ai/ Language: en Updated: 2026-11-04 # AI overview **AI** is the Quoting24 module that **reads and interprets the full conversation** of a ticket and updates the **right-hand panel** (vehicles and spare parts) accordingly. It no longer only “understands” one message at a time: it takes into account the **chat history**, the **flow** of the conversation and the **current state** of the vehicles/parts section. This way parts end up under the right vehicle even when the customer: * writes the parts **first** and the plate **later** * sends the **registration booklet photo** after the parts list * replies by **quoting** a previous message * talks about **more than one car** in the same ticket This guide describes **AI recognition** of the conversation. Where it helps to distinguish it from the in-chat conversational assistant (**AI Premium**), we say so clearly. --- ## How messages are processed **Nearby** messages are processed **together**, not one by one. * Quoting24 waits about **15 seconds** to group consecutive customer messages. * If the operator **opens the ticket**, processing starts **immediately**. * The message group produces **one summary box** in the chat. This lets the AI see the full context of that conversation “block” and update vehicles and parts consistently. --- ## AI tab on the right The right section includes an **AI tab**, visible in the ticket right-hand section. * while the AI is processing the ticket, a **spinner** appears * clicking it reminds you that the **in-chat assistant** belongs to **AI Premium** (a different product) --- ## Summary | Goal | What AI does | |---|---| | Understand the chat | Reads the **whole ticket**, not just the last message | | Fill the right panel | Creates/updates **vehicles** and **parts** automatically | | Multimedia | Interprets **photos**, **PDFs** and **voice messages** | | Stay in control | Lets you **correct** errors and jump to searches | | Respect the operator | Never overwrites **manual** edits on the right | --- ## Further reading | Section | Content | | --- | --- | | [Recognition](ai_riconoscimento.md) | Vehicles, parts, labels, internal notes, glossary and automatic searches | | [Photos, PDFs and voice messages](ai_media.md) | Media reading and the “AI readings” panel | | [AI panel and corrections](ai_riquadro.md) | Chat box, clicks, Correct and display modes | | [Automations](automations.md) | Plate → VIN conversion, tree and automatic parts search | --- # Recognition URL: https://wiki.quoting24.com/en/content/ai_riconoscimento/ Language: en Updated: 2026-11-04 # Recognition The AI can recognize and structure data from the conversation and update the right-hand panel of the ticket. For how it works in general, see [AI overview](ai.md). --- ## What it recognizes ### Vehicles * license plate * VIN (chassis) * make and model * year * engine code * other typical **registration booklet** data ### Spare parts * part name **normalized in Italian**, even if the customer writes in another language or with abbreviations (e.g. `f olio`, `pf`, `fab`) * **codes**: OE, aftermarket, EAN * **position** and **quantity** ### “Plate only” or “code only” messages A message with **only a plate** or **only a code** is never treated as empty: * the **plate** creates or completes the vehicle * the **code** completes a pending request or creates a new one --- ## Labels on each spare part Each row in the box can show the information the customer gave **for that specific part**: * **Quote** / **Order** * position * quantity * condition (new, used, remanufactured) * quality (original, equivalent) * preferred brands (★) * crossed-out exclusions (e.g. “not Brembo”) * deadline (e.g. “by Friday”, “for tomorrow”) * **Urgent** * issues and **diagnostic codes** (e.g. `P0401`) * delivery or pickup (e.g. “I’ll come by”) Labels apply **only** to the part the customer refers to: they are **not** copied automatically onto other parts. Details on the box: [AI panel and corrections](ai_riquadro.md). --- ## Behavior with undecided or distracted customers The AI **updates**, **moves** and **removes** vehicles and parts on the right by itself, following the conversation. Typical examples: * a part written **before** the plate is **moved** onto the right vehicle when the plate arrives * “I no longer need the air filter” **deletes only** that filter * “not Brembo” becomes an **exclusion** * if the customer **edits or deletes** a WhatsApp message, the right panel **follows** * a code sent later **completes** a request without a code * a nameless request (bare code, label, photo) and the name given **in another message**, even days later, become **one request** * several photos of the **same part** → one request * “discs and pads” → **two** requests; “timing kit” → **one** request * if it is unclear which car is meant, the part stays under **“No vehicle”** with a **warning**, without guessing ### What is never overwritten * what the **operator edits by hand** on the right is **never** overwritten by the AI * a **deleted tab** returns only if **new parts** arrive for that vehicle * parts **discarded** by the operator stay discarded --- ## Internal notes and replies to the customer ### Internal notes An **internal note** is an **order** for the AI: * it is applied **immediately** (vehicle, parts, codes, deletions) * it gets **its own box** ### Replies sent to the customer A **reply to the customer** is only a **proposal**: * it **does not** change vehicles/parts until the customer confirms (e.g. “ok”, “send”, quotes the reply or names the part) * the box under the confirmation **links back** to the original reply * “Ok send” after a price can set the **Order** label --- ## Replies to previous requests If the customer replies by **quoting** a message from a **previous ticket**: * the AI processes it in **that** ticket * in the currently open ticket only the link **“Processed in another request”** with **“Go to request”** appears --- ## Automatic searches Searches follow the rules in **Settings → Automations** (plate → VIN conversion, tree loading, parts search). Details in [Automations](automations.md#automazioni-disponibili). Behavior with AI: * each request decides **on its own** when to search * **codes** search immediately by code * **no duplicate search** for the same text * requests **without name and without code** do not generate searches * a **verified** plate enriches the vehicle (make, model, VIN, engine code) and the AI takes that into account --- ## Parts specialist glossary The **parts specialist glossary** holds typical customer phrases and abbreviations, with the meaning valid for the **room**. Example: “three filters” = oil filter, engine air filter, cabin filter. * the AI uses it as a **dictionary** * it does **not** rewrite the customer’s message * it replaces the old **“disambiguations”** * it is configured from the **Qricambi backoffice** --- ## From the vehicle tab to the message On the right, clicking again the **already selected** vehicle tab scrolls the chat to the message from which the AI read that vehicle. Useful to quickly check the source of the recognition. For photos, PDFs and voice messages see [Photos, PDFs and voice messages](ai_media.md). --- # Photos, PDFs and voice messages URL: https://wiki.quoting24.com/en/content/ai_media/ Language: en Updated: 2026-11-04 # Photos, PDFs and voice messages The AI also interprets **media** in the conversation, not only text. For how it works in general, see [AI overview](ai.md); for what is structured into vehicles and parts, see [Recognition](ai_riconoscimento.md). --- ## Photos Images are **read** and the data enter the conversation as if they were text. Typical recognized content: * plates * registration booklets * labels and packaging * catalog or diagnosis screenshots * documents * photographed components **Photo and caption** are treated as **one message**. If a photo is still **uploading**, the AI **waits** until it is ready before processing later messages. --- ## PDFs PDFs (quotes, invoices, delivery notes, parts lists, scanned booklets) are read **page by page**: * one **line per spare part** * vehicle with **plate** and **VIN** when present * **without** prices and **without** personal data --- ## Voice messages Voice messages are **transcribed** and interpreted as text. Plates and codes spoken aloud are **reconstructed**. --- ## Cautious reading Reading is more careful than before: * **partial** plates * VINs **inconsistent** with the make are not accepted silently: they are flagged as **“Uncertain reading”**. --- ## “AI readings” in the viewer Opening a **photo** or **PDF** full screen shows the **“AI readings”** panel. It shows: * what the AI read in that file * what the request currently contains * the **pencil** to correct plate, VIN or code from there * **uncertain readings** * how many PDF **pages** were read * any **unread files** Correction from here follows the same rules described in [AI panel and corrections](ai_riquadro.md#correggi-lai-non-ripete-lerrore). The toggles for voice transcription, image reading and text recognition are in **Settings → Artificial intelligence → AI recognition** (see also [Display modes](ai_riquadro.md#modalità-di-visualizzazione)). --- # AI panel and corrections URL: https://wiki.quoting24.com/en/content/ai_riquadro/ Language: en Updated: 2026-11-04 # AI panel and corrections For every processed message group, a **box** appears under the last message of the group. For how messages are grouped, see [AI overview](ai.md#how-messages-are-processed). --- ## The AI box in chat ### Header and linked messages * header like **“AI summary of N messages”** * hovering the box **highlights** the summarized messages ### Only what changed The box shows **what changed** with those messages, not the full history: * **New** * **Updated** * **Moved** * **Removed** The changed detail is **colored** so you can spot it immediately. ### How parts are organized * parts are grouped **by vehicle** * or under **“No vehicle”** if it is not yet clear which car they belong to * beyond **three rows** per vehicle, **“Show N more components”** appears * extra codes may sit behind **“+N”** * a truncated VIN is shown **in full** on hover ### Arrows and warnings * **↑** arrows jump to the message that indicated the vehicle or to the previous request * **warnings** (triangle) flag AI doubts, for example: * uncertain association * remaining ambiguity * ambiguous abbreviation * conflict between sources * logical inconsistency --- ## Left click: from chat to the right panel A **left click** on the box (or its parts) is for **navigation**, not for launching searches: * click a **component** → opens the right vehicle tab and the matching search **flashes** * click a **code** → highlights that code’s search * click a **plate** or **VIN** → opens that vehicle’s tab (if the tab had been deleted, it is **recreated**) Left click **does not start searches** and **does not consume credits**. --- ## Right click on black pills On plate, VIN and code (black pills), **right click** opens a menu with: * **Search plate** — plate → VIN conversion * **Search VIN** — tree / structure from the VIN * **Search code** — new code search * **Correct** — fix a value misread by the AI --- ## Correct: the AI does not repeat the mistake {#correggi-lai-non-ripete-lerrore} If the AI misreads a **plate**, **VIN** or **code**: 1. right click → **Correct** 2. enter the right value Quoting24 replaces the value **everywhere**: * in **all boxes** in the chat * in the **searches** on the right * in the AI’s **memory** From then on the old value is treated as an **error**, even if a new photo or message repeats it. Other important rules: * if the corrected value matches an existing vehicle, the two are **merged** * correcting a plate **clears** data found with the old plate (VIN, make, model) and **restarts** the search if [automations](automations.md) are active * the **spare parts search** permission is required You can also correct from the **“AI readings”** panel by opening a photo or PDF: see [Photos, PDFs and voice messages](ai_media.md#ai-readings-in-the-viewer). --- ## Display modes {#modalità-di-visualizzazione} In **Settings → Artificial intelligence → AI recognition** you can choose how boxes appear in chat. The three toggles were also moved there: * **voice** transcription * reading in **images** * recognition in **text messages** ### Full Shows the **full box**. ### Plate, VIN and codes only Shows a **compact pill** with: * plate or VIN (only when the message added or updated the vehicle) * the **codes** strip * a **handle** to open the full box for that message This is the mode closest to the previous display. ### Hidden No boxes in chat. ### “AI” button in chat In **all** modes, every message linked to a box has an **“AI”** button: * shows or hides **all** boxes in the open chat * the choice is **not saved** (it only applies to the current view) Left click, right click and **Correct** also work on the compact pill. --- # Automations URL: https://wiki.quoting24.com/en/content/automations/ Language: en Updated: 2026-11-04 # Automations Automations **Automation rules** allow you to activate automatic activities that work on searches and can be **enabled or disabled as needed**. These automations allow you to work in a **more direct and faster** way: as soon as a quote request is received, the system automatically starts searching, *behind the scenes*, for: - license plates - VINs - spare parts --- ## Credit warning > **PLEASE NOTE** > Active automations **automatically consume the [credits](credits.md)** of your account. > It is therefore important to take this cost component into account. > > For more details, see the **“[Credits](credits.md)”** section. --- ## Available automations {#automazioni-disponibili} The automations that can be **enabled or disabled** are the following: - **Automatic license plate → VIN conversion** As soon as a license plate is recognized, it is automatically converted into a **VIN**. - **Automatic tree loading** As soon as a VIN is available, the VIN search is performed and the **tree with exploded views** is automatically loaded. - **Automatic spare parts search** Automatically starts the search for parts (for example *air filter*) within the VIN exploded views. --- ## Consumption control If the activity needs to limit credit usage, administrators can combine automations with the blocking settings described on the [Credits](credits.md) page. This makes it possible to prevent license plate-to-VIN conversion or VIN search from running when they should not consume credits. --- # Integration with Qricambi URL: https://wiki.quoting24.com/en/content/qricambi_integration/ Language: en Updated: 2026-11-04 # Integration with Qricambi From this section you can **enable or disable** the **automatic code search on Qricambi**. Qricambi integration When you search for a code on Qricambi from Quoting24 and Qricambi is already open in another browser tab, the search is performed in the already open tab instead of opening a new one. This keeps the work more organized and reduces the number of open tabs while managing requests. --- ## Supplier types ### Internal suppliers **Internal suppliers** means the ['Lists'](https://qricambi.com/liste/) of Qricambi. These are **Excel files** that contain, for example: - stock levels in your warehouse - custom price lists --- ### External suppliers **External suppliers** means the **e-commerce sites of your suppliers**, on which you can perform automatic code searches directly from Quoting24. --- ## Supplier selection and Groups flag In **Settings → Qricambi**, in the supplier selection used for search, the **Groups** flag is available. When **Groups** is enabled: * the **supplier groups** from the linked Qricambi account appear * you can **add suppliers in bulk** by selecting a group, without picking them one by one --- ## Text search in results When Quoting24 shows Qricambi results or connected supplier results, you can perform a **text search** within the results. Search helps you identify more quickly: - product code - brand - description - supplier --- ## List prices Search results can also show the **list price**, when available. The list price is shown alongside the operational information already present, such as net price, availability and supplier, and helps the operator better evaluate the result before inserting it into the quoting flow. --- # Search with Extension URL: https://wiki.quoting24.com/en/content/search_with_extension/ Language: en Updated: 2026-11-04 # Search with Extension ## Using the extension to search on Eper and Partslink By installing the Qricambi extension (Qricambi Assistant), you can search for VINs not found on the Partslink platform or on the Eper platform. [Click here to install Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Click here to install Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Usage guide Search on E and on P screen ### Search on P To search for a vehicle spare part when you have the VIN on Quoting24, by pressing the "Search on P" button, the VIN will be sent to Partslink24, which will automatically select the vehicle brand, search for the VIN and finally search for the component. When a Partslink tab is already open, the search does not open a new tab: Quoting24 uses the existing tab and sends the new search there. The path used for codes searched on Partslink is saved, making it easier to resume or reconstruct the search context. After identifying the product code by opening the exploded views, you will see three new icons below it, each with a specific function. Starting from the left: * **White icon with the "Q"**: transfers the selected code to the Qricambi "prices and availability" search; * **Red icon**: sends the code to Quoting24; * **White icon with "24"**: sends the code to Quoting24, but closes the Partslink tab (not recommended if you want to perform other searches). ### Search on E To search for a vehicle spare part when you have the VIN on Quoting24, by pressing the "Search on E" button, the VIN will be sent to Eper, which will search for the VIN itself and finally the vehicle component. Screenshot On Eper too, as on Partslink, you can use the features of the three icons described above (after selecting the correct code). --- # Credits URL: https://wiki.quoting24.com/en/content/credits/ Language: en Updated: 2026-11-04 # Credits **Credits** are used to perform the following activities on Quoting24: 1. **License plate → VIN conversion** 2. **Search for components inside the VIN**, through opening exploded views Credit usage screen --- ## Operation cost The credit cost of these operations is visible inside the application [Qricambi](https://app.qricambi.com/), in the **“Credits”** section (red button at the top right -> Credits). Using features that consume credits has **the same cost** on both **Qricambi** and **Quoting24**. --- ## Blocking credit usage on vehicles In the vehicle section, settings are available that allow you to block credit usage on Quoting24. The main options are: - **Block license plate → VIN transcoding** Prevents the use of credits to automatically convert a license plate into a VIN. - **Block VIN search** Prevents the use of credits to perform the VIN search and access the linked information. These settings are useful when you want to avoid unintended credit consumption by operators or limit some automatic searches. --- ## Qricambi ↔ Quoting24 credit usage Below is some general information about Quoting24 credits: - The credits of the **Quoting24** account are **shared** with your **Qricambi** account The number of available credits is visible: - in the **top-right corner** of the application View credits Credit purchases are managed **directly by Qricambi** - clicking the credit counter opens the [dedicated page](https://app.qricambi.com/youraccount/BuyCredits) --- # Send quote to management software URL: https://wiki.quoting24.com/en/content/invia_preventivo_gestionale/ Language: en Updated: 2026-11-04 # Send quote to management software Send to management software This feature represents the heart of the integration between Quoting24 and the outside world. The goal is simple: **allow Quoting24 to “talk” with any management software (ERP)** present in the company. Whether you use well-known management software or one developed specifically for you, Quoting24 is designed to be **universally compatible**. The process is divided into two steps: 1. **Sending the semi-finished quote from Quoting24 to the management software** 2. **Sending the finalized quote from the management software to the customer** --- ## 1. Sending the semi-finished quote from Quoting24 to the management software This section explains how to connect Quoting24 to any external management software for automatic quote creation. The logical data flow always starts from the **Ticket (Chat)** and follows this structure: `Ticket` → `Vehicle` → `Search ("Spare part")` → `"Right" code (OE code)` → `Selected products` When an operator decides to create a quote, Quoting24 sends a “call” (request) to your management software, to a customized address specific to your company. Quote in progress What happens in this phase: - **Customer matching**: The system tries to recognize the customer by sending the correct **company code** to the management software (or any other fields such as VAT number or phone number). - **Request adaptation**: The data collected in chat (license plate, spare part codes, descriptions) is “translated” into the format that your management software expects. Customizing the call must be requested from Quoting24 customer support. - **Reference saving**: Quoting24 stores the ID or address of the quote that has just been created in the management software, so it can be retrieved in the future. In short: **Quoting24 fills in the quote draft directly in your system for you.** ## 2. Sending the finalized quote from the management software to the customer Once the quote is ready or confirmed in your management software, you can send a return notification to Quoting24 (to our dedicated API address), passing the quote in PDF format and the reference to the quote ID or source ticket. Confirmed quote After Quoting24 receives the quote from the management software, we are in this phase, where the quote is completed and we can perform actions: - with the **Arrow** we can open the quote in the management software - with the **Eye** we can view the quote - with the **Download arrow** we can download the quote in **PDF** format - with the **Send arrow** we can send the quote to the customer It is possible to make the quote be sent directly to the customer through WhatsApp, using a call parameter, without any confirmation step inside Quoting24 (without having to click the send icon). When using the official WhatsApp APIs, it is also possible to send an acceptance button together with the PDF attachment and, if this button is pressed, the quote is automatically sent to the management software as accepted. ### Quote file name The name of the quote PDF file is generated by including, when available, useful information for recognizing the document, such as: - license plate - VIN - quote number This makes it easier to identify the file after download or when it is sent to the customer. Quote file name with license plate VIN and number --- ## INTEGRATION EXAMPLE: Qricambi Quotes For those who use **Qricambi**, integration with the management software can be easily reproduced using Qricambi Quotes as an example management platform. ### Quote request Qricambi quotes The system automatically creates the quote on Qricambi following intelligent logic: - **Customer recognition**: If the Quoting24 contact matches a Qricambi customer (customer code matching), the quote is addressed to that customer. Otherwise, the generic information of the Quoting24 operator is used. - **Transmitted data**: License plate/VIN, Vehicle, Link to the source ticket and the User performing the operation are sent automatically. **How are the quote rows filled in?** The system can handle different cases so no information is lost: 1. **Selected rows**: If you selected spare parts from the Qricambi search, they are inserted with all details (code, price, etc.). Product 2. **From Search (OE Code)**: If you did not select specific rows or did not find results on Qricambi, but you have an original code (OE) from the VIN, the system creates a row with that code and the note "FROM SEARCH". No results 3. **Generic description**: If there is no VIN or technical search, but only a text request (e.g. "right mirror"), an empty row is created containing only the description of the requested part. No search ### Receiving the quote Once the quote has been processed and completed inside Qricambi: - Simply click the **"Send to Quoting24"** button. - The system immediately sends the **PDF** to the chat. - The quote is marked as **completed**. The operator can then view the PDF, download it or send it directly to the customer on WhatsApp without ever leaving the workflow. --- # Write on WhatsApp through our APIs URL: https://wiki.quoting24.com/en/content/invia_whatsapp_api/ Language: en Updated: 2026-11-04 # Write on WhatsApp through our APIs This feature allows your management software or any other external software to **communicate directly with your customers on WhatsApp**, using Quoting24 as a bridge. In simple terms, thanks to this integration, you can **send messages and documents automatically**, without having to open the Quoting24 application and without having to manually copy and paste data. --- ## What can you do? Using this connection, your management system can perform three main actions at once: 1. **Send a text message** You can write any information to the customer: a notice that goods are ready, an order confirmation or a simple greeting. 2. **Send files and documents (PDF, images, etc.)** Together with the text, you can attach files. This is very useful, for example, to **send the PDF of a quote** or an invoice directly in the customer's WhatsApp chat. 3. **Automatically close the request (Ticket)** Often, when a quote or confirmation is sent, the operation can be considered complete. You can tell the system to **"archive" (close) the conversation immediately** after sending the message, so the list of open requests on Quoting24 stays clean without having to do it manually. --- ## Technical details for integration One endpoint is available to send messages to an **individual contact** through WhatsApp Business API. Authentication is performed through the `X-API-Key` header using your tenant's API key, available in the account settings. --- ### Send message to a contact **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Text message:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo e pronto." }, "auto_close_ticket": true }' ``` **Message with image or document (public URL):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **`message_content` parameters:** | Field | Type | Required | Description | | ---------------- | --------------------------------------------- | -------------------------------- | -------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | No, default `text` | Message type | | `text` | string | No | Message text or file caption | | `file.url` | URL string | Yes if `type` is not `text` | Public URL of the file to send | | `file.name` | string | Yes if `type` is not `text` | File name with extension, for example `preventivo.pdf` | | `file.mime_type` | string | Yes if `type` is not `text` | MIME type, for example `application/pdf` or `image/jpeg` | **Main parameters:** | Field | Description | | ------------------- | --------------------------------------------------------------------------- | | `tenant_id` | Your tenant ID, available from settings | | `phone_number` | Customer phone number with international prefix, for example `+39123456789` | | `channel` | `whatsapp-api` for WhatsApp Business API | | `auto_close_ticket` | `true` to automatically close the ticket after sending | --- > **Note:** the file to attach must be reachable through a public URL. If the file comes from management software or an internal system, make sure it is accessible from the internet before passing its link to the API. > **Operational note:** message sending follows Meta's rules. To start conversations outside the 24-hour customer service window, pre-approved templates may be required. --- # Point search for OE / AM codes in your management software URL: https://wiki.quoting24.com/en/content/management_research/ Language: en Updated: 2026-11-04 # Point search for OE / AM codes in your management software ## General overview By integrating your management software with Quoting24, you can return customized prices and availability in real time for the specific customer you are writing to when searching for codes. This lets you quickly retrieve the customer's **specific commercial conditions**. The goal is to allow Quoting24, once a product code has been identified, to automatically retrieve: - Availability and net price for the specific customer - Product metadata: descriptive information, brand, any active promotions and other related attributes. - The flow is designed to interface transparently with the ERP APIs of the Supplier's management system. --- ## Search parameters **From Quoting24 to the Supplier** ### Required parameters - **Authentication token** A unique token that uniquely identifies the Quoting24 servers. - **Search code** Preferably an **AM or OE code**. The search **should not be limited only to exact product codes**, but should also: - Search for alternative codes - Search external databases ⚠️ If this behavior **is not supported**, it must be communicated clearly. At minimum, the search must include product registry data and not only exact internal codes. --- ### Customer identification **At least one of the following must be provided** - **ID (as recorded in the Management Software)** of your customer's branch - **ID (as recorded in the Management Software)** of your customer's company - **Customer VAT number** - **Discount category ID** Used for: - Unregistered customers - Allowing the operator to dynamically change discount rules --- ### Optional parameters - **Operator ID** *(optional but recommended)* Used to track who generated the quote. - **Quantity** Can be included in the request if strictly required. Preferred approach: quantity management in the **response**, not in the request. - **Brand / Manufacturer** To allow more precise searches. - **Search mode** Optional parameter for exact point search or cross search (which also produces alternative product results). --- ## Response parameters **From the supplier to Quoting24** The response must contain a **list of products**, each with the following fields. ### Required fields (per product) - **Supplier product code** Internal order code, including prefixes, exactly as used in the Supplier's systems. - **Manufacturer** Manufacturer name (e.g. *LUK, Magneti Marelli, Brembo*). Can be structured in 2 fields: - Abbreviated version/pre-code (e.g. `MAR`) - Full name (e.g. `Magneti Marelli`) - **Net selling price to customer** - Net price (excluding VAT) - Shipping costs excluded - Shipping costs can be returned separately, if applicable - **Availability** Numeric value representing the quantity available in stock. - **Warehouse** Warehouse name, shelf or reference to the internal location. --- ### Optional fields - **Product description** Free text (e.g. *Brake pads*) and/or product category. - **Manufacturer identification code** Required when the ERP product code differs from the manufacturer's code. - **List price** Not necessary but reproducible if needed. - **Promotions** - Promotion present (binary) - Promotion text (optional) - If the text is empty → promotion not active - **Product image** - Image URL - Or Base64 image - **Product page URL** Link to the product detail page on the e-commerce site or external website. If direct linking is not possible: - Provide URL syntax rules - Or return a generic login page URL - **Quantity-based prices / Discounts** If quantity discounts exist, return the tiers in any **parsable format**, for example: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Profile URL: https://wiki.quoting24.com/en/content/profilo/ Language: en Updated: 2026-11-04 # Profile By clicking the **lines at the top right** in Quoting24 and accessing the section **Settings → Profile**, you can change some important aspects of the platform usage experience. Profile --- ## Profile customization In this section you can customize your profile by changing: - the **avatar**, by entering: - the custom initials of your name - an *artistic logo* - or by uploading an **image** Profile edit --- ## Nickname The **nickname**: - initially matches the **Qricambi login username** - is **required** - can be changed freely The nickname represents your **internal name** on Quoting24 and is what: - is displayed to colleagues - is used for **ticket assignments** Changing the nickname: - **does not change** the login username - **does not affect** the access credentials for Quoting24 and Qricambi --- ## Saving changes Save changes After customizing the profile settings, you must **save the changes** before leaving the page. Displaying the changes in chat may require: - saving the settings - a **refresh of the ticket page (F5)** --- ## Signature, header and automatic messages You can set a **personal signature** and an **automatic header**. For signature and header you choose when they are added to messages sent from Quoting24: * **Always** — they go on every message * **Only on the first message of the ticket and with Send and close** — they are added only to the first message of that ticket and when you send with **Send and close** (sends the message and closes the ticket) The signature is inserted **at the bottom** of the message. The header, similar to the signature, is inserted **before** the message. Signature You can also configure a **takeover message**, sent automatically when you click the assignment button of a ticket that has not yet been assigned. --- ## Sending without header or signature Even when header and signature are set to **always** or **only on the first message of the ticket and with Send and close**, you can send a single message **without header and without signature**. This option is useful when the message needs to be more direct, for example for short confirmations or operational replies that are already contextualized in the conversation. --- # Activities URL: https://wiki.quoting24.com/en/content/activities/ Language: en Updated: 2026-11-04 # Activities This section is visible **only to [administrators](user.md)**, not to **[members](user.md)** (users). By clicking the **lines at the top right** in Quoting24 and accessing the section **Settings → Activities**, you can manage some **fundamental options** of the platform usage experience. Activities --- ## Activity name You can change the **activity name** and set any name you want. Each **phone number** connected to Quoting24 has its own **activity name**, which allows users, during login, to easily distinguish **which “room”** they are going to work in. --- ## Internal comments From this section you can **enable or disable** **internal comments** in chats. Internal comments allow operators to: - communicate with colleagues - enter notes that are not visible to the customer --- ## Service communications The **Service communications** section lets you manage internal messages or notices related to the activity. These communications are used to inform operators about operating instructions, updates or important notes to keep in mind during daily work on Quoting24. Service communications --- ## AI data extraction Quoting24 can automatically extract useful information from: - images - voice messages - message text Full recognition settings (box display modes, voice transcription, image reading and text recognition) are in **Settings → Artificial intelligence → AI recognition**. All details on how **AI** works are in the dedicated guide: [AI](ai.md). From this activity section you can still **hide AI data extraction** in the operational interface. The setting is useful when you want to keep the interface cleaner or avoid showing operators the details of automatic processing. --- # Users URL: https://wiki.quoting24.com/en/content/user/ Language: en Updated: 2026-11-04 # Users This section is visible **only to administrators**, not to **members** (users). From the **Settings → Users** section you can view and manage the list of **users associated with your Quoting24 profile**. User page --- ## User status Each user can be in one of the following statuses: 1. **Active** The user has already logged in to Quoting24 at least once. 2. **Pending** The user has been invited to Quoting24, but **has not yet completed the first access**. 3. **Inactive** The user has **not entered Quoting24** for 5 minutes. 4. **Offline** The user has **not entered Quoting24** for more than 15 minutes. It is also possible to view the status: - **Online** - **Offline** The user's status is used by the platform to determine whether [“auto-assignment”](assegnazioni.md) is possible. If the users who are potential targets of **“auto-assignment”** are all offline, auto-assignment will not happen (and the ticket will remain **unassigned** and therefore visible to everyone entitled to view it). --- ## User roles Users can have one of the following roles: - **Administrator** Has access to **all features and sections** of the application. - **Member** Has limited access. Some sections, such as **Users**, **WhatsApp** and **Activities**, **are not visible**. --- ## Advanced user management (administrators) A user with the **administrator** role can click the **gear icon** to the right of each user to change some settings. In particular, it is possible to: - **Change the user's role** (administrator / member) - Manage **request visibility** By default, a *member* can see only requests assigned to them, but it is possible to enable: - viewing unassigned requests - viewing requests assigned to other users - Configure the **enabled modules** It is possible to granularly select which modules each member can: - view - edit For example, for the **“car and parts search”** module: - a member can only view codes selected by other operators - or they can enter the exploded views and perform searches and changes like an administrator User privileges --- ## Adding new users An administrator can **invite or add new users** to Quoting24 by clicking the red **“Add”** button. The list of available users will open; to invite a user, simply click the **red arrow** next to the desired name. Add user During creation or invitation of a new user, you can pre-set their **nickname**. The nickname is the internal name used on Quoting24 to: - display the user in assignments - tag them in internal notes - recognize them more quickly when collaborating with operators --- ## Password change and account management By clicking **“Change password”** at the top right, you are redirected to the [**Account → User management**](https://app.qricambi.com/youraccount/UsersManager) section of Qricambi (Account Admin): If your user is a **Qricambi administrator**, from this section you can: - change **username** - change **password** - quickly edit the selected user's **nickname** and **signature** via the **pencil icon** The access credentials are the **same** for **Qricambi** and **Quoting24**. --- # Notifications URL: https://wiki.quoting24.com/en/content/notifications/ Language: en Updated: 2026-11-04 # Notifications Quoting24 allows each user to configure their own **personal notifications**, so they can stay up to date on requests to manage even when working on multiple phone numbers. Notifications help the operator follow: - new requests - received messages - assigned or unassigned tickets - internal notes and colleague tags - message reactions --- ## Where notifications are configured Notifications are configured from **Settings → Notifications**. From this section you can: - choose the notification **sound** (with preview) - set the **message notification level** for the current activity - enable **desktop notifications** Impostazioni Notifiche --- ## Unified notifications Quoting24 notifications are **unified**: if a user works on multiple connected phone numbers, they receive notifications from all numbers for which they are enabled, regardless of the number open at that moment. This avoids having to keep a browser tab open for each activity just to check notifications. Notifications are shown in the **bell** of Quoting24 and follow the user's personal settings. --- ## Desktop notifications To receive alerts even outside the Quoting24 window, you can enable **desktop notifications**. To enable them: 1. go to **Settings → Notifications** 2. click **Enable desktop notifications** 3. confirm the authorization requested by the browser Once enabled, the browser can show a notification even when Quoting24 is not the active tab. --- ## Notification sound In the settings you can choose the notification **sound**, with a listen preview. Available options include sounds such as Default, Chime, Pop, Pulse, Ring, Bloom and Runaway, plus **None**. With **None**, visual notifications stay active according to the configured rules, but the sound alert is fully silenced. Mentions, assignments and sound remain **user settings**. Scelta suono notifica --- ## Notification levels per activity The **message notification** level is no longer global on the user: it can be set **per activity**. If you work on multiple tenants, each activity has its own preference; the one you are editing is the **current workspace** one. The available levels allow notifications to be received: - none - only mine - mine and new - all The choice depends on the operator's role and the company's workflow. Livello notifiche messaggi per attività --- ## Notifications for new requests and messages When a new request arrives from a customer, Quoting24 can alert operators based on the configuration chosen for the activity. This is especially useful when: - multiple operators work on the same number - requests must be taken over quickly - the company wants to prevent a new ticket from remaining unmanaged Notifications can also be generated by messages received on already open tickets, based on the level selected for the activity. --- ## Notifications for assigned or unassigned tickets When an open ticket is **assigned** to an operator, the notification makes it possible to quickly know that a request needs to be worked on. The notification is also generated when an open ticket is **unassigned**, so the operator knows that the request is no longer under their responsibility. Assignment can happen: - manually - through automatic rules - based on the assignment configuration For more details, see the [Assignments](assegnazioni.md) page. --- ## Notifications for internal notes and tags Inside conversations, you can create **internal notes** visible only to colleagues. When a colleague is tagged with `@nickname`, they receive a specific notification. You can also use `@everyone` to draw the attention of all enabled operators. Notifications generated by a tag in an internal note are highlighted in **orange**, so they can be distinguished from normal message notifications. Next to the read checkmarks, the internal note icon is shown to indicate that the content was not sent to the customer. --- ## Notifications for reactions Message reactions generate notifications on Quoting24. Reaction notifications are shown: - in the **bell** - in **desktop notifications**, if enabled - in the message preview in the left column When opening the message, you can also see **who added the reaction**. --- ## Operational tips For correct use of notifications: - choose a level consistent with your role for each activity - enable broader notifications if you need to monitor new requests - use more restricted notifications if you work only on assigned tickets - use **None** as the sound if you prefer visual alerts only - enable desktop notifications if you do not always keep Quoting24 in the foreground - use tags in internal notes to call specific colleagues - periodically check the configuration if you change role, activity or phone number --- # Quoting24 Help Center URL: https://wiki.quoting24.com/es/ Language: es Updated: 2026-11-04 # Quoting24 Help Center Bienvenido al **Help Center de Quoting24**. Esta documentación te guiará paso a paso en el uso de Quoting24, explicando **qué hace la plataforma**, **a quién está dirigida** y **cómo aprovecharla al máximo** en las actividades diarias. --- ## Qué es Quoting24 **Quoting24** es una plataforma diseñada para **gestionar, organizar y automatizar las solicitudes de presupuesto recibidas por WhatsApp**, transformando las conversaciones con los clientes en un flujo de trabajo estructurado y eficiente. Quoting24 es especialmente útil cuando: - Varios operadores trabajan sobre el mismo número y el volumen de solicitudes es elevado - Se quiere reducir el tiempo de elaboración de los presupuestos mediante una serie de automatismos pensados para la venta de recambios automotive. A diferencia de WhatsApp tradicional, Quoting24: - divide las conversaciones en **tickets** - permite trabajar en **equipo** sin límites de números y operadores conectados - se conecta directamente a **Qricambi** y a tu **software de gestión** Quoting24 sirve para: - gestionar **muchas solicitudes al mismo tiempo** sin perder mensajes - automatizar búsquedas de **matrículas, bastidores y recambios** - colaborar entre compañeros con notas internas, reacciones y notificaciones unificadas - crear un flujo continuo entre **solicitud → búsqueda → presupuesto → respuesta** --- ## Índice de la documentación ### 🚀 Empieza con Quoting 24 - [Acceso a Quoting 24](content/login.md) Cómo iniciar sesión y acceder a la plataforma. - [Vista general](content/general_overview.md) Visión de conjunto de la interfaz y del flujo de trabajo. --- ### 🧾 Gestión de solicitudes - [Pantalla principal](content/main_screen.md) Vista principal con tickets, chat y búsqueda de recambios. - [Gestión de tickets](content/gestione_ticket.md) Un ticket editable por conversación, respuestas, reapertura y mensajes programados. - [Lista de solicitudes](content/requested_list.md) Historial, búsqueda y filtros de las solicitudes recibidas. - [Etiquetas](content/type_of_request.md) Etiquetas de los tickets, categorización automática y urgencia. - [Respuestas guardadas](content/save_response.md) Mensajes predefinidos para responder más rápido. - [Asignaciones](content/assegnazioni.md) Asignación automática y gestión inteligente de los tickets. - [Turnos de entrega](content/delivery_shifts.md) Gestión y asignación de turnos a las empresas. - [Informe diario de actividad](content/daily_activity_report.md) Informe por correo con KPI de tickets, operadores y evolución diaria. - [Quoting News](content/quoting_news.md) Canal de solo lectura para las comunicaciones de producto de Quoting. --- ### 💬 Canal WhatsApp - [Vista general de WhatsApp](content/whatsapp.md) Conexión del número de WhatsApp mediante API oficiales. - [Migración de la API de WhatsApp](content/migrazione_whatsapp_api.md) Conectar a Quoting24 un número que ya está en las API de otro proveedor, sin cambiarlo. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Usar a la vez la app WhatsApp Business y las API oficiales en el mismo número. - [Broadcast API](content/broadcast_api.md) Campañas con plantillas de Meta a muchos números, con destinatarios desde Excel. --- ### 🌐 Canal Widget - [Vista general del Widget](content/widget.md) — Chat en el sitio: invitado, asociación de empresa y restauración del historial. - [Widget B2C](content/widget_b2c.md) — Script, visitante desconocido y payload con `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — Historial entre dispositivos con `external_user_id` y `restore_id`. - [Integración técnica](content/widget_tecnico.md) — Contrato de `init()`, creación de empresa, CSP y resolución de problemas. --- ### 👥 Contactos y empresas - [Contactos](content/contacts.md) Gestión de los contactos del canal WhatsApp. - [Empresas](content/companies.md) Creación y gestión de las empresas cliente. --- ### Inteligencia artificial - [Vista general de la IA](content/ai.md) Cómo la IA lee el ticket y actualiza vehículos/recambios. - [Reconocimiento](content/ai_riconoscimento.md) Vehículos, recambios, etiquetas, notas internas y glosario. - [Fotos, PDF y mensajes de voz](content/ai_media.md) Lectura de medios y ficha “Lecturas AI”. - [Cuadro y corrección](content/ai_riquadro.md) Recuadro en el chat, clics, Corregir y modos de visualización. - [Automatizaciones](content/automations.md) Búsquedas automáticas de matrículas, bastidores y recambios. --- ### 🔌 Integraciones - [Búsqueda de proveedores Qricambi](content/qricambi_integration.md) Conexión con Qricambi y gestión de proveedores. - [Búsqueda con extensión](content/search_with_extension.md) Buscar en Partslink o Eper los bastidores no encontrados, con Qricambi Assistant. - [Créditos Qricambi](content/credits.md) Uso y gestión de los créditos compartidos con Qricambi. - [Enviar presupuesto al software de gestión](content/invia_preventivo_gestionale.md) Envía los datos del presupuesto a tu software de gestión. - [Escribe en WhatsApp mediante nuestras API](content/invia_whatsapp_api.md) Envía mensajes mediante las API oficiales de WhatsApp. - [Búsqueda de un código en el propio software de gestión](content/management_research.md) Búsqueda en el software de gestión para obtener precios y disponibilidad por cliente. --- ### 👤 Configuración de cuenta - [Perfil de usuario](content/profilo.md) Personalización del perfil y mensajes automáticos. - [Actividad](content/activities.md) Configuración de la actividad y comportamiento general. - [Usuarios y permisos](content/user.md) Gestión de usuarios, roles y autorizaciones. - [Notificaciones](content/notifications.md) Configuración de notificaciones personales, unificadas y de escritorio. --- --- ## Por dónde empezar Si es tu primera vez en Quoting24, te recomendamos este recorrido: 1. [Acceso a Quoting 24](content/login.md) 2. [Vista general](content/general_overview.md) 3. [Pantalla principal](content/main_screen.md) 4. [Vista general de WhatsApp](content/whatsapp.md) 5. [Actividad](content/activities.md) y [Automatizaciones](content/automations.md) Esto te permitirá tener una visión completa del funcionamiento antes de entrar en los detalles. --- # Acceso a Quoting24 URL: https://wiki.quoting24.com/es/content/login/ Language: es Updated: 2026-11-04 # Acceso a Quoting24 Para acceder a **Quoting24** es necesario estar registrado (más información [aquí](https://welcome.quoting24.com/registrazione)) y disponer de una credencial que se pueda usar para acceder al siguiente enlace: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) El **Username** y la **password** son los mismos que se utilizan para acceder a [**Qricambi**](https://qricambi.com/). Pantalla de login --- ## Gestión de contraseña Por el momento, para cambiar o recuperar la contraseña es necesario utilizar Qricambi, mediante una de las siguientes opciones: - Página de [recuperación de contraseña](https://app.qricambi.com/Authentication/RequestRecover?user=) - Sección [Gestión de usuarios](https://app.qricambi.com/youraccount/UsersManager) --- ## Primer acceso y selección de actividad En el primer acceso a la plataforma, el usuario **ya ha sido creado y configurado** por compañeros con rol administrativo. Después de iniciar sesión, el comportamiento depende de los **números de teléfono/actividades** asociados al usuario. ### Usuario asociado a varios números de teléfono Si el usuario está asignado a **varios números de teléfono**, se le pedirá que elija **en qué actividad entrar**. Pantalla de selección de actividad ### Usuario asociado a un solo número de teléfono Si el usuario está asignado a **un solo número de teléfono**, el acceso se realizará automáticamente, sin ninguna selección. --- ## Después del acceso Una vez dentro, se mostrará la [**pantalla principal de Quoting24**](main_screen.md), desde la cual es posible empezar a trabajar en las solicitudes. --- # Vista general URL: https://wiki.quoting24.com/es/content/general_overview/ Language: es Updated: 2026-11-04 # Vista general Quoting24 es una plataforma diseñada para **gestionar de forma centralizada e inteligente las solicitudes de presupuesto recibidas por WhatsApp**, integrando automatización, búsqueda de recambios y colaboración entre operadores. Esta vista general te ayudará a entender: - cómo está organizada la interfaz - cómo funciona el flujo de trabajo - cuáles son las principales funcionalidades disponibles --- ## La pantalla principal Una vez realizado el acceso, el usuario es dirigido a la **[pantalla principal](main_screen.md)** de Quoting24. Pantalla principal de Quoting24 La pantalla está dividida en **tres áreas principales**, que trabajan juntas para transformar una conversación de WhatsApp en un presupuesto estructurado. --- ## 1. Gestión de solicitudes (chat y tickets) Listado de tickets Cada solicitud recibida de un cliente se gestiona como un **ticket**. A diferencia de WhatsApp tradicional: - cada nueva solicitud de presupuesto genera un ticket distinto - los tickets pueden ser **asignados**, puestos **en pausa**, marcados **por leer**, **cerrados** o **retomados** - el trabajo se distribuye entre varios operadores de forma ordenada Desde esta sección es posible: - ordenar y filtrar tickets (asignado fuera, demás filtros en el embudo) - abrir nuevas solicitudes desde la pantalla principal o desde **Contactos** - supervisar el estado del trabajo del equipo Para cada conversación hay **un solo ticket editable**: un ticket cerrado no se reabre a mano. Detalles en **[Gestión de tickets](gestione_ticket.md)**. 👉 Para profundizar: - **[Gestión de tickets](gestione_ticket.md)** - **[Lista de solicitudes](requested_list.md)** - **[Asignaciones automáticas](assegnazioni.md)** - **[Etiquetas](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Conversación con el cliente Chat de Quoting24 Esta es el área dedicada a la **comunicación directa con el cliente**. Desde aquí es posible: - enviar y recibir mensajes - adjuntar fotos, vídeos y documentos - insertar **notas internas** visibles solo para los compañeros - utilizar **respuestas guardadas** para agilizar las comunicaciones Quoting24 analiza automáticamente los mensajes: - transcribe audios - reconoce matrículas, bastidores y referencias a recambios - prepara los datos necesarios para la fase de presupuestación 👉 Para profundizar: - **[Respuestas guardadas](save_response.md)** - **[Notificaciones](notifications.md)** --- ## 3. Búsqueda de vehículo y recambios Búsqueda de matrícula y bastidor La sección de la derecha está dedicada a la **búsqueda técnica**. Aquí se muestran automáticamente: - matrículas - bastidores - información del vehículo - componentes identificados en la conversación A través de los **despieces** es posible: - identificar el código correcto del recambio - buscarlo en Qricambi - iniciar rápidamente la creación del presupuesto Despieces del vehículo 👉 Para profundizar: - **[Integración con Qricambi](qricambi_integration.md)** - **[Automatizaciones](automations.md)** --- ## Automatizaciones y asignaciones inteligentes Quoting24 incluye funcionalidades avanzadas para **reducir el trabajo manual**: - **Automatizaciones** Búsqueda automática de matrículas, bastidores y recambios 👉 **[Ir a Automatizaciones](automations.md)** - **Asignación automática de tickets** Asignación inteligente según: - [etiqueta](type_of_request.md) - [empresa](companies.md) - [contacto](contacts.md) 👉 **[Ir a Asignaciones automáticas](assegnazioni.md)** Esto permite: - reducir los tiempos de respuesta - evitar errores de distribución - trabajar de forma estructurada incluso con muchos operadores --- ## Colaboración entre operadores Quoting24 está pensado para el trabajo en equipo. Están disponibles: - roles (**administradores** y **miembros**) - asignaciones de tickets - notas internas - notificaciones personalizables - notificaciones unificadas también en varios números de teléfono - turnos de entrega asociables a las empresas 👉 Para profundizar: - **[Usuarios y permisos](user.md)** - **[Perfil de usuario](profilo.md)** - **[Turnos de entrega](delivery_shifts.md)** --- ## Integración con Qricambi Quoting24 está profundamente integrado con **Qricambi**. Esto permite: - utilizar los mismos **créditos** - buscar recambios en proveedores internos y externos - crear presupuestos en Qricambi - enviarlos al cliente directamente desde la chat 👉 Profundiza: - **[Créditos](credits.md)** - **[Integración Qricambi](qricambi_integration.md)** - **[Enviar presupuesto al software de gestión](invia_preventivo_gestionale.md)** - **[Escribe en WhatsApp mediante nuestras API](invia_whatsapp_api.md)** El flujo de trabajo se vuelve así continuo: **solicitud → búsqueda → presupuesto → respuesta al cliente** --- ## Por dónde empezar La Wiki de Quoting24 también está accesible desde la aplicación, en **Configuración** abajo a la izquierda. Enlace Wiki en la configuración Si eres nuevo en Quoting24, te recomendamos este recorrido: 1. **[Acceso a Quoting24](login.md)** 2. **[Pantalla principal](main_screen.md)** 3. **[Lista de solicitudes](requested_list.md)** 4. **[Vista general de WhatsApp](whatsapp.md)** 5. **[Actividad](activities.md)** y **[Automatizaciones](automations.md)** Esto te permitirá tener una visión completa del funcionamiento de la plataforma antes de entrar en los detalles. --- # Pantalla principal URL: https://wiki.quoting24.com/es/content/main_screen/ Language: es Updated: 2026-11-04 # Pantalla principal La pantalla principal de **Quoting24** se divide en **tres secciones principales**, ilustradas a continuación de izquierda a derecha. Pantalla principal - - - ## 1. Lista de chats / tickets (parte izquierda) Parte izquierda En esta sección está presente la lista de **chats / tickets**. A diferencia de WhatsApp, donde las conversaciones son flujos únicos y continuos, en **Quoting24** la conversación se divide en **tickets**: cada solicitud de presupuesto debe considerarse como un **ticket separado**. Para cada contacto hay **un solo ticket en el que se puede escribir**. Un ticket cerrado no se reabre a mano: consulta el flujo en [Gestión de tickets](gestione_ticket.md). En la misma zona de la barra lateral también está **[Quoting News](quoting_news.md)**: el canal de solo lectura para las comunicaciones de producto publicadas por Quoting. Cuando se termina de trabajar en un presupuesto, se recomienda **cerrar el ticket**. Tickets cerrados ### Estados del ticket Un ticket puede encontrarse en distintos estados, según el punto del flujo de trabajo en el que se encuentra: * **Abierto**: la solicitud aún debe gestionarse o está en curso. * **Por leer**: el ticket debe ser retomado por el equipo. Cuando un ticket se marca como *Por leer*, los asignatarios se eliminan y la solicitud vuelve a estar disponible para los operadores habilitados. * **En pausa**: la solicitud no está cerrada, pero se está a la espera de una respuesta o de una información del cliente. * **Cerrado**: la solicitud está concluida y ya no debe aparecer entre los tickets por trabajar. El estado **En pausa** es útil cuando no se quiere cerrar definitivamente la solicitud. Si el cliente vuelve a escribir en un ticket en pausa, el ticket vuelve automáticamente a estar **abierto**, permanece asignado al operador original y muestra de forma predeterminada también los mensajes anteriores. Estado de pausa del ticket ### Ordenar por Encima de la lista, **Ordenar por** ofrece: * **Último mensaje** (predeterminado) — último mensaje del chat, de cualquier remitente * **Último recibido** — último mensaje **del cliente** * **Prioridad descendente** — prioridad efectiva del contacto (personal o heredada de la empresa) * **Últimos turnos** — próximo turno de entrega * **Mensaje más antiguo** ### Filtros de tickets Los filtros de **asignación / estado** permanecen siempre visibles (p. ej. no asignado, asignado a mí, a otros, por leer, en pausa, cerrado). El filtro **Asignado** permanece **fuera**, en la fila principal. Todos los demás filtros están agrupados en el botón de **embudo** (igual que en móvil). Cuando un filtro del embudo está activo, también aparece **fuera** como chip eliminable. Dentro del embudo encontrarás: * **Etiquetas** — etiquetas del ticket * **Usuarios** — operadores asignados * **Tipo de empresa** — tipo de contacto / empresa (cliente, proveedor, colaborador, …) * **Periodo del ticket** — atajos **Últimos 7 días** o **Últimos 30 días** * intervalo manual de fechas **Desde** / **Hasta** Un ticket asignado presenta un **icono con las iniciales del operador** a la izquierda de la vista previa del mensaje. La asignación de tickets permite una mejor **división del trabajo** y una **optimización del flujo operativo** entre compañeros. ### Vista previa e indicadores en la lista Al pasar el ratón sobre una chat en la parte izquierda es posible visualizar una **vista previa de la conversación**, sin tener que abrir inmediatamente el ticket. En la lista de tickets, a la derecha del **nombre del contacto**, un **único tag** muestra: * el **icono de prioridad** del contacto (personal o heredada de la empresa): * triángulo hacia arriba → prioridad **alta** * punto / guion → prioridad **media** * triángulo hacia abajo → prioridad **baja** * justo después, el **código de empresa** (sin el `#` usado anteriormente) * el **color del tag** refleja el tipo de la empresa vinculada o, si está presente, el tipo personal del contacto Al pasar el ratón sobre el tag aparece un resumen breve (empresa, prioridad, tipo). En las vistas previas también siguen mostrándose indicadores útiles como: * las **reacciones** añadidas por el cliente o por los operadores * el icono del operador asignado * el estado del ticket y las eventuales [etiquetas](type_of_request.md) de la solicitud * el próximo turno de entrega, cuando está disponible Vista previa de chat en la parte izquierda ### Búsqueda en la lista de tickets En la parte izquierda hay un campo de **búsqueda** dividido en secciones, con el recuento de resultados para cada una: * **Todas** * **Conversaciones** * **Mensajes** * **Recambios** Los chips de las secciones se comprimen si el espacio es reducido. Los contactos también se encuentran por **nombre de empresa** y **código de empresa**. Si la coincidencia es sobre la empresa, aparece una etiqueta con el nombre o el código. ### Creación rápida de un ticket El operador puede escribir a uno de sus contactos haciendo clic en el botón **‘+’** de la lista de tickets (acción *“Abrir nueva solicitud”*). La misma acción también está disponible desde **[Contactos](contacts.md#abrir-nueva-solicitud)** (lista y ficha del contacto). Abrir ticket Haciendo clic en los **tres puntos** arriba a la derecha es posible: * cerrar **todos los tickets** * o cerrar **todos los tickets hasta ayer** Tres puntos ### Detalles por chat individual Chat de usuario individual Aquí explicamos en detalle los componentes presentes en las chats individuales: * Los iconos junto al estado son las [etiquetas](type_of_request.md) de la solicitud * Junto al nombre del contacto, el **único tag** muestra la prioridad y el código de [empresa](companies.md) (sin `#`), coloreado según el tipo de contacto/empresa * El valor presente en el óvalo azul, en este caso 'Mañana 08:00', equivale al primer cutoff / turno disponible - - - ## 2. Chat y gestión de la conversación Chat Esta sección permite: * enviar mensajes * adjuntar **fotos, vídeos y otros archivos** * gestionar la conversación con el cliente * controlar el historial de los tickets vinculados a la misma chat ### Identificación automática de los datos Los elementos útiles para la creación de un presupuesto (ej. **matrícula**, **bastidor**, descripción del vehículo o del recambio solicitado) son **identificados automáticamente** a partir de la conversación con el cliente, **etiquetados** y mostrados en la sección de la derecha (ver punto **3**). ### Apertura, pausa y continuidad de los tickets El comportamiento de escritura y reapertura se explica por completo en **[Gestión de tickets](gestione_ticket.md)**. En resumen: * si el ticket actual está **abierto**, el mensaje permanece en la solicitud en curso * si está **en pausa**, vuelve automáticamente a **abierto** y permanece asignado al operador original * si está **cerrado**: * con un ticket **ya abierto** en el mismo contacto → la respuesta va al ticket abierto (el cerrado permanece vinculado) * si el ticket cerrado **no es el más reciente** → la respuesta abre una **nueva solicitud** (el cerrado permanece vinculado) * si el ticket cerrado **es el más reciente** → el ticket se **reabre** Un ticket cerrado **no se puede reabrir cambiando su estado a mano**. En los tickets cerrados están disponibles **Ir al ticket abierto**, **Ir al último ticket cerrado** y **Abrir nueva solicitud**. Cuando resulte útil, sigue siendo posible: * visualizar toda la conversación * **unir** tickets vinculados para recuperar el trabajo ya realizado Los mensajes programados se enrutan **en el momento del envío**. Si cierras un ticket que aún tiene mensajes programados, Quoting24 pide confirmación. ### Visualización de los tickets en la chat La chat principal muestra los tickets con el mismo formato que la chat completa: hay líneas y **banners** que indican dónde **empieza** y dónde **termina** cada ticket. En los banners de separación entre tickets (también al usar **Ver anterior**) se muestran: * **fecha** y **hora** de cierre del ticket * **quién ha cerrado** el ticket Banner ticket con data/ora e utente di chiusura Cuando varios tickets están vinculados a la misma conversación, hay acciones dedicadas disponibles: * **Unir**: vincula el ticket actual a uno anterior, recuperando el contexto ya trabajado. * **Desvincular solicitud**: separa una solicitud vinculada para gestionarla como ticket independiente. La acción está indicada por el icono con el **ojito tachado**. * **Abrir conversación completa**: si entre dos tickets vinculados hay otros tickets o mensajes intermedios, aparece un botón para abrir la conversación completa en ese punto y verlos todos. Líneas de inicio y fin de ticket con Unir y Ver juntos ### Banner “N mensajes por leer” Al abrir un ticket con mensajes no leídos del cliente, en el chat aparece un indicador entre los mensajes ya leídos y los por leer, por ejemplo **“1 mensaje por leer”** o **“N mensajes por leer”**. El recuento se actualiza si llegan más mensajes del cliente mientras el banner está visible. No cuenta las **notas internas** ni los mensajes **enviados**. Banner messaggi da leggere ### Transcripción automática de audios e imágenes Quoting24 transcribe automáticamente: * los **mensajes de voz** recibidos de los clientes * el contenido de las **imágenes**, por ejemplo: * foto de una **matrícula**, que se reconoce y transcribe automáticamente Del texto transcrito se obtienen todas las informaciones útiles (matrículas, bastidores, componentes del presupuesto). Si la extracción automática de datos por parte de la AI ha sido ocultada desde la configuración de la actividad, la información técnica puede seguir estando disponible en la sección de la derecha, pero no se muestra como detalle operativo en la conversación. ### Adjuntos Haciendo clic en el icono del **clip** es posible adjuntar: * fotos * vídeos * PDF * otros archivos Los adjuntos también pueden **arrastrarse directamente a la chat**. ### Vista previa de PDF en chat Los **PDF** recibidos o enviados en chat muestran la **vista previa de la primera página** en el mensaje (miniatura arriba, nombre y tamaño debajo). Al hacer clic en el archivo se abre el visor del documento. Si la vista previa no está disponible, permanece la ficha de archivo clásica. Anteprima PDF in chat ### Editor de imágenes antes del envío Cuando se adjunta una imagen a un mensaje, mediante el icono del clip o arrastrándola a la chat, Quoting24 muestra una vista previa del adjunto antes del envío. Al hacer clic en la imagen de la vista previa se abre el **editor de imágenes a pantalla completa**, que permite modificar la imagen antes de enviarla al cliente. El editor está disponible solo para imágenes que todavía están en cola de envío. No se aplica a vídeos, archivos genéricos ni mensajes ya enviados. Las herramientas disponibles son: * **Recortar**: permite seleccionar el área de la imagen que se quiere mantener arrastrando el recuadro * **Girar a la izquierda / derecha**: gira la imagen en la dirección elegida * **Reflejar horizontal / verticalmente**: invierte la imagen sobre el eje seleccionado * **Lápiz y colores**: permite dibujar sobre la imagen * **Goma**: elimina los trazos dibujados * **Desenfoque**: cubre una zona con un rectángulo pixelado, que se puede mover y redimensionar. Otro clic en la foto añade otro * **Deshacer**: deshace el último paso realizado Cuando la modificación termina: * al hacer clic en **Hecho**, el adjunto original se sustituye por la imagen modificada * al hacer clic en **Cancelar**, la imagen original permanece sin cambios Después de la modificación, el mensaje puede enviarse normalmente. Editor de imágenes antes del envío El **desenfoque** sirve para ocultar datos visibles en la foto, por ejemplo una matrícula, antes de enviarla al cliente. Cada rectángulo se mueve y se redimensiona; otro clic en la foto añade un rectángulo más. Matrícula oculta con rectángulos pixelados ### Mensajes de voz, audio y medios Quoting24 soporta los **mensajes de voz** y los archivos de audio recibidos en chat. Los audios pueden escucharse, transcribirse automáticamente y, cuando está disponible, descargarse como archivo de audio. Durante el procesamiento aparece el estado **“Transcripción en curso…”**. También está disponible el botón **Reintentar**, para relanzar la transcripción si es necesario. Las fotos y los vídeos enviados en la conversación pueden abrirse en el **carrusel de medios**, que permite desplazarse rápidamente entre los contenidos multimedia recibidos o enviados en la chat. Carrusel de medios y descarga de audio Trascrizione in corso e Riprova ### Dictado por voz Debajo del campo de escritura está disponible el icono **Dictado**. Con el permiso del micrófono, la voz se transcribe en tiempo real en el mensaje. Dettatura vocale ### Indicador "está escribiendo" Cuando otro usuario está escribiendo en la chat activa, Quoting24 muestra el indicador **está escribiendo**. Esto ayuda a los operadores a evitar respuestas superpuestas mientras un compañero ya está preparando un mensaje. Indicador está escribiendo ### Envío sin encabezado ni firma Si en el propio [perfil](profilo.md) se han configurado encabezado o firma, Quoting24 los añade según la opción elegida: **siempre**, o **solo en el primer mensaje del ticket y con Enviar y cerrar**. Sigue siendo posible enviar un único mensaje **sin encabezado y sin firma**. Esta opción es útil para respuestas rápidas, mensajes muy breves o comunicaciones que no deben incluir el texto automático configurado por el operador. Envío sin encabezado y firma ### Acciones sobre los mensajes Las acciones disponibles sobre un mensaje se pueden abrir de dos formas: * haciendo **clic derecho** sobre el mensaje * haciendo clic en la **flecha** a la derecha del mensaje Desde este menú es posible realizar operaciones como responder, reenviar o eliminar mensajes. Cuando está previsto por la selección, también es posible realizar **reenvío** y **eliminación múltiple**. Acciones de mensaje con clic derecho y flecha ### Reacciones a los mensajes Las reacciones permiten a clientes y operadores reaccionar a los mensajes de la conversación. Quoting24 muestra: * la reacción aplicada al mensaje * quién ha añadido la reacción * la reacción en la vista previa de los mensajes en la columna de la izquierda Las reacciones recibidas generan notificaciones en Quoting24, en la **campanilla** y, si están habilitadas, también como **notificaciones de escritorio**. Si un cliente añade una reacción a un mensaje perteneciente a un ticket ya cerrado, Quoting24 crea una referencia al mensaje mediante **reply**, de modo que la reacción permanece visible en el ticket actualmente abierto. ### Notas internas En la chat es posible insertar una **nota interna** para los compañeros: * haciendo clic en el icono dedicado * o escribiendo **@ + ESPACIO** Cuando se escribe una nota interna: * el fondo se vuelve **amarillo** * la nota **NO se envía al cliente** * solo es visible para los usuarios de Quoting24 Dentro de las notas es posible **etiquetar a un compañero** (escribiendo `@apodo`) y el compañero recibirá una notificación. También es posible etiquetar a **todos los compañeros** escribiendo `@todos`. Cuando un usuario es etiquetado en una nota interna, la notificación generada por Quoting24 se resalta en **naranja**. Junto a las marcas de visualización del mensaje también se muestra el icono de la nota interna, para distinguir enseguida los mensajes visibles solo para los operadores. Las notas internas de **texto** pueden **modificarse en un plazo de 15 minutos**, solo por el **autor**. Al responder a una nota interna: * la respuesta sigue siendo una **nota interna** * el autor de la nota original es **reasignado** al ticket Crear nota interna Enviar nota interna Modifica nota interna ### Información del ticket En la tab **Información** del ticket (icono **i**) puedes consultar y modificar rápidamente los datos vinculados a la solicitud. La sección está organizada así: 1. **Arriba — Contacto** Notas, avisos, asignados del contacto, **prioridad** del contacto y **tipo** del contacto (el tipo solo es editable si el contacto no tiene empresa). 2. **Abajo — Empresa** (cuando está presente) Nombre, notas, ubicación, **prioridad de empresa** y **tipo de empresa**. Sobre la prioridad del contacto: * si no está definida, se **hereda de la empresa** (etiqueta *Heredada de la empresa*) * puedes establecer una prioridad personal aunque la empresa ya tenga una Sobre el tipo del contacto: * **sin empresa** → puedes configurarlo en el contacto * **con empresa** → se hereda y **no es editable** en el contacto; cámbialo en la empresa En el selector de asignados del ticket también está disponible la opción **Ninguno**: **elimina todos los asignados**. Detalles en [Asignaciones](assegnazioni.md#asignación-manual-y-asignación-a-todos). Si en el contacto hay **avisos importantes**, estos se muestran encima de la chat para llamar enseguida la atención del operador. ### Exportación del chat Desde el chat es posible **exportar** la conversación. Al iniciar la exportación se puede elegir: * exportación **sin media** * exportación **con media** Si se incluyen los media, se guardan en un **zip aparte**, junto con el archivo del chat. ### Historial del ticket Desde el panel lateral derecho del ticket se puede abrir la tab **Historial**, indicada por el icono con forma de **reloj**. Esta tab muestra una línea temporal de **solo lectura** con los eventos vinculados al ticket. Sirve para consultar qué ha ocurrido en la solicitud, quién realizó la acción y cuándo. El historial puede incluir eventos como: * cambio de estado del ticket * primera visualización del ticket * lectura de los mensajes no leídos * asignación o eliminación de los asignados al ticket * autoasignación del operador, indicada como acción automática de toma en cargo * asignación de las búsquedas vinculadas al ticket * cambio de estado de las búsquedas, por ejemplo abierta, en pausa o cerrada Cuando el evento se refiere a una búsqueda de vehículo, Quoting24 también muestra los datos disponibles para reconocerla más fácilmente, como **matrícula**, **VIN** o **vehículo**. El historial se actualiza en tiempo real y no se puede modificar desde esta tab: está pensado exclusivamente para consulta y trazabilidad operativa. Historial del ticket - - - ## 3. Sección de búsqueda de bastidor y códigos Conversión matrícula-bastidor La sección de la derecha puede **contraerse** haciendo clic en el icono de la tab activa. De este modo es posible dejar más espacio a la conversación cuando no hace falta trabajar sobre los datos técnicos. Tab derecha contraíble En esta sección se muestran: * **matrículas** * **bastidores** * **descripciones de los recambios** identificados directamente desde la chat con el cliente. La *matrícula* se convierte automáticamente en *bastidor* y se muestra información sobre el vehículo (ej. **marca**, **modelo**, etc.). ### Subasignaciones Las **subasignaciones** permiten asignar no el ticket completo, sino la **búsqueda de vehículo individual** dentro del chat. En un ticket pueden coexistir **varias búsquedas** a la vez (por ejemplo dos matrículas distintas o dos vehículos del mismo cliente). Cada búsqueda tiene: * su propio **estado** (por ejemplo *Abierto*, *En pausa*, *Cerrado*) * uno o varios **operadores asignados** Así el trabajo se puede dividir por vehículo: un compañero gestiona un vehículo y otro compañero un segundo vehículo, sin dividir la conversación en tickets distintos. #### Diferencia respecto a la asignación del ticket * **Asignación del ticket**: abarca toda la chat / solicitud e indica quién es responsable de la conversación. * **Subasignación**: abarca la búsqueda de vehículo individual e indica quién trabaja en ese vehículo concreto. * **Dónde se gestiona**: la asignación del ticket en la chat; la subasignación en el panel de la búsqueda, arriba a la derecha. La asignación del ticket y las subasignaciones pueden convivir: el ticket puede seguir asignado a un operador, mientras las búsquedas internas se distribuyen a otros colaboradores. #### Cómo asignar una búsqueda 1. Abre la búsqueda de vehículo en la sección de la derecha. 2. Haz clic en el icono de la **persona** (o el avatar del asignado) arriba a la derecha en la fila del vehículo. 3. Busca al operador y selecciónalo, o elige **Todos** para involucrar a todos los colaboradores. En la misma fila también puedes cambiar el **estado** de esa búsqueda concreta, de forma independiente del estado del ticket. Subasignaciones de búsquedas de vehículo Estado y asignación de vehículo individual Los cambios de asignación y de estado de las búsquedas también se registran en el [historial del ticket](#historial-del-ticket), junto con matrícula, VIN o vehículo cuando están disponibles. Para la asignación automática y manual a nivel de ticket, consulta la página [Asignaciones](assegnazioni.md). ### Búsqueda del recambio mediante despieces Un modelo de inteligencia artificial propone algunas opciones de recambio basándose en los despieces. La extracción de datos de imágenes, audios y texto puede ocultarse desde la configuración de la actividad, si el administrador prefiere no mostrar el detalle del procesamiento AI a los operadores. El operador debe: * entrar en los despieces * seleccionar manualmente el **código correcto** Apertura de despiece Al hacer clic en la vista previa de un despiece se abre la página de navegación completa de los despieces disponibles. El operador: * busca la pieza deseada * selecciona el código marcando la casilla de la izquierda * cierra la página mediante la **‘X’** arriba a la derecha Si el operador desea visualizar el árbol completo del bastidor, puede hacer clic en la **‘Q’** de Qricambi. ### Envío del despiece en chat Desde la visualización de los despieces es posible enviar directamente en chat la **foto del despiece** vinculada al recambio seleccionado. Esta función es útil cuando se quiere pedir confirmación al cliente mostrando el detalle técnico de la pieza. Envío de foto de despiece en chat ### Acciones disponibles sobre los códigos A la derecha de cada código están disponibles: * una **‘i’** con información adicional sobre la pieza * una **‘Q’** roja para buscar el código en Qricambi * el icono para **copiar el código** Recambio seleccionado El código seleccionado se muestra en la pantalla anterior y es posible: * buscarlo en **[Qricambi](https://app.qricambi.com/)** * crear un **[presupuesto](invia_preventivo_gestionale.md)** * enviarlo al cliente mediante **Quoting24** ### Búsqueda directa en proveedores Como alternativa, es posible buscar los códigos directamente en algunos proveedores desde **Quoting24**. Para hacerlo, desde la sección **[Configuración → Qricambi](qricambi_integration.md)** es posible seleccionar: * proveedores **internos** (ej. listas propias) * proveedores **externos** Búsqueda de recambio La búsqueda en proveedores: * es más sintética que Qricambi * sigue la misma lógica Los resultados se ordenan por: * **precio** * **disponibilidad** Arriba se muestran los productos: * más económicos * inmediatamente disponibles (**verde**) Al desplazarse por los resultados: * la disponibilidad pasa de **amarillo** a **rojo** * el precio aumenta Se muestran: * código * marca * proveedor * descripción * precio neto * precio de lista, si está disponible * disponibilidad Producto Junto a cada resultado hay dos iconos: * añadido al **[carrito Qricambi](https://app.qricambi.com/?next=%2F&activetab=orders)** * enlace al sitio e-commerce del proveedor > **NB** > La búsqueda automática en proveedores de Qricambi puede deshabilitarse en cualquier momento > desde la sección **[Configuración → Qricambi](qricambi_integration.md)** ### Búsqueda en los resultados Qricambi Cuando hay muchos resultados, es posible realizar una **búsqueda por texto** dentro de los resultados de Qricambi, para localizar más rápidamente el código, la marca o la descripción deseada. Búsqueda textual en los resultados Qricambi --- # Gestión de tickets URL: https://wiki.quoting24.com/es/content/gestione_ticket/ Language: es Updated: 2026-11-04 # Gestión de tickets Quoting24 organiza cada conversación de WhatsApp en **tickets**. El flujo está **ordenado**: por cada contacto existe **un solo ticket en el que se puede escribir** con libertad. Esta página explica las reglas de escritura, reapertura, respuesta (reply) y mensajes programados. --- ## Conceptos básicos | Concepto | Significado | | --- | --- | | **Thread** | Todos los tickets del mismo contacto | | **Ticket editable** | El único ticket del thread en el que puedes escribir libremente (normalmente el abierto, o el último cerrado en las condiciones de abajo) | | **Reply** | Respuesta a un mensaje concreto: puede dirigir el texto a otro ticket del thread | Regla práctica: **no puedes reabrir a mano un ticket cerrado** (cambiando el estado). Para retomar el trabajo usas un mensaje, una respuesta a un mensaje o los botones dedicados en los tickets cerrados. --- ## Qué ocurre cuando escribes ### Ya hay un ticket abierto Si el cliente (o tú) respondéis mientras existe un ticket **abierto** (o **en pausa** que vuelve a abrirse), los mensajes van a ese ticket. ### Escribes desde un ticket cerrado Depende de la posición del ticket cerrado en el thread: 1. **Ya existe un ticket abierto** La respuesta se envía al ticket abierto. El ticket cerrado desde el que respondías sigue cerrado y queda **vinculado** al ticket que recibió el mensaje. 2. **El ticket cerrado no es el último del thread** La respuesta **abre una nueva solicitud**. También en este caso el ticket cerrado de origen queda vinculado al ticket de destino. 3. **El ticket cerrado es el último del thread** Solo en este caso el mensaje **reabre** ese ticket. Para escribir desde un ticket cerrado que no es el editable, Quoting24 pide **responder a un mensaje** (reply): sin reply, la composición permanece bloqueada con la indicación de seleccionar un mensaje. --- ## Botones en los tickets cerrados Al abrir un ticket cerrado, abajo aparecen acciones que siguen las mismas reglas del flujo: - **Ir al ticket abierto** — si en el thread ya hay una solicitud abierta - **Ir al último ticket cerrado** — si no hay abiertos (y el último cerrado no es el que estás viendo) - **Abrir nueva solicitud** — crea una nueva solicitud en el thread cuando no hay un ticket abierto Estos botones evitan trabajar en el ticket equivocado y te llevan al punto correcto del flujo. Cuando haces reply desde un ticket cerrado, Quoting24 también indica dónde irá el mensaje, por ejemplo: - *La respuesta se enviará al ticket abierto.* - *La respuesta abrirá un nuevo ticket.* --- ## Mensajes programados Los mensajes programados **no fijan de inmediato** el ticket definitivo: se **enrutan en el momento del envío**, con las reglas del thread vigentes en ese instante. Consecuencia: si cierras un ticket que aún tiene mensajes programados pendientes, Quoting24 pide confirmación. Al enviarse, el mensaje podría: - reabrir el ticket (si sigue siendo el último cerrado) - o acabar en otra solicitud abierta / nueva --- ## Qué ya no puedes hacer - **Reabrir manualmente** un ticket cerrado cambiando su estado El sistema bloquea la acción e invita a escribir un mensaje (en las condiciones correctas) o a usar los botones del flujo. - Tener **dos tickets abiertos** en el mismo contacto Si ya hay uno abierto, no se abre un segundo. --- ## Estados del ticket (recordatorio) - **Abierto** — en gestión - **Por leer** — hay que retomarlo; se eliminan los asignados - **En pausa** — a la espera del cliente; si el cliente vuelve a escribir, pasa a **abierto** y sigue asignado al operador original - **Cerrado** — concluido; no aparece entre los tickets a trabajar, pero sigue consultable con las reglas de reply / reapertura anteriores La **pausa** no es un cierre: no aplican las reglas de los tickets cerrados. --- ## Dónde abrir una nueva solicitud Puedes iniciar una conversación / nueva solicitud desde: - el botón **+** en la lista de tickets de la home (*Abrir nueva solicitud*) - la sección **[Contactos](contacts.md#abrir-nueva-solicitud)** (lista y ficha del contacto) - el botón **Abrir nueva solicitud** dentro de un ticket cerrado, cuando el flujo lo prevé --- ## Enlaces útiles - [Pantalla principal](main_screen.md) — lista, filtros, vista previa, chat - [Lista de solicitudes](requested_list.md) — historial y filtros de estado - [Contactos](contacts.md) — abrir solicitud, prioridad y tipología del contacto --- # Lista de solicitudes URL: https://wiki.quoting24.com/es/content/requested_list/ Language: es Updated: 2026-11-04 # Lista de solicitudes Haciendo clic en el **menú de la parte superior derecha** y seleccionando **“Lista de solicitudes”**, se abre el **historial de solicitudes** creadas por los distintos contactos en Quoting24. Pantalla de listas de solicitudes --- ## Visualización de las solicitudes De forma predeterminada se muestran **solo las solicitudes abiertas**. Mediante el **filtro de la parte superior derecha** es posible: - visualizar las solicitudes **en pausa** - visualizar las solicitudes **por leer** - visualizar las solicitudes **cerradas** - aplicar **otros filtros** para afinar la búsqueda Filtros de solicitudes abiertas en pausa y cerradas --- ## Búsqueda entre las solicitudes La lista de solicitudes permite buscar rápidamente entre los tickets presentes en el historial. La búsqueda puede usarse para localizar una solicitud a partir de información como: - nombre o número del contacto - empresa vinculada - contenido de la solicitud - estado del ticket - datos técnicos reconocidos, por ejemplo matrícula o bastidor Los filtros pueden combinarse con la búsqueda textual para restringir el listado y encontrar más rápidamente el ticket correcto. --- ## Solicitudes en pausa Las solicitudes **en pausa** son tickets no cerrados definitivamente, sino suspendidos momentáneamente porque se está esperando un mensaje o una confirmación del cliente. Cuando el cliente vuelve a escribir en un ticket en pausa: - el ticket vuelve automáticamente a **abierto** - permanece asignado al operador original - se muestran de forma predeterminada también los mensajes anteriores Este comportamiento es diferente al de los tickets **cerrados**: en un ticket cerrado se aplican las reglas del flujo ordenado (respuesta, reapertura solo si es el más reciente; en caso contrario, una nueva solicitud o el enrutado hacia un ticket ya abierto). Detalles en [Gestión de tickets](gestione_ticket.md). --- ## Apertura de una solicitud Haciendo clic en la **flecha roja** al final a la derecha de una fila, es posible abrir la **solicitud específica** y acceder al ticket correspondiente. Cuando se abre una solicitud, Quoting24 muestra el contexto vinculado al ticket, incluidos posibles mensajes anteriores si la solicitud se había puesto en pausa o vinculado a otros tickets. --- # Etiquetas URL: https://wiki.quoting24.com/es/content/type_of_request/ Language: es Updated: 2026-11-04 # Etiquetas Un ticket puede tener **varias etiquetas**. Sirven para clasificar la solicitud y, con la [asignación automática](assegnazioni.md) activa, enviarla a los operadores vinculados a esas etiquetas. En la lista de tickets se muestran hasta **3 como iconos**. Si hay más, aparece **+N**. Si el nombre no cabe, queda el icono y el nombre se lee en el tooltip. Etiquetas predefinidas --- ## Tres tipos de etiqueta | Tipo | Quién la crea | Quién puede asignarla | | --- | --- | --- | | **Personalizada** | La sala | Los operadores | | **AI** | La sala, con «asignar con la AI» activo (solo AI Premium) | Los operadores y el agente premium | | **Predefinida** | Ya presente en cada sala | Los operadores y el clasificador | Las etiquetas puestas por un operador **nunca se quitan solas**. El clasificador y el agente solo **añaden**. --- ## Etiquetas predefinidas Son **11**, iguales en todas las salas: * Información * Comercial * Pedidos y logística * Compras * Garantías, devoluciones y reclamaciones * Soporte * Administración * IT * Servicios * Auth * Otro No se pueden **renombrar** ni **eliminar**. Se pueden cambiar el **color** y los **asignados**. Están en **Ajustes → Tickets y automatizaciones → Etiquetas**, pestaña **Etiquetas predefinidas**. Editar el color de una etiqueta predefinida Con **AI lite** no hay categorización automática: las predefinidas se pueden asignar a mano. En ese módulo la pestaña de predefinidas no aparece. --- ## Etiquetas personalizadas En la pestaña **Etiquetas personalizadas**, **Añadir** crea una etiqueta de la sala: nombre, color, icono y descripción. Etiquetas personalizadas Con **AI Premium** se puede activar **Asignar automáticamente esta etiqueta a los tickets con inteligencia artificial**. El agente la usa solo si la descripción dice con claridad cuándo aplicarla. En la lista estas etiquetas tienen la insignia **AI**. Nueva etiqueta con asignación AI Los asignados se configuran en la columna **Asignado a**. Si la [asignación automática](assegnazioni.md) está activa, una solicitud con esa etiqueta va a ellos. --- ## Categorización automática Cada sala elige quién pone las etiquetas en automático, en **Ajustes → Tickets y automatizaciones → Clasificador de tickets**. El cambio se guarda con **Guardar cambios**. Clasificador de tickets | Opción | Qué ocurre | Para quién | | --- | --- | --- | | **Desactivada** | Ninguna etiqueta automática, solo a mano | Todos | | **Etiquetas predefinidas (AI económica)** | El clasificador pone las etiquetas predefinidas | Solo AI económica | | **AI Premium** | El agente premium pone las etiquetas AI de la sala | Solo AI Premium | Cuando cambia el módulo AI de la sala, la opción se adapta: * **Premium** → AI Premium * **Lite** → Desactivada * **Económica**, si antes era Premium o Lite → Etiquetas predefinidas. Si ya era económica y estaba desactivada, sigue desactivada El clasificador etiqueta solo los **primeros mensajes del cliente**. Se detiene en cuanto un operador responde, escribe una nota interna o pone una etiqueta. --- ## Urgencia Tres niveles: * **Baja** — saludos, agradecimientos, spam * **Normal** — presupuestos, pedidos, facturas * **Alta** — recambio que hace falta hoy, coche parado en el taller, entrega retrasada o equivocada, pago que vence Los tickets con urgencia **alta** tienen un icono de aviso en la lista. Con la **AI económica** la pone el clasificador, en cada nuevo grupo de mensajes del cliente. Con la **AI Premium** la pone el agente. --- ## Mensajes sencillos Muchos mensajes del cliente son charla o acuerdos prácticos («gracias», «ok», horarios, recogida) y no necesitan el reconocimiento de recambios. Con la **AI económica**, si el clasificador está bastante seguro y el mensaje es **solo texto o voz**, el reconocimiento de recambios no arranca. Las **imágenes y los archivos** siempre pasan por el reconocimiento. --- ## Enlace con tickets anteriores En la misma página **Clasificador de tickets**, el interruptor **Enlace automático de tickets** está **apagado** por defecto. Solo vale para la **AI económica**. Cuando un contacto escribe en un ticket nuevo, antes de que responda un operador, la AI lo compara con los **dos últimos tickets cerrados** del contacto. Si continúa uno de ellos (mismo vehículo, o un ticket sin vehículo), enlaza el ticket nuevo con ese y la conversación anterior aparece en el chat. Solo enlaza cuando está muy segura: a veces no enlaza aunque tendría razón. No trabaja en un ticket **ya enlazado**. --- ## Cuándo trabajan | Función | Trabaja solo si… | | --- | --- | | **Clasificador** | la sala tiene la **AI económica**, llegan **mensajes nuevos del cliente** y el clasificador está configurado | | **Urgencia** | en cada nuevo grupo de mensajes del cliente | | **Mensajes sencillos** | los mensajes nuevos son **solo texto o voz** | | **Etiquetas automáticas** | la sala está en «Etiquetas predefinidas», en el ticket **aún no ha escrito ningún operador** y **ningún operador ha puesto una etiqueta** | | **Enlace** | está **activo**, en el ticket **aún no ha escrito ningún operador**, el contacto tiene **tickets cerrados** (solo los dos últimos) y el ticket **no está ya enlazado** | Si el clasificador no está configurado, Quoting24 funciona igual: simplemente no clasifica. --- ## Cómo usarlas * **A mano**: en el ticket, el campo **Etiqueta** admite una o más etiquetas (personalizadas y predefinidas). * **Etiquetas automáticas**: en Clasificador de tickets elige «Etiquetas predefinidas (AI económica)» y luego define los **asignados** de cada etiqueta predefinida. * **Agente premium**: crea las etiquetas con asignación AI y escribe una **descripción clara**. * **Enlace**: actívalo si los clientes suelen reescribir sobre solicitudes ya cerradas. * **Urgencias**: vigila el icono de aviso en la lista de tickets. Los ajustes de la sala los ven admin, owner y superadmin. --- # Respuestas guardadas URL: https://wiki.quoting24.com/es/content/save_response/ Language: es Updated: 2026-11-04 # Respuestas guardadas Respuestas guardadas Desde la sección **“Respuestas guardadas”** es posible crear **respuestas predefinidas** para enviarlas rápidamente a los clientes. --- ## Creación de una nueva respuesta guardada Para crear una nueva **Respuesta guardada**, haz clic en el botón rojo de arriba **“+ Añadir Respuesta”**. Modificación de respuestas guardadas Es necesario introducir: - un **nombre** - el **contenido** de la respuesta Es posible añadir un **archivo adjunto**. --- ## Tipo de respuestas guardadas Las respuestas guardadas pueden gestionarse en **dos modalidades**: - **Solo para mí** Pensada para respuestas personales (ej. *“Soy Antonio…”*). Esta respuesta será utilizable **solo por el usuario que la crea**. Los [usuarios](user.md) **no administradores** pueden visualizar y configurar **solo** respuestas guardadas de tipo *“solo para mí”*. - **Para toda la actividad** Todos los usuarios de la cuenta verán la respuesta guardada. **Solo los [usuarios administradores](user.md)** pueden crear y modificar este tipo de respuestas. --- ## Gestión de las respuestas guardadas Las respuestas guardadas pueden ser: - **activadas o desactivadas** mediante la marca correspondiente - **modificadas** haciendo clic en el icono con forma de **lápiz** a la derecha de cada respuesta --- ## Uso de las respuestas guardadas en chat La inserción de una respuesta guardada se realiza directamente desde la **barra de escritura del mensaje**. Para utilizarla: 1. escribe el carácter **`/`** 2. escribe el **nombre** de la respuesta guardada (también parcialmente) Ejemplo de respuesta guardada Es posible insertar la respuesta: - **sin completar el nombre** - pulsando **Intro** sobre la respuesta resaltada (no es necesario utilizar el ratón) --- ## Orden de las sugerencias En caso de que el texto introducido sea **parcial o ambiguo** (ej. `/o`), las sugerencias de las respuestas guardadas se ordenan de la siguiente manera: Ejemplo de uso de respuesta guardada 1. **Orden alfabético** de los nombres que empiezan por el texto escrito (ej. `/o` → *ahora*, *horario*) 2. A continuación, se muestran los resultados en los que el texto escrito está contenido **en el nombre o en el contenido**, también en orden alfabético --- # Asignación automática URL: https://wiki.quoting24.com/es/content/assegnazioni/ Language: es Updated: 2026-11-04 # Asignación automática El sistema de **Asignación Automática** tiene el objetivo de hacer que la gestión de los tickets sea más **rápida**, **eficiente** y **precisa**, sobre todo en contextos en los que varios operadores trabajan sobre un único número de WhatsApp. Esta funcionalidad asigna automáticamente los **nuevos tickets** al operador o al equipo más adecuado, basándose en **reglas predefinidas**. El objetivo es: - eliminar la asignación manual - reducir los tiempos de espera para los clientes - garantizar que cada solicitud llegue enseguida a la persona adecuada --- ## Cuándo entra en funcionamiento la asignación automática El sistema entra en acción **cuando llega el primer mensaje de un nuevo ticket**. Analiza la información del ticket y la compara con: - competencias - responsabilidades - configuraciones de los operadores La asignación se basa en **tres criterios de correspondencia**: 1. **[Etiqueta](type_of_request.md)** (ver sección *Etiquetas*) 2. **[Empresa](companies.md) asignada al contacto** Si existen operadores dedicados a una empresa cliente específica 3. **[Contacto](contacts.md)** Si existe un referente de confianza para un contacto específico Para cada nuevo ticket, el sistema: - calcula cuántas correspondencias tiene cada operador - procede con la asignación según la regla elegida ⚠️ La autoasignación **se aplica solo a los primeros mensajes del cliente** y deja de funcionar cuando hay una actividad del operador en el ticket. ### Autoasignación al abrir Si un ticket aún está **por leer** y no está asignado a ningún operador, la apertura del ticket puede asignarlo automáticamente al operador que lo está tomando en cargo. Este comportamiento evita que dos operadores empiecen a trabajar al mismo tiempo en la misma solicitud y deja más claro quién es responsable del ticket. Autoasignación de ticket al abrir --- ## Disponibilidad de los operadores El sistema está diseñado para trabajar **solo con operadores realmente disponibles**. La asignación automática se produce **solo si al menos un operador idóneo está online**. - **Si ningún operador cualificado está online** El ticket **no se asigna automáticamente** y permanece disponible para la toma en cargo manual. - **Si al menos un operador cualificado está online** El sistema procede con la asignación automática. --- ## Reglas de asignación Puedes configurar el sistema para que utilice una de las siguientes **lógicas de asignación**: Asignación --- ### Mejor coincidencia Con esta regla, el ticket se asigna **solo al operador (o a los operadores)** con la **puntuación de correspondencia más alta**. Es ideal para dirigir las solicitudes hacia un experto específico. #### Ejemplo práctico Un ticket llega de la empresa **“ACME Corp”** y es de tipo **“Comercial”**: - **Anna** → responsable del tipo *Comercial* (1 correspondencia) - **Marco** → responsable de la empresa *ACME Corp* (1 correspondencia) - **Lucia** → responsable tanto del tipo *Comercial* como de *ACME Corp* (2 correspondencias) ➡️ Con la regla **Mejor Coincidencia**, el ticket se asigna **solo a Lucia**. --- ### Todas las coincidencias Con esta regla, el ticket se asigna a **todos los operadores** que tienen **al menos una correspondencia**. Es adecuada para equipos en los que varias personas pueden gestionar el mismo tipo de solicitud. #### Ejemplo práctico Usando el mismo escenario anterior: ➡️ Con la regla **Todas las Coincidencias**, el ticket se asigna a **Anna, Marco y Lucia**. --- ## Gestión del ciclo de vida de un ticket autoasignado ### Asignación manual y asignación a todos Además de la asignación automática, un ticket puede asignarse manualmente a uno o varios operadores. En el selector de **asignados** está disponible la opción **Ninguno**. Al seleccionarla se **eliminan todos los asignados** del ticket. Select assegnatari – opzione Nessuno Cuando se necesita implicar a todo el equipo, es posible asignar el ticket a **todos los colaboradores** habilitados. Esta función es útil para solicitudes urgentes o para tickets que puede gestionar el primer operador disponible. Asignar todos los colaboradores al ticket ### Ticket marcado como "Por leer" Un ticket puede marcarse como **Por leer** para volver a ponerlo en el flujo de toma en cargo del equipo. Cuando un ticket se marca como *Por leer*: - se eliminan los asignatarios presentes - la solicitud vuelve a ser visible para los operadores que pueden tomar en cargo tickets no asignados - el ticket puede reasignarse manualmente o mediante el flujo operativo normal ### Ticket sin respuesta (tiempo de seguridad) Para evitar que un ticket autoasignado quede ignorado, se prevé un **tiempo de seguridad configurable**. Si un ticket: - ha sido autoasignado - **no recibe respuesta** dentro del tiempo configurado la asignación automática se **elimina**. El ticket vuelve a estar: - **no asignado** - visible para todo el equipo Este mecanismo evita que las solicitudes se pierdan. --- ### La primera respuesta “reclama” el ticket Cuando un ticket está asignado automáticamente a **varios operadores**: 1. el **primer operador que responde** reclama el ticket 2. todos los demás operadores se eliminan de la asignación 3. el operador que ha respondido se convierte en el **único responsable** Esto garantiza: - ninguna superposición - responsabilidad siempre clara --- ## Configuración de la asignación automática El administrador puede configurar el sistema siguiendo estos pasos: 1. **Habilita la función** Activa la opción *“Habilitar Asignación Automática”* en la configuración. 2. **Elige la regla de asignación** - Mejor coincidencia - Todas las coincidencias 3. **Configura el tiempo de seguridad** Define después de cuántos minutos un ticket no gestionado debe volver a estar no asignado (por defecto **15 minutos**). 4. **Define las responsabilidades de los operadores** Asocia los operadores a sus áreas de competencia: - **Tipos de ticket** - **Empresas** - **Contactos** Asignación automática --- ## Ejemplo práctico avanzado - **Matteo** es experto en *Jeep* y *carrocería* - **Alessandro** es experto en *carrocería* Llega una solicitud para una **puerta de un Jeep Renegade**. - Con **Mejor Coincidencia** ➜ el ticket se asigna **solo a Matteo** - Con **Todas las Coincidencias** ➜ el ticket se asigna **a Matteo y Alessandro** --- # Turnos de entrega URL: https://wiki.quoting24.com/es/content/delivery_shifts/ Language: es Updated: 2026-11-04 # Turnos de entrega Es posible crear y gestionar los **turnos de entrega** desde la opción correspondiente presente en el menú. Al hacer clic en el menú, se muestra el listado de los **turnos de entrega ya existentes**. Para crear un nuevo turno, basta con hacer clic en el botón rojo de la parte superior derecha **“+ añadir”**. Pantalla de adición de turnos de entrega --- ## Asignación de los turnos a las empresas Una vez creado un turno de entrega, es posible **asignarlo a una o varias [empresas](companies.md)**. La asignación puede realizarse desde diferentes puntos de la aplicación (dentro de la gestión de empresa), pero el método **recomendado** es proceder **de forma masiva**. Para hacerlo: 1. entra en el **turno de entrega** al que quieres asignar las empresas 2. utiliza la pantalla de modificación del turno Pantalla de modificación de turnos de entrega --- ## Asignación masiva mediante filtros Desde esta pantalla es posible: - filtrar las empresas - seleccionar varias empresas al mismo tiempo - asignar el turno de forma masiva - guardar las modificaciones Los filtros también pueden utilizar **datos de ficha de empresa**, por ejemplo: - ciudad - notas - notas del administrador --- # Informe diario de actividad URL: https://wiki.quoting24.com/es/content/daily_activity_report/ Language: es Updated: 2026-11-04 # Informe diario de actividad Está disponible un **informe diario automático** enviado por correo electrónico que proporciona una vista general de la actividad de gestión de los tickets de soporte. Los KPI se refieren al **día anterior** y se comparan con el **mismo día de la semana anterior**. Todos los tiempos se expresan en **minutos**. --- ## Requisitos Para configurar los destinatarios del informe es necesario ser **[administrador](user.md)**. Si el propio usuario es un **miembro**, debe solicitar a un administrador de la sala el **cambio de tipo de usuario** (de miembro a administrador), o contactar con el soporte de Quoting24. --- ## Cómo configurar el informe 1. Abrir **Settings → General settings → Business** 2. En la sección **Statistics report emails**, hacer clic en **Edit recipients** 3. Añadir un **nuevo destinatario** y completar: - **Email** de la dirección que debe recibir el informe - **Active**: si está desactivado, esa dirección no recibe el informe - **Frequency** (por ejemplo **Daily**) - **Send time** 4. Hacer clic en **Save** Ajustes de Business - Statistics report emails Modal nuevo destinatario del informe --- ## Qué contiene el informe ### KPI de ayer Indicadores principales del día anterior, con comparación respecto al mismo día de la semana anterior: - tickets creados y tickets cerrados - porcentaje de cierre - respuestas enviadas por los operadores - mensajes recibidos - tiempo mediano de respuesta - tiempo mediano de apertura de ticket - operadores activos - contactos activos - vehículos buscados - solicitudes de recambios realizadas ### Rendimiento de operadores Detalle por cada operador sobre: - respuestas enviadas - notas internas - tickets asignados y cerrados - porcentaje de cierre - tiempo mediano de respuesta y de apertura ### Mensajes por franja horaria Distribución de los **mensajes recibidos y enviados** durante el día, divididos por franja horaria (hora local). Se excluyen las notas internas y los mensajes eliminados. ### Usuarios en línea Número de **operadores distintos** que han trabajado en cada franja horaria (eventos de ticket, mensajes o notas enviados). ### Tickets abiertos Evolución de los tickets **en estado abierto** a lo largo del día (muestras periódicas), incluido el pico y cuántos quedan abiertos al final del día. También cuenta los tickets creados en días anteriores si siguen abiertos. ### Top clientes Lista de clientes con mayor actividad del día, ordenados por mensajes recibidos, con detalle de vehículos, búsquedas, mensajes y operadores implicados. ### Evolución diaria Comparación entre la **semana actual y la anterior**: tickets creados y respuestas de operadores día a día. ### Estadísticas de los últimos 7 días - **Rendimiento de operadores** agregado de los últimos 7 días - **Heatmap de actividad**, que destaca las respuestas de cada operador día a día Este informe permite **supervisar la eficiencia del servicio al cliente**, analizar las cargas de trabajo y evaluar la evolución del rendimiento a lo largo del tiempo. --- # Quoting News URL: https://wiki.quoting24.com/es/content/quoting_news/ Language: es Updated: 2026-11-04 # Quoting News **Quoting News** es el canal donde Quoting publica actualizaciones y avisos del producto. Aparece en la barra lateral de los chats, junto a las solicitudes. No es un ticket: es un chat de **solo lectura**. Solo Quoting puede enviar estos mensajes: los operadores los leen, no los crean ni responden. --- ## Cómo funciona 1. Abre **Quoting News** desde la barra lateral izquierda. 2. Lee el historial de comunicaciones, ordenadas por fecha. 3. Cuando hayas terminado, haz clic en **He leído**: desaparece el indicador de novedades no leídas, sin cerrar el chat. No puedes escribir ni responder. Si no hay mensajes, verás el estado vacío *Ninguna novedad*. --- # WhatsApp URL: https://wiki.quoting24.com/es/content/whatsapp/ Language: es Updated: 2026-11-04 # WhatsApp Esta sección es visible **solo para los administradores** y no para los miembros (usuarios). Desde aquí es posible conectar **Quoting24** a **WhatsApp** mediante las **API oficiales de Meta** (WhatsApp Business Platform), habilitando: - gestión de chats - gestión de contactos - envío y recepción de mensajes desde Quoting24 La conexión mediante API oficiales es la modalidad prevista para esta versión de la wiki. --- ## Conexión mediante API oficiales Meta Las API oficiales permiten a Quoting24 gestionar las conversaciones WhatsApp de forma estable, trazable y soportada por Meta. ### Pro - Posibilidad de utilizar **botones interactivos** en los mensajes (ej. "Aprobar presupuesto"), conectables a sistemas ERP - **Alta estabilidad** y soporte técnico oficial - Gestión centralizada de las solicitudes en Quoting24, con tickets, asignaciones y automatizaciones ### Reglas operativas - Los mensajes salientes hacia **nuevos contactos** (de los que no hemos recibido mensajes en las últimas 24 horas) están vinculados a **templates preaprobados por Meta** Solo después de una respuesta del cliente es posible comunicarse libremente. Después del envío de un mensaje preaprobado es posible escribir mensajes normales, pero estos se entregarán al cliente **solo después de una acción suya** (ej. clic en el botón "dime" o respuesta). - El cliente debe **aprobar la apertura del canal de comunicación** y debe encontrarse en **dispositivo móvil** para completar correctamente la interacción con los templates. - Según la configuración elegida, el uso manual de la App WhatsApp Business en el mismo número puede requerir la función [WhatsApp Coexistence](whatsapp_coexistence.md). - Los grupos de WhatsApp y las listas broadcast de la app no están soportados en las API Meta; para campañas con plantillas usa la sección [Broadcast API](broadcast_api.md). Si el número ya está en las API de otro proveedor y quieres pasarlo a Quoting24 sin cambiarlo, sigue [Migración de la API de WhatsApp](migrazione_whatsapp_api.md). --- ## Funcionalidades disponibles con Quoting24 Una vez conectado el canal oficial, Quoting24 permite trabajar en las solicitudes WhatsApp con sus funciones operativas: - división de las conversaciones en **tickets** - asignación manual o automática a los operadores - reconocimiento de matrículas, VIN y recambios en los mensajes - envío de mensajes, imágenes y documentos - envío de presupuestos y PDF desde el software de gestión - uso de botones interactivos cuando el flujo API lo permite Las funcionalidades internas de Quoting24 siguen gestionadas por la plataforma; el envío de mensajes al cliente sigue las reglas operativas de las API oficiales Meta. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/es/content/whatsapp_coexistence/ Language: es Updated: 2026-11-04 # WhatsApp Coexistence La función **WhatsApp Coexistence** (coexistencia) permite a las empresas utilizar al mismo tiempo la **App WhatsApp Business** (en el teléfono) y las **API de WhatsApp Business** (mediante Quoting24 u otros softwares) en el mismo número de teléfono. Esto es un **cambio significativo**, ya que anteriormente la activación de las API requería la eliminación de la cuenta WhatsApp Business en el teléfono, impidiendo el uso manual de la app. --- ## Ventajas de la Coexistencia Activando la coexistencia, puedes obtener lo mejor de ambos mundos: 1. **Interacción Humana y Personal (App Business)**: - Sigue usando WhatsApp en tu smartphone como siempre lo has hecho. - Responde manualmente a los clientes cuando sea necesario. - Interviene manualmente desde el teléfono cuando se necesita una gestión directa del cliente. 2. **Potencia y Automatización (API Business)**: - Conecta Quoting24 para gestionar volúmenes elevados de solicitudes. - Aprovecha los bots para la autorespuesta y la cualificación de contactos. - Envía presupuestos estructurados directamente desde el software de gestión. - Gestiona las chats en equipo multiusuario mediante la plataforma web. En resumen: **puedes automatizar el trabajo pesado con las API, manteniendo la posibilidad de intervenir personalmente desde el teléfono para los casos especiales.** --- ## Requisitos Para activar la coexistencia es necesario cumplir algunos requisitos técnicos: - **App Actualizada**: Asegúrate de tener la última versión de WhatsApp Business instalada en tu dispositivo. - **Cuenta Business Verificada**: Puede ser necesario completar la verificación de la empresa en el Business Manager de Meta. --- ## Cómo activar la Coexistencia El proceso sigue el flujo de "Embedded Signup" (registro integrado) usado para la activación de las API oficiales. 1. **Inicia la conexión**: Inicia el proceso de conexión del número desde Quoting24: tu BSP (Business Solution Provider). 2. **Elige el número**: Selecciona el número de teléfono que ya está **activo** en la App WhatsApp Business. 3. **Verificación de idoneidad**: El sistema comprueba que el número y la cuenta cumplan los requisitos previstos por Meta. 4. **Confirmación guiada**: Completa los pasos requeridos por el flujo de Meta y Quoting24. 5. **Activación**: Una vez completado el proceso, las API quedan habilitadas en el número existente y pueden trabajar en paralelo con la app. --- ## Notas Importantes - **Sincronización**: Los mensajes enviados desde la app y los enviados desde las API serán visibles en ambas plataformas dentro de los límites técnicos previstos por Meta. - **Costes**: Los mensajes iniciados mediante API (ej. envío de presupuestos, templates) siguen la lista de precios de Meta. Las respuestas manuales desde la app siguen siendo gratuitas. - **Limitaciones**: Algunas actividades realizadas desde la app pueden no ser automatizables por Quoting24 y siguen gestionadas directamente desde la App WhatsApp Business. --- ## Limitación importante: "Cold Chat" (Conversaciones espontáneas) Es posible iniciar una nueva conversación hacia un cliente directamente desde la App WhatsApp Business. **Sin embargo, esta conversación no podrá continuarse en Quoting24.** El motivo es técnico y tiene que ver con las reglas de Meta: 1. Un mensaje enviado manualmente desde la App **no abre la ventana de asistencia de 24 horas** para las API (como sí lo haría un mensaje del cliente). 2. Al no ser un "Mensaje Template" de pago aprobado por Meta, no crea una sesión válida para el software. **Consecuencia**: Verás el mensaje en Quoting24 gracias a la sincronización, pero **no podrás responder ni enviar otros mensajes desde Quoting24** dentro de esa chat hasta que el cliente responda a tu mensaje. Solo la respuesta del cliente desbloquea la conversación y permite a Quoting24 intervenir. --- ## Número ya en coexistencia con otro proveedor Si el número ya está en coexistencia con otro proveedor y hay que pasarlo a Quoting24, sigue [Migración de la API de WhatsApp](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/es/content/broadcast_api/ Language: es Updated: 2026-11-04 # Broadcast API La sección **Broadcast** permite crear y gestionar **campañas de mensajería broadcast** en los números conectados a Quoting24 mediante las **API oficiales de Meta** (WhatsApp Business Platform). En la práctica puedes **enviar el mismo mensaje plantilla a muchos números de WhatsApp**, cargar los destinatarios desde un archivo Excel, elegir la fecha y hora de envío y seguir el estado de cada mensaje. > **Atención:** las Campañas Broadcast de Quoting24 **no** son las “listas de difusión” de la app WhatsApp. > Solo funcionan con una conexión **WhatsApp Business / API Meta** en estado **connected** y usan **plantillas WhatsApp** ya disponibles en Quoting24 (sincronizadas / aprobadas por Meta). --- ## Requisitos 1. **Conexión WhatsApp Business activa** La opción de menú **Broadcast** aparece solo si el estado de la conexión API Meta es **connected**. Consulta [WhatsApp](whatsapp.md) y, si también usas el mismo número en el teléfono, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Permisos** Todos los miembros de la sala pueden **ver** las campañas. Solo **owner** y **admin** pueden **crear**, modificar o eliminar campañas y mensajes en cola. 3. **Plantillas WhatsApp** Hace falta al menos una plantilla disponible en Quoting24 (las seleccionables en el asistente). Si la plantilla tiene un **encabezado de imagen, vídeo o documento**, al crear la campaña es obligatorio subir el archivo multimedia: Meta no reutiliza automáticamente la vista previa del modelo. 4. **Archivo de destinatarios** Los destinatarios se cargan desde un **archivo XLSX** (no desde la agenda de Contactos). Máximo **1000** destinatarios por campaña. 5. **Pago Meta** Los mensajes plantilla siguen la lista de precios de Meta (categorías Marketing / Utility / Authentication, etc.). --- ## Cómo abrir la sección Broadcast 1. Abre el **menú** de Quoting24 (icono arriba a la derecha). 2. Selecciona **Broadcast**. Opción Broadcast en el menú de Quoting24 Se abre la página **Campañas Broadcast**, con el subtítulo *Gestiona las campañas de mensajería broadcast de WhatsApp.* --- ## Lista de campañas | Columna | Descripción | | ------- | ----------- | | **Nombre** | Nombre de la campaña (clicable para el detalle) | | **Programación** | Fecha y hora de envío programadas | | **Progreso** | `enviados / total (porcentaje)` — el porcentaje considera mensajes **enviados + fallidos** sobre el total | | **Estado** | Estado de la campaña (ver abajo) | Arriba a la derecha: **+ Nueva campaña**. En cada fila puedes eliminar la campaña o abrir su detalle. Lista de campañas Broadcast ### Estados de campaña | Estado | Significado | | ------ | ----------- | | **Borrador** | Borrador (no usado en el flujo estándar de creación) | | **Activa** | Campaña creada y en cola / a la espera de la hora programada | | **Enviando** | Envío en curso | | **Completada** | Todos los mensajes han sido procesados (enviados o fallidos) | | **Fallida** | Campaña fallida | | **Cancelada** | Detenida por el usuario: los mensajes aún no enviados ya no se envían | | **Archivada** | Archivado automático tras unos 30 días | --- ## Crear una nueva campaña El asistente tiene **tres pasos**: 1. **Configuración** 2. **Destinatarios (XLS)** 3. **Vista previa y confirmación** ### Paso 1 — Configuración Desde la lista, haz clic en **+ Nueva campaña** y completa: | Campo | Qué indicar | | ----- | ----------- | | **Nombre de la campaña** | Nombre para reconocerla en la lista | | **Plantilla** | Plantilla WhatsApp a enviar | | **Imagen / vídeo / documento de encabezado** | Aparece **solo** si la plantilla seleccionada lo requiere; en ese caso el archivo es obligatorio | | **Fecha** | Día de inicio del envío | | **Hora** | Hora de inicio del envío | En la misma pantalla ves la **vista previa** de la plantilla (texto, pie, botones y media si se ha cargado). Luego haz clic en **Siguiente**. Pantalla Crear campaña — configuración #### Media en el encabezado (solo si la plantilla lo permite) El campo para cargar un media en el encabezado **no siempre está presente**. Aparece **solo** después de elegir una plantilla cuyo encabezado Meta sea de tipo: - **imagen** → formatos `JPG`, `JPEG`, `PNG` - **vídeo** → formato `MP4` - **documento** → formato `PDF` Si la plantilla no prevé media en el encabezado, el campo no se muestra y puedes continuar sin adjuntos. Si la plantilla lo requiere, sin archivo cargado no puedes avanzar: Meta no reutiliza automáticamente la vista previa del modelo. En el ejemplo siguiente, al seleccionar una plantilla con encabezado de imagen aparece el área **Imagen header** (clic o arrastrar y soltar). Carga de imagen de encabezado al crear una campaña Broadcast ### Paso 2 — Destinatarios (XLS) 1. Haz clic en **Descargar plantilla XLSX** para obtener el archivo de ejemplo. 2. Completa la hoja con estas columnas: | Columna | Obligatoria | Descripción | | ------ | ----------- | ----------- | | `recipient_name` | No | Nombre del destinatario (solo etiqueta en Quoting24) | | `recipient_address` | **Sí** | Número de WhatsApp (con o sin `+`; los espacios y el prefijo `00` se normalizan al enviar) | | `var1`, `var2`, `var3`, … | Si la plantilla tiene variables | Valores de las variables de la plantilla, en orden | 3. Sube el archivo completado (**Subir archivo completado**, formato `.xlsx`). 4. Cuando aparezca al menos un destinatario válido, haz clic en **Siguiente**. Límite: **máximo 1000 destinatarios** por campaña. ### Paso 3 — Vista previa y confirmación Revisa: - vista previa de la plantilla - lista de destinatarios (puedes **editar** o **eliminar** filas individuales) Luego haz clic en **Confirmar y enviar**. La campaña se crea en estado **Activa** y los mensajes entran en cola como **Pendiente**, programados para la fecha/hora elegidas. Se te lleva al **detalle de la campaña**. --- ## Detalle de campaña y mensajes En el detalle ves: - estado y programación de la campaña - listado de cada mensaje con: - nombre y número - próximo envío (si sigue en cola) - estado del mensaje - intentos (`retry / max`) - posible error - vista previa del texto renderizado (con variables sustituidas) ### Estados del mensaje | Estado | Significado | | ------ | ----------- | | **Pendiente** | En cola, aún no enviado | | **Programado** | Programado | | **Enviando** | Envío hacia Meta en curso | | **Enviado** | Enviado con éxito | | **Fallido** | Fallido tras los intentos previstos | | **Cancelado** | Cancelado | | **Archivado** | Archivado (mensajes antiguos) | Si un envío falla, el sistema puede **reintentarlo** automáticamente (hasta 10 intentos, con espera entre uno y otro). También puedes modificar o quitar de la cola los mensajes aún no enviados (solo owner/admin). ### Cancelar una campaña Mientras el estado sea **Activa** (o **Borrador**), puedes usar **Cancelar campaña**. Los mensajes ya enviados siguen enviados; los que siguen en cola **ya no se envían**. --- ## Cómo se realiza el envío - El envío empieza en la **fecha/hora programadas** (o poco después, si esa hora ya ha pasado). - Los mensajes se envían **de uno en uno**, con una pequeña pausa entre envíos. - Cada mensaje es una **plantilla WhatsApp** enviada por API Meta en la conexión de la sala. - Cuando todos los mensajes están **enviados** o **fallidos**, la campaña pasa a **Completada**. --- ## Notas importantes - **Solo API Meta:** la sección está disponible con el número vinculado mediante las API oficiales de WhatsApp Business. - **Menú oculto sin Business conectado:** si no ves **Broadcast**, comprueba que WhatsApp Business esté vinculado y en estado conectado. - **No usa la agenda de Contactos:** los números llegan del archivo XLSX (o de las modificaciones hechas en la vista previa). - **Costes Meta:** cada plantilla entregable puede generar un cargo según categoría y reglas de Meta. Consulta también [WhatsApp Coexistence](whatsapp_coexistence.md) para los costes con coexistencia. - **Consentimiento y cumplimiento:** en campañas de marketing, asegúrate de tener el consentimiento de los destinatarios y de respetar las políticas de WhatsApp / Meta. - **Envío 1:1 desde el ERP:** para enviar un mensaje a un solo contacto desde un software externo, usa [Escribe en WhatsApp mediante nuestras API](invia_whatsapp_api.md). Esa integración no sustituye las campañas Broadcast masivas. --- ## Resumen operativo 1. Conecta el número con **API Meta** (estado conectado). 2. Asegúrate de ser **owner** o **admin**. 3. Prepara las **plantillas** WhatsApp en Quoting24. 4. Abre **Broadcast** → **+ Nueva campaña**. 5. Configura nombre, plantilla, fecha/hora (y media de encabezado si hace falta). 6. Descarga la plantilla XLSX, complétala y súbela. 7. Revisa la vista previa y confirma. 8. Supervisa el progreso, el estado de la campaña y el detalle de los mensajes. --- # Migración de la API de WhatsApp URL: https://wiki.quoting24.com/es/content/migrazione_whatsapp_api/ Language: es Updated: 2026-11-04 # Migración de la API de WhatsApp Esta guía explica cómo conectar a **Quoting24** un número que ya está activo en las **API oficiales de WhatsApp** (WhatsApp Business Platform) con otro proveedor, **sin cambiar el número**. La sección **WhatsApp** es visible **solo para los administradores**. La conexión empieza siempre en el mismo punto de Quoting24: **Configuración → WhatsApp → WhatsApp Business → Conectar**. El botón **Conectar** abre el registro integrado de Meta (Embedded Signup). A partir de ahí, Quoting24 es el proveedor que recibe y envía los mensajes de ese número. La modalidad prevista es la conexión a las API oficiales, descrita en [Vista general de WhatsApp](whatsapp.md). --- ## Qué procedimiento seguir Meta tiene dos formas de conectar un número que ya usa otro proveedor. Antes de pulsar **Conectar**, comprueba el portfolio en **Meta Business Suite → Configuración → Cuentas**. | Lo que ves en Meta Business Suite | Qué hacer | | --- | --- | | **Cuentas de WhatsApp** y **Cuentas de mensajería** (Messaging Accounts) por separado | Modelo actual: **comparte** la cuenta de WhatsApp con Quoting24. El número se queda donde está. | | Solo **Cuentas de WhatsApp** | Modelo anterior: **migra** el número con un código SMS o de voz. | En el modelo actual, Meta rechaza mover el número de una cuenta a otra. Desconectarlo del proveedor anterior no lo libera. --- ## Qué preparar - Acceso de **administrador** a Quoting24. - Acceso de **administrador** al portfolio de Meta (Business Manager) que posee el número, con el usuario de Facebook que usarás en la ventana de **Conectar**. - El número ya registrado en las API oficiales. Los números de prueba gratuitos asignados por Meta no se pueden migrar. - Posibilidad de recibir un SMS o una llamada de voz en ese número, si Meta pide un código. La migración del modelo anterior exige también: - nombre para mostrar **ya aprobado**, sin una solicitud de cambio de nombre todavía abierta; - verificación en dos pasos (PIN) **desactivada** en el número, sin borrar el número ni cerrar la cuenta. Si no tienes acceso a la cuenta de WhatsApp, pide la desactivación al proveedor actual. --- ## Modelo actual: comparte el número con Quoting24 Usa este procedimiento si en Meta Business Suite aparecen tanto **Cuentas de WhatsApp** como **Cuentas de mensajería**. Deja el número activo en el proveedor actual hasta el final. Quitarlo antes, con mensajes de clientes en curso, interrumpe la recepción. 1. En Quoting24 abre **Configuración → WhatsApp**. 2. En la fila **WhatsApp Business** pulsa **Conectar** e inicia sesión con el administrador del portfolio de Meta. 3. Selecciona el número ya registrado en el otro proveedor. Meta lo muestra en la lista y no pide un código nuevo: el número ya está registrado. 4. Meta propone el portfolio y la cuenta de WhatsApp de ese número. Confirma la compartición con Quoting24. 5. Introduce el nombre para mostrar del número y continúa. Meta puede revisarlo de nuevo después de la activación. 6. Revisa los permisos solicitados (cuenta de WhatsApp, cuenta de mensajería y recursos vinculados) y confirma. 7. Cierra la ventana de Meta. En Quoting24, la fila **WhatsApp Business** queda **conectada**. Meta crea una cuenta de mensajería nueva para Quoting24, bajo la misma cuenta de WhatsApp. El proveedor anterior sigue conectado hasta que lo quites. ### Hacer llegar los mensajes a Quoting24 Compartir la cuenta no mueve por sí solo los mensajes entrantes. Mientras el proveedor anterior siga siendo partner, Meta puede seguir entregándoselos. Cuando en Quoting24 la fila **WhatsApp Business** está conectada: 1. En **Meta Business Suite** abre **Configuración → Cuentas → Cuentas de mensajería**, selecciona la cuenta, ve a **Partners** y quita el acceso de la app del proveedor anterior. 2. Abre **Configuración → Cuentas → Cuentas de WhatsApp**, selecciona la cuenta del número, ve a **Partners** y quita también ahí el acceso del mismo proveedor. 3. En la misma cuenta de WhatsApp abre **Enrutamiento de conversaciones** (Conversation routing) y asigna a Quoting24 cada tipo de conversación. En la lista de partners puede aparecer el nombre de la app de Meta vinculada a Quoting24, no el texto «Quoting24». Si no está claro qué acceso quitar, detente y pregunta al soporte de Quoting24 antes de eliminar un partner. Cuando queda un solo partner, Meta desactiva el enrutamiento y entrega los mensajes a ese partner. ### Qué se conserva en este modelo Se conservan en el número, porque la cuenta de WhatsApp no cambia: - número de teléfono - nombre para mostrar - calificación de calidad - límites de mensajería - estado de Official Business Account, si ya estaba activo Las **plantillas** pertenecen a la cuenta de mensajería, no al número. La cuenta creada para Quoting24 nace vacía: las plantillas del proveedor anterior hay que **volver a crearlas en Quoting24** y Meta debe aprobarlas de nuevo. Hasta que estén aprobadas: - desde Quoting24 puedes responder con libertad solo dentro de las **24 horas** desde el último mensaje del cliente; - en [Broadcast API](broadcast_api.md) no hay modelos que seleccionar. Los chats guardados en el software anterior **no** entran en los tickets de Quoting24. Los mensajes que llegan después de la conexión se convierten en tickets. Los chats que ya están en el teléfono del cliente siguen en la app de WhatsApp del cliente. --- ## Modelo anterior: migra el número Usa este procedimiento solo si en Meta Business Suite aparece **únicamente Cuentas de WhatsApp**. ### Desactiva la verificación en dos pasos Pide al proveedor actual que desactive el PIN del número, o hazlo tú desde el portfolio de Meta si tienes acceso. El número y la cuenta deben seguir activos. Solo se quita la verificación en dos pasos. ### Conecta el número desde Quoting24 1. En Quoting24 abre **Configuración → WhatsApp**. 2. En la fila **WhatsApp Business** pulsa **Conectar** e inicia sesión como administrador del portfolio de Meta. 3. Elige **crear una nueva cuenta de WhatsApp**. Es el paso con el que Meta mueve el número que ya existe: no es un segundo número. 4. Introduce **el mismo nombre para mostrar** ya aprobado en ese número. 5. Introduce **el mismo número**. Meta avisa de que ya está registrado en una cuenta de WhatsApp Business o en otro proveedor. 6. Pide el código por **SMS** o **llamada de voz** e introdúcelo. 7. Completa los pasos que quedan en la ventana de Meta. El traslado suele terminar en pocos minutos. En Quoting24, la fila **WhatsApp Business** pasa a **conectada**. Durante el paso, la recepción puede interrumpirse unos minutos. ### Qué se conserva y qué hay que rehacer Se conservan en el número: - nombre para mostrar - calificación de calidad - estado de Official Business Account - límites de mensajería Hay que rehacerlos en Quoting24: - las **plantillas**, que hay que volver a enviar y hacer aprobar por Meta antes de escribir fuera de la ventana de 24 horas y antes de usar [Broadcast API](broadcast_api.md); - las campañas del proveedor anterior; - el historial de chat de ese software, que no se importa. Los mensajes nuevos llegan como tickets. --- ## Número ya en coexistencia con otro proveedor Si el mismo número se usa **a la vez** desde la app WhatsApp Business y desde las API en otro proveedor, la conexión API no vuelve a enlazar por sí sola la app del teléfono. 1. Haz una **copia de seguridad de los chats** en la app WhatsApp Business. 2. Registra el mismo número en la app **WhatsApp personal**: el número sale de la app Business. 3. Regístralo de nuevo en la app **WhatsApp Business**. 4. En Quoting24 pulsa **Conectar** en **WhatsApp Business** y completa la coexistencia descrita en [WhatsApp Coexistence](whatsapp_coexistence.md): en la app, **Configuración → Dispositivos vinculados → Vincular un dispositivo**, y luego escanea el QR que muestra Quoting24. Para llevar el número solo a las API, sin la app en el teléfono, usa el procedimiento del modelo de Meta que comprobaste arriba. --- ## Después de la conexión - Los mensajes nuevos del número se convierten en **tickets** en Quoting24. - Fuera de las 24 horas desde el último mensaje del cliente se escribe con una **plantilla aprobada**. Las reglas del canal oficial están en [Vista general de WhatsApp](whatsapp.md). - Las campañas se crean en [Broadcast API](broadcast_api.md) cuando las plantillas están disponibles en Quoting24. - Para usar también la app WhatsApp Business en el mismo número hace falta [WhatsApp Coexistence](whatsapp_coexistence.md). - Los grupos y las listas broadcast de la app no pasan a las API. --- ## Si el procedimiento se detiene - **Meta rechaza el traslado del número.** El portfolio está en el modelo actual: vuelve a la compartición y deja el número registrado en el proveedor anterior hasta que Quoting24 figure como conectado. - **No llega el código SMS o de voz.** En el modelo anterior, la verificación en dos pasos sigue activa. Desactívala y repite **Conectar**. - **El nombre para mostrar bloquea la migración anterior.** Meta acepta el paso solo con el nombre aprobado y sin un cambio de nombre pendiente. - **Quoting24 está conectado pero los mensajes no llegan.** En el modelo actual, el enrutamiento sigue apuntando al proveedor anterior. Revisa **Partners** y **Enrutamiento de conversaciones** antes de desconectar el número. - Si el partner que hay que quitar no se reconoce, contacta con el soporte de Quoting24 e indica el número y el ID del portfolio de Meta. --- # Canal Widget — Visión general URL: https://wiki.quoting24.com/es/content/widget/ Language: es Updated: 2026-11-04 # Canal Widget — Visión general El **canal Widget** recibe solicitudes de asistencia y presupuesto desde el **sitio web**. Los visitantes abren un chat en el sitio; los mensajes llegan a Quoting24 como tickets y los operadores responden desde la interfaz habitual, con la misma lógica que los demás canales. La interfaz va en un **iframe**. El sitio anfitrión solo necesita un script y, cuando los datos ya se conocen, una llamada a `init()`. No hacen falta Angular, un cliente de Supabase ni acceso directo a la base de Quoting24. --- ## Qué integración hace falta Asociar una empresa y recuperar el historial son operaciones distintas. `external_id`, `company_name`, `name`, `phone` y `email` no autorizan el acceso a las conversaciones de otra persona. Un usuario ya autenticado en el sitio sigue siendo un invitado del widget hasta que el sitio pase una credencial de restauración válida. | Caso | Qué implementar | Continuidad | Sección | | --- | --- | --- | --- | | Sitio público, visitante desconocido | Solo el script. El visitante rellena el formulario de contacto. | Sesión de invitado en el mismo navegador | [Widget B2C](widget_b2c.md) | | Sitio que ya conoce el perfil y la empresa | Script e `init()` con el perfil y los datos de la empresa | Sesión de invitado precargada y asociación de empresa | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portal con historial personal entre dispositivos | También una integración de backend para `external_user_id` y `restore_id` | Historial personal en el canal widget autorizado | [Widget B2B](widget_b2b.md) | | Contrato de campos, CSP, login/logout, provisioning | Guía para desarrolladores | — | [Integración técnica](widget_tecnico.md) | --- ## Qué hace el widget - Muestra un **botón flotante** o un chat **incrustado** en la página - Para un visitante nuevo abre el formulario con las etiquetas Teléfono y Nombre. En `init()` los campos se llaman `phone` y `name`; el correo, si el sitio lo conoce, se llama `email` - Si el sitio llama a `init()`, usa los datos ya disponibles y puede vincular el contacto a una empresa mediante `external_id` (`web_code`). Si la empresa no existe y también llega `company_name`, puede crearla - Abre una conversación gestionada en Quoting24 como los demás canales - Acepta adjuntos PDF, DOC/DOCX, JPG/JPEG y PNG, hasta 10 MiB por archivo y 100 MiB de adjuntos referenciados por conversación - Muestra el saludo, el mensaje de bienvenida y, fuera de horario, el banner configurado. La redacción de mensajes sigue disponible El loader guarda la credencial de invitado en el `localStorage` del sitio, separada por clave de widget. Si el almacenamiento está bloqueado, la continuidad puede limitarse a la página actual. La sesión de invitado permite releer la conversación más reciente después de cerrarla, en el mismo navegador. Otro dispositivo exige la [restauración autenticada](widget_b2b.md). --- ## Dónde se configura en Quoting24 1. Abre **Configuración → Canales** (Impostazioni → Canali) 2. Selecciona el canal **Widget** 3. Abre la configuración Desde ahí se definen: - logotipo, color principal, posición del botón - mensaje de saludo, mensaje de bienvenida, mensaje fuera de horario - **dominios permitidos** - **código de inserción** (URL completa del script y clave pública del widget) Los horarios del canal determinan el banner fuera de horario. Pide al administrador el código de inserción y los dominios autorizados, incluidos pruebas y desarrollo local. Usa la URL y la clave del mismo entorno. En los ejemplos, sustituye `HOST_WIDGET` y `CLAVE_PUBLICA_WIDGET` por los valores recibidos. Los dominios autorizados son nombres de host, por ejemplo `shop.example.com` o `localhost`, sin `https://`, puerto, ruta ni prefijo `*.`. `example.com` autoriza también sus subdominios. Una lista vacía no aplica restricciones de dominio. Para la prueba local sirve la página por HTTP: abrirla como archivo no basta. El logotipo, el color, la posición y los mensajes se configuran en Quoting24. El `company_name` pasado a `init()` es la razón social del cliente, no el título del widget. No existe un parámetro público `language` o `locale`: la interfaz actual está en italiano. --- ## Dos formas de mostrarlo en el sitio ### Botón flotante El script añade el botón después de cargar los ajustes gráficos. Al hacer clic se abre el chat. En el móvil el chat flotante puede ocupar el viewport. Ver [Widget B2C](widget_b2c.md). ### Chat incrustado El chat ocupa un contenedor de la página, con altura explícita. No hay botón flotante: el diseño y el título los pone el sitio. En este modo `open()`, `close()` y `toggle()` no tienen efecto. El sitio controla la altura y la anchura del contenedor. Ver [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Una sola instancia por página: el loader expone un único `window.Quoting24Widget`. Un segundo script no crea un segundo widget. --- ## Clave pública y secretos {#chiave-pubblica-e-segreti} | Valor | Dónde está | Para qué sirve | | --- | --- | --- | | Clave pública del widget | URL del script | Selecciona el canal. Es pública: no es una credencial personal ni un secreto de integración de backend | | Secreto privado de la integración | Solo en el backend del sitio | Autoriza crear y reutilizar `restore_id` | | `restore_id` | Almacén privado por usuario, en el backend | Credencial con la que se restaura el historial de esa persona en ese widget | | Credencial de sesión de invitado | `localStorage` del sitio, gestionada por el loader | Continuidad de invitado en el mismo navegador, por clave de widget | --- ## Flujo para el operador 1. El visitante abre el chat en el sitio y envía un mensaje 2. En Quoting24 nace o continúa un **ticket** en el canal Widget 3. Si la inicialización resolvió un `external_id`, el contacto queda vinculado a la empresa con ese `web_code`. Una empresa recién creada por el widget tiene razón social y, si se envió, correo; una empresa ya existente no se renombra con `init()` 4. El operador gestiona la solicitud y responde desde el chat 5. El cliente ve las respuestas en el widget Los mensajes del widget solo se eliminan **para todos**. El dato llega desde el navegador y el visitante puede modificarlo. El vínculo con la empresa no demuestra la identidad y no abre el historial de los demás contactos de esa empresa. --- ## Por dónde empezar 1. Configura aspecto, horarios y dominios en **Configuración → Canales → Widget** 2. Sitio público o portal que precarga el perfil: [Widget B2C](widget_b2c.md) 3. Historial de la misma persona en otro navegador: [Widget B2B](widget_b2b.md) 4. Campos, creación de empresa, CSP y lista de comprobación: [Integración técnica](widget_tecnico.md) --- # Widget B2C — visitante invitado y empresa URL: https://wiki.quoting24.com/es/content/widget_b2c/ Language: es Updated: 2026-11-04 # Widget B2C — visitante invitado y empresa Esta sección cubre las integraciones en las que el widget permanece en **sesión de invitado**: - sitio público, visitante desconocido: solo el script y el formulario de contacto - sitio o portal que ya conoce la cuenta: `init()` con perfil y datos de empresa, formulario omitido cuando los datos bastan, contacto vinculado a la empresa El historial personal en otro navegador o dispositivo es otra integración. Ve [Widget B2B](widget_b2b.md). Contrato completo de los campos, cambio de cuenta en una SPA, CSP y provisioning: [Integración técnica](widget_tecnico.md). **Asociar una empresa no autoriza el historial de otra persona.** Un usuario autenticado en el sitio sigue siendo un invitado del widget hasta que envíes `external_user_id` junto con un `restore_id` válido. --- ## Qué obtienes - Un botón flotante, o un chat incrustado en un contenedor de la página - Un formulario inicial para quien es desconocido, con las etiquetas Teléfono y Nombre. En `init()` los campos son `phone` y `name` - Una sesión de invitado guardada por el loader en el mismo navegador, separada por clave de widget. Si `localStorage` está bloqueado, la continuidad puede quedarse en la página actual - Si envías `external_id`, Quoting24 busca una empresa con el mismo `web_code`. Con `company_name` además, puede crear la empresa que falta y vincular el contacto - Tickets y respuestas en Quoting24, como en los demás canales La sesión de invitado relee su conversación más reciente incluso después de cerrar la pestaña. No sigue a la persona a otro navegador. --- ## 1. Requisitos previos en Quoting24 1. Canal **Widget** activo en **Configuración → Canales** (Impostazioni → Canali) 2. Logotipo, color, posición, saludo, bienvenida y fuera de horario configurados 3. **Dominios permitidos** actualizados, incluidas las pruebas y `localhost` 4. Código de inserción copiado de la configuración del canal: URL del script y clave pública Usa el host y la clave del **mismo entorno**. En los ejemplos sustituye `HOST_WIDGET` y `CLAVE_PUBLICA_WIDGET`. Los dominios son nombres de host, sin `https://`, puerto, ruta ni `*.`. `example.com` incluye los subdominios. Lista vacía: ninguna restricción. En local sirve la página por HTTP, no como `file://`. El `company_name` de `init()` es la razón social del cliente. No es el título del widget y no se configura desde este payload. --- ## 2. Instalar el botón flotante Pega el script **una sola vez**, antes de ``: ```html ``` El botón aparece después de cargar los ajustes gráficos. Un visitante nuevo ve el formulario de contacto. Quien vuelve en el mismo navegador retoma la sesión de invitado, si el almacenamiento está disponible. El script expone un único `window.Quoting24Widget`. --- ## 3. Incrustar el chat en la página {#incorporare-la-chat-in-pagina} Crea el contenedor **antes** del script y dale una altura explícita: ```html

Asistencia

``` - `target` es el ID del elemento, sin `#` - El iframe llena el contenedor - No hay botón flotante - `open()`, `close()` y `toggle()` no tienen efecto - En este modo el sitio decide altura y anchura. En modo flotante, en el móvil, el chat puede ocupar el viewport El modo incrustado, por sí solo, no habilita la restauración del historial. --- ## 4. Enviar el perfil del cliente {#inviare-il-profilo-del-cliente} Cuando el sitio conoce la cuenta, envía el perfil después de cargar el loader. Los campos son **cadenas**. Omite los desconocidos: no envíes `null`, IDs numéricos ni un correo vacío. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Dato en el sitio o en el ERP | Campo | Significado | | --- | --- | --- | | Referencia estable de la empresa, el mismo valor importado en `web_code` | `external_id` | Comparación exacta con `companies.web_code`, en la organización del widget | | Razón social | `company_name` | Se usa si hay que crear la empresa | | Nombre de la persona o del usuario | `name` | Nombre mostrado en el contacto | | Correo de la cuenta | `email` | Se guarda en la empresa solo cuando la empresa se crea | | Teléfono, si lo conoces | `phone` | Número del contacto. Prefiere el formato internacional, por ejemplo `+393331234567` | Este payload no envía `external_user_id` ni `restore_id`. Mantén separados `name` y `company_name`: no concatenes la razón social al nombre de usuario para obtener la asociación. El campo público es `external_id`. No envíes `web_code`, el UUID interno de Quoting24 ni `companies.code`. El formulario muestra **Nombre** y **Teléfono**. En `init()` esos campos se llaman `name` y `phone`. El correo se llama `email`. `Nombre`, `Teléfono` y `Email` no son claves: el loader las descarta, igual que descarta `web_code` en lugar de `external_id`. ### Ejemplos Nombre y teléfono, los mismos datos del formulario. El chat empieza y no busca una empresa. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Perfil con empresa. `name` es la persona, `phone` el número del contacto y `email` se escribe en la empresa solo si esta llamada la crea. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Solo correo. Una dirección válida en `email` basta para abrir la sesión. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Si un campo supera los límites o el correo está mal formado, la petición se rechaza. Límites y comportamiento de cada campo: [Integración técnica](widget_tecnico.md#campi-di-init). ### Esperar al loader Un script `async` puede no haberse ejecutado todavía cuando el código posterior llama a `init()`. Para datos precargados usa un módulo de carga **en lugar** de la etiqueta estática, importado una sola vez en el layout principal: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CLAVE_PUBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("La API del widget no está disponible")); } }; script.onerror = () => { script.remove(); reject(new Error("No se pudo cargar el widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Importa el módulo desde el bundler, o carga el archivo de entrada con ``. Para el modo incrustado añade `&mode=embedded&target=chat-asistencia` a la URL y monta antes el contenedor. `loadWidget()` solo indica que la API JavaScript está disponible. `init()` devuelve `void`: encola el perfil si el iframe no está listo y no espera a la sesión. Para el resultado usa `isReady()` y `hasSessionError()`. `init()` **sustituye** el perfil guardado. No lo fusiona con el anterior. Pasa todos los campos que deban permanecer. Un cambio de página en una SPA no exige un script nuevo ni un `reset()`. Al cambiar de persona o de cuenta, y al cerrar sesión, llama a `reset()` antes del perfil nuevo: cambiar solo los campos no desvincula la sesión de invitado anterior. Patrón completo: [Login, logout y cambio de cuenta](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Cómo se asocia o se crea la empresa Quoting24 ejecuta este flujo en la inicialización, aunque el visitante aún no haya enviado un mensaje: 1. Con un `external_id` no vacío, busca una empresa de la misma organización cuyo `web_code` sea igual a ese valor 2. Si la encuentra, vincula el contacto. El nombre y el correo de la empresa existente no cambian 3. Si no la encuentra y también hay un `company_name` no vacío, crea la empresa con `name = company_name`, `web_code = external_id` y el correo si existe, y luego vincula el contacto 4. Si no puede encontrar ni crear la empresa, continúa con el perfil disponible. Si no basta para un invitado nuevo, muestra el formulario. Los errores de base de datos o el límite de peticiones hacen fallar la inicialización | Datos enviados | Situación en Quoting24 | Resultado | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Existe `web_code = "52"` | Usa la empresa existente y no cambia su nombre | | Los mismos datos, más un correo válido | No existe `web_code = "52"` | Crea la empresa con código web `52`, razón social y correo, y asocia el contacto | | `external_id: "52"`, `name: "mario.rossi"` | Ninguna coincidencia | Inicia al invitado sin una asociación de empresa nueva | | `external_id: "52"`, sin otros datos | Existe una coincidencia | Inicia al invitado asociado a la empresa, con el nombre predeterminado `Visitatore` | | `external_id: "52"`, sin otros datos | Ninguna coincidencia | Muestra el formulario de contacto | | `company_name` sin `external_id`, más `name` | Cualquiera | Inicia al visitante. No busca ni crea una empresa | La búsqueda no usa razón social, correo, teléfono, NIF ni `companies.code`. `"052"` y `"52"` son valores distintos; los espacios de `external_id` no se quitan. Si importas el fichero antes, escribe en `web_code` el mismo valor que el sitio enviará en `external_id`. Ve también [Empresas → Código web](companies.md#codice-web-web_code). Un invitado nuevo arranca si hay al menos un nombre, un teléfono, un correo válido o un `external_user_id`, o una empresa encontrada o creada mediante `external_id`. `init({})` y `company_name` solo no inician una sesión. Para un contacto ya vinculado, un código válido nuevo puede cambiar su empresa. Omitir el código, o enviar uno que no se resuelve, no borra la asociación anterior. El cambio de persona o de cuenta exige `reset()`. ### Límites `web_code` no es único. Con varias coincidencias, la inicialización pública toma la primera por fecha de creación ascendente. Peticiones simultáneas que aún no encuentran la empresa pueden crear más de una: la creación no es atómica y no sustituye una importación o una sincronización desde el ERP. La creación implícita está limitada a 20 intentos por ventana de 60 segundos y dirección IP, en el proceso de backend que atiende la petición. Por encima del límite la inicialización falla con `TOO_MANY_REQUESTS`: reintenta con espera, sin bucles continuos de `init()`. Los datos salen del navegador y el visitante puede alterarlos. El vínculo no prueba la pertenencia a la empresa y no concede el historial de la empresa. Envía `company_name` solo si quieres permitir esta creación pública. Para actualizar empresas ya existentes usa las herramientas de Quoting24 o una integración de ERP autorizada. El correo de la inicialización pública solo se guarda en la empresa nueva. No se escribe en el contacto y no actualiza una empresa ya existente. Un teléfono ya usado por otro contacto no une contactos ni chats. --- ## 6. Comportamiento en el sitio | Situación | Comportamiento esperado | | --- | --- | | Primer visitante, solo script | Botón, luego formulario, luego chat | | `init()` con perfil suficiente | Formulario omitido | | `external_id` ya presente como `web_code` | Contacto asociado; nombre y correo de la empresa sin cambios | | `external_id` nuevo con `company_name` | Empresa creada y contacto asociado | | Código nuevo y nombre, sin `company_name` | Chat sin empresa nueva | | Solo código nuevo | Formulario de contacto | | Solo razón social y nombre | Ninguna búsqueda ni creación por nombre | | Recarga en el mismo navegador | Sesión de invitado reanudada, si el almacenamiento está disponible | | Otro navegador o dispositivo | Sesión de invitado nueva | | Fuera de horario | Banner fuera de horario; la redacción sigue utilizable | | Móvil, botón flotante | El chat puede ocupar el viewport | Adjuntos: PDF, DOC, DOCX, JPG/JPEG, PNG. Máximo 10 MiB por archivo y 100 MiB de adjuntos referenciados por conversación. --- ## 7. Controles útiles Cuando el botón flotante es visible puedes enlazar un botón del sitio a `window.Quoting24Widget?.open()`. | Método | Uso | | --- | --- | | `init(profile)` | Define o sustituye el perfil actual | | `open()` / `close()` / `toggle()` | Solo widget flotante. Cerrar no es un logout | | `isReady()` | Sesión de visitante iniciada. Sigue en falso en el formulario de contacto | | `hasSessionError()` | Error de sesión señalado por el iframe | | `reset()` | Borra perfil, sesión local, credencial de invitado guardada y no leídos de esta instancia | | `dispose()` | Desmonta la interfaz y los listeners. No borra la credencial de invitado guardada ni el objeto API global | No esperes a `isReady()` para que un invitado nuevo abra el formulario. No hay un evento público de disponibilidad. Estos indicadores no describen todo el estado de red. --- ## Lista de comprobación antes de la puesta en marcha - [ ] Host y clave del mismo entorno - [ ] Dominios del sitio y del staging en la lista, solo como nombres de host - [ ] Logotipo, color, saludo, bienvenida y fuera de horario comprobados - [ ] Navegador nuevo, solo script: formulario, mensaje, ticket en Quoting24 - [ ] `external_id` ya en `web_code`: asociación, ficha de empresa sin cambios - [ ] Código nuevo con `company_name`: empresa creada con ese código web - [ ] Código nuevo sin `company_name`: ninguna empresa creada - [ ] Correo vacío, ID numérico o razón social demasiado larga: payload rechazado, hay que corregirlo - [ ] Recarga y navegación SPA: una sola instancia, sesión de invitado conservada - [ ] Cambio de cuenta: `reset()` de inmediato, respuestas tardías descartadas - [ ] Móvil: redacción utilizable - [ ] Dominio no autorizado: widget rechazado Problemas frecuentes: [Resolución de problemas](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — historial en otros dispositivos URL: https://wiki.quoting24.com/es/content/widget_b2b/ Language: es Updated: 2026-11-04 # Widget B2B — historial en otros dispositivos Esta sección cubre la recuperación del **historial personal** del widget cuando la misma persona abre el sitio desde otro navegador o dispositivo. El sitio debe autenticar a la persona. Su backend obtiene y guarda en privado la credencial de restauración para ese usuario y ese widget. El navegador la pasa a `init()` junto con el perfil. Para el script solo, o para precargar perfil y empresa quedándose en sesión de invitado, ve [Widget B2C](widget_b2c.md). Endpoints, persistencia y concurrencia de `restore_id`: [Integración técnica](widget_tecnico.md#provisioning-da-backend). --- ## Qué añade respecto a la sesión de invitado | | Invitado | Restauración | | --- | --- | --- | | Login en el sitio | No requerido | Requerido, porque la credencial sale de tu backend | | Datos que identifican el chat | Credencial de invitado del navegador, o perfil pasado a `init()` | `external_user_id` y `restore_id` juntos | | Continuidad | Mismo navegador | Navegadores y dispositivos distintos, en el canal widget autorizado | | Quién emite la credencial | Loader | Backend del sitio, a través de Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` y `external_user_id`, por sí solos, no restauran el historial. `external_user_id` sin `restore_id` no basta. El campo es `restore_id`, en snake case: `restoreId` no es un campo del loader. La restauración no une sesiones de invitado antiguas y no comparte el historial entre compañeros de la misma empresa. Solo afecta al canal widget. Puedes enviar los campos de empresa en el mismo `init()`. La asociación o la creación sigue las reglas del [payload de invitado](widget_b2c.md#inviare-il-profilo-del-cliente): es independiente de la restauración y no demuestra la identidad. --- ## Flujo 1. El cliente inicia sesión en el portal 2. El backend autenticado pide a Quoting24 una credencial (`provisionRestoreId`) o reutiliza la ya guardada 3. La página llama a `init()` con el mismo `external_user_id`, el `restore_id` y, si hacen falta, los datos de empresa 4. Quoting24 comprueba la credencial y muestra las conversaciones del widget visibles para esa persona, incluidas las ya cerradas 5. Al cerrar sesión, o al cambiar de persona, la página llama a `reset()` para que el chat anterior no quede en el navegador ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` es la respuesta del backend para el usuario autenticado. Úsala sin modificarla. Máximo 200 caracteres. Exige el `external_user_id` correspondiente: ID estable de la persona, no vacío, máximo 100 caracteres tras el trim. No es un ID de empresa compartido. `external_id` se compara con `web_code`. Junto con `company_name` puede crear la empresa que falta. No autentica al usuario y no sustituye a `restore_id`. --- ## Requisitos previos Además del branding, los dominios y el código de inserción: - integración de backend autorizada en Quoting24 - secreto privado de la integración, solo en el servidor - endpoint de provisioning, normalmente `widget.provisionRestoreId` - almacén privado en la base del sitio, una credencial por usuario y widget La clave pública de la URL del script y el secreto de integración son valores distintos. Ve la [visión general](widget.md#chiave-pubblica-e-segreti). --- ## Endpoint en el backend del sitio `/api/widget/session` es un ejemplo para implementar en el portal. No es una URL pública de Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - La identidad se obtiene de la sesión del servidor, no de un ID elegido por el navegador - `Cache-Control: no-store` - No registres ni guardes en caché `restore_id` - No pongas secretos en la URL del script ni en atributos `data-*` - Guarda la credencial **antes** de devolverla al navegador El contrato hacia Quoting24 (`attempt_id`, `saved_restore_id`, bloqueo, reutilización de la clave) está en la [integración técnica](widget_tecnico.md#provisioning-da-backend). Si el portal ya tiene un endpoint autenticado que, para el usuario actual, devuelve el `restore_id` de este widget, usa esa respuesta. Combínala con el ID de la persona y la referencia de empresa en la llamada a `init()`. --- ## Login, recarga, cambio de cuenta, logout Distingue una recarga de página de un cambio real de persona o de cuenta. - Recarga con el mismo login aún activo: `init()` **sin** `reset()`, para conservar la sesión de invitado guardada si solo vuelves a pasar el perfil. Con la restauración, reutiliza la credencial ya persistida: no generes una nueva en cada vista de página - Cambio de persona, cambio de cuenta, logout: `reset()` de inmediato, luego el perfil nuevo, o ningún `init()` si el usuario salió - Descarta las respuestas de restauración llegadas después del cambio: una respuesta antigua no es un login nuevo - En una SPA mantén una sola instancia en el layout principal. Un cambio de ruta no vuelve a lanzar el provisioning Si la restauración no está disponible puedes ofrecer el chat de invitado: `reset()`, luego `init()` sin `restore_id`. Ese chat queda separado del historial restaurado. Una credencial no válida, de otro usuario o revocada se rechaza. Quoting24 no la convierte en sesión de invitado. El botón «Riprova» del widget no pide por sí solo un `restore_id` nuevo a tu backend. La interfaz actual está en italiano, así que esa etiqueta está en italiano. Ejemplo de `applyWidgetAuth` y desmontaje: [Integración técnica](widget_tecnico.md#login-logout-e-cambio-account). `reset()` olvida la sesión de invitado de esta instancia y la credencial guardada en el navegador. No revoca `restore_id` en el servidor y no cierra las sesiones en otros dispositivos. El sitio debe actualizar las demás pestañas abiertas. --- ## Conversaciones anteriores En el historial restaurado los chats ya cerrados pueden aparecer como conversación anterior. - Abrirlos para consultarlos no reabre la conversación antigua - Los mensajes nuevos se quedan en la conversación activa --- ## Lista de comprobación antes de la puesta en marcha - [ ] Secreto de integración solo en el servidor - [ ] `external_user_id` estable y por persona, idéntico entre el provisioning y `init()` - [ ] `restore_id` persistido antes de la respuesta al navegador, y reutilizado en visitas posteriores - [ ] Mismo usuario en un segundo navegador: mismo historial - [ ] Dos usuarios de la misma empresa: historiales distintos - [ ] `external_id` y `company_name` comprobados en el fichero, sin esperar que restauren el chat - [ ] Logout o cambio de cuenta durante el fetch: ningún chat del usuario anterior en pantalla - [ ] Paso invitado ↔ restauración con `reset()` en medio - [ ] Credencial revocada o no válida: error, sin respaldo silencioso a invitado Pruebas y síntomas: [Verificar la integración](widget_tecnico.md#verificare-lintegrazione) · [Resolución de problemas](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Integración técnica URL: https://wiki.quoting24.com/es/content/widget_tecnico/ Language: es Updated: 2026-11-04 # Widget — Integración técnica Guía para desarrolladores: script, payload de `init()`, asociación y creación de empresa, ciclo de vida, restauración autenticada (`restore_id`), CSP y verificación. Páginas de recorrido: [Visión general](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Edición de referencia:** 26 de octubre de 2026. La restauración entre dispositivos se añade al payload de empresa. Antes de activarla, comprueba que `provisionRestoreId` esté disponible en tu instalación. La interfaz va en un iframe. El sitio anfitrión no necesita Angular, un cliente de Supabase ni acceso a la base de Quoting24. --- ## Elegir el tipo de integración | Caso | Implementación | Continuidad | | --- | --- | --- | | Sitio público, visitante desconocido | Solo script. Formulario de contacto | Sesión de invitado en el mismo navegador | | Sitio con datos del cliente | Script e `init()` con perfil y empresa | Sesión de invitado precargada y asociación de empresa | | Portal con historial personal entre dispositivos | También un backend para `external_user_id` y `restore_id` | Historial personal en el canal widget autorizado | Asociar una empresa y recuperar el historial son operaciones distintas. `external_id`, `company_name`, el nombre, el correo y el teléfono no autorizan las conversaciones de otra persona. Un usuario autenticado en el sitio sigue siendo un invitado del widget hasta que proporciones una credencial de restauración válida. --- ## 1. Configuración desde Quoting24 En **Configuración → Canales** (Impostazioni → Canali), abre el canal widget y recupera: - URL completa del script y **clave pública** - **dominios autorizados**, incluidas pruebas y desarrollo local - logotipo, color, posición, saludo, bienvenida y horarios Usa la URL y la clave del mismo entorno. En los ejemplos sustituye `HOST_WIDGET` y `CLAVE_PUBLICA_WIDGET`. La clave de la URL es pública y selecciona el canal: no es una credencial personal ni un secreto de integración de backend. Los dominios son nombres de host (`shop.example.com`, `localhost`), sin `https://`, puerto, ruta ni prefijo `*.`. `example.com` autoriza también sus subdominios. Una lista vacía no aplica restricciones. Para la prueba local sirve la página por HTTP, no como archivo. | Valor | Dónde conservarlo | Finalidad | | --- | --- | --- | | Clave pública | URL del script | Selecciona el canal widget | | Secreto privado de la integración | Solo secretos del backend | Autoriza crear y reutilizar `restore_id` | | `restore_id` | Almacén privado por usuario; en la página solo con sesión autenticada | Indica qué historial restaurar | | Credencial de sesión de invitado | `localStorage` del sitio, por clave de widget, gestionada por el loader | Continuidad de invitado en el mismo navegador | La restauración exige integración de backend, endpoint privado y secreto, separados del código público. Ve la [sección 6](#provisioning-da-backend). --- ## 2. Instalación ### Botón flotante Una sola vez, antes de ``: ```html ``` El botón aparece después de cargar los ajustes gráficos. Un visitante nuevo abre el formulario con teléfono y nombre opcional. El loader guarda la credencial de invitado en `localStorage`, separada por clave. Si el almacenamiento está bloqueado, la continuidad puede limitarse a la página actual. El loader expone un único `window.Quoting24Widget`. Un segundo script no crea un segundo widget. ### Chat incrustado Contenedor antes del script, altura explícita: ```html

Asistencia

``` `target` es el ID, sin `#`. El iframe llena el contenedor. No hay botón flotante. `open()`, `close()` y `toggle()` no tienen efecto. ### Esperar al loader Para datos precargados usa este módulo **en lugar** de la etiqueta estática, importado una sola vez en el layout principal. Los ejemplos son módulos JavaScript: bundler, o ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CLAVE_PUBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("La API del widget no está disponible")); } }; script.onerror = () => { script.remove(); reject(new Error("No se pudo cargar el widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Para el modo incrustado añade `&mode=embedded&target=chat-asistencia` a la URL y monta antes el contenedor. No dupliques esta carga con una etiqueta script estática. `loadWidget()` indica que la API está disponible. `init()` devuelve `void`: encola el perfil si el iframe no está listo y no espera a la sesión. Para el resultado usa `isReady()` y `hasSessionError()`. --- ## 3. Campos de `init()` {#campi-di-init} Todos los valores son **cadenas**. Omite los desconocidos. No envíes `null`, IDs numéricos ni un correo vacío. Si un campo supera los límites o el correo está mal formado, la petición se rechaza. | Campo | Límite y comportamiento | | --- | --- | | `external_id` | Máximo 100 caracteres. Referencia de empresa comparada exactamente con `web_code`, en la organización del widget. Los espacios no se quitan | | `company_name` | Máximo 250 caracteres tras quitar los espacios iniciales y finales. Crea una empresa que falta solo junto con `external_id`. Una cadena vacía o solo de espacios no habilita la creación | | `name` | Máximo 250 caracteres. Nombre del contacto; puede actualizarlo en la sesión actual | | `email` | Dirección válida. En la inicialización pública se guarda solo en una empresa nueva. No se escribe en el contacto ni en una empresa ya existente | | `phone` | Máximo 80 caracteres. Número del contacto; prefiere el formato internacional, por ejemplo `+393331234567`. Un conflicto con un número existente no une contactos ni chats | | `external_user_id` | Opcional en el caso base. ID estable de la persona, no vacío, máximo 100 caracteres tras el trim. Por sí solo no restaura el historial | | `restore_id` | Credencial privada, máximo 200 caracteres, obtenida del backend. Exige el `external_user_id` correspondiente. Usa el valor devuelto sin modificarlo | Ejemplo cuando el sitio conoce la cuenta. Los nombres de campo del ERP pueden ser distintos: asigna la referencia de empresa a `external_id`, la razón social a `company_name`, la persona a `name` y el correo de la cuenta a `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Las etiquetas Nombre y Teléfono del formulario se envían como `name` y `phone`. El correo es `email`. No envíes `Nombre`, `Teléfono` ni `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` La primera llamada abre el chat con nombre y teléfono y no busca una empresa. La segunda basta con un correo válido. En el perfil completo de arriba, `phone` es el número del contacto y `email` se escribe en la empresa solo si esta llamada la crea. Mantén separados `name` y `company_name`. No concatenes la razón social al nombre de usuario para obtener la asociación. No envíes un campo `web_code`: el nombre público es `external_id`. No uses el UUID interno de Quoting24 ni `companies.code` en lugar del valor de `web_code`. `init(profile)` sustituye el perfil guardado por el loader. No hace merge: pasa los campos que quieras conservar. Un invitado nuevo puede empezar con al menos un nombre, un teléfono, un correo válido o un `external_user_id`, o con una empresa encontrada o creada mediante `external_id`. `init({})` y `company_name` solo no inician una sesión nueva. Si envías únicamente un `external_id` desconocido, sin `company_name`, el widget pide los datos mediante el formulario. `init({ restoreId: "..." })` no transmite la credencial. El campo es `restore_id`. --- ## 4. Asociar o crear la empresa {#associare-o-creare-lazienda} El flujo se dispara cuando Quoting24 procesa la inicialización, incluso sin un mensaje: 1. Si recibe un `external_id` no vacío, busca una empresa de la misma organización cuyo `web_code` sea igual a ese valor 2. Si la encuentra, vincula el contacto. El nombre y el correo de la empresa existente no cambian 3. Si no la encuentra y también recibe un `company_name` no vacío, crea la empresa con `name = company_name`, `web_code = external_id` y el correo si existe, y luego vincula el contacto 4. Si no puede encontrar ni crear la empresa por falta de datos, continúa con el perfil disponible. Si no basta para un invitado nuevo, pide el formulario. Los errores de base de datos o el límite de peticiones hacen fallar la inicialización | Datos enviados | Situación en Quoting24 | Resultado | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Existe `web_code = "52"` | Usa la empresa existente; no cambia su nombre | | Los mismos datos, más un correo válido | No existe `web_code = "52"` | Crea la empresa con código web `52`, razón social y correo, y asocia el contacto | | `external_id: "52"`, `name: "mario.rossi"` | Ninguna coincidencia | Inicia al invitado sin una asociación de empresa nueva | | `external_id: "52"`, sin otros datos | Existe una coincidencia | Inicia al invitado asociado, con el nombre predeterminado `Visitatore` | | `external_id: "52"`, sin otros datos | Ninguna coincidencia | Pide los datos del visitante | | `company_name` sin `external_id`, más `name` | Cualquiera | Inicia al visitante. No busca ni crea una empresa | La búsqueda no usa razón social, correo, teléfono, NIF ni `companies.code`. `"052"` y `"52"` son valores distintos. Si importas antes el fichero, rellena `web_code` con el mismo valor que el sitio enviará en `external_id`. La asociación afecta al contacto. Para un contacto ya vinculado, un código válido nuevo puede cambiar su empresa. Omitir el código, o enviar uno que no se resuelve, no borra la asociación anterior. Al cambiar de persona o de cuenta ejecuta `reset()`: no te limites a cambiar el perfil. ### Límites `web_code` no tiene una restricción de unicidad. Con varias coincidencias se selecciona la primera, ordenando por fecha de creación ascendente. Evita los duplicados: peticiones simultáneas que aún no encuentran la empresa pueden crear más de una. El flujo no garantiza una creación atómica y no sustituye una importación o una sincronización desde el ERP. La creación implícita está limitada a 20 intentos por ventana de 60 segundos y dirección IP, en el proceso de backend que atiende la petición. Al superarlo, la inicialización falla con `TOO_MANY_REQUESTS`. Reintenta con espera. Evita bucles continuos de `init()`. Los datos llegan desde el navegador y el visitante puede modificarlos. La asociación no demuestra pertenencia ni identidad y no concede el historial de la empresa. Envía `company_name` si quieres permitir esta creación pública. Para actualizar empresas existentes usa Quoting24 o una integración de ERP autorizada. --- ## 5. Login, logout y cambio de cuenta {#login-logout-e-cambio-account} Mantén una única instancia en la estructura principal de una SPA. Un cambio de página no exige un script nuevo ni un reset. Al cambiar de persona o de cuenta, y al cerrar sesión, llama a **`reset()` antes del perfil nuevo**. En una recarga con el mismo login aún activo, usa `init()` sin reset, como en el arranque: así conservas la sesión de invitado guardada. El sitio debe distinguir la recarga del cambio efectivo. Llamada en los cambios de autenticación. `profile` es el perfil del usuario nuevo, o `null` al cerrar sesión. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Gestiona el error de carga en la interfaz del sitio, con un reintento. Si recuperas el perfil del backend antes de esta función, invalida también esas peticiones al cambiar de usuario. Durante la espera, borra de inmediato el perfil anterior con `applyWidgetIdentity(null)`. El reset olvida la sesión de invitado de esta instancia, la credencial guardada, el perfil y el contador de no leídos. No es una revocación en el servidor y no termina las sesiones en otros dispositivos. El cambio de autenticación debe aplicarse también en las demás pestañas abiertas. ### Con restauración del historial Cuando el perfil incluye `restore_id`, descárgalo del endpoint autenticado del sitio después del `reset()`, y descarta la respuesta si el usuario cambió entretanto. La recarga con el mismo usuario reutiliza la credencial ya guardada y no debe llamar a `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Solo en el login, el logout y el cambio de usuario. // No llamarla en una recarga con el mismo usuario: reset() descartaría la sesión ya en curso. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("La restauración del widget no está disponible"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Respuesta de restauración inesperada"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Chat de asistencia: la restauración falló.", error); } } ``` El bucle copia solo los campos presentes y no vacíos. Un correo `""` o un ID numérico no deben enviarse. ### API JavaScript | Método | Uso | | --- | --- | | `init(profile)` | Aporta o sustituye el perfil actual. El loader no fusiona los campos con un perfil anterior | | `open()` / `close()` / `toggle()` | Abre, cierra o alterna el widget flotante. Cerrar no es un logout. En modo incrustado no tienen efecto | | `isReady()` | La inicialización de la sesión de visitante tuvo éxito. Sigue en falso durante el formulario de contacto | | `hasSessionError()` | Error de sesión señalado por el iframe | | `reset()` | Borra perfil, sesión local, credencial de invitado guardada y contador de no leídos | | `dispose()` | Desmonta la interfaz y los listeners. No borra la credencial de invitado guardada ni el objeto API global | Puedes enlazar un botón del sitio a `window.Quoting24Widget?.open()` cuando el botón flotante haya aparecido. No esperes a `isReady()` para que un invitado nuevo abra el formulario. No existe un evento público de disponibilidad. Estos indicadores no describen todo el estado de red. Que `loadWidget()` se resuelva no significa que el branding y la sesión estén listos. ### Desmontaje completo Si debes quitar el widget, ejecuta `dispose()`. Si el desmontaje coincide con el logout, ejecuta antes `reset()`. Antes de volver a cargar el script, elimina el global y pon a cero la Promise del loader. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` es la definida en el módulo del loader. Ejecuta el desmontaje después de terminar la carga. No lo hagas a la vez que una nueva `loadWidget()`. Para los cambios de autenticación usa `applyWidgetIdentity()` o `applyWidgetAuth()`, que esperan al loader. El reset local no revoca `restore_id` en el servidor. --- ## 6. Restauración autenticada {#provisioning-da-backend} La sesión de invitado lee su conversación más reciente incluso después de cerrarla. Las conversaciones visibles de la misma persona en otro navegador exigen juntos `external_user_id` y `restore_id`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` La restauración no une sesiones de invitado antiguas y no comparte el historial entre compañeros de la misma empresa. ### Endpoint en el backend del sitio Ejemplo para implementar en el portal, no una URL de Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Define `Cache-Control: no-store`. Identidad y empresa solo desde la sesión del servidor. Aplica la auth y el CSRF de la aplicación. No registres cuerpos que contengan la credencial. Si el portal ya expone un endpoint autenticado que devuelve el `restore_id` del usuario actual para este widget, usa esa respuesta y combínala con el ID de la persona y la referencia de empresa. ### Provisioning de servidor a servidor Ruta típica: `/fastify/trpc/widget.provisionRestoreId` (o `/trpc/widget.provisionRestoreId` si el backend está expuesto directamente). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Los valores generados empiezan por `q24-restore-v1:`. No los inventes ni los derives de IDs públicos. | Entrada | Requisito | | --- | --- | | `widget_api_key` | UUID obligatorio, autorizado para el secreto | | `external_user_id` | ID de persona estable, igual al de `init()` | | `attempt_id` | Entero positivo estrictamente creciente, como cadena decimal, máximo `9223372036854775807` | | `saved_restore_id` | Credencial ya guardada. Omítela en el primer provisioning | | `external_id`, `name`, `email`, `phone` | Opcionales, con los mismos límites que `init()` | Patrón **ensure**, recupera o crea: 1. Autentica al usuario y adquiere un bloqueo sobre la fila de restauración, en una transacción 2. Asigna un `attempt_id` nuevo desde una secuencia **después** del bloqueo (`CACHE 1`, no cíclica; la secuencia sobrevive al rollback) 3. Llama a Quoting24 con `attempt_id` y, si existe, `saved_restore_id` 4. Guarda `result.data.restore_id` y haz commit 5. Solo después del commit devuelve la credencial al navegador Un `saved_restore_id` válido debe **reutilizarse**. Omitirlo cuando ya existe una clave válida sustituye la clave e invalida las sesiones restauradas. No generes una clave nueva en cada vista de página. Si el provisioning remoto tiene éxito y el guardado local falla, devuelve un error. No devuelvas la clave no guardada. Tiempos de espera limitados. `company_name` se envía en `init()`. El cuerpo de provisioning de arriba no lo incluye: la asociación y la creación de la empresa, descritas en la [sección 4](#associare-o-creare-lazienda), ocurren cuando el navegador inicializa la sesión. El correo de la inicialización pública solo se escribe en una empresa nueva. ### Resultado en el widget Quoting24 comprueba la credencial y carga el historial del widget visible de ese usuario. Los chats ya cerrados pueden aparecer como conversación anterior: consultarlos no reabre la conversación antigua; el envío se queda en la conversación actual. Una credencial no válida, de otro usuario o revocada se rechaza, sin conversión automática a sesión de invitado. El botón «Riprova» del widget no pide por sí solo un `restore_id` nuevo. La interfaz actual está en italiano. --- ## 7. Página, red y aspecto - **Una sola instancia por página** - **CSP.** Permite el origen del widget en `script-src` y `frame-src`, y el origen de API indicado para la instalación en `connect-src` (carga de los ajustes gráficos). Autoriza las imágenes configuradas en `img-src`. El loader inserta estilos en línea y no expone una opción pública de nonce: comprueba la CSP del sitio. El CSS de la página no modifica el interior del iframe de otro origen - **Conexiones del iframe.** Debe alcanzar la API, Realtime/WebSocket y el almacenamiento de su propia instalación. Para filtros de red usa los hosts efectivos del entorno - **Aspecto e idioma.** Logotipo, color, posición y mensajes se configuran en Quoting24. `company_name` es la razón social del cliente. No existe un parámetro público `language` o `locale`; la interfaz actual está en italiano - **Móvil.** El chat flotante puede ocupar el viewport. En modo incrustado el sitio controla altura y anchura - **Adjuntos y horarios.** PDF, DOC/DOCX, JPG/JPEG y PNG. Hasta 10 MiB por archivo y 100 MiB de adjuntos referenciados por conversación. Fuera de horario el widget muestra el banner y deja disponible la redacción --- ## 8. Verificar la integración {#verificare-lintegrazione} Usa una cuenta y un canal de prueba. Comprueba el fichero en Quoting24, además del chat. | Prueba | Resultado esperado | | --- | --- | | Navegador nuevo, solo script | Formulario de contacto, luego conversación | | Payload completo con `external_id` ya presente como `web_code` | Contacto asociado a la empresa existente; nombre y correo de la empresa sin cambios | | Payload completo con código nuevo | Empresa creada con código web, razón social y correo; contacto asociado | | Código nuevo y nombre, sin `company_name` | Chat iniciado, ninguna empresa creada | | Solo código nuevo | Formulario de contacto | | Solo razón social y nombre | Ninguna empresa buscada o creada por nombre | | Correo vacío, ID numérico o razón social demasiado larga | Payload rechazado | | Segundo `init()` en la misma sesión | Continúa la sesión de invitado. El correo y el teléfono no recuperan el chat de otra persona | | Recarga, navegación SPA, móvil | Una sola instancia; continuidad de invitado si hay almacenamiento; diseño utilizable | | Logout o cambio de cuenta durante la carga | Sesión anterior borrada; los resultados tardíos no restauran el perfil antiguo | | Mismo usuario autenticado, otro navegador, `restore_id` válido | Historial de esa persona | | Dos usuarios de la misma empresa | Credenciales e historiales distintos | | Invitado y luego restauración | `reset()` en medio; las sesiones no se unen | | Credencial no válida o revocada | Error, sin respaldo automático a invitado | | Conversaciones anteriores | Solo consulta; el envío se queda en la actual | | Dominio no autorizado | Acceso rechazado | | Red interrumpida | Reconexión; borrador conservado si el envío falla | --- ## Resolución de problemas {#risoluzione-dei-problemi} | Síntoma | Comprobación | | --- | --- | | El botón no aparece | URL, clave, canal habilitado, dominios, CSP, petición `widget.getBranding`. El solo global JavaScript no prueba que el botón exista. `open()` no tiene efecto hasta que se carga el branding, y no tiene efecto en modo incrustado | | `Quoting24Widget` no está definido | Espera a la carga. Comprueba el parámetro `key` | | El chat incrustado es invisible | Contenedor antes del loader, ID correcto, altura mayor que cero | | `Domain not allowed` | Nombre de host del sitio, sin esquema, puerto ni ruta. Comprueba también las pruebas. La página debe servirse por HTTP | | Formulario de teléfono pese al perfil | Orden asíncrono, snake_case, valores vacíos, `reset()` anterior, perfil insuficiente para un invitado nuevo | | La empresa no se encuentra | Compara `external_id` con `web_code` en la misma organización, espacios y ceros iniciales incluidos | | La empresa que falta no se crea | Hacen falta `external_id` y `company_name` ambos no vacíos. Comprueba la validación y el límite de creación | | El nombre o el correo de la empresa no cambian | Previsto: `init()` crea las empresas que faltan y no actualiza las existentes | | El correo no aparece en el contacto | Previsto en la inicialización pública: el correo solo se usa al crear la empresa | | `TOO_MANY_REQUESTS` | Espera y reintenta. Evita llamadas repetidas o importaciones masivas a través del widget | | Falta el historial en otro dispositivo | El payload de empresa no lo restaura. Hacen falta `external_user_id` y `restore_id` | | Sesiones restauradas invalidadas | Las llamadas ensure deben reenviar `saved_restore_id`. No emitas una clave nueva en cada vista de página | | «Riprova» no basta | Un `restore_id` nuevo desde tu endpoint, luego `reset()` e `init()` | | Tras un cambio de cuenta queda el chat antiguo | `reset()` de inmediato al cambiar de identidad. Descarta las respuestas asíncronas anteriores | | Tras `dispose()` el script no recrea el widget | Elimina el global y el script, pon a cero la Promise del loader y vuelve a cargar | | La interfaz sigue en italiano | Ninguna opción pública `language` o `locale` en el loader | --- ## Referencias de implementación - Loader y API JavaScript: `@frontend/src/public/widget/script.ts` - Inicialización, asociación de empresa y creación implícita: `@backend/fastify/routes/widget/initialize.ts` - Pruebas de inicialización y empresas: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Dominio y canal: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning de `restore_id`: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Contactos URL: https://wiki.quoting24.com/es/content/contacts/ Language: es Updated: 2026-11-04 # Contactos En el menú de la parte superior derecha está disponible la sección **“Contactos”**. Esta página muestra el listado de los **contactos gestionados en Quoting24** a partir de la conexión del canal WhatsApp. Pantalla de contactos --- ## Navegación en la página ### Búsqueda de contactos En la parte superior izquierda hay un **campo de búsqueda** que permite encontrar rápidamente un contacto: - introduciendo el **nombre** - o el **número de teléfono** ### Acciones principales En la parte superior derecha hay los siguientes botones: - **Recargar** Permite realizar una **actualización manual** de los datos de contacto entre el canal WhatsApp y Quoting24. - **Import/Export** Abre el diálogo para **descargar una plantilla Excel**, **exportar** contactos o **importar** un archivo. Detalles en la sección [Import/Export de contactos mediante Excel](#importexport-de-contactos-mediante-excel). - **+ Añadir** Permite crear un **nuevo contacto**. Se abrirá una pantalla en la que es posible introducir: - nombre - número de teléfono - empresa Después de rellenar los campos, es posible **guardar el contacto**. Pantalla de adición de usuario --- ## Asignación de una empresa a un contacto Desde el listado de contactos es posible asignar rápidamente una empresa a un contacto haciendo clic en **“+ Asignar empresa”**. Pantalla de adición de empresa y usuario Se mostrará el listado de las **empresas guardadas** en la propia cuenta\* de Quoting24. Para asignar la empresa al contacto, basta con hacer clic en **“Seleccionar”**. Pantalla de selección de empresa > *Por **cuenta** se entiende el **número de teléfono**: > cada número de teléfono asociado a Quoting24 tiene sus propios **contactos**, **empresas** y **[turnos de entrega](delivery_shifts.md)**.* --- ## Asignación de una empresa a un contacto (segundo método) Usuario no asignado En el momento en que un cliente aún no ha sido asignado a ninguna [**Empresa**](companies.md) o no está etiquetado como **Particular**, hay que hacer clic en el elemento marcado con un círculo para abrir la ventana siguiente. Asignar empresa En este momento se presentan 3 casos: - El contacto es un **Particular**, por tanto no pertenece a una empresa específica; en este caso la asignación recaerá en el botón ***Asignar como particular*** - El contacto **pertenece a una empresa entre las exportadas**; en ese caso basta con seleccionar la empresa correspondiente al cliente - El contacto **pertenece a una empresa que no está entre las exportadas**; en este caso basta con pulsar el botón ***Nueva empresa*** y asignarla al cliente Usuario asignado Después de asignar el usuario a la empresa, la vista previa de la lista de tickets muestra el **código de empresa** (sin `#`) en el tag junto al nombre. Si el cliente se marcó como **Particular**, se muestra la etiqueta *Particular*. En la **lista de tickets**, a la derecha del nombre, el único tag también muestra la **prioridad** del contacto y toma su color del **tipo** (empresa o personal). Detalles en [Pantalla principal](main_screen.md#vista-previa-e-indicadores-en-la-lista). --- ## Abrir nueva solicitud Desde Contactos puedes iniciar una conversación sin usar el **+** de la pantalla principal. * en la **lista de contactos**, cada fila tiene **Abrir nueva solicitud** * en la **ficha del contacto** encontrarás el mismo botón arriba Esto abre una nueva solicitud hacia ese contacto, aplicando las mismas reglas de [gestión de tickets](gestione_ticket.md) que en la pantalla principal. --- ## Prioridad del contacto Cada contacto puede tener su propia **prioridad**: **Alta**, **Media** o **Baja**. Comportamiento: * si el contacto tiene una empresa y no hay prioridad de contacto definida, Quoting24 usa la prioridad de la **empresa** (*Heredada de la empresa*) * puedes definir una prioridad en un contacto **sin empresa** * puedes **sobrescribir** la prioridad heredada sin cambiar la de la empresa La prioridad se puede gestionar: * desde el formulario de creación / edición del contacto * desde la tab **Información** del ticket * desde la importación Excel de contactos cuando la columna está presente En la lista de tickets, el icono de prioridad aparece en el tag junto al nombre. --- ## Tipología del contacto El **tipo** (p. ej. cliente, proveedor, colaborador) funciona de forma distinta a la prioridad: * contacto **sin empresa** → puedes asignar un tipo personal * contacto **con empresa** → el tipo es **siempre el de la empresa**, no editable en el contacto; cámbialo en la empresa En la tab **Información** del ticket, si el tipo está heredado verás *Heredada de la empresa*. El tipo efectivo colorea el tag en la lista de tickets y se puede usar como filtro **Tipo de empresa** en el embudo de la pantalla principal. --- ## Sincronización de nombres de contactos Quoting24 es la **referencia principal** para el nombre de los contactos. Esto significa que, cuando un contacto ya tiene un nombre guardado en Quoting24, ese nombre se considera correcto y **ya no se sobrescribe** por actualizaciones automáticas del canal WhatsApp. La sincronización de contactos puede producirse en distintos momentos, por ejemplo: - cuando se inicia una sincronización manual - cuando llega un mensaje desde un número nuevo - durante otros procesos automáticos de actualización de contactos Cuando llega una actualización desde WhatsApp, Quoting24 aplica esta lógica: - si el contacto **todavía no existe** en Quoting24, se crea usando el número de teléfono y el nombre disponible desde el canal WhatsApp - si el contacto **ya existe**, solo se completan los datos que faltan - el **nombre** se actualiza solo si en Quoting24 todavía está vacío - si el contacto ya tiene un nombre en Quoting24, las actualizaciones automáticas no lo modifican En la práctica, la sincronización sirve para **rellenar los datos que faltan**, no para sobrescribir información ya corregida por los operadores en Quoting24. Esta configuración evita que los nombres corregidos manualmente por los operadores se pierdan después de una nueva actualización de WhatsApp y mantiene coherentes los datos gestionados en Quoting24. --- ## Avisos sobre contactos Es posible configurar **avisos sobre contactos**, es decir, notas importantes que se muestran encima de la chat cuando se abre una conversación con ese contacto. Los avisos son útiles para destacar información que el operador debe ver de inmediato, por ejemplo: - instrucciones comerciales particulares - condiciones acordadas con el cliente - atenciones operativas que se deben respetar - notas importantes introducidas por los compañeros --- ## Import/Export de contactos mediante Excel Desde la lista de contactos es posible abrir el diálogo **Import/Export** para: - **descargar una plantilla Excel** con la estructura correcta de columnas - **exportar** todos los contactos del tenant, o **solo los seleccionados** - **importar** un archivo Excel y guardar los cambios después de la vista previa ### Export La exportación descarga los contactos del tenant (incluidas las referencias a **empresa** y **location**) y genera un archivo **`.xlsx`**. Puedes exportar: - **todos** los contactos - o **solo los contactos seleccionados** en la lista El archivo exportado también incluye la columna **`id`**: es el identificador del contacto Quoting24 y debe conservarse si quieres actualizar los mismos contactos en una importación posterior. ### Import Para importar contactos: 1. abre el diálogo **Import/Export** desde la lista de contactos 2. carga el archivo Excel (puedes partir de la plantilla descargable o de una exportación anterior) 3. verifica la **vista previa en tabla** 4. guarda para iniciar la importación El backend realiza un **upsert por lotes de 500** filas. #### Cómo se asocia cada contacto Para cada fila del archivo se aplica esta lógica: 1. si la columna **`id`** está rellenada y el id ya existe **en el tenant actual** → **actualiza** ese contacto 2. si no hay `id` (o no coincide en el tenant) → busca por **teléfono** (también en forma normalizada): si lo encuentra → **actualiza** el contacto existente, **sin crear uno nuevo** 3. solo si no hay coincidencia ni por `id` ni por teléfono → **crea** un contacto nuevo 4. si el `id` existe pero pertenece a **otro tenant** → se trata como un contacto nuevo (se genera uno nuevo) #### Campos obligatorios y reglas - **`name`** y **`phone`** son **obligatorios** - números de teléfono **sin** prefijo `+` o `00` → Quoting24 asume el prefijo **`+39`** - **`company_id`** y **`location_id`** se aplican **solo si son válidos y coherentes entre sí**; en caso contrario se **ignoran** --- ## Acciones disponibles sobre los contactos Dentro de la pantalla de contactos, además de **Abrir nueva solicitud**, encontrarás: - **Papelera** → elimina el contacto - **Lápiz** → modifica el contacto - **Flecha roja** → abre el **historial de solicitudes** del contacto Pantalla de iconos de contactos --- # Empresas URL: https://wiki.quoting24.com/es/content/companies/ Language: es Updated: 2026-11-04 # Empresas En el menú de la parte superior derecha también está disponible la sección **“Empresas”**. Esta página muestra el listado de las **empresas presentes en la propia cuenta\*** de Quoting24. A diferencia de los **contactos** (que se crean o actualizan desde el canal WhatsApp y por los operadores), las **empresas** las crea el operador, a mano o desde Excel, o el **canal Widget** cuando el sitio envía juntos `external_id` y `company_name`. > *Por **cuenta** se entiende el **número de teléfono**: > cada número de teléfono asociado a Quoting24 tiene sus propios **[contactos](contacts.md)**, **empresas** y **[turnos de entrega](delivery_shifts.md)**.* --- ## Creación de nuevas empresas Para crear nuevas empresas están disponibles **dos métodos**, accesibles mediante los botones presentes **en la parte superior derecha** de la pantalla: - **Importación desde archivo Excel** Permite cargar varias empresas al mismo tiempo mediante un archivo Excel estructurado. - **Adición y modificación manual** (`+ Añadir`) Permite introducir una única empresa rellenando el formulario manualmente. Ambos métodos permiten gestionar de forma completa e independiente las empresas asociadas a la propia cuenta Quoting24. Pantalla de lista de empresas --- Utilizando el botón **“+ Añadir”** es posible crear una nueva empresa rellenando el formulario dedicado. Pantalla de adición de empresas Esta misma pantalla también permite modificar las empresas existentes (haciendo clic en el icono del lápiz). --- ## Importación de empresas mediante Excel Para importar varias empresas al mismo tiempo mediante archivo Excel: 1. haz clic en el botón **“Import/Export excel”** 2. en la pantalla siguiente haz clic en el botón rojo **“Importar”** 3. carga el archivo Excel desde tu ordenador Además, es posible **descargar un archivo de ejemplo** para verificar el formato correcto que se debe utilizar en el archivo que se va a cargar. Pantalla de adición de empresas desde Excel Durante la fase de importación de empresas mediante Excel es **aconsejable insertar notas** dentro del archivo, para facilitar la asociación de los [turnos de entrega](delivery_shifts.md). --- ## Prioridad y tipología de la empresa En una empresa puedes configurar: * una **prioridad** (Alta, Media, Baja) * un **tipo** (cliente, proveedor, colaborador, …) Estos valores afectan a los contactos vinculados: * la **prioridad** de la empresa la heredan los contactos sin prioridad propia; el contacto puede sobrescribirla * el **tipo** de la empresa lo heredan los contactos y **no se puede cambiar** en el contacto mientras haya una empresa asignada En la lista de tickets, el color del tag junto al nombre refleja el tipo efectivo (empresa o, para contactos sin empresa, el tipo personal). La prioridad y el tipo de empresa también se pueden editar desde la tab **Información** del ticket, en la sección de empresa abajo. Detalles del contacto: [Contactos → Prioridad](contacts.md#prioridad-del-contacto) y [Contactos → Tipología](contacts.md#tipología-del-contacto). --- ## Código web (`web_code`) {#codice-web-web_code} `web_code` es la referencia con la que el widget reconoce la empresa. El sitio envía el mismo valor en el campo público `external_id`. El payload del widget no tiene un campo `web_code`. Si cargas el fichero antes de conectar el sitio, escribe en `web_code` **el mismo valor** que el sitio enviará en `external_id`. No uses el UUID interno de Quoting24 ni el código de gestión `companies.code`. | Situación | Resultado | | --- | --- | | `web_code` igual a `external_id` | El contacto del widget queda vinculado. El nombre y el correo de la empresa siguen siendo los ya guardados | | Ninguna coincidencia, y el sitio envía también `company_name` | Quoting24 crea la empresa (`name`, `web_code`, correo si está presente) y vincula el contacto | | Varias empresas con el mismo `web_code` | La inicialización pública usa la primera, por fecha de creación ascendente | `"052"` y `"52"` son códigos distintos. Los espacios dentro de `external_id` no se quitan. `web_code` no tiene una restricción de unicidad: conviene evitar los duplicados, porque dos creaciones simultáneas pueden generarlos. El vínculo que hace el widget no actualiza una empresa ya existente y no abre el historial de los demás contactos. Contrato completo: [Integración técnica del widget](widget_tecnico.md#associare-o-creare-lazienda). --- ## Notas de empresa Las empresas pueden tener notas operativas vinculadas a su ficha. Estas notas ayudan a los operadores a recuperar rápidamente información útil durante la gestión de un ticket, por ejemplo indicaciones comerciales, referencias internas o condiciones de trabajo específicas. Cuando se trabaja en un ticket, las notas de la empresa pueden consultarse y modificarse rápidamente desde la tab **Información** de la solicitud (sección de empresa abajo). --- # Vista general de la IA URL: https://wiki.quoting24.com/es/content/ai/ Language: es Updated: 2026-11-04 # Vista general de la IA La **AI** de Quoting24 es el módulo que **lee e interpreta toda la conversación** de un ticket y actualiza en consecuencia la **parte derecha** (vehículos y recambios). Ya no se limita a “entender” un mensaje cada vez: tiene en cuenta el **historial del chat**, el **desarrollo** de la conversación y el **estado actual** de la sección vehículos/recambios. Así las piezas quedan bajo el vehículo correcto incluso cuando el cliente: * escribe primero los recambios y **después** la matrícula * envía la **foto del permiso de circulación** después de la lista de piezas * responde **citando** un mensaje anterior * habla de **varios coches** en el mismo ticket Esta guía describe el **reconocimiento AI** de la conversación. Donde ayude distinguirlo del asistente conversacional en el chat (**AI Premium**), lo indicamos claramente. --- ## Cómo elabora los mensajes Los mensajes **cercanos** se elaboran **juntos**, no uno a uno. * Quoting24 espera unos **15 segundos** para agrupar los mensajes consecutivos del cliente. * Si el operador **abre el ticket**, la elaboración empieza **de inmediato**. * El grupo de mensajes produce **un solo recuadro** de resumen en el chat. Así la AI ve el contexto completo de ese “bloque” de conversación y actualiza vehículos y recambios de forma coherente. --- ## Pestaña AI a la derecha En la sección derecha está la **pestaña AI**, visible en la sección derecha del ticket. * mientras la AI elabora el ticket aparece un **spinner** * al hacer clic se recuerda que el **asistente en el chat** pertenece al módulo **AI Premium** (producto distinto) --- ## En resumen | Objetivo | Qué hace la AI | |---|---| | Entender el chat | Lee el **ticket entero**, no solo el último mensaje | | Rellenar la derecha | Crea/actualiza **vehículos** y **recambios** automáticamente | | Multimedia | Interpreta **fotos**, **PDF** y **mensajes de voz** | | Controlar | Permite **corregir** errores y navegar hacia las búsquedas | | Respetar al operador | No sobrescribe las modificaciones **manuales** a la derecha | --- ## Más información | Sección | Contenido | | --- | --- | | [Reconocimiento](ai_riconoscimento.md) | Vehículos, recambios, etiquetas, notas internas, glosario y búsquedas automáticas | | [Fotos, PDF y mensajes de voz](ai_media.md) | Lectura de medios y ficha “Lecturas AI” | | [Cuadro y corrección](ai_riquadro.md) | Recuadro en el chat, clics, Corregir y modos de visualización | | [Automatizaciones](automations.md) | Conversión matrícula → bastidor, árbol y búsqueda automática de recambios | --- # Reconocimiento URL: https://wiki.quoting24.com/es/content/ai_riconoscimento/ Language: es Updated: 2026-11-04 # Reconocimiento La AI puede reconocer y estructurar datos de la conversación y actualizar la parte derecha del ticket. Para el funcionamiento general, consulta [Vista general de la IA](ai.md). --- ## Qué reconoce ### Vehículos * matrícula * bastidor (VIN) * marca y modelo * año * código de motor * otros datos típicos del **permiso de circulación** ### Recambios * nombre del recambio **normalizado en italiano**, aunque el cliente escriba en otro idioma o con abreviaturas (p. ej. `f olio`, `pf`, `fab`) * **códigos** OE, aftermarket, EAN * **posición** y **cantidad** ### Mensajes “solo matrícula” o “solo código” Un mensaje con **solo la matrícula** o **solo un código** no se trata como vacío: * la **matrícula** crea o completa el vehículo * el **código** completa una solicitud pendiente o crea una nueva --- ## Etiquetas en cada recambio Cada fila del recuadro puede mostrar la información que el cliente dio **para esa pieza concreta**: * **Presupuesto** / **Pedido** * posición * cantidad * estado (nuevo, usado, regenerado) * calidad (original, equivalente) * marcas preferidas (★) * exclusiones tachadas (p. ej. “no Brembo”) * plazo (p. ej. “antes del viernes”, “para mañana”) * **Urgente** * problemas y **códigos de diagnóstico** (p. ej. `P0401`) * entrega o recogida (p. ej. “paso yo”) Las etiquetas valen **solo** para la pieza a la que el cliente se refiere: **no** se copian automáticamente a los demás recambios. Detalles sobre el recuadro: [Cuadro y corrección](ai_riquadro.md). --- ## Comportamiento con clientes indecisos o distraídos La AI **actualiza**, **mueve** y **elimina** por sí sola vehículos y recambios en la parte derecha, siguiendo la conversación. Ejemplos típicos: * un recambio escrito **antes** de la matrícula se **mueve** al vehículo correcto cuando llega la matrícula * “el filtro de aire ya no lo necesito” **borra solo** ese filtro * “no Brembo” se convierte en una **exclusión** * si el cliente **modifica o borra** un mensaje en WhatsApp, la parte derecha **sigue** * un código enviado después **completa** la solicitud sin código * una solicitud sin nombre (código suelto, etiqueta, foto) y el nombre dado **en otro mensaje**, incluso días después, se convierten en **una sola solicitud** * varias fotos de la **misma pieza** → una sola solicitud * “discos y pastillas” → **dos** solicitudes; “kit de distribución” → **una** solicitud * si no está claro a qué coche se refiere, el recambio permanece en **“Sin vehículo”** con un **aviso**, sin adivinar ### Qué no se sobrescribe nunca * lo que el **operador modifica a mano** a la derecha **no** lo sobrescribe la AI * una **pestaña eliminada** vuelve solo si llegan **nuevos recambios** para ese vehículo * los recambios **descartados** por el operador siguen descartados --- ## Notas internas y respuestas al cliente ### Notas internas Una **nota interna** es una **orden** para la AI: * se aplica **de inmediato** (vehículo, recambios, códigos, cancelaciones) * recibe **su propio recuadro** ### Respuestas enviadas al cliente Una **respuesta al cliente** es solo una **propuesta**: * **no** cambia vehículos/recambios hasta que el cliente confirme (p. ej. “ok”, “manda”, cita la respuesta o nombra la pieza) * el recuadro bajo la confirmación **remite** a la respuesta original * “Ok manda” después de un precio puede poner la etiqueta **Pedido** --- ## Respuestas a solicitudes anteriores Si el cliente responde **citando** un mensaje de un **ticket anterior**: * la AI lo elabora en **ese** ticket * en el ticket abierto actualmente solo aparece la remisión **“Elaborado en otra solicitud”** con **“Ir a la solicitud”** --- ## Búsquedas automáticas Las búsquedas siguen las reglas de **Ajustes → Automatizaciones** (conversión matrícula → bastidor, carga del árbol, búsqueda de recambios). Detalles en [Automatizaciones](automations.md#automazioni-disponibili). Comportamiento con la AI: * cada solicitud decide **por sí sola** cuándo buscar * los **códigos** buscan de inmediato por código * **ninguna búsqueda duplicada** para el mismo texto * las solicitudes **sin nombre y sin código** no generan búsquedas * la matrícula **verificada** enriquece el vehículo (marca, modelo, bastidor, código de motor) y la AI lo tiene en cuenta --- ## Glosario del recambista El **glosario del recambista** contiene frases y abreviaturas típicas de los clientes, con el significado válido para la **sala**. Ejemplo: “tres filtros” = filtro de aceite, filtro de aire del motor, filtro de habitáculo. * la AI lo usa como **diccionario** * **no** reescribe el mensaje del cliente * sustituye las antiguas **“desambiguaciones”** * se configura desde el **backoffice de Qricambi** --- ## De la pestaña del vehículo al mensaje En la parte derecha, al hacer clic de nuevo en la **pestaña ya seleccionada** de un vehículo, el chat **se desplaza** al mensaje del que la AI leyó ese vehículo. Útil para comprobar al momento la fuente del reconocimiento. Para fotos, PDF y mensajes de voz, consulta [Fotos, PDF y mensajes de voz](ai_media.md). --- # Fotos, PDF y mensajes de voz URL: https://wiki.quoting24.com/es/content/ai_media/ Language: es Updated: 2026-11-04 # Fotos, PDF y mensajes de voz La AI también interpreta los **medios** de la conversación, además del texto. Para el funcionamiento general, consulta [Vista general de la IA](ai.md); para qué se estructura en vehículos y recambios, consulta [Reconocimiento](ai_riconoscimento.md). --- ## Fotos Las imágenes se **leen** y los datos entran en la conversación como si fueran texto. Contenidos típicos reconocidos: * matrículas * permisos de circulación * etiquetas y embalajes * capturas de catálogos o diagnósticos * documentos * componentes fotografiados **Foto y pie de foto** se tratan como **un único mensaje**. Si una foto aún está en **carga**, la AI **espera** a que esté lista antes de elaborar los mensajes siguientes. --- ## PDF Los PDF (presupuestos, facturas, albaranes, listas de recambios, permisos escaneados) se leen **página por página**: * una **línea por recambio** * vehículo con **matrícula** y **bastidor** cuando están presentes * **sin** precios y **sin** datos personales --- ## Mensajes de voz Los mensajes de voz se **transcriben** e interpretan como texto. Matrículas y códigos dictados en voz alta se **reconstruyen**. --- ## Lectura prudente La lectura es más cautelosa que en el pasado: * matrículas **parciales** * bastidores **incoherentes** con la marca no se aceptan en silencio: se señalan como **“Lectura incierta”**. --- ## “Lecturas AI” en el visor Al abrir una **foto** o un **PDF** a pantalla completa aparece la ficha **“Lecturas AI”**. Muestra: * qué ha leído la AI en ese archivo * qué contiene ahora la solicitud * el **lápiz** para corregir matrícula, bastidor o código directamente desde ahí * las **lecturas inciertas** * cuántas **páginas** del PDF se han leído * posibles **archivos no leídos** La corrección desde aquí sigue las mismas reglas descritas en [Cuadro y corrección](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Los interruptores de transcripción de voz, lectura de imágenes y reconocimiento de texto están en **Ajustes → Inteligencia artificial → Reconocimiento AI** (consulta también [Modos de visualización](ai_riquadro.md#modalità-di-visualizzazione)). --- # Cuadro y corrección URL: https://wiki.quoting24.com/es/content/ai_riquadro/ Language: es Updated: 2026-11-04 # Cuadro y corrección Por cada grupo de mensajes elaborados aparece un **recuadro** bajo el último mensaje del grupo. Para cómo se agrupan los mensajes, consulta [Vista general de la IA](ai.md#cómo-elabora-los-mensajes). --- ## El recuadro AI en el chat ### Encabezado y mensajes vinculados * encabezado del tipo **“Resumen AI de N mensajes”** * al pasar el ratón por el recuadro se **destacan** los mensajes resumidos ### Solo lo que ha cambiado El recuadro muestra **qué ha cambiado** con esos mensajes, no todo el historial: * **Nuevo** * **Actualizado** * **Movido** * **Eliminado** El detalle modificado se **colorea** para localizarlo al momento. ### Organización de los recambios * los recambios se agrupan **por vehículo** * o bajo **“Sin vehículo”** si aún no está claro a qué coche pertenecen * con más de **tres filas** por vehículo aparece **“Mostrar otros N componentes”** * los códigos adicionales pueden quedar detrás de **“+N”** * un bastidor truncado se ve **completo** al pasar el ratón ### Flechas y avisos * las flechas **↑** llevan al mensaje que indicó el vehículo o a la solicitud anterior * los **avisos** (triángulo) señalan las dudas de la AI, por ejemplo: * asociación incierta * ambigüedad residual * abreviatura ambigua * conflicto entre fuentes * incoherencia lógica --- ## Clic izquierdo: del chat a la parte derecha El **clic izquierdo** en el recuadro (o en sus partes) sirve para **navegar**, no para lanzar búsquedas: * clic en un **componente** → se abre la pestaña del vehículo correcto y la búsqueda correspondiente **parpadea** * clic en un **código** → se destaca la búsqueda de ese código * clic en **matrícula** o **bastidor** → se abre la pestaña de ese vehículo (si la pestaña se había eliminado, se **vuelve a crear**) El clic izquierdo **no inicia búsquedas** y **no consume créditos**. --- ## Clic derecho en las pastillas negras En matrícula, bastidor y código (pastillas negras) el **clic derecho** abre un menú con: * **Buscar matrícula** — conversión matrícula → bastidor * **Buscar bastidor** — árbol / estructura a partir del bastidor * **Buscar código** — nueva búsqueda del código * **Corregir** — corrige el valor leído mal por la AI --- ## Corregir: la AI no repite el error {#correggi-lai-non-ripete-lerrore} Si la AI lee mal una **matrícula**, un **bastidor** o un **código**: 1. clic derecho → **Corregir** 2. introduce el valor correcto Quoting24 sustituye el valor **en todas partes**: * en **todos los recuadros** del chat * en las **búsquedas** de la derecha * en la **memoria** de la AI A partir de ese momento el valor antiguo se trata como **error**, aunque una foto o un mensaje nuevo lo repitan. Otras reglas importantes: * si el valor corregido coincide con un vehículo ya presente, ambos se **unen** * corregir una matrícula **borra** los datos encontrados con la matrícula antigua (bastidor, marca, modelo) y **relanza** la búsqueda si las [automatizaciones](automations.md) están activas * hace falta el permiso de **búsqueda de recambios** También puedes corregir desde la ficha **“Lecturas AI”** abriendo una foto o un PDF: consulta [Fotos, PDF y mensajes de voz](ai_media.md#lecturas-ai-en-el-visor). --- ## Modos de visualización {#modalità-di-visualizzazione} En **Ajustes → Inteligencia artificial → Reconocimiento AI** puedes elegir cómo mostrar los recuadros en el chat. En el mismo punto se han trasladado también los tres interruptores: * transcripción de los **mensajes de voz** * lectura en las **imágenes** * reconocimiento en los **mensajes de texto** ### Completo Muestra el **recuadro entero**. ### Solo matrícula, bastidor y códigos Muestra una **pastilla compacta** con: * matrícula o bastidor (solo cuando el mensaje ha añadido o actualizado el vehículo) * la franja de los **códigos** * un **asa** para abrir el recuadro entero de ese mensaje Es el modo más parecido a la visualización anterior. ### Oculto Ningún recuadro en el chat. ### Botón “AI” en el chat En **todos** los modos, cada mensaje vinculado a un recuadro tiene el botón **“AI”**: * muestra u oculta **todos** los recuadros del chat abierto * la elección **no se guarda** (vale solo para la sesión/visualización actual) Clic izquierdo, clic derecho y **Corregir** funcionan también en la pastilla compacta. --- # Automatizaciones URL: https://wiki.quoting24.com/es/content/automations/ Language: es Updated: 2026-11-04 # Automatizaciones Automatizaciones Las **reglas de automatización** permiten activar actividades automáticas que trabajan sobre las búsquedas y que pueden **activarse o desactivarse a voluntad**. Estas automatizaciones permiten trabajar de forma **más directa y rápida**: en cuanto se recibe una solicitud de presupuesto, el sistema empieza automáticamente a buscar, *entre bastidores*: - matrículas - bastidores - recambios --- ## Advertencia sobre los créditos > **NOTA IMPORTANTE** > Las automatizaciones activas **consumen automáticamente los [créditos](credits.md)** de la propia cuenta. > Por tanto, es importante tener en cuenta este componente de coste. > > Para más detalles se puede consultar la sección **“[Créditos](credits.md)”**. --- ## Automatizaciones disponibles {#automazioni-disponibili} Las automatizaciones que es posible **activar o desactivar** son las siguientes: - **Conversión automática matrícula → VIN** En cuanto se reconoce una matrícula, esta se convierte automáticamente en **bastidor**. - **Carga automática del árbol** En cuanto está disponible un VIN, se realiza la búsqueda del bastidor y se carga automáticamente el **árbol con los despieces**. - **Búsqueda automática de recambios** Inicia automáticamente la búsqueda de las piezas (por ejemplo *filtro de aire*) dentro de los despieces del bastidor. --- ## Control de consumos Si la actividad debe limitar el uso de los créditos, los administradores pueden combinar las automatizaciones con la configuración de bloqueo descrita en la página [Créditos](credits.md). De este modo es posible evitar que la conversión matrícula-bastidor o la búsqueda VIN se ejecuten cuando no deben consumir créditos. --- # Integración con Qricambi URL: https://wiki.quoting24.com/es/content/qricambi_integration/ Language: es Updated: 2026-11-04 # Integración con Qricambi Desde esta sección es posible **activar o desactivar** la **búsqueda automática de códigos en Qricambi**. Integración Qricambi Cuando se busca un código en Qricambi desde Quoting24 y Qricambi ya está abierto en otra pestaña del navegador, la búsqueda se ejecuta en la pestaña ya abierta en lugar de abrir una nueva. Esto mantiene el trabajo más ordenado y reduce el número de pestañas abiertas durante la gestión de las solicitudes. --- ## Tipos de proveedores ### Proveedores internos Por **proveedores internos** se entienden las ['Listas'](https://qricambi.com/liste/) de Qricambi. Se trata de **archivos Excel** que contienen, por ejemplo: - las existencias del propio almacén - listas de precios personalizadas --- ### Proveedores externos Por **proveedores externos** se entienden los **e-commerce de los propios proveedores**, en los que es posible realizar búsquedas automáticas de códigos directamente desde Quoting24. --- ## Selección de proveedores y flag Grupos En **Ajustes → Qricambi**, en la selección de proveedores para la búsqueda, está disponible el flag **Grupos**. Al activar **Grupos**: * aparecen los **grupos de proveedores** del account Qricambi vinculado * es posible **añadir de forma masiva** los proveedores de un grupo, sin seleccionarlos uno a uno --- ## Búsqueda textual en los resultados Cuando Quoting24 muestra los resultados de Qricambi o de los proveedores conectados, es posible realizar una **búsqueda por texto** dentro de los resultados. La búsqueda ayuda a localizar más rápidamente: - código de producto - marca - descripción - proveedor --- ## Precios de lista En los resultados de búsqueda también puede mostrarse el **precio de lista**, cuando está disponible. El precio de lista acompaña la información operativa ya presente, como precio neto, disponibilidad y proveedor, y ayuda al operador a evaluar mejor el resultado antes de insertarlo en el flujo de presupuestación. --- # Búsqueda con extensión URL: https://wiki.quoting24.com/es/content/search_with_extension/ Language: es Updated: 2026-11-04 # Búsqueda con extensión ## Uso de la extensión para buscar en Eper y Partslink Al instalar la extensión de Qricambi (Qricambi Assistant), puedes realizar búsquedas de bastidores no encontrados en la plataforma de Partslink o en la de Eper. [Haz clic aquí para instalar Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Haz clic aquí para instalar Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Guía de uso Pantalla buscar en E y en P ### Buscar en P Para buscar un recambio de un vehículo teniendo el bastidor en Quoting24, al pulsar el botón "Buscar en P", el bastidor se enviará a Partslink24, que seleccionará automáticamente la marca del vehículo, buscará el bastidor y finalmente realizará la búsqueda del componente. Cuando ya hay una pestaña de Partslink abierta, la búsqueda no abre una nueva pestaña: Quoting24 utiliza la pestaña ya existente y envía allí la nueva búsqueda. La ruta utilizada para los códigos buscados en Partslink se guarda, para que sea más sencillo retomar o reconstruir el contexto de la búsqueda. Después de identificar el código del producto mediante la apertura de los despieces, será posible ver tres nuevos iconos debajo de él, cada uno con una función específica. Partiendo de la izquierda: * **Icono blanco con la "Q"**: permite transferir el código seleccionado a la búsqueda "precios y disponibilidad" de Qricambi; * **Icono rojo**: permite enviar el código a Quoting24; * **Icono blanco con el "24"**: envía el código a Quoting24, pero cierra la pestaña de Partslink (no indicado si se quieren realizar otras búsquedas). ### Buscar en E Para buscar un recambio de un vehículo teniendo el bastidor en Quoting24, al pulsar el botón "Buscar en E", el bastidor se enviará a Eper, que buscará el propio bastidor y finalmente el componente del vehículo. Captura de pantalla También en Eper, como en Partslink, es posible aprovechar las funcionalidades de los tres iconos descritos anteriormente (después de seleccionar el código correcto). --- # Créditos URL: https://wiki.quoting24.com/es/content/credits/ Language: es Updated: 2026-11-04 # Créditos Los **créditos** sirven para poder realizar las siguientes actividades en Quoting24: 1. **Conversión matrícula → bastidor** 2. **Búsqueda de componentes dentro del bastidor**, mediante apertura de los despieces Pantalla de uso de créditos --- ## Coste de las operaciones El coste en créditos de estas operaciones es visible dentro de la aplicación [Qricambi](https://app.qricambi.com/), en la sección **“Créditos”** (botón rojo en la parte superior derecha -> Créditos). El uso de las funcionalidades que consumen créditos tiene **el mismo coste** tanto en **Qricambi** como en **Quoting24**. --- ## Bloqueo del uso de créditos en los vehículos En la sección dedicada a los vehículos hay configuraciones que permiten bloquear el uso de los créditos en Quoting24. Las opciones principales son: - **Bloquear la transcodificación matrícula → bastidor** Impide el uso de créditos para convertir automáticamente una matrícula en bastidor. - **Bloquear la búsqueda del VIN** Impide el uso de créditos para realizar la búsqueda del bastidor y acceder a la información relacionada. Estas configuraciones son útiles cuando se quiere evitar el consumo involuntario de créditos por parte de los operadores o limitar algunas búsquedas automáticas. --- ## Uso de créditos Qricambi ↔ Quoting24 A continuación se muestra información general sobre los créditos de Quoting24: - Los créditos de la cuenta **Quoting24** están **compartidos** con la propia cuenta **Qricambi** El número de créditos disponibles es visible: - en la **esquina superior derecha** de la aplicación Visualizar créditos La compra de créditos se gestiona **directamente desde Qricambi** - haciendo clic en el contador de créditos se abre la [página dedicada](https://app.qricambi.com/youraccount/BuyCredits) --- # Enviar presupuesto al software de gestión URL: https://wiki.quoting24.com/es/content/invia_preventivo_gestionale/ Language: es Updated: 2026-11-04 # Enviar presupuesto al software de gestión Enviar al software de gestión Esta funcionalidad representa el corazón de la integración entre Quoting24 y el mundo externo. El objetivo es sencillo: **permitir que Quoting24 "hable" con cualquier software de gestión (ERP)** presente en la empresa. Tanto si utilizas un software de gestión conocido como uno desarrollado a medida, Quoting24 está diseñado para ser **universalmente compatible**. El proceso se divide en dos pasos: 1. **Envío del presupuesto semielaborado desde Quoting24 al software de gestión** 2. **Envío del presupuesto finalizado desde el software de gestión al cliente** --- ## 1. Envío del presupuesto semielaborado desde Quoting24 al software de gestión Esta sección explica cómo conectar Quoting24 a cualquier software de gestión externo para la creación automática de presupuestos. El flujo lógico de los datos parte siempre del **Ticket (Chat)** y sigue esta estructura: `Ticket` → `Vehículo` → `Búsqueda ("Recambio")` → `Código "correcto" (Código OE)` → `Productos seleccionados` Cuando un operador decide crear un presupuesto, Quoting24 envía una "llamada" (solicitud) hacia tu software de gestión, a una dirección personalizada y específica para tu empresa. Presupuesto en elaboración Qué sucede en esta fase: - **Matching del cliente**: El sistema intenta reconocer al cliente enviando el **código de empresa** correcto al software de gestión (o posibles otros campos como NIF/CIF o número de teléfono). - **Adaptación de la solicitud**: Los datos recogidos en la chat (matrícula, códigos de recambios, descripciones) se "traducen" al formato que tu software de gestión espera; la personalización de la llamada debe solicitarse al servicio de asistencia al cliente de Quoting24. - **Guardado de referencias**: Quoting24 memoriza el ID o la dirección del presupuesto que acaba de crearse en el software de gestión, para poder recuperarlo en el futuro. En resumen: **Quoting24 rellena por ti el borrador del presupuesto directamente en tu sistema.** ## 2. Envío del presupuesto finalizado desde el software de gestión al cliente Una vez que el presupuesto está listo o confirmado en tu software de gestión, es posible enviar una notificación de retorno a Quoting24 (a nuestra dirección API dedicada) pasando el presupuesto en formato PDF y la referencia al ID del presupuesto o al ticket de origen. Presupuesto confirmado Después de la recepción por parte de Quoting24 del presupuesto desde el software de gestión nos encontramos en esta fase, en la que el presupuesto está completado y podemos realizar acciones: - con la **Flecha** podemos abrir el presupuesto en el software de gestión - con el **Ojo** podemos visualizar el presupuesto - con la **Flecha de descarga** podemos descargar el presupuesto en formato **PDF** - con la **Flecha de envío** podemos enviar el presupuesto al cliente Es posible hacer que, mediante un parámetro de llamada, el presupuesto se envíe directamente al cliente por WhatsApp, sin ningún paso de confirmación dentro de Quoting24 (sin tener que hacer clic en el icono de envío). En el caso de uso de las API oficiales de WhatsApp, también es posible enviar un botón de aceptación junto con el adjunto PDF y, en caso de que se pulse este botón, el presupuesto se envía automáticamente al software de gestión como aceptado. ### Nombre del archivo del presupuesto El nombre del archivo PDF del presupuesto se genera incluyendo, cuando están disponibles, información útil para reconocer el documento, como: - matrícula - bastidor - número del presupuesto Esto hace más sencillo identificar el archivo después de la descarga o cuando se envía al cliente. Nombre de archivo del presupuesto con matrícula bastidor y número --- ## EJEMPLO DE INTEGRACIÓN: Presupuestos de Qricambi Para quien utiliza **Qricambi**, la integración con el software de gestión es fácilmente reproducible utilizando los Presupuestos de Qricambi como ejemplo de plataforma de gestión. ### Solicitud de presupuesto Presupuestos Qricambi El sistema crea automáticamente el presupuesto en Qricambi siguiendo lógicas inteligentes: - **Reconocimiento Cliente**: Si el contacto de Quoting24 corresponde a un cliente de Qricambi (cruce de código cliente), el presupuesto se emite a su nombre. En caso contrario, se utilizan las informaciones genéricas del operador de Quoting24. - **Datos transmitidos**: Se envían automáticamente Matrícula/Bastidor, Vehículo, Link al ticket de origen y el Usuario que está ejecutando la operación. **¿Cómo se rellenan las líneas del presupuesto?** El sistema es capaz de gestionar distintos casos para no perder ninguna información: 1. **Líneas seleccionadas**: Si has seleccionado recambios desde la búsqueda de Qricambi, estos se insertan con todos los detalles (código, precio, etc.). Producto 2. **Desde Búsqueda (Código OE)**: Si no has seleccionado líneas específicas o no has encontrado resultados en Qricambi, pero tienes un código original (OE) del bastidor, el sistema crea una línea con ese código y la nota "DE BÚSQUEDA". Ningún resultado 3. **Descripción genérica**: Si no hay ningún bastidor ni búsqueda técnica, sino solo una solicitud textual (ej. "retrovisor dcho."), se crea una línea vacía que contiene solo la descripción de la pieza solicitada. Ninguna búsqueda ### Recepción del presupuesto Una vez trabajado y completado el presupuesto dentro de Qricambi: - Basta con hacer clic en el botón **"Enviar a Quoting24"**. - El sistema envía inmediatamente el **PDF** a la chat. - El presupuesto se marca como **completado**. El operador puede entonces visualizar el PDF, descargarlo o enviarlo directamente al cliente por WhatsApp sin salir nunca del flujo de trabajo. --- # Escribe en WhatsApp mediante nuestras API URL: https://wiki.quoting24.com/es/content/invia_whatsapp_api/ Language: es Updated: 2026-11-04 # Escribe en WhatsApp mediante nuestras API Esta funcionalidad permite que tu software de gestión o cualquier otro software externo **se comunique directamente con tus clientes en WhatsApp**, utilizando Quoting24 como puente. En palabras sencillas, gracias a esta integración es posible **enviar mensajes y documentos de forma automática**, sin tener que abrir la aplicación de Quoting24 y sin tener que copiar y pegar manualmente los datos. --- ## Qué es posible hacer? Utilizando esta conexión, tu sistema de gestión puede realizar tres acciones principales de una sola vez: 1. **Enviar un mensaje de texto** Puedes escribir al cliente cualquier información: un aviso de mercancía lista, una confirmación de pedido o un simple saludo. 2. **Enviar archivos y documentos (PDF, imágenes, etc.)** Junto con el texto, puedes adjuntar archivos. Muy útil, por ejemplo, para **enviar el PDF de un presupuesto** o de una factura directamente en la chat de WhatsApp del cliente. 3. **Cerrar automáticamente la solicitud (Ticket)** A menudo, cuando se envía un presupuesto o una confirmación, la operación puede considerarse concluida. Es posible indicar al sistema que **"archive" (cierre) inmediatamente la conversación** después del envío del mensaje, para mantener limpia la lista de solicitudes abiertas en Quoting24 sin tener que hacerlo a mano. --- ## Detalles técnicos para la integración Hay un endpoint disponible para enviar mensajes a un **contacto individual** mediante WhatsApp Business API. La autenticación se realiza mediante el header `X-API-Key` usando la clave API de tu tenant, disponible en la configuración de cuenta. --- ### Enviar mensaje a un contacto **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Mensaje de texto:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Mensaje con imagen o documento (URL público):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Parámetros `message_content`:** | Campo | Tipo | Obligatorio | Descripción | | ---------------- | --------------------------------------------- | ---------------------------------- | ------------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | No, default `text` | Tipo de mensaje | | `text` | stringa | No | Texto del mensaje o leyenda del archivo | | `file.url` | stringa URL | Sí si `type` es distinto de `text` | URL público del archivo que se va a enviar | | `file.name` | stringa | Sí si `type` es distinto de `text` | Nombre del archivo con extensión, por ejemplo `preventivo.pdf` | | `file.mime_type` | stringa | Sí si `type` es distinto de `text` | Tipo MIME, por ejemplo `application/pdf` o `image/jpeg` | **Parámetros principales:** | Campo | Descripción | | ------------------- | ------------------------------------------------------------------------------------ | | `tenant_id` | ID de tu tenant, disponible desde la configuración | | `phone_number` | Número de teléfono del cliente con prefijo internacional, por ejemplo `+39123456789` | | `channel` | `whatsapp-api` para WhatsApp Business API | | `auto_close_ticket` | `true` para cerrar automáticamente el ticket después del envío | --- > **Nota:** el archivo que se va a adjuntar debe ser accesible mediante una URL pública. Si el archivo procede de un software de gestión o de un sistema interno, asegúrate de que sea accesible desde internet antes de pasar su enlace a la API. > **Nota operativa:** el envío de mensajes sigue las reglas de Meta. Para iniciar conversaciones fuera de la ventana de asistencia de 24 horas pueden ser necesarios templates preaprobados. --- # Búsqueda puntual por códigos OE / AM en el propio software de gestión URL: https://wiki.quoting24.com/es/content/management_research/ Language: es Updated: 2026-11-04 # Búsqueda puntual por códigos OE / AM en el propio software de gestión ## Vista general Integrando el propio software de gestión en Quoting24 es posible devolver en tiempo real precios y disponibilidad personalizados para el cliente específico con el que se está escribiendo cuando se buscan códigos. De este modo se obtienen rápidamente las **condiciones comerciales específicas** del cliente con el que se está hablando. El objetivo es permitir que Quoting24, una vez identificado un código de producto, recupere automáticamente: - Disponibilidad y precio neto del cliente específico - Metadatos del producto: información descriptiva, marca, posibles promociones activas y otros atributos relacionados. - El flujo está diseñado para interactuar de forma transparente con las API ERP del sistema de gestión del Proveedor. --- ## Parámetros de búsqueda **De Quoting24 al Proveedor** ### Parámetros obligatorios - **Token de autenticación** Un token único que identifica de forma unívoca los servidores de Quoting24. - **Código de búsqueda** Preferiblemente un **código AM u OE**. La búsqueda **no debería limitarse solo a los códigos de producto exactos**, sino que también debería: - Buscar códigos alternativos - Buscar en bases externas ⚠️ Si este comportamiento **no está soportado**, debe comunicarse claramente. Como mínimo, la búsqueda debe incluir los datos de ficha del producto y no solo los códigos internos exactos. --- ### Identificación del cliente **Debe proporcionarse al menos uno de los siguientes** - **ID (como está registrado en el software de gestión)** de la sede de tu cliente - **ID (como está registrado en el software de gestión)** de la empresa de tu cliente - **NIF/CIF del cliente** - **ID de categoría de descuento** Usado para: - Clientes no registrados - Permitir al operador modificar dinámicamente las reglas de descuento --- ### Parámetros opcionales - **ID operador** *(opcional pero recomendado)* Utilizado para rastrear quién ha generado el presupuesto. - **Cantidad** Puede incluirse en la solicitud si es estrictamente necesario. Enfoque preferido: gestión de la cantidad en la **respuesta**, no en la solicitud. - **Marca / Fabricante** Para permitir búsquedas más precisas. - **Modalidad de búsqueda** Parámetro de opción de búsqueda exacta puntual o búsqueda con cruces (que también produce resultados de productos alternativos). --- ## Parámetros de respuesta **Del proveedor a Quoting24** La respuesta debe contener un **listado de productos**, cada uno con los siguientes campos. ### Campos obligatorios (por producto) - **Código de producto del proveedor** Código de pedido interno, incluidos los prefijos, exactamente como se utiliza en los sistemas del Proveedor. - **Fabricante** Nombre del fabricante (ej. *LUK, Magneti Marelli, Brembo*). Puede estar estructurado en 2 campos: - Versión abreviada/precódigo (ej. `MAR`) - Nombre completo (ej. `Magneti Marelli`) - **Precio de venta neto al cliente** - Precio neto (IVA excluido) - Costes de envío excluidos - Los gastos de envío pueden devolverse por separado, si corresponde - **Disponibilidad** Valor numérico que representa la cantidad disponible en almacén. - **Almacén** Nombre del almacén, estantería o referencia a la ubicación interna. --- ### Campos opcionales - **Descripción del producto** Texto libre (ej. *Pastillas de freno*) y/o categoría de mercancía. - **Código identificativo del Fabricante** Obligatorio cuando el código de producto ERP difiere del código del fabricante. - **Precio de lista** No necesario pero reproducible si hace falta. - **Promociones** - Presencia de promoción (binario) - Texto de la promoción (opcional) - Si el texto está vacío → promoción no activa - **Imagen del producto** - URL de la imagen - O imagen Base64 - **URL ficha de producto** Enlace a la página de detalles del producto en el e-commerce o en el sitio externo. Si el enlace directo no es posible: - Proporcionar reglas de sintaxis URL - O devolver una URL genérica de la página de acceso - **Precios basados en la cantidad / Descuentos** Si existen descuentos por cantidad, devuelve los niveles en cualquier **formato analizable**, por ejemplo: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Perfil URL: https://wiki.quoting24.com/es/content/profilo/ Language: es Updated: 2026-11-04 # Perfil Haciendo clic en las **rayas de la parte superior derecha** en Quoting24 y accediendo a la sección **Configuración → Perfil**, es posible modificar algunos aspectos importantes de la experiencia de uso de la plataforma. Perfil --- ## Personalización del perfil En esta sección es posible personalizar el propio perfil modificando: - el **avatar**, introduciendo: - las iniciales personalizadas del propio nombre - un *logo artístico* - o cargando una **imagen** Edición del perfil --- ## Apodo El **apodo**: - inicialmente coincide con el **username de acceso de Qricambi** - es **obligatorio** - puede modificarse libremente El apodo representa el propio **nombre interno** en Quoting24 y es el que: - visualizan los compañeros - se utiliza para las **asignaciones de tickets** La modificación del apodo: - **no cambia** el username de login - **no influye** en las credenciales de acceso a Quoting24 y Qricambi --- ## Guardado de las modificaciones Guardado de modificaciones Después de personalizar la configuración del perfil es necesario **guardar las modificaciones** antes de salir de la página. La visualización de las modificaciones en la chat podría requerir: - el guardado de la configuración - un **refresh de la página de tickets (F5)** --- ## Firma, encabezado y mensajes automáticos Es posible configurar una **firma personal** y un **encabezado automático**. Para la firma y el encabezado se elige cuándo insertarlos en los mensajes enviados desde Quoting24: * **Siempre** — van en cada mensaje * **Solo en el primer mensaje del ticket y con Enviar y cerrar** — se añaden solo al primer mensaje de ese ticket y cuando se envía con **Enviar y cerrar** (envía el mensaje y cierra el ticket) La firma se inserta **al final** del mensaje. El encabezado, similar a la firma, se inserta **antes** del mensaje. Firma También es posible configurar un **mensaje de toma en cargo**, enviado automáticamente al hacer clic en el botón de asignación de un ticket aún no asignado. --- ## Envío sin encabezado ni firma Incluso cuando el encabezado y la firma están configurados en **siempre** o **solo en el primer mensaje del ticket y con Enviar y cerrar**, es posible enviar un único mensaje **sin encabezado y sin firma**. Esta opción es útil cuando el mensaje debe ser más directo, por ejemplo para confirmaciones breves o respuestas operativas ya contextualizadas en la conversación. --- # Actividad URL: https://wiki.quoting24.com/es/content/activities/ Language: es Updated: 2026-11-04 # Actividad Esta sección es visible **solo para los [administradores](user.md)**, no para los **[miembros](user.md)** (usuarios). Haciendo clic en las **rayas de la parte superior derecha** en Quoting24 y accediendo a la sección **Configuración → Actividad**, es posible gestionar algunas **opciones fundamentales** de la experiencia de uso de la plataforma. Actividad --- ## Nombre de la actividad Es posible modificar el **nombre de la actividad** definiendo uno a voluntad. Cada **número de teléfono** conectado a Quoting24 tiene su propio **nombre de actividad**, que permite a los usuarios, durante el login, distinguir fácilmente **en qué “sala”** van a trabajar. --- ## Comentarios internos Desde esta sección es posible **activar o desactivar** los **comentarios internos** en las chats. Los comentarios internos permiten a los operadores: - comunicarse entre compañeros - insertar notas no visibles para el cliente --- ## Comunicaciones de servicio La sección **Comunicaciones de servicio** permite gestionar mensajes o avisos internos relacionados con la actividad. Estas comunicaciones sirven para informar a los operadores sobre indicaciones operativas, actualizaciones o notas importantes que deben tener presentes durante el trabajo diario en Quoting24. Comunicaciones de servicio --- ## Extracción de datos AI Quoting24 puede extraer automáticamente información útil de: - imágenes - mensajes de voz - texto de los mensajes La gestión completa del reconocimiento (modos de visualización de los recuadros, transcripción de vocales, lectura de imágenes y reconocimiento de texto) se encuentra en **Ajustes → Inteligencia artificial → Reconocimiento AI**. Todos los detalles sobre el funcionamiento de la **AI** están descritos en la guía dedicada: [AI](ai.md). Desde esta sección de actividad es igualmente posible **ocultar la extracción de datos por parte de la AI** en la interfaz operativa. La configuración es útil cuando se quiere mantener la interfaz más limpia o evitar mostrar a los operadores el detalle del procesamiento automático. --- # Usuarios URL: https://wiki.quoting24.com/es/content/user/ Language: es Updated: 2026-11-04 # Usuarios Esta sección es visible **solo para los administradores**, no para los **miembros** (usuarios). Desde la sección **Configuración → Usuarios** es posible visualizar y gestionar el listado de los **usuarios asociados al propio perfil de Quoting24**. Página de usuario --- ## Estado de los usuarios Cada usuario puede encontrarse en uno de los siguientes estados: 1. **Activo** El usuario ya ha realizado al menos un login en Quoting24. 2. **En espera** El usuario ha sido invitado a Quoting24, pero **aún no ha realizado el primer acceso**. 3. **Inactivo** El usuario durante 5 minutos **no ha entrado en Quoting24**. 4. **Offline** El usuario durante más de 15 minutos **no ha entrado en Quoting24**. También es posible visualizar el estado: - **Online** - **Offline** El estado del usuario es usado por la plataforma para determinar la viabilidad de la [“autoasignación”](assegnazioni.md). Si los usuarios que son potencialmente objetivo de **"autoasignación"** están todos offline, la autoasignación no se producirá (y permanecerá **no asignado** y, por tanto, visible para todos los que tienen derecho). --- ## Roles de los usuarios Los usuarios pueden tener uno de los siguientes roles: - **Administrador** Tiene acceso a **todas las funcionalidades y secciones** de la aplicación. - **Miembro** Tiene acceso limitado. Algunas secciones, como **Usuarios**, **WhatsApp** y **Actividad**, **no son visibles**. --- ## Gestión avanzada de usuarios (administradores) Un usuario con rol **administrador** puede hacer clic en el **icono con forma de engranaje** presente a la derecha de cada usuario para modificar algunas configuraciones. En particular es posible: - **Cambiar el rol** del usuario (administrador / miembro) - Gestionar la **visibilidad de las solicitudes** De forma predeterminada, un *miembro* solo puede ver las solicitudes asignadas a él, pero es posible habilitar: - visualización de las solicitudes no asignadas - visualización de las solicitudes asignadas a otros usuarios - Configurar los **módulos habilitados** Es posible seleccionar de forma granular qué módulos cada miembro puede: - visualizar - modificar Por ejemplo, para el módulo **“búsqueda de coches y piezas”**: - un miembro solo puede visualizar los códigos seleccionados por otros operadores - o puede entrar en los despieces y realizar búsquedas y modificaciones como un administrador Privilegios de usuario --- ## Adición de nuevos usuarios Un administrador puede **invitar o añadir nuevos usuarios** a Quoting24 haciendo clic en el botón rojo **“Añadir”**. Se abrirá el listado de usuarios disponibles; para invitar a un usuario basta con hacer clic en la **flecha roja** junto al nombre deseado. Añadir usuario Durante la creación o la invitación de un nuevo usuario es posible preconfigurar su **apodo**. El apodo es el nombre interno utilizado en Quoting24 para: - visualizar al usuario en las asignaciones - etiquetarlo en las notas internas - reconocerlo más rápidamente en la colaboración entre operadores --- ## Cambio de contraseña y gestión de cuenta Haciendo clic en **“Cambiar contraseña”** arriba a la derecha, se redirige a la sección [**Cuenta → Gestión de usuarios**](https://app.qricambi.com/youraccount/UsersManager) de Qricambi (Account Admin): Si el propio usuario es **administrador de Qricambi**, desde esta sección es posible: - modificar **username** - modificar **password** - modificar rápidamente el **apodo** y la **firma** del usuario seleccionado, mediante el **icono de lápiz** Las credenciales de acceso son las **mismas** para **Qricambi** y **Quoting24**. --- # Notificaciones URL: https://wiki.quoting24.com/es/content/notifications/ Language: es Updated: 2026-11-04 # Notificaciones Quoting24 permite a cada usuario configurar sus propias **notificaciones personales**, para mantenerse actualizado sobre las solicitudes que debe gestionar incluso cuando trabaja en varios números de teléfono. Las notificaciones ayudan al operador a seguir: - nuevas solicitudes - mensajes recibidos - tickets asignados o desasignados - notas internas y etiquetas de compañeros - reacciones a los mensajes --- ## Dónde se configuran las notificaciones Las notificaciones se configuran desde **Configuración → Notificaciones**. Desde esta sección es posible: - elegir el **sonido** de la notificación (con vista previa) - configurar el **nivel de las notificaciones de mensajes** para la actividad actual - activar las **notificaciones de escritorio** Impostazioni Notifiche --- ## Notificaciones unificadas Las notificaciones de Quoting24 son **unificadas**: si un usuario trabaja en varios números de teléfono conectados, recibe las notificaciones de todos los números para los que está habilitado, independientemente del número abierto en ese momento. Esto permite evitar tener abierta una pestaña del navegador para cada actividad solo para controlar las notificaciones. Las notificaciones se muestran en la **campanilla** de Quoting24 y siguen la configuración personal del usuario. --- ## Notificaciones de escritorio Para recibir avisos también fuera de la ventana de Quoting24, es posible activar las **notificaciones de escritorio**. Para habilitarlas: 1. entra en **Configuración → Notificaciones** 2. haz clic en **Activar notificaciones de escritorio** 3. confirma la autorización solicitada por el navegador Una vez activadas, el navegador puede mostrar una notificación incluso cuando Quoting24 no es la pestaña activa. --- ## Sonido de las notificaciones En la configuración es posible elegir el **sonido** de la notificación, con vista previa al escuchar. Las opciones disponibles incluyen sonidos como Default, Chime, Pop, Pulse, Ring, Bloom y Runaway, además de la opción **Ninguno**. Con **Ninguno**, las notificaciones visuales siguen activas según las reglas configuradas, pero el aviso sonoro se silencia por completo. Las menciones, las asignaciones y el sonido siguen siendo **ajustes del usuario**. Scelta suono notifica --- ## Niveles de notificación por actividad El nivel de las **notificaciones de mensajes** ya no es global para el usuario: se puede configurar **por cada actividad**. Si trabajas en varios tenants, cada actividad tiene su propia preferencia; la que estás modificando es la del **workspace actual**. Los niveles disponibles permiten recibir notificaciones: - ninguna - solo las mías - mías y nuevas - todas La elección depende del rol del operador y del flujo de trabajo de la empresa. Livello notifiche messaggi per attività --- ## Notificaciones para nuevas solicitudes y mensajes Cuando llega una nueva solicitud de un cliente, Quoting24 puede avisar a los operadores según la configuración elegida para la actividad. Esto es útil sobre todo cuando: - varios operadores trabajan sobre el mismo número - las solicitudes deben tomarse en cargo rápidamente - la empresa quiere evitar que un nuevo ticket quede sin gestionar Las notificaciones también pueden generarse a partir de los mensajes recibidos en tickets ya abiertos, según el nivel seleccionado para la actividad. --- ## Notificaciones para tickets asignados o desasignados Cuando un ticket abierto se **asigna** a un operador, la notificación permite saber rápidamente que una solicitud debe trabajarse. La notificación también se genera cuando un ticket abierto se **desasigna**, para que el operador sepa que la solicitud ya no está bajo su responsabilidad. La asignación puede producirse: - manualmente - mediante reglas automáticas - según la configuración de las asignaciones Para más detalles consulta la página [Asignaciones](assegnazioni.md). --- ## Notificaciones para notas internas y etiquetas Dentro de las conversaciones es posible crear **notas internas** visibles solo para los compañeros. Cuando un compañero es etiquetado con `@apodo`, recibe una notificación específica. También es posible usar `@todos` para llamar la atención de todos los operadores habilitados. Las notificaciones generadas por una etiqueta en una nota interna se resaltan en **naranja**, para distinguirlas de las notificaciones normales de mensaje. Junto a las marcas de visualización se muestra el icono de la nota interna, para indicar que ese contenido no se ha enviado al cliente. --- ## Notificaciones para reacciones Las reacciones a los mensajes generan notificaciones en Quoting24. Las notificaciones de las reacciones se muestran: - en la **campanilla** - en las **notificaciones de escritorio**, si están habilitadas - en la vista previa de los mensajes en la columna de la izquierda Cuando se abre el mensaje también es posible visualizar **quién ha puesto la reacción**. --- ## Consejos operativos Para un uso correcto de las notificaciones: - elige un nivel coherente con tu rol para cada actividad - activa notificaciones más amplias si debes supervisar nuevas solicitudes - usa notificaciones más restringidas si trabajas solo en los tickets asignados - usa **Ninguno** como sonido si prefieres solo los avisos visuales - habilita las notificaciones de escritorio si no mantienes siempre Quoting24 en primer plano - usa las etiquetas en las notas internas para llamar a compañeros específicos - verifica periódicamente la configuración si cambias de rol, actividad o número de teléfono --- # Quoting24 Help Center URL: https://wiki.quoting24.com/de/ Language: de Updated: 2026-11-04 # Quoting24 Help Center Willkommen im **Help Center von Quoting24**. Diese Dokumentation führt dich Schritt für Schritt durch die Nutzung von Quoting24, erklärt **was die Plattform leistet**, **für wen sie gedacht ist** und **wie du sie optimal nutzt** im Arbeitsalltag. --- ## Was ist Quoting24 **Quoting24** ist eine Plattform, die entwickelt wurde, um **Angebotsanfragen, die über WhatsApp eingehen, zu verwalten, zu organisieren und zu automatisieren**, indem Kundengespräche in einen strukturierten und effizienten Workflow umgewandelt werden. Quoting24 ist besonders nützlich, wenn: - mehrere Mitarbeiter mit derselben Nummer arbeiten und das Anfragevolumen hoch ist - die Erstellungszeit von Angeboten durch eine Reihe von Automatismen reduziert werden soll, die für den Verkauf von Automotive-Ersatzteilen entwickelt wurden. Im Unterschied zum herkömmlichen WhatsApp kann Quoting24: - Unterhaltungen in **Tickets** aufteilen - die Arbeit im **Team** ohne Einschränkungen bei verbundenen Nummern und Mitarbeitern ermöglichen - sich direkt mit **Qricambi** und deinem **ERP** verbinden Quoting24 dient dazu: - **viele Anfragen gleichzeitig** zu verwalten, ohne Nachrichten zu verlieren - Suchen nach **Kennzeichen, Fahrgestellnummern und Ersatzteilen** zu automatisieren - die Zusammenarbeit zwischen Kollegen mit internen Notizen, Reaktionen und einheitlichen Benachrichtigungen zu erleichtern - einen durchgängigen Ablauf zwischen **Anfrage → Suche → Angebot → Antwort** zu schaffen --- ## Dokumentationsindex ### 🚀 Erste Schritte mit Quoting 24 - [Anmeldung bei Quoting 24](content/login.md) So meldest du dich an und greifst auf die Plattform zu. - [Allgemeiner Überblick](content/general_overview.md) Überblick über die Oberfläche und den Workflow. --- ### 🧾 Anfrageverwaltung - [Hauptbildschirm](content/main_screen.md) Hauptansicht mit Tickets, Chat und Ersatzteilsuche. - [Ticketverwaltung](content/gestione_ticket.md) Ein beschreibbares Ticket pro Unterhaltung, Antworten, Wiedereröffnung und geplante Nachrichten. - [Anfrageliste](content/requested_list.md) Verlauf, Suche und Filter der eingegangenen Anfragen. - [Etiketten](content/type_of_request.md) Ticket-Etiketten, automatische Kategorisierung und Dringlichkeit. - [Gespeicherte Antworten](content/save_response.md) Vordefinierte Nachrichten, um schneller zu antworten. - [Zuweisungen](content/assegnazioni.md) Automatische Zuweisung und intelligente Verwaltung von Tickets. - [Lieferschichten](content/delivery_shifts.md) Verwaltung und Zuweisung von Schichten an Unternehmen. - [Täglicher Aktivitätsbericht](content/daily_activity_report.md) E-Mail-Bericht mit Ticket-KPI, Mitarbeitern und Tagesverlauf. - [Quoting News](content/quoting_news.md) Schreibgeschützter Kanal für Produktmitteilungen von Quoting. --- ### 💬 WhatsApp-Kanal - [WhatsApp-Überblick](content/whatsapp.md) Verbindung der WhatsApp-Nummer über die offiziellen APIs. - [WhatsApp-API-Migration](content/migrazione_whatsapp_api.md) Eine Nummer, die bereits über die APIs eines anderen Anbieters läuft, mit Quoting24 verbinden, ohne sie zu wechseln. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) WhatsApp Business App und offizielle APIs gleichzeitig auf derselben Nummer nutzen. - [Broadcast API](content/broadcast_api.md) Meta-Template-Kampagnen an viele Nummern, Empfänger aus einer Excel-Datei. --- ### 🌐 Widget-Kanal - [Widget-Übersicht](content/widget.md) — Chat auf der Website: Gast, Unternehmenszuordnung und Verlaufswiederherstellung. - [Widget B2C](content/widget_b2c.md) — Skript, unbekannter Besucher und Payload mit `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — Verlauf über Geräte mit `external_user_id` und `restore_id`. - [Technische Integration](content/widget_tecnico.md) — Vertrag von `init()`, Unternehmensanlage, CSP und Problemlösung. --- ### 👥 Kontakte und Unternehmen - [Kontakte](content/contacts.md) Verwaltung der Kontakte des WhatsApp-Kanals. - [Unternehmen](content/companies.md) Erstellung und Verwaltung von Kundenunternehmen. --- ### Künstliche Intelligenz - [AI-Übersicht](content/ai.md) - [Erkennung](content/ai_riconoscimento.md) - [Fotos, PDFs und Sprachnachrichten](content/ai_media.md) - [KI-Rahmen und Korrektur](content/ai_riquadro.md) - [Automatisierungen](content/automations.md) --- ### 🔌 Integrationen - [Qricambi-Lieferantensuche](content/qricambi_integration.md) Verbindung mit Qricambi und Lieferantenverwaltung. - [Suche mit Erweiterung](content/search_with_extension.md) Nicht gefundene Fahrgestellnummern auf Partslink oder Eper mit Qricambi Assistant suchen. - [Qricambi-Credits](content/credits.md) Nutzung und Verwaltung der mit Qricambi geteilten Credits. - [Angebot an das ERP senden](content/invia_preventivo_gestionale.md) Sende die Angebotsdaten an dein ERP. - [Über unsere APIs auf Whatsapp schreiben](content/invia_whatsapp_api.md) Sende Nachrichten über die offiziellen WhatsApp-APIs. - [Suche nach einem Code im eigenen ERP](content/management_research.md) Suche im ERP nach Preisen und Verfügbarkeiten für den Kunden. --- ### 👤 Kontoeinstellungen - [Benutzerprofil](content/profilo.md) Personalisierung des Profils und automatische Nachrichten. - [Aktivität](content/activities.md) Einstellungen der Aktivität und allgemeines Verhalten. - [Benutzer und Berechtigungen](content/user.md) Verwaltung von Benutzern, Rollen und Berechtigungen. - [Benachrichtigungen](content/notifications.md) Konfiguration persönlicher, einheitlicher und Desktop-Benachrichtigungen. --- --- ## Wo anfangen Wenn du Quoting24 zum ersten Mal nutzt, empfehlen wir dir diesen Ablauf: 1. [Anmeldung bei Quoting 24](content/login.md) 2. [Allgemeiner Überblick](content/general_overview.md) 3. [Hauptbildschirm](content/main_screen.md) 4. [WhatsApp-Überblick](content/whatsapp.md) 5. [Aktivität](content/activities.md) und [Automatisierungen](content/automations.md) So erhältst du einen vollständigen Überblick über die Funktionsweise, bevor du in die Details einsteigst. --- # Anmeldung bei Quoting24 URL: https://wiki.quoting24.com/de/content/login/ Language: de Updated: 2026-11-04 # Anmeldung bei Quoting24 Um auf **Quoting24** zuzugreifen, musst du registriert sein (mehr Informationen [hier](https://welcome.quoting24.com/registrazione)) und über Zugangsdaten verfügen, mit denen du dich über den folgenden Link anmelden kannst: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) Der **Benutzername** und das **Passwort** sind dieselben, die für den Zugriff auf [**Qricambi**](https://qricambi.com/) verwendet werden. Login-Bildschirm --- ## Passwortverwaltung Derzeit musst du zum Ändern oder Wiederherstellen des Passworts Qricambi über eine der folgenden Optionen verwenden: - Seite zur [Passwortwiederherstellung](https://app.qricambi.com/Authentication/RequestRecover?user=) - Bereich [Benutzerverwaltung](https://app.qricambi.com/youraccount/UsersManager) --- ## Erste Anmeldung und Auswahl der Aktivität Bei der ersten Anmeldung auf der Plattform wurde der Benutzer **bereits von Kollegen mit Administratorrolle erstellt und konfiguriert**. Nach der Anmeldung hängt das Verhalten von den **Telefonnummern/Aktivitäten** ab, die dem Benutzer zugeordnet sind. ### Benutzer mit mehreren Telefonnummern Wenn der Benutzer **mehreren Telefonnummern** zugeordnet ist, wird er aufgefordert auszuwählen, **in welche Aktivität er eintreten möchte**. Bildschirm zur Auswahl der Aktivität ### Benutzer mit nur einer Telefonnummer Wenn der Benutzer **nur einer Telefonnummer** zugeordnet ist, erfolgt der Zugriff automatisch, ohne Auswahl. --- ## Nach der Anmeldung Nach dem Zugriff wird der [**Hauptbildschirm von Quoting24**](main_screen.md) angezeigt, von dem aus du mit der Bearbeitung der Anfragen beginnen kannst. --- # Allgemeiner Überblick URL: https://wiki.quoting24.com/de/content/general_overview/ Language: de Updated: 2026-11-04 # Allgemeiner Überblick Quoting24 ist eine Plattform, die entwickelt wurde, um **Angebotsanfragen, die über WhatsApp eingehen, zentral und intelligent zu verwalten** und dabei Automatisierung, Ersatzteilsuche und Zusammenarbeit zwischen Mitarbeitern zu integrieren. Dieser Überblick hilft dir zu verstehen: - wie die Oberfläche organisiert ist - wie der Workflow funktioniert - welche Hauptfunktionen verfügbar sind --- ## Der Hauptbildschirm Nach der Anmeldung wird der Benutzer zum **[Hauptbildschirm](main_screen.md)** von Quoting24 weitergeleitet. Hauptbildschirm von Quoting24 Der Bildschirm ist in **drei Hauptbereiche** aufgeteilt, die zusammenarbeiten, um eine WhatsApp-Unterhaltung in ein strukturiertes Angebot umzuwandeln. --- ## 1. Verwaltung der Anfragen (Chats und Tickets) Ticketliste Jede Anfrage eines Kunden wird als **Ticket** verwaltet. Im Unterschied zum herkömmlichen WhatsApp: - erzeugt jede neue Angebotsanfrage ein eigenes Ticket - können Tickets **zugewiesen**, **pausiert**, als **zu lesen** markiert, **geschlossen** oder **wieder aufgenommen** werden - wird die Arbeit geordnet auf mehrere Mitarbeiter verteilt In diesem Bereich kannst du: - Tickets sortieren und filtern (Zuständiger außerhalb, andere Filter im Trichter) - neue Anfragen von der Startseite oder aus **Kontakte** öffnen - den Arbeitsstatus des Teams überwachen Pro Unterhaltung gibt es **nur ein beschreibbares Ticket**: ein geschlossenes Ticket wird nicht manuell wieder geöffnet. Details unter **[Ticketverwaltung](gestione_ticket.md)**. 👉 Mehr dazu: - **[Ticketverwaltung](gestione_ticket.md)** - **[Anfrageliste](requested_list.md)** - **[Automatische Zuweisungen](assegnazioni.md)** - **[Etiketten](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Unterhaltung mit dem Kunden Quoting24-Chat Dies ist der Bereich für die **direkte Kommunikation mit dem Kunden**. Von hier aus kannst du: - Nachrichten senden und empfangen - Fotos, Videos und Dokumente anhängen - **interne Notizen** einfügen, die nur für Kollegen sichtbar sind - **gespeicherte Antworten** verwenden, um die Kommunikation zu beschleunigen Quoting24 analysiert Nachrichten automatisch: - es transkribiert Sprachnachrichten - es erkennt Kennzeichen, Fahrgestellnummern und Ersatzteilverweise - es bereitet die für die Angebotserstellung erforderlichen Daten vor 👉 Mehr dazu: - **[Gespeicherte Antworten](save_response.md)** - **[Benachrichtigungen](notifications.md)** --- ## 3. Fahrzeug- und Ersatzteilsuche Kennzeichen- und Fahrgestellnummernsuche Der rechte Bereich ist der **technischen Suche** gewidmet. Hier werden automatisch angezeigt: - Kennzeichen - Fahrgestellnummern - Fahrzeuginformationen - in der Unterhaltung erkannte Komponenten Über die **Explosionszeichnungen** kannst du: - den richtigen Ersatzteilcode ermitteln - ihn auf Qricambi suchen - die Angebotserstellung schnell starten Fahrzeug-Explosionszeichnungen 👉 Mehr dazu: - **[Integration mit Qricambi](qricambi_integration.md)** - **[Automatisierungen](automations.md)** --- ## Automatisierungen und intelligente Zuweisungen Quoting24 enthält erweiterte Funktionen, um **manuelle Arbeit zu reduzieren**: - **Automatisierungen** Automatische Suche nach Kennzeichen, Fahrgestellnummern und Ersatzteilen 👉 **[Zu den Automatisierungen](automations.md)** - **Automatische Ticketzuweisung** Intelligente Zuweisung basierend auf: - [Etikett](type_of_request.md) - [Unternehmen](companies.md) - [Kontakt](contacts.md) 👉 **[Zu den automatischen Zuweisungen](assegnazioni.md)** Dadurch kannst du: - Antwortzeiten verkürzen - Fehler bei der Verteilung vermeiden - auch mit vielen Mitarbeitern strukturiert arbeiten --- ## Zusammenarbeit zwischen Mitarbeitern Quoting24 ist für Teamarbeit konzipiert. Verfügbar sind: - Rollen (**Administratoren** und **Mitglieder**) - Ticketzuweisungen - interne Notizen - anpassbare Benachrichtigungen - einheitliche Benachrichtigungen auch über mehrere Telefonnummern hinweg - Lieferschichten, die Unternehmen zugeordnet werden können 👉 Mehr dazu: - **[Benutzer und Berechtigungen](user.md)** - **[Benutzerprofil](profilo.md)** - **[Lieferschichten](delivery_shifts.md)** --- ## Integration mit Qricambi Quoting24 ist tief in **Qricambi** integriert. Dadurch kannst du: - dieselben **Credits** verwenden - Ersatzteile bei internen und externen Lieferanten suchen - Angebote auf Qricambi erstellen - sie direkt aus dem Chat an den Kunden senden 👉 Mehr erfahren: - **[Credits](credits.md)** - **[Qricambi-Integration](qricambi_integration.md)** - **[Angebot an das ERP senden](invia_preventivo_gestionale.md)** - **[Über unsere APIs auf Whatsapp schreiben](invia_whatsapp_api.md)** Der Workflow wird dadurch durchgängig: **Anfrage → Suche → Angebot → Antwort an den Kunden** --- ## Wo anfangen Die Wiki von Quoting24 ist auch über die Anwendung erreichbar, in den **Einstellungen** unten links. Wiki-Link in den Einstellungen Wenn du neu bei Quoting24 bist, empfehlen wir dir diesen Ablauf: 1. **[Anmeldung bei Quoting24](login.md)** 2. **[Hauptbildschirm](main_screen.md)** 3. **[Anfrageliste](requested_list.md)** 4. **[WhatsApp-Überblick](whatsapp.md)** 5. **[Aktivität](activities.md)** und **[Automatisierungen](automations.md)** So erhältst du einen vollständigen Überblick über die Funktionsweise der Plattform, bevor du in die Details einsteigst. --- # Hauptbildschirm URL: https://wiki.quoting24.com/de/content/main_screen/ Language: de Updated: 2026-11-04 # Hauptbildschirm Der Hauptbildschirm von **Quoting24** ist in **drei Hauptbereiche** unterteilt, die im Folgenden von links nach rechts dargestellt werden. Hauptbildschirm - - - ## 1. Chat-/Ticketliste (linker Bereich) Linker Bereich In diesem Bereich befindet sich die Liste der **Chats / Tickets**. Im Unterschied zu WhatsApp, wo Unterhaltungen einheitliche und fortlaufende Verläufe sind, wird die Unterhaltung in **Quoting24** in **Tickets** aufgeteilt: Jede Angebotsanfrage ist als **separates Ticket** zu betrachten. Für jeden Kontakt gibt es **nur ein Ticket, in das geschrieben werden kann**. Ein geschlossenes Ticket wird nicht manuell wieder geöffnet: siehe den Ablauf unter [Ticketverwaltung](gestione_ticket.md). Im selben Sidebar-Bereich findest du auch **[Quoting News](quoting_news.md)**: den schreibgeschützten Kanal für Produktmitteilungen von Quoting. Wenn die Arbeit an einem Angebot abgeschlossen ist, wird empfohlen, **das Ticket zu schließen**. Tickets schließen ### Ticketstatus Ein Ticket kann sich je nach Punkt im Workflow in unterschiedlichen Status befinden: * **Offen**: Die Anfrage muss noch bearbeitet werden oder ist in Bearbeitung. * **Zu lesen**: Das Ticket muss vom Team wieder aufgenommen werden. Wenn ein Ticket als *Zu lesen* markiert wird, werden die Zuweisungen entfernt und die Anfrage steht den berechtigten Mitarbeitern wieder zur Verfügung. * **Pausiert**: Die Anfrage ist nicht geschlossen, wartet aber auf eine Antwort oder Information des Kunden. * **Geschlossen**: Die Anfrage ist abgeschlossen und soll nicht mehr unter den zu bearbeitenden Tickets erscheinen. Der Status **Pausiert** ist nützlich, wenn die Anfrage nicht endgültig geschlossen werden soll. Wenn der Kunde in ein pausiertes Ticket erneut schreibt, wird das Ticket automatisch wieder **offen**, bleibt dem ursprünglichen Mitarbeiter zugewiesen und zeigt standardmäßig auch die vorherigen Nachrichten an. Pausenstatus des Tickets ### Sortieren nach Oberhalb der Liste bietet **Sortieren nach**: * **Neueste Nachricht** (Standard) — neueste Nachricht im Chat, von jedem Absender * **Zuletzt empfangen** — neueste Nachricht **vom Kunden** * **Priorität absteigend** — effektive Kontaktpriorität (persönlich oder vom Unternehmen geerbt) * **Nächste Schichten** — nächste Lieferschicht * **Älteste Nachricht** ### Ticketfilter Die Filter für **Zuweisung / Status** bleiben immer sichtbar (z. B. nicht zugewiesen, mir zugewiesen, anderen zugewiesen, zu lesen, pausiert, geschlossen). Der Filter **Zuständiger** bleibt **außerhalb**, in der Hauptzeile. Alle anderen Filter sind im **Trichter**-Button gruppiert (wie auf dem Mobilgerät). Wenn ein Trichterfilter aktiv ist, erscheint er auch **außerhalb** als entfernbarer Chip. Im Trichter findest du: * **Etiketten** — Ticket-Etiketten * **Benutzer** — zugewiesene Mitarbeiter * **Unternehmenstyp** — Kontakt- / Unternehmenstyp (Kunde, Lieferant, Mitarbeiter, …) * **Ticketzeitraum** — Kurzauswahl **Letzte 7 Tage** oder **Letzte 30 Tage** * manueller Datumsbereich **Von** / **Bis** Ein zugewiesenes Ticket zeigt links neben der Nachrichtenvorschau ein **Symbol mit den Initialen des Mitarbeiters**. Die Ticketzuweisung ermöglicht eine bessere **Arbeitsaufteilung** und eine **Optimierung des operativen Ablaufs** unter Kollegen. ### Vorschau und Indikatoren in der Liste Wenn du mit der Maus über einen Chat im linken Bereich fährst, kannst du eine **Vorschau der Unterhaltung** anzeigen, ohne das Ticket sofort öffnen zu müssen. In der Ticketliste zeigt rechts neben dem **Kontaktnamen** ein **einzelnes Tag**: * das **Prioritätssymbol** des Kontakts (persönlich oder vom Unternehmen geerbt): * Dreieck nach oben → Priorität **hoch** * Punkt / Strich → Priorität **mittel** * Dreieck nach unten → Priorität **niedrig** * direkt danach den **Firmencode** (ohne das früher verwendete `#`) * die **Tag-Farbe** spiegelt den Typ des verknüpften Unternehmens oder, falls vorhanden, den persönlichen Typ des Kontakts wider Beim Hover über das Tag erscheint eine kurze Zusammenfassung (Unternehmen, Priorität, Typ). In der Vorschau bleiben außerdem nützliche Indikatoren sichtbar wie: * die vom Kunden oder von Mitarbeitern hinzugefügten **Reaktionen** * das Symbol des zugewiesenen Mitarbeiters * Ticketstatus und eventuelle [Etiketten](type_of_request.md) der Anfrage * die nächste Lieferschicht, sofern verfügbar Chatvorschau im linken Bereich ### Suche in der Ticketliste Im linken Bereich steht ein **Suchfeld** zur Verfügung, das in Abschnitte unterteilt ist, jeweils mit Ergebnisanzahl: * **Alle** * **Unterhaltungen** * **Nachrichten** * **Ersatzteile** Die Abschnitts-Chips werden bei wenig Platz komprimiert. Kontakte können auch über **Firmenname** und **Firmencode** gefunden werden. Bei einem Treffer über das Unternehmen erscheint ein Label mit Name oder Code. ### Schnellerstellung eines Tickets Der Mitarbeiter kann einem seiner Kontakte schreiben, indem er auf die Schaltfläche **‘+’** in der Ticketliste klickt (Aktion *„Neue Anfrage öffnen“*). Dieselbe Aktion ist auch unter **[Kontakte](contacts.md#neue-anfrage-öffnen)** verfügbar (Liste und Kontaktdetail). Ticket öffnen Durch Klicken auf die **drei Punkte** oben rechts ist es möglich: * **alle Tickets** zu schließen * oder **alle Tickets bis gestern** zu schließen Drei Punkte ### Details für einen einzelnen Chat Einzelner Benutzerchat Hier erklären wir im Detail die Komponenten, die in einzelnen Chats vorhanden sind: * Die Icons neben dem Status sind die [Etiketten](type_of_request.md) der Anfrage * Neben dem Kontaktnamen zeigt das **einzelne Tag** Priorität und [Firmencode](companies.md) (ohne `#`), eingefärbt nach Kontakt-/Unternehmenstyp * Der Wert im hellblauen Oval, in diesem Fall 'Morgen 08:00', entspricht dem ersten verfügbaren Cutoff / Schicht - - - ## 2. Chat und Verwaltung der Unterhaltung Chat Dieser Bereich ermöglicht es: * Nachrichten zu senden * **Fotos, Videos und andere Dateien** anzuhängen * die Unterhaltung mit dem Kunden zu verwalten * den Verlauf der Tickets zu prüfen, die mit demselben Chat verbunden sind ### Automatische Datenerkennung Die für die Erstellung eines Angebots nützlichen Elemente (z. B. **Kennzeichen**, **Fahrgestellnummer**, Beschreibung des Fahrzeugs oder des angefragten Ersatzteils) werden aus der Unterhaltung mit dem Kunden **automatisch erkannt**, **getaggt** und im rechten Bereich angezeigt (siehe Punkt **3**). ### Öffnen, Pausieren und Kontinuität von Tickets Schreiben und Wiedereröffnen sind ausführlich unter **[Ticketverwaltung](gestione_ticket.md)** beschrieben. Kurz gesagt: * wenn das aktuelle Ticket **offen** ist, bleibt die Nachricht bei der laufenden Anfrage * wenn es **pausiert** ist, wird es automatisch wieder **offen** und bleibt dem ursprünglichen Mitarbeiter zugewiesen * wenn es **geschlossen** ist: * bei einem **bereits offenen** Ticket zum selben Kontakt → die Antwort geht an das offene Ticket (das geschlossene bleibt verknüpft) * wenn das geschlossene Ticket **nicht das neueste** ist → die Antwort öffnet eine **neue Anfrage** (das geschlossene bleibt verknüpft) * wenn das geschlossene Ticket **das neueste** ist → das Ticket wird **wieder geöffnet** Ein geschlossenes Ticket **kann nicht manuell durch Statusänderung wieder geöffnet werden**. Bei geschlossenen Tickets stehen **Zum offenen Ticket**, **Zum zuletzt geschlossenen Ticket** und **Neue Anfrage öffnen** zur Verfügung. Wenn sinnvoll, kannst du weiterhin: * die gesamte Unterhaltung anzeigen * verknüpfte Tickets **zusammenführen**, um bereits geleistete Arbeit wiederherzustellen Geplante Nachrichten werden **zum Sendezeitpunkt** geroutet. Wenn du ein Ticket schließt, das noch geplante Nachrichten hat, fragt Quoting24 nach einer Bestätigung. ### Darstellung der Tickets im Chat Der Hauptchat zeigt Tickets im selben Format wie der gesamte Chat: Es gibt Linien und **Banner**, die angeben, wo jedes Ticket **beginnt** und wo es **endet**. In den Trenn-Bannern zwischen Tickets (auch bei **Vorherige anzeigen**) werden angezeigt: * **Datum** und **Uhrzeit** der Ticketschließung * **wer** das Ticket geschlossen hat Banner ticket con data/ora e utente di chiusura Wenn mehrere Tickets mit derselben Unterhaltung verbunden sind, stehen spezielle Aktionen zur Verfügung: * **Zusammenführen**: verbindet das aktuelle Ticket mit einem vorherigen und stellt den bereits bearbeiteten Kontext wieder her. * **Anfrage trennen**: trennt eine verknüpfte Anfrage, um sie als unabhängiges Ticket zu verwalten. Die Aktion wird durch das Symbol mit dem **durchgestrichenen Auge** angezeigt. * **Gesamte Unterhaltung öffnen**: Wenn zwischen zwei verknüpften Tickets weitere Tickets oder Zwischennachrichten liegen, erscheint eine Schaltfläche, um die gesamte Unterhaltung an dieser Stelle zu öffnen und sie alle anzuzeigen. Linien für Ticketanfang und -ende mit Zusammenführen und Gemeinsam anzeigen ### Banner „N ungelesene Nachrichten“ Beim Öffnen eines Tickets mit ungelesenen Kundennachrichten erscheint im Chat ein Indikator zwischen bereits gelesenen und noch zu lesenden Nachrichten, zum Beispiel **„1 ungelesene Nachricht“** oder **„N ungelesene Nachrichten“**. Die Zählung aktualisiert sich, wenn während der Anzeige des Banners weitere Kundennachrichten eingehen. **Interne Notizen** und **gesendete** Nachrichten werden nicht mitgezählt. Banner messaggi da leggere ### Automatische Transkription von Sprachnachrichten und Bildern Quoting24 transkribiert automatisch: * die von Kunden empfangenen **Sprachnachrichten** * den Inhalt von **Bildern**, zum Beispiel: * ein Foto eines **Kennzeichens**, das automatisch erkannt und transkribiert wird Aus dem transkribierten Text werden alle nützlichen Informationen extrahiert (Kennzeichen, Fahrgestellnummern, Angebotskomponenten). Wenn die automatische Datenextraktion durch die KI in den Einstellungen der Aktivität ausgeblendet wurde, können die technischen Informationen weiterhin im rechten Bereich verfügbar sein, werden aber nicht als operatives Detail in der Unterhaltung angezeigt. ### Anhänge Durch Klicken auf das **Büroklammer**-Symbol kannst du Folgendes anhängen: * Fotos * Videos * PDF * andere Dateien Anhänge können auch **direkt in den Chat gezogen** werden. ### PDF-Vorschau im Chat **PDF**-Dateien, die im Chat empfangen oder gesendet werden, zeigen die **Vorschau der ersten Seite** in der Nachricht (Miniatur oben, Name und Größe darunter). Ein Klick auf die Datei öffnet den Dokumenten-Viewer. Ist keine Vorschau verfügbar, bleibt die klassische Dateikarte. Anteprima PDF in chat ### Bildeditor vor dem Senden Wenn du einem Nachricht eine Bilddatei anhängst, über das Büroklammer-Symbol oder per Drag-and-drop in den Chat, zeigt Quoting24 vor dem Senden eine Vorschau des Anhangs an. Durch Klicken auf das Bild in der Vorschau öffnet sich der **Bildeditor im Vollbildmodus**, mit dem das Bild vor dem Versand an den Kunden bearbeitet werden kann. Der Editor ist nur für Bilder verfügbar, die sich noch in der Sendewarteschlange befinden. Er gilt nicht für Videos, allgemeine Dateien oder bereits gesendete Nachrichten. Verfügbare Werkzeuge sind: * **Zuschneiden**: ermöglicht die Auswahl des Bildbereichs, der beibehalten werden soll, durch Ziehen des Rahmens * **Nach links / rechts drehen**: dreht das Bild in die gewählte Richtung * **Horizontal / vertikal spiegeln**: spiegelt das Bild entlang der ausgewählten Achse * **Stift und Farben**: ermöglicht das Zeichnen auf dem Bild * **Radierer**: entfernt gezeichnete Striche * **Unschärfe**: deckt einen Bereich mit einem verpixelten Rechteck ab, das sich verschieben und in der Größe ändern lässt. Ein weiterer Klick auf das Foto fügt ein weiteres hinzu * **Rückgängig**: macht den letzten Schritt rückgängig Wenn die Bearbeitung abgeschlossen ist: * mit **Fertig** wird der ursprüngliche Anhang durch das bearbeitete Bild ersetzt * mit **Abbrechen** bleibt das ursprüngliche Bild unverändert Nach der Bearbeitung kann die Nachricht wie gewohnt gesendet werden. Bildeditor vor dem Senden Mit der **Unschärfe** lassen sich sichtbare Angaben auf dem Foto verdecken, zum Beispiel ein Kennzeichen, bevor es an den Kunden gesendet wird. Jedes Rechteck kann verschoben und in der Größe geändert werden; ein weiterer Klick auf das Foto fügt ein weiteres Rechteck hinzu. Kennzeichen mit verpixelten Rechtecken verdeckt ### Sprachnachrichten, Audio und Medien Quoting24 unterstützt **Sprachnachrichten** und Audiodateien, die im Chat empfangen werden. Sprachnachrichten können angehört, automatisch transkribiert und, sofern verfügbar, als Audiodatei heruntergeladen werden. Während der Verarbeitung erscheint der Status **„Transkription läuft…“**. Es steht auch die Schaltfläche **Wiederholen** zur Verfügung, um die Transkription bei Bedarf erneut zu starten. Fotos und Videos, die in der Unterhaltung gesendet werden, können im **Medienkarussell** geöffnet werden. Damit kannst du schnell zwischen den im Chat empfangenen oder gesendeten Multimediainhalten wechseln. Medienkarussell und Audiodownload Trascrizione in corso e Riprova ### Sprachdiktat Unter dem Eingabefeld steht das Symbol **Diktat** zur Verfügung. Mit Mikrofonberechtigung wird die Stimme in Echtzeit in die Nachricht transkribiert. Dettatura vocale ### Anzeige "schreibt gerade" Wenn ein anderer Benutzer im aktiven Chat schreibt, zeigt Quoting24 die Anzeige **schreibt gerade** an. Das hilft den Mitarbeitern, überschneidende Antworten zu vermeiden, während ein Kollege bereits eine Nachricht vorbereitet. Anzeige schreibt gerade ### Senden ohne Kopfzeile oder Signatur Wenn in deinem [Profil](profilo.md) Kopfzeile oder Signatur konfiguriert wurden, fügt Quoting24 sie entsprechend der gewählten Option hinzu: **immer**, oder **nur bei der ersten Nachricht des Tickets und mit Senden und schließen**. Du kannst trotzdem eine einzelne Nachricht **ohne Kopfzeile und ohne Signatur** senden. Diese Option ist nützlich für schnelle Antworten, sehr kurze Nachrichten oder Mitteilungen, die den vom Mitarbeiter konfigurierten automatischen Text nicht enthalten sollen. Senden ohne Kopfzeile und Signatur ### Aktionen für Nachrichten Die für eine Nachricht verfügbaren Aktionen können auf zwei Arten geöffnet werden: * per **Rechtsklick** auf die Nachricht * durch Klicken auf den **Pfeil** rechts neben der Nachricht Über dieses Menü kannst du Vorgänge wie Antworten, Weiterleiten oder Löschen von Nachrichten ausführen. Wenn es die Auswahl vorsieht, sind auch **Mehrfachweiterleitung** und **Mehrfachlöschung** möglich. Nachrichtenaktionen mit Rechtsklick und Pfeil ### Reaktionen auf Nachrichten Mit Reaktionen können Kunden und Mitarbeiter auf Nachrichten der Unterhaltung reagieren. Quoting24 zeigt: * die auf die Nachricht angewendete Reaktion * wer die Reaktion hinzugefügt hat * die Reaktion in der Nachrichtenvorschau in der linken Spalte Empfangene Reaktionen erzeugen Benachrichtigungen in Quoting24, in der **Glocke** und, wenn aktiviert, auch als **Desktop-Benachrichtigungen**. Wenn ein Kunde eine Reaktion zu einer Nachricht hinzufügt, die zu einem bereits geschlossenen Ticket gehört, erstellt Quoting24 über **Antwort** einen Verweis auf die Nachricht, sodass die Reaktion im aktuell geöffneten Ticket sichtbar bleibt. ### Interne Notizen Im Chat kannst du eine **interne Notiz** für Kollegen einfügen: * durch Klicken auf das entsprechende Symbol * oder durch Eingabe von **@ + LEERTASTE** Wenn du eine interne Notiz schreibst: * wird der Hintergrund **gelb** * wird die Notiz **NICHT an den Kunden gesendet** * ist sie nur für Quoting24-Benutzer sichtbar Innerhalb der Notizen kannst du **einen Kollegen taggen** (durch Eingabe von `@soprannome`), und der Kollege erhält eine Benachrichtigung. Es ist auch möglich, **alle Kollegen** zu taggen, indem du `@tutti` eingibst. Wenn ein Benutzer in einer internen Notiz getaggt wird, wird die von Quoting24 erzeugte Benachrichtigung **orange** hervorgehoben. Neben den Lesebestätigungen der Nachricht wird außerdem das Symbol der internen Notiz angezeigt, damit Nachrichten, die nur für Mitarbeiter sichtbar sind, sofort unterschieden werden können. **Text**-Notizen können **innerhalb von 15 Minuten** bearbeitet werden, nur vom **Autor**. Beim Antworten auf eine interne Notiz: * bleibt die Antwort eine **interne Notiz** * wird der Autor der ursprünglichen Notiz dem Ticket **neu zugewiesen** Interne Notiz erstellen Interne Notiz senden Modifica nota interna ### Ticketinformationen Im Tab **Informationen** des Tickets (Symbol **i**) kannst du die mit der Anfrage verknüpften Daten schnell einsehen und bearbeiten. Der Bereich ist wie folgt organisiert: 1. **Oben — Kontakt** Notizen, Hinweise, Kontakt-Zuständige, Kontakt-**Priorität** und Kontakt-**Typ** (der Typ ist nur bearbeitbar, wenn der Kontakt kein Unternehmen hat). 2. **Unten — Unternehmen** (falls vorhanden) Name, Notizen, Standort, **Unternehmenspriorität** und **Unternehmenstyp**. Zur Kontaktpriorität: * wenn nicht gesetzt, wird sie **vom Unternehmen geerbt** (Hinweis *Vom Unternehmen geerbt*) * du kannst trotzdem eine persönliche Priorität setzen, auch wenn das Unternehmen bereits eine hat Zum Kontakttyp: * **ohne Unternehmen** → du kannst ihn am Kontakt setzen * **mit Unternehmen** → er wird geerbt und ist am Kontakt **nicht bearbeitbar**; ändere ihn am Unternehmen In der Auswahl der Zuständigen ist auch die Option **Keiner** verfügbar: damit werden **alle Zuständigen** vom Ticket entfernt. Details unter [Zuweisungen](assegnazioni.md#manuelle-zuweisung-und-zuweisung-an-alle). Wenn für den Kontakt **wichtige Hinweise** vorhanden sind, werden diese oberhalb des Chats angezeigt, um die Aufmerksamkeit des Mitarbeiters sofort darauf zu lenken. ### Chat-Export Aus dem Chat heraus kann die Unterhaltung **exportiert** werden. Beim Start des Exports kannst du wählen: * Export **ohne Medien** * Export **mit Medien** Wenn Medien enthalten sind, werden sie in einem **separaten Zip** zusammen mit der Chat-Datei gespeichert. ### Ticketverlauf Im rechten Seitenbereich des Tickets kann der Tab **Verlauf** geöffnet werden, der durch das **Uhrsymbol** gekennzeichnet ist. Dieser Tab zeigt eine **schreibgeschützte** Timeline der mit dem Ticket verbundenen Ereignisse. Er dient dazu, nachzuvollziehen, was mit der Anfrage passiert ist, wer die Aktion ausgeführt hat und wann. Der Verlauf kann Ereignisse enthalten wie: * Änderung des Ticketstatus * erste Anzeige des Tickets * Lesen ungelesener Nachrichten * Zuweisung oder Entfernung von Ticket-Zuständigen * Selbstzuweisung des Mitarbeiters, als automatische Übernahmeaktion angezeigt * Zuweisung der mit dem Ticket verbundenen Suchen * Statusänderung der Suchen, zum Beispiel offen, pausiert oder geschlossen Wenn sich das Ereignis auf eine Fahrzeugsuche bezieht, zeigt Quoting24 auch die verfügbaren Daten an, um sie leichter zu erkennen, zum Beispiel **Kennzeichen**, **VIN** oder **Fahrzeug**. Der Verlauf aktualisiert sich in Echtzeit und kann in diesem Tab nicht bearbeitet werden: Er ist ausschließlich für Einsicht und operative Nachverfolgbarkeit gedacht. Ticketverlauf - - - ## 3. Bereich für Fahrgestellnummern- und Codesuche Kennzeichen-Fahrgestellnummer-Umwandlung Der rechte Bereich kann durch Klicken auf das Symbol des aktiven Tabs **eingeklappt** werden. So bleibt mehr Platz für die Unterhaltung, wenn nicht mit technischen Daten gearbeitet werden muss. Einklappbarer rechter Tab In diesem Bereich werden angezeigt: * **Kennzeichen** * **Fahrgestellnummern** * **Beschreibungen der Ersatzteile** die direkt aus dem Chat mit dem Kunden erkannt wurden. Das *Kennzeichen* wird automatisch in eine *Fahrgestellnummer* umgewandelt, und Informationen zum Fahrzeug (z. B. **Marke**, **Modell** usw.) werden angezeigt. ### Unterzuweisungen **Unterzuweisungen** ermöglichen es, nicht das gesamte Ticket, sondern die **einzelne Fahrzeugsuche** innerhalb des Chats zuzuweisen. In einem Ticket können gleichzeitig **mehrere Suchen** bestehen (zum Beispiel zwei unterschiedliche Kennzeichen oder zwei Fahrzeuge desselben Kunden). Jede Suche hat: * einen eigenen **Status** (zum Beispiel *Offen*, *Pausiert*, *Geschlossen*) * einen oder mehrere **zugewiesene Mitarbeiter** So kann die Arbeit nach Fahrzeug aufgeteilt werden: ein Kollege bearbeitet ein Fahrzeug, ein anderer ein zweites, ohne die Unterhaltung in separate Tickets zu teilen. #### Unterschied zur Ticketzuweisung * **Ticketzuweisung**: betrifft den gesamten Chat / die Anfrage und zeigt, wer für die Unterhaltung verantwortlich ist. * **Unterzuweisung**: betrifft die einzelne Fahrzeugsuche und zeigt, wer an diesem konkreten Fahrzeug arbeitet. * **Wo verwaltet**: die Ticketzuweisung am Chat; die Unterzuweisung am Suchbereich, oben rechts. Ticketzuweisung und Unterzuweisungen können parallel bestehen: Das Ticket kann einem Mitarbeiter zugewiesen bleiben, während die internen Suchen an andere Kollegen verteilt werden. #### So weisen Sie eine Suche zu 1. Öffnen Sie die Fahrzeugsuche im rechten Bereich. 2. Klicken Sie oben rechts in der Fahrzeugzeile auf das **Personen**-Symbol (oder den Avatar des Zuständigen). 3. Suchen Sie den Mitarbeiter und wählen Sie ihn aus, oder wählen Sie **Alle**, um alle Kollegen einzubeziehen. In derselben Zeile können Sie auch den **Status** dieser einzelnen Suche ändern – unabhängig vom Ticketstatus. Unterzuweisungen der Fahrzeugsuchen Status und Zuweisung eines einzelnen Fahrzeugs Änderungen an Zuweisung und Status der Suchen werden auch im [Ticketverlauf](#ticketverlauf) erfasst, zusammen mit Kennzeichen, VIN oder Fahrzeug, sofern verfügbar. Zur automatischen und manuellen Zuweisung auf Ticketebene siehe die Seite [Zuweisungen](assegnazioni.md). ### Ersatzteilsuche über Explosionszeichnungen Ein Modell künstlicher Intelligenz schlägt auf Basis der Explosionszeichnungen einige Ersatzteiloptionen vor. Die Datenextraktion aus Bildern, Sprachnachrichten und Text kann in den Einstellungen der Aktivität ausgeblendet werden, wenn der Administrator den Mitarbeitern die Details der KI-Verarbeitung nicht anzeigen möchte. Der Mitarbeiter muss: * die Explosionszeichnungen öffnen * manuell den **richtigen Code** auswählen Öffnen der Explosionszeichnung Durch Klicken auf die Vorschau einer Explosionszeichnung öffnet sich die vollständige Navigationsseite der verfügbaren Explosionszeichnungen. Der Mitarbeiter: * sucht das gewünschte Teil * wählt den Code aus, indem er das Kästchen links markiert * schließt die Seite über das **‘X’** oben rechts Wenn der Mitarbeiter den vollständigen Baum der Fahrgestellnummer anzeigen möchte, kann er auf das **‘Q’** von Qricambi klicken. ### Senden der Explosionszeichnung in den Chat Aus der Ansicht der Explosionszeichnungen kann direkt im Chat das **Foto der Explosionszeichnung** gesendet werden, das mit dem ausgewählten Ersatzteil verbunden ist. Diese Funktion ist nützlich, wenn du dem Kunden das technische Detail des Teils zeigen und eine Bestätigung einholen möchtest. Foto der Explosionszeichnung in den Chat senden ### Verfügbare Aktionen für Codes Rechts neben jedem Code sind verfügbar: * ein **‘i’** mit zusätzlichen Informationen zum Teil * ein rotes **‘Q’**, um den Code auf Qricambi zu suchen * das Symbol zum **Kopieren des Codes** Ausgewähltes Ersatzteil Der ausgewählte Code wird auf den vorherigen Bildschirm übernommen, und du kannst: * ihn auf **[Qricambi](https://app.qricambi.com/)** suchen * ein **[Angebot](invia_preventivo_gestionale.md)** erstellen * ihn dem Kunden über **Quoting24** senden ### Direkte Suche bei Lieferanten Alternativ ist es möglich, Codes direkt bei einigen Lieferanten aus **Quoting24** zu suchen. Dazu kannst du im Bereich **[Einstellungen → Qricambi](qricambi_integration.md)** auswählen: * **interne** Lieferanten (z. B. eigene Listen) * **externe** Lieferanten Ersatzteilsuche Die Lieferantensuche: * ist kompakter als Qricambi * folgt derselben Logik Die Ergebnisse sind sortiert nach: * **Preis** * **Verfügbarkeit** Oben werden Produkte angezeigt, die: * günstiger sind * sofort verfügbar sind (**grün**) Beim Scrollen durch die Ergebnisse: * wechselt die Verfügbarkeit von **gelb** zu **rot** * steigt der Preis Angezeigt werden: * Code * Marke * Lieferant * Beschreibung * Nettopreis * Listenpreis, falls verfügbar * Verfügbarkeit Produkt Neben jedem Ergebnis befinden sich zwei Symbole: * Hinzufügen zum **[Qricambi-Warenkorb](https://app.qricambi.com/?next=%2F&activetab=orders)** * Link zur E-Commerce-Website des Lieferanten > **HINWEIS** > Die automatische Suche bei Qricambi-Lieferanten kann jederzeit deaktiviert werden > im Bereich **[Einstellungen → Qricambi](qricambi_integration.md)** ### Suche in den Qricambi-Ergebnissen Wenn viele Ergebnisse vorhanden sind, kannst du eine **Textsuche** innerhalb der Qricambi-Ergebnisse durchführen, um den gewünschten Code, die Marke oder die Beschreibung schneller zu finden. Textsuche in den Qricambi-Ergebnissen --- # Ticketverwaltung URL: https://wiki.quoting24.com/de/content/gestione_ticket/ Language: de Updated: 2026-11-04 # Ticketverwaltung Quoting24 organisiert jede WhatsApp-Unterhaltung in **Tickets**. Der Ablauf ist **geordnet**: pro Kontakt gibt es **nur ein Ticket, in das frei geschrieben werden kann**. Diese Seite erklärt die Regeln für Schreiben, Wiedereröffnung, Antworten (Reply) und geplante Nachrichten. --- ## Grundbegriffe | Begriff | Bedeutung | | --- | --- | | **Thread** | Alle Tickets desselben Kontakts | | **Beschreibbares Ticket** | Das einzige Ticket im Thread, in das du frei tippen kannst (meist das offene, oder das zuletzt geschlossene unter den Bedingungen unten) | | **Reply** | Antwort auf eine bestimmte Nachricht: kann den Text an ein anderes Ticket im Thread leiten | Praktische Regel: **du kannst ein geschlossenes Ticket nicht manuell wieder öffnen** (durch Statusänderung). Um weiterzuarbeiten, sendest du eine Nachricht, antwortest auf eine Nachricht oder nutzt die Buttons in geschlossenen Tickets. --- ## Was passiert beim Schreiben ### Es gibt bereits ein offenes Ticket Wenn der Kunde (oder du) antwortet, während ein **offenes** Ticket existiert (oder ein **pausiertes**, das wieder geöffnet wird), gehen die Nachrichten in dieses Ticket. ### Schreiben aus einem geschlossenen Ticket Es hängt von der Position des geschlossenen Tickets im Thread ab: 1. **Es gibt bereits ein offenes Ticket** Die Antwort wird an das offene Ticket gesendet. Das geschlossene Ticket, aus dem du geantwortet hast, bleibt geschlossen und wird mit dem Ticket **verknüpft**, das die Nachricht erhalten hat. 2. **Das geschlossene Ticket ist nicht das letzte im Thread** Die Antwort **öffnet eine neue Anfrage**. Auch hier bleibt das Ausgangs-Ticket mit dem Ziel-Ticket verknüpft. 3. **Das geschlossene Ticket ist das letzte im Thread** Nur in diesem Fall **öffnet** die Nachricht dieses Ticket erneut. Um aus einem geschlossenen Ticket zu schreiben, das nicht das beschreibbare ist, verlangt Quoting24 eine **Antwort auf eine Nachricht** (Reply): ohne Reply bleibt die Eingabe gesperrt mit dem Hinweis, eine Nachricht auszuwählen. --- ## Buttons in geschlossenen Tickets Beim Öffnen eines geschlossenen Tickets erscheinen unten Aktionen nach denselben Ablaufregeln: - **Zum offenen Ticket** — wenn im Thread bereits eine offene Anfrage existiert - **Zum letzten geschlossenen Ticket** — wenn keine offenen da sind (und das letzte geschlossene nicht das gerade geöffnete ist) - **Neue Anfrage öffnen** — erstellt eine neue Anfrage im Thread, wenn kein offenes Ticket existiert Diese Buttons verhindern Arbeit am falschen Ticket und führen dich zum richtigen Punkt im Ablauf. Bei einem Reply aus einem geschlossenen Ticket zeigt Quoting24 auch an, wohin die Nachricht geht, z. B.: - *Die Antwort wird an das offene Ticket gesendet.* - *Die Antwort öffnet ein neues Ticket.* --- ## Geplante Nachrichten Geplante Nachrichten legen das endgültige Ticket **nicht sofort** fest: sie werden **zum Sendezeitpunkt geroutet**, mit den dann geltenden Thread-Regeln. Folge: Wenn du ein Ticket schließt, das noch ausstehende geplante Nachrichten hat, fragt Quoting24 nach Bestätigung. Beim Senden kann die Nachricht: - das Ticket wieder öffnen (wenn es noch das zuletzt geschlossene ist) - oder in einer anderen offenen / neuen Anfrage landen --- ## Was du nicht mehr tun kannst - Ein geschlossenes Ticket **manuell wieder öffnen**, indem du den Status änderst Das System blockiert die Aktion und fordert dich auf, eine Nachricht zu schreiben (unter den richtigen Bedingungen) oder die Ablauf-Buttons zu nutzen. - **Zwei offene Tickets** für denselben Kontakt haben Wenn bereits eines offen ist, wird kein zweites geöffnet. --- ## Ticketstatus (zur Erinnerung) - **Offen** — in Bearbeitung - **Ungelesen** — muss wieder aufgenommen werden; Zuweisungen werden entfernt - **Pausiert** — Warten auf den Kunden; schreibt der Kunde erneut, wird es **offen** und bleibt dem ursprünglichen Operator zugewiesen - **Geschlossen** — abgeschlossen; erscheint nicht mehr unter den zu bearbeitenden Tickets, bleibt aber einsehbar und unterliegt den Reply-/Wiederöffnungsregeln oben **Pause** ist kein Schließen: die Regeln für geschlossene Tickets gelten nicht. --- ## Wo eine neue Anfrage öffnen Du kannst eine Unterhaltung / neue Anfrage starten von: - dem Button **+** in der Ticketliste der Startseite (*Neue Anfrage öffnen*) - dem Bereich **[Kontakte](contacts.md#neue-anfrage-öffnen)** (Liste und Kontaktdetail) - dem Button **Neue Anfrage öffnen** in einem geschlossenen Ticket, wenn der Ablauf es vorsieht --- ## Nützliche Links - [Hauptbildschirm](main_screen.md) — Liste, Filter, Vorschau, Chat - [Anfragenliste](requested_list.md) — Verlauf und Statusfilter - [Kontakte](contacts.md) — Anfrage öffnen, Priorität und Typ des Kontakts --- # Anfrageliste URL: https://wiki.quoting24.com/de/content/requested_list/ Language: de Updated: 2026-11-04 # Anfrageliste Durch Klicken auf das **Menü oben rechts** und Auswahl von **„Anfrageliste“** öffnet sich der **Verlauf der Anfragen**, die von den verschiedenen Kontakten in Quoting24 erstellt wurden. Bildschirm Anfragelisten --- ## Anzeige der Anfragen Standardmäßig werden **nur offene Anfragen** angezeigt. Über den **Filter oben rechts** kannst du: - **pausierte** Anfragen anzeigen - **zu lesende** Anfragen anzeigen - **geschlossene** Anfragen anzeigen - **weitere Filter** anwenden, um die Suche zu verfeinern Filter für offene pausierte und geschlossene Anfragen --- ## Suche in den Anfragen Die Anfrageliste ermöglicht eine schnelle Suche unter den im Verlauf vorhandenen Tickets. Die Suche kann verwendet werden, um eine Anfrage anhand von Informationen zu finden wie: - Name oder Nummer des Kontakts - verknüpftes Unternehmen - Inhalt der Anfrage - Ticketstatus - erkannte technische Daten, zum Beispiel Kennzeichen oder Fahrgestellnummer Filter können mit der Textsuche kombiniert werden, um die Liste einzugrenzen und das richtige Ticket schneller zu finden. --- ## Pausierte Anfragen **Pausierte** Anfragen sind Tickets, die nicht endgültig geschlossen, sondern vorübergehend ausgesetzt sind, weil auf eine Nachricht oder Bestätigung des Kunden gewartet wird. Wenn der Kunde in ein pausiertes Ticket erneut schreibt: - wird das Ticket automatisch wieder **offen** - bleibt es dem ursprünglichen Mitarbeiter zugewiesen - werden standardmäßig auch die vorherigen Nachrichten angezeigt Dieses Verhalten unterscheidet sich von **geschlossenen** Tickets: Bei einem geschlossenen Ticket gelten die Regeln des geordneten Ablaufs (Antwort, Wiedereröffnung nur wenn es das neueste ist, sonst neue Anfrage oder Weiterleitung an ein bereits offenes Ticket). Details unter [Ticketverwaltung](gestione_ticket.md). --- ## Öffnen einer Anfrage Durch Klicken auf den **roten Pfeil** unten rechts in einer Zeile kann die **spezifische Anfrage** geöffnet und das zugehörige Ticket aufgerufen werden. Beim Öffnen einer Anfrage zeigt Quoting24 den mit dem Ticket verknüpften Kontext an, einschließlich eventueller vorheriger Nachrichten, wenn die Anfrage pausiert oder mit anderen Tickets verbunden war. --- # Etiketten URL: https://wiki.quoting24.com/de/content/type_of_request/ Language: de Updated: 2026-11-04 # Etiketten Ein Ticket kann **mehrere Etiketten** haben. Sie klassifizieren die Anfrage und leiten sie, wenn die [automatische Zuweisung](assegnazioni.md) aktiv ist, an die Operatoren weiter, die mit diesen Etiketten verknüpft sind. In der Ticketliste erscheinen bis zu **3 als Icons**. Weitere stehen als **+N**. Passt der Name nicht in den Platz, bleibt das Icon; der Name steht im Tooltip. Vordefinierte Etiketten --- ## Drei Arten von Etiketten | Art | Wer sie anlegt | Wer sie setzen kann | | --- | --- | --- | | **Eigene** | Der Raum | Die Operatoren | | **AI** | Der Raum, mit „mit der AI zuweisen“ (nur AI Premium) | Die Operatoren und der Premium-Agent | | **Vordefiniert** | In jedem Raum bereits vorhanden | Die Operatoren und der Klassifikator | Etiketten, die ein Operator setzt, werden **nie automatisch entfernt**. Klassifikator und Agent **fügen nur hinzu**. --- ## Vordefinierte Etiketten Es sind **11**, in jedem Raum dieselben: * Informationen * Vertrieb * Aufträge und Logistik * Einkauf * Garantien, Retouren und Reklamationen * Support * Verwaltung * IT * Dienstleistungen * Auth * Sonstiges Sie lassen sich weder **umbenennen** noch **löschen**. **Farbe** und **Zugewiesene** kann man ändern. Sie liegen unter **Einstellungen → Tickets und Automatisierungen → Etiketten**, Register **Vordefinierte Etiketten**. Farbe eines vordefinierten Etiketts ändern Mit **AI lite** gibt es keine automatische Kategorisierung. Vordefinierte Etiketten kann man trotzdem von Hand setzen. In diesem Modul fehlt das Register der vordefinierten Etiketten. --- ## Eigene Etiketten Im Register **Eigene Etiketten** legt **Hinzufügen** ein Etikett des Raums an: Name, Farbe, Icon und Beschreibung. Eigene Etiketten Mit **AI Premium** lässt sich **Dieses Etikett Tickets per künstlicher Intelligenz zuweisen** einschalten. Der Agent nutzt es nur, wenn die Beschreibung klar sagt, wann es gilt. In der Liste tragen diese Etiketten das Badge **AI**. Neues Etikett mit AI-Zuweisung Die Zugewiesenen stehen in der Spalte **Zugewiesen an**. Ist die [automatische Zuweisung](assegnazioni.md) aktiv, geht eine Anfrage mit diesem Etikett an sie. --- ## Automatische Kategorisierung Jeder Raum wählt unter **Einstellungen → Tickets und Automatisierungen → Ticket-Klassifikator**, wer Etiketten automatisch setzt. Speichern mit **Änderungen speichern**. Ticket-Klassifikator | Option | Was passiert | Für wen | | --- | --- | --- | | **Aus** | Keine automatischen Etiketten, nur von Hand | Alle | | **Vordefinierte Etiketten (wirtschaftliche AI)** | Der Klassifikator setzt die vordefinierten Etiketten | Nur wirtschaftliche AI | | **AI Premium** | Der Premium-Agent setzt die AI-Etiketten des Raums | Nur AI Premium | Wechselt das AI-Modul des Raums, folgt die Option: * **Premium** → AI Premium * **Lite** → Aus * **Wirtschaftlich**, wenn vorher Premium oder Lite → Vordefinierte Etiketten. War der Raum schon wirtschaftlich und aus, bleibt er aus Der Klassifikator etikettiert nur die **ersten Nachrichten des Kunden**. Er stoppt, sobald ein Operator antwortet, eine interne Notiz schreibt oder ein Etikett setzt. --- ## Dringlichkeit Drei Stufen: * **Niedrig** — Grüße, Dank, Spam * **Normal** — Angebote, Aufträge, Rechnungen * **Hoch** — Teil wird heute gebraucht, Fahrzeug steht in der Werkstatt, Lieferung verspätet oder falsch, Zahlung fällig Tickets mit **hoher** Dringlichkeit zeigen ein Warnicon in der Liste. Bei der **wirtschaftlichen AI** setzt sie der Klassifikator bei jeder neuen Gruppe von Kundennachrichten. Bei **AI Premium** setzt sie der Agent. --- ## Einfache Nachrichten Viele Kundennachrichten sind Smalltalk oder praktische Absprachen („danke“, „ok“, Öffnungszeiten, Abholung) und brauchen keine Teileerkennung. Bei der **wirtschaftlichen AI** startet die Teileerkennung nicht, wenn der Klassifikator sicher genug ist und die Nachricht **nur Text oder Sprache** ist. **Bilder und Dateien** gehen immer durch die Erkennung. --- ## Verknüpfung mit früheren Tickets Auf derselben Seite **Ticket-Klassifikator** ist **Automatische Ticket-Verknüpfung** standardmäßig **aus**. Sie gilt nur für die **wirtschaftliche AI**. Schreibt ein Kontakt in ein neues Ticket, bevor ein Operator antwortet, vergleicht die AI es mit den **letzten zwei geschlossenen Tickets** des Kontakts. Setzt es eines davon fort (gleiches Fahrzeug oder ein Ticket ohne Fahrzeug), verknüpft sie das neue Ticket damit und die frühere Unterhaltung erscheint im Chat. Sie verknüpft nur, wenn sie sehr sicher ist, und lässt eine Verknüpfung manchmal aus, obwohl sie gepasst hätte. Sie arbeitet nicht bei einem Ticket, das **schon verknüpft** ist. --- ## Wann sie arbeiten | Funktion | Arbeitet nur, wenn… | | --- | --- | | **Klassifikator** | der Raum die **wirtschaftliche AI** hat, **neue Kundennachrichten** ankommen und der Klassifikator konfiguriert ist | | **Dringlichkeit** | bei jeder neuen Gruppe von Kundennachrichten | | **Einfache Nachrichten** | die neuen Nachrichten **nur Text oder Sprache** sind | | **Automatische Etiketten** | der Raum auf „Vordefinierte Etiketten“ steht, im Ticket **noch kein Operator geschrieben** hat und **kein Operator ein Etikett gesetzt** hat | | **Verknüpfung** | sie **aktiv** ist, im Ticket **noch kein Operator geschrieben** hat, der Kontakt **geschlossene Tickets** hat (nur die letzten zwei) und das Ticket **noch nicht verknüpft** ist | Ist der Klassifikator nicht konfiguriert, funktioniert Quoting24 weiter: es klassifiziert dann einfach nicht. --- ## So nutzt man sie * **Von Hand**: im Ticket nimmt das Feld **Etikett** eine oder mehrere Etiketten (eigene und vordefinierte). * **Automatische Etiketten**: im Ticket-Klassifikator „Vordefinierte Etiketten (wirtschaftliche AI)“ wählen und danach die **Zugewiesenen** jeder vordefinierten Etikette setzen. * **Premium-Agent**: Etiketten mit AI-Zuweisung anlegen und eine **klare Beschreibung** schreiben. * **Verknüpfung**: einschalten, wenn Kunden oft zu schon geschlossenen Anfragen erneut schreiben. * **Dringlichkeit**: das Warnicon in der Ticketliste im Blick behalten. Die Raumeinstellungen sehen Admins, Owner und Superadmins. --- # Gespeicherte Antworten URL: https://wiki.quoting24.com/de/content/save_response/ Language: de Updated: 2026-11-04 # Gespeicherte Antworten Gespeicherte Antworten Im Bereich **„Gespeicherte Antworten“** können **vordefinierte Antworten** erstellt werden, um sie schnell an Kunden zu senden. --- ## Erstellung einer neuen gespeicherten Antwort Um eine neue **gespeicherte Antwort** zu erstellen, klicke oben auf die rote Schaltfläche **„+ Antwort hinzufügen“**. Gespeicherte Antworten bearbeiten Es muss Folgendes eingegeben werden: - ein **Name** - der **Inhalt** der Antwort Es kann eine **Datei als Anhang** hinzugefügt werden. --- ## Arten gespeicherter Antworten Gespeicherte Antworten können in **zwei Modi** verwaltet werden: - **Nur für mich** Gedacht für persönliche Antworten (z. B. *„Ich bin Antonio…“*). Diese Antwort ist **nur für den Benutzer verfügbar, der sie erstellt**. [Benutzer](user.md), die **keine Administratoren** sind, können **nur** gespeicherte Antworten vom Typ *„nur für mich“* anzeigen und einstellen. - **Für die gesamte Aktivität** Alle Benutzer des Accounts sehen die gespeicherte Antwort. **Nur [Administratorbenutzer](user.md)** können diese Art von Antworten erstellen und bearbeiten. --- ## Verwaltung gespeicherter Antworten Gespeicherte Antworten können: - über das entsprechende Häkchen **aktiviert oder deaktiviert** werden - durch Klicken auf das **Stiftsymbol** rechts neben jeder Antwort **bearbeitet** werden --- ## Verwendung gespeicherter Antworten im Chat Das Einfügen einer gespeicherten Antwort erfolgt direkt über die **Schreibleiste der Nachricht**. So verwendest du sie: 1. gib das Zeichen **`/`** ein 2. schreibe den **Namen** der gespeicherten Antwort (auch teilweise) Beispiel für gespeicherte Antwort Die Antwort kann eingefügt werden: - **ohne den Namen vollständig einzugeben** - durch Drücken von **Enter** auf der hervorgehobenen Antwort (die Maus muss nicht verwendet werden) --- ## Sortierung der Vorschläge Falls der eingegebene Text **unvollständig oder mehrdeutig** ist (z. B. `/o`), werden die Vorschläge für gespeicherte Antworten wie folgt sortiert: Beispiel für die Verwendung einer gespeicherten Antwort 1. **Alphabetische Reihenfolge** der Namen, die mit dem eingegebenen Text beginnen (z. B. `/o` → *ora*, *orario*) 2. Anschließend werden Ergebnisse angezeigt, in denen der eingegebene Text **im Namen oder im Inhalt** enthalten ist, ebenfalls in alphabetischer Reihenfolge --- # Automatische Zuweisung URL: https://wiki.quoting24.com/de/content/assegnazioni/ Language: de Updated: 2026-11-04 # Automatische Zuweisung Das System der **Automatischen Zuweisung** hat das Ziel, die Verwaltung von Tickets **schneller**, **effizienter** und **präziser** zu machen, besonders in Kontexten, in denen mehrere Mitarbeiter an einer einzigen WhatsApp-Nummer arbeiten. Diese Funktion weist **neue Tickets** automatisch dem Mitarbeiter oder Team zu, das am besten geeignet ist, basierend auf **vordefinierten Regeln**. Das Ziel ist: - manuelle Zuweisungen zu vermeiden - Wartezeiten für Kunden zu reduzieren - sicherzustellen, dass jede Anfrage sofort bei der richtigen Person ankommt --- ## Wann die automatische Zuweisung aktiv wird Das System wird **aktiv, wenn die erste Nachricht eines neuen Tickets eingeht**. Es analysiert die Ticketinformationen und vergleicht sie mit: - Kompetenzen - Verantwortlichkeiten - Konfigurationen der Mitarbeiter Die Zuweisung basiert auf **drei Übereinstimmungskriterien**: 1. **[Etikett](type_of_request.md)** (siehe Abschnitt *Etiketten*) 2. **[Unternehmen](companies.md), das dem Kontakt zugewiesen ist** Wenn es Mitarbeiter gibt, die einem bestimmten Kundenunternehmen zugeordnet sind 3. **[Kontakt](contacts.md)** Wenn es eine Vertrauensperson für einen bestimmten Kontakt gibt Für jedes neue Ticket führt das System Folgendes aus: - es berechnet, wie viele Übereinstimmungen jeder Mitarbeiter hat - es fährt mit der Zuweisung gemäß der gewählten Regel fort ⚠️ Die Auto-Zuweisung **gilt nur für die ersten Nachrichten des Kunden** und funktioniert nicht mehr, sobald es eine Aktivität des Mitarbeiters am Ticket gibt. ### Auto-Zuweisung beim Öffnen Wenn ein Ticket noch **zu lesen** ist und keinem Mitarbeiter zugewiesen wurde, kann das Öffnen des Tickets es automatisch dem Mitarbeiter zuweisen, der es übernimmt. Dieses Verhalten verhindert, dass zwei Mitarbeiter gleichzeitig an derselben Anfrage arbeiten, und macht klarer, wer für das Ticket verantwortlich ist. Auto-Zuweisung des Tickets beim Öffnen --- ## Verfügbarkeit der Mitarbeiter Das System ist dafür ausgelegt, **nur mit tatsächlich verfügbaren Mitarbeitern** zu arbeiten. Die automatische Zuweisung erfolgt **nur, wenn mindestens ein geeigneter Mitarbeiter online ist**. - **Wenn kein qualifizierter Mitarbeiter online ist** wird das Ticket **nicht automatisch zugewiesen** und bleibt für die manuelle Übernahme verfügbar. - **Wenn mindestens ein qualifizierter Mitarbeiter online ist** fährt das System mit der automatischen Zuweisung fort. --- ## Zuweisungsregeln Du kannst das System so konfigurieren, dass es eine der folgenden **Zuweisungslogiken** verwendet: Zuweisung --- ### Beste Übereinstimmung Mit dieser Regel wird das Ticket **nur dem Mitarbeiter (oder den Mitarbeitern)** zugewiesen, der bzw. die die **höchste Übereinstimmungspunktzahl** haben. Sie ist ideal, um Anfragen an einen bestimmten Experten zu leiten. #### Praktisches Beispiel Ein Ticket kommt vom Unternehmen **„ACME Corp“** und ist vom Typ **„Vertrieb“**: - **Anna** → verantwortlich für den Typ *Vertrieb* (1 Übereinstimmung) - **Marco** → verantwortlich für das Unternehmen *ACME Corp* (1 Übereinstimmung) - **Lucia** → verantwortlich sowohl für den Typ *Vertrieb* als auch für *ACME Corp* (2 Übereinstimmungen) ➡️ Mit der Regel **Beste Übereinstimmung** wird das Ticket **nur Lucia** zugewiesen. --- ### Alle Übereinstimmungen Mit dieser Regel wird das Ticket **allen Mitarbeitern** zugewiesen, die **mindestens eine Übereinstimmung** haben. Sie eignet sich für Teams, in denen mehrere Personen denselben Anfragetyp bearbeiten können. #### Praktisches Beispiel Bei Verwendung desselben Szenarios: ➡️ Mit der Regel **Alle Übereinstimmungen** wird das Ticket **Anna, Marco und Lucia** zugewiesen. --- ## Verwaltung des Lebenszyklus eines automatisch zugewiesenen Tickets ### Manuelle Zuweisung und Zuweisung an alle Neben der automatischen Zuweisung kann ein Ticket manuell einem oder mehreren Mitarbeitern zugewiesen werden. In der Auswahl der **Zuständigen** ist die Option **Keiner** verfügbar. Damit werden **alle Zuständigen** vom Ticket entfernt. Select assegnatari – opzione Nessuno Wenn das ganze Team einbezogen werden soll, kann das Ticket **allen berechtigten Mitarbeitern** zugewiesen werden. Diese Funktion ist nützlich für dringende Anfragen oder für Tickets, die vom ersten verfügbaren Mitarbeiter bearbeitet werden können. Allen Mitarbeitern das Ticket zuweisen ### Ticket als "Zu lesen" markiert Ein Ticket kann als **Zu lesen** markiert werden, um es wieder in den Übernahmefluss des Teams zu geben. Wenn ein Ticket als *Zu lesen* markiert wird: - werden vorhandene Zuweisungen entfernt - wird die Anfrage für Mitarbeiter sichtbar, die nicht zugewiesene Tickets übernehmen können - kann das Ticket manuell oder über den normalen operativen Ablauf erneut zugewiesen werden ### Ticket ohne Antwort (Sicherheitszeit) Um zu verhindern, dass ein automatisch zugewiesenes Ticket unbeachtet bleibt, gibt es eine **konfigurierbare Sicherheitszeit**. Wenn ein Ticket: - automatisch zugewiesen wurde - innerhalb der eingestellten Zeit **keine Antwort erhält** wird die automatische Zuweisung **entfernt**. Das Ticket wird wieder: - **nicht zugewiesen** - für das ganze Team sichtbar Dieser Mechanismus verhindert, dass Anfragen verloren gehen. --- ### Die erste Antwort „beansprucht“ das Ticket Wenn ein Ticket automatisch **mehreren Mitarbeitern** zugewiesen ist: 1. beansprucht der **erste Mitarbeiter, der antwortet**, das Ticket 2. alle anderen Mitarbeiter werden aus der Zuweisung entfernt 3. der Mitarbeiter, der geantwortet hat, wird zum **einzigen Verantwortlichen** Das stellt sicher: - keine Überschneidungen - stets klare Verantwortung --- ## Konfiguration der automatischen Zuweisung Der Administrator kann das System mit diesen Schritten konfigurieren: 1. **Funktion aktivieren** Aktiviere die Option *„Automatische Zuweisung aktivieren“* in den Einstellungen. 2. **Zuweisungsregel auswählen** - Beste Übereinstimmung - Alle Übereinstimmungen 3. **Sicherheitszeit festlegen** Lege fest, nach wie vielen Minuten ein nicht bearbeitetes Ticket wieder nicht zugewiesen sein soll (standardmäßig **15 Minuten**). 4. **Verantwortlichkeiten der Mitarbeiter definieren** Ordne Mitarbeiter ihren Kompetenzbereichen zu: - **Tickettypen** - **Unternehmen** - **Kontakte** Automatische Zuweisung --- ## Fortgeschrittenes praktisches Beispiel - **Matteo** ist Experte für *Jeep* und *Karosserie* - **Alessandro** ist Experte für *Karosserie* Es kommt eine Anfrage zu einer **Tür eines Jeep Renegade**. - Mit **Beste Übereinstimmung** ➜ wird das Ticket **nur Matteo** zugewiesen - Mit **Alle Übereinstimmungen** ➜ wird das Ticket **Matteo und Alessandro** zugewiesen --- # Lieferschichten URL: https://wiki.quoting24.com/de/content/delivery_shifts/ Language: de Updated: 2026-11-04 # Lieferschichten Die **Lieferschichten** können über den entsprechenden Menüpunkt erstellt und verwaltet werden. Durch Klicken auf das Menü wird die Liste der **bereits vorhandenen Lieferschichten** angezeigt. Um eine neue Schicht zu erstellen, genügt ein Klick auf die rote Schaltfläche oben rechts **„+ hinzufügen“**. Bildschirm zum Hinzufügen von Lieferschichten --- ## Zuweisung von Schichten an Unternehmen Nachdem eine Lieferschicht erstellt wurde, kann sie **einem oder mehreren [Unternehmen](companies.md)** zugewiesen werden. Die Zuweisung kann an verschiedenen Stellen der Anwendung erfolgen (innerhalb der Unternehmensverwaltung), die **empfohlene** Methode ist jedoch die **Massenbearbeitung**. Dazu: 1. öffne die **Lieferschicht**, der du Unternehmen zuweisen möchtest 2. nutze den Bildschirm zur Bearbeitung der Schicht Bildschirm zur Bearbeitung von Lieferschichten --- ## Massenzuweisung über Filter Auf diesem Bildschirm kannst du: - Unternehmen filtern - mehrere Unternehmen gleichzeitig auswählen - die Schicht gesammelt zuweisen - die Änderungen speichern Die Filter können auch **Unternehmensstammdaten** verwenden, zum Beispiel: - Stadt - Notizen - Administratornotizen --- # Täglicher Aktivitätsbericht URL: https://wiki.quoting24.com/de/content/daily_activity_report/ Language: de Updated: 2026-11-04 # Täglicher Aktivitätsbericht Es steht ein **automatischer täglicher Bericht** per E-Mail zur Verfügung, der einen Überblick über die Verwaltungstätigkeit der Support-Tickets liefert. Die KPI beziehen sich auf den **Vortag** und werden mit dem **selben Wochentag der Vorwoche** verglichen. Alle Zeiten sind in **Minuten** angegeben. --- ## Voraussetzungen Um die Empfänger des Berichts zu konfigurieren, müssen Sie **[Administrator](user.md)** sein. Wenn Ihr Benutzer ein **Mitglied** ist, bitten Sie einen Administrator der Aktivität um die **Änderung des Benutzertyps** (von Mitglied zu Administrator) oder kontaktieren Sie den Quoting24-Support. --- ## So richten Sie den Bericht ein 1. Öffnen Sie **Settings → General settings → Business** 2. Klicken Sie im Abschnitt **Statistics report emails** auf **Edit recipients** 3. Fügen Sie einen **neuen Empfänger** hinzu und füllen Sie aus: - **Email** der Adresse, die den Bericht erhalten soll - **Active**: wenn deaktiviert, erhält diese Adresse den Bericht nicht - **Frequency** (zum Beispiel **Daily**) - **Send time** 4. Klicken Sie auf **Save** Business-Einstellungen - Statistics report emails Modal neuer Berichtsempfänger --- ## Was der Bericht enthält ### KPI von gestern Wichtigste Kennzahlen des Vortags, mit Vergleich zum selben Wochentag der Vorwoche: - erstellte und geschlossene Tickets - Abschlussquote - von Mitarbeitern gesendete Antworten - empfangene Nachrichten - mediane Antwortzeit - mediane Ticketöffnungszeit - aktive Mitarbeiter - aktive Kontakte - gesuchte Fahrzeuge - durchgeführte Ersatzteilsuchen ### Leistung der Mitarbeiter Detail je Mitarbeiter zu: - gesendeten Antworten - internen Notizen - zugewiesenen und geschlossenen Tickets - Abschlussquote - medianer Antwort- und Öffnungszeit ### Nachrichten nach Zeitfenster Verteilung der **empfangenen und gesendeten Nachrichten** im Tagesverlauf, aufgeteilt nach Zeitfenster (lokale Zeit). Interne Notizen und gelöschte Nachrichten sind ausgeschlossen. ### Online-Benutzer Anzahl der **verschiedenen Mitarbeiter**, die in jedem Zeitfenster gearbeitet haben (Ticket-Ereignisse, Nachrichten oder Notizen). ### Offene Tickets Verlauf der Tickets im Status **offen** über den Tag (periodische Stichproben), inklusive Peak und wie viele am Tagesende noch offen sind. Zählt auch Tickets aus Vortagen, sofern sie noch offen sind. ### Top-Kunden Liste der Kunden mit der höchsten Aktivität am Tag, sortiert nach empfangenen Nachrichten, mit Details zu Fahrzeugen, Suchen, Nachrichten und beteiligten Mitarbeitern. ### Täglicher Verlauf Vergleich zwischen **aktueller und vorheriger Woche**: erstellte Tickets und Antworten der Mitarbeiter Tag für Tag. ### Statistiken der letzten 7 Tage - Aggregierte **Mitarbeiterleistung** der letzten 7 Tage - **Aktivitäts-Heatmap**, die die Antworten jedes Mitarbeiters Tag für Tag hervorhebt Dieser Bericht ermöglicht es, die **Effizienz des Kundenservice zu überwachen**, Arbeitslasten zu analysieren und die Entwicklung der Leistung im Zeitverlauf zu bewerten. --- # Quoting News URL: https://wiki.quoting24.com/de/content/quoting_news/ Language: de Updated: 2026-11-04 # Quoting News **Quoting News** ist der Kanal, in dem Quoting Produkt-Updates und Hinweise veröffentlicht. Er erscheint in der Chat-Sidebar neben den Anfragen. Es ist kein Ticket: es ist ein Chat nur zum **Lesen**. Nur Quoting kann diese Nachrichten senden: Operatoren lesen sie, erstellen oder beantworten sie nicht. --- ## So funktioniert es 1. Öffne **Quoting News** in der linken Sidebar. 2. Lies den Verlauf der Mitteilungen, nach Datum sortiert. 3. Wenn du fertig bist, klicke auf **Gelesen**: das Badge für ungelesene Neuigkeiten verschwindet, ohne den Chat zu schließen. Du kannst weder schreiben noch antworten. Wenn es keine Nachrichten gibt, siehst du den Leerzustand *Keine Neuigkeiten*. --- # WhatsApp URL: https://wiki.quoting24.com/de/content/whatsapp/ Language: de Updated: 2026-11-04 # WhatsApp Dieser Bereich ist **nur für Administratoren** sichtbar und nicht für Mitglieder (Benutzer). Von hier aus kann **Quoting24** über die **offiziellen Meta-APIs** (WhatsApp Business Platform) mit **WhatsApp** verbunden werden. Dadurch werden aktiviert: - Chat-Verwaltung - Kontaktverwaltung - Senden und Empfangen von Nachrichten aus Quoting24 Die Verbindung über offizielle APIs ist die in dieser Wiki-Version beschriebene Betriebsart. - WhatsApp-Gruppen und Broadcast-Listen der App werden über die Meta-APIs nicht unterstützt; für Template-Kampagnen nutze den Bereich [Broadcast API](broadcast_api.md). Wenn die Nummer bereits über die APIs eines anderen Anbieters läuft und du sie ohne Nummernwechsel zu Quoting24 bringen willst, folge [WhatsApp-API-Migration](migrazione_whatsapp_api.md). --- ## Verbindung über offizielle Meta-APIs Die offiziellen APIs ermöglichen es Quoting24, WhatsApp-Unterhaltungen stabil, nachvollziehbar und mit Meta-Support zu verwalten. ### Vorteile - Möglichkeit, **interaktive Buttons** in Nachrichten zu verwenden (z. B. "Angebot genehmigen"), die mit ERP-Systemen verbunden werden können - **Hohe Stabilität** und offizieller technischer Support - Zentrale Verwaltung der Anfragen in Quoting24 mit Tickets, Zuweisungen und Automatisierungen ### Operative Regeln - Ausgehende Nachrichten an **neue Kontakte** (von denen wir in den letzten 24 Stunden keine Nachrichten erhalten haben) sind an **von Meta vorab genehmigte Templates** gebunden Erst nach einer Antwort des Kunden kann frei kommuniziert werden. Nach dem Senden einer vorab genehmigten Nachricht können normale Nachrichten geschrieben werden, diese werden dem Kunden jedoch **erst nach einer Aktion seinerseits** zugestellt (z. B. Klick auf den Button "sag mir ruhig" oder Antwort). - Der Kunde muss **die Öffnung des Kommunikationskanals genehmigen** und sich auf einem **mobilen Gerät** befinden, um die Interaktion mit Templates korrekt abzuschließen. - Je nach gewählter Konfiguration kann die manuelle Nutzung der WhatsApp Business App auf derselben Nummer die Funktion [WhatsApp Coexistence](whatsapp_coexistence.md) erfordern. --- ## Mit Quoting24 verfügbare Funktionen Sobald der offizielle Kanal verbunden ist, können WhatsApp-Anfragen mit den operativen Funktionen von Quoting24 bearbeitet werden: - Aufteilung von Unterhaltungen in **Tickets** - manuelle oder automatische Zuweisung an Mitarbeiter - Erkennung von Kennzeichen, VINs und Ersatzteilen in Nachrichten - Senden von Nachrichten, Bildern und Dokumenten - Senden von Angeboten und PDFs aus dem ERP - Verwendung interaktiver Buttons, wenn der API-Ablauf dies vorsieht Die internen Funktionen von Quoting24 bleiben in der Plattform verwaltet; die Nachrichtenzustellung an Kunden folgt den operativen Regeln der offiziellen Meta-APIs. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/de/content/whatsapp_coexistence/ Language: de Updated: 2026-11-04 # WhatsApp Coexistence Die Funktion **WhatsApp Coexistence** (Koexistenz) ermöglicht es Unternehmen, die **WhatsApp Business App** (auf dem Telefon) und die **WhatsApp Business APIs** (über Quoting24 oder andere Software) gleichzeitig auf derselben Telefonnummer zu verwenden. Dies ist ein **bedeutender Durchbruch**, da die Aktivierung der APIs zuvor die Löschung des WhatsApp Business-Accounts auf dem Telefon erforderte und damit die manuelle Nutzung der App verhinderte. --- ## Vorteile der Koexistenz Durch Aktivierung der Koexistenz kannst du das Beste aus beiden Welten erhalten: 1. **Menschliche und persönliche Interaktion (Business App)**: - Nutze WhatsApp auf deinem Smartphone weiterhin wie gewohnt. - Antworte Kunden bei Bedarf manuell. - Greife manuell vom Telefon aus ein, wenn eine direkte Kundenbetreuung erforderlich ist. 2. **Leistung und Automatisierung (Business API)**: - Verbinde Quoting24, um hohe Anfragevolumen zu verwalten. - Nutze Bots für automatische Antworten und die Qualifizierung von Kontakten. - Sende strukturierte Angebote direkt aus dem ERP. - Verwalte Chats im Mehrbenutzer-Team über die Webplattform. Kurz gesagt: **Du kannst die schwere Arbeit mit den APIs automatisieren und gleichzeitig die Möglichkeit behalten, in besonderen Fällen persönlich vom Telefon aus einzugreifen.** --- ## Anforderungen Um die Koexistenz zu aktivieren, müssen einige technische Anforderungen erfüllt sein: - **Aktualisierte App**: Stelle sicher, dass die neueste Version von WhatsApp Business auf deinem Gerät installiert ist. - **Verifizierter Business-Account**: Es kann erforderlich sein, die Unternehmensverifizierung im Business Manager von Meta abzuschließen. --- ## So aktivierst du die Koexistenz Der Prozess folgt dem Ablauf des "Embedded Signup" (integrierte Registrierung), der zur Aktivierung der offiziellen APIs verwendet wird. 1. **Verbindung starten**: Starte den Prozess zur Verknüpfung der Nummer über Quoting24: deinen BSP (Business Solution Provider). 2. **Nummer auswählen**: Wähle die Telefonnummer aus, die in der WhatsApp Business App **bereits aktiv** ist. 3. **Eignungsprüfung**: Das System prüft, ob Nummer und Account die Anforderungen von Meta erfüllen. 4. **Geführte Bestätigung**: Schließe die vom Meta- und Quoting24-Ablauf geforderten Schritte ab. 5. **Aktivierung**: Nach Abschluss des Prozesses werden die APIs auf der bestehenden Nummer aktiviert und können parallel mit der App arbeiten. --- ## Wichtige Hinweise - **Synchronisierung**: Nachrichten, die von der App gesendet werden, und Nachrichten, die über die APIs gesendet werden, sind auf beiden Plattformen innerhalb der von Meta vorgesehenen technischen Grenzen sichtbar. - **Kosten**: Über API gestartete Nachrichten (z. B. Angebotsversand, Templates) folgen der Preisliste von Meta. Manuelle Antworten aus der App bleiben kostenlos. - **Einschränkungen**: Einige in der App ausgeführte Aktivitäten sind möglicherweise nicht durch Quoting24 automatisierbar und bleiben direkt in der WhatsApp Business App verwaltet. --- ## Wichtige Einschränkung: "Cold Chat" (spontane Unterhaltungen) Es ist möglich, eine neue Unterhaltung mit einem Kunden direkt aus der WhatsApp Business App zu starten. **Diese Unterhaltung kann jedoch nicht in Quoting24 fortgesetzt werden.** Der Grund ist technisch und betrifft die Regeln von Meta: 1. Eine manuell von der App gesendete Nachricht **öffnet das 24-Stunden-Servicefenster** für die APIs nicht (wie es hingegen eine Nachricht des Kunden tun würde). 2. Da es sich nicht um eine kostenpflichtige, von Meta genehmigte "Template-Nachricht" handelt, erstellt sie keine gültige Sitzung für die Software. **Folge**: Du siehst die Nachricht in Quoting24 dank der Synchronisierung, kannst aber **nicht aus Quoting24 antworten oder weitere Nachrichten senden** innerhalb dieses Chats, bis der Kunde auf deine Nachricht antwortet. Nur die Antwort des Kunden entsperrt die Unterhaltung und ermöglicht Quoting24 einzugreifen. --- ## Nummer bereits in Koexistenz bei einem anderen Anbieter Wenn die Nummer bereits bei einem anderen Anbieter in Koexistenz ist und zu Quoting24 wechseln soll, folge [WhatsApp-API-Migration](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/de/content/broadcast_api/ Language: de Updated: 2026-11-04 # Broadcast API Der Bereich **Broadcast** ermöglicht das Erstellen und Verwalten von **Broadcast-Messaging-Kampagnen** für Nummern, die über die **offiziellen Meta-APIs** (WhatsApp Business Platform) mit Quoting24 verbunden sind. Praktisch kannst du **dieselbe Template-Nachricht an viele WhatsApp-Nummern senden**, Empfänger aus einer Excel-Datei laden, Datum und Uhrzeit festlegen und den Status jeder Nachricht verfolgen. > **Hinweis:** Quoting24 Broadcast-Kampagnen sind **nicht** die „Broadcast-Listen“ der WhatsApp-App. > Sie funktionieren nur mit einer **WhatsApp Business / Meta-API**-Verbindung im Status **connected** und nutzen **WhatsApp-Templates**, die bereits in Quoting24 verfügbar sind (von Meta synchronisiert / genehmigt). --- ## Voraussetzungen 1. **Aktive WhatsApp-Business-Verbindung** Der Menüpunkt **Broadcast** erscheint nur, wenn der Status der Meta-API-Verbindung **connected** ist. Siehe [WhatsApp](whatsapp.md) und, wenn du dieselbe Nummer auch am Telefon nutzt, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Berechtigungen** Alle Mitglieder des Raums können Kampagnen **sehen**. Nur **owner** und **admin** können Kampagnen und Nachrichten in der Warteschlange **erstellen**, bearbeiten oder löschen. 3. **WhatsApp-Templates** Mindestens ein Template muss in Quoting24 verfügbar sein (die im Wizard auswählbaren). Hat das Template einen **Header vom Typ Bild, Video oder Dokument**, muss bei der Kampagnenerstellung die Mediendatei hochgeladen werden: Meta verwendet die Vorlagenvorschau nicht automatisch wieder. 4. **Empfängerdatei** Empfänger werden aus einer **XLSX-Datei** geladen (nicht aus dem Kontakte-Adressbuch). Maximal **1000** Empfänger pro Kampagne. 5. **Meta-Abrechnung** Template-Nachrichten folgen der Meta-Preisliste (Kategorien Marketing / Utility / Authentication usw.). --- ## Broadcast-Bereich öffnen 1. Öffne das Quoting24-**Menü** (Symbol oben rechts). 2. Wähle **Broadcast**. Menüpunkt Broadcast in Quoting24 Die Seite **Broadcast-Kampagnen** öffnet sich mit dem Untertitel *Verwalte WhatsApp-Broadcast-Messaging-Kampagnen.* --- ## Kampagnenliste | Spalte | Beschreibung | | ------ | ------------ | | **Name** | Kampagnenname (klickbar für Details) | | **Planung** | Geplantes Sendedatum und -uhrzeit | | **Fortschritt** | `gesendet / gesamt (Prozent)` — der Prozentsatz zählt **gesendete + fehlgeschlagene** Nachrichten am Gesamtwert | | **Status** | Kampagnenstatus (siehe unten) | Oben rechts: **+ Neue Kampagne**. Pro Zeile kannst du die Kampagne löschen oder die Details öffnen. Liste der Broadcast-Kampagnen ### Kampagnenstatus | Status | Bedeutung | | ------ | --------- | | **Entwurf** | Entwurf (wird im Standard-Erstellungsfluss nicht verwendet) | | **Aktiv** | Kampagne erstellt und in der Warteschlange / wartet auf die geplante Zeit | | **Wird gesendet** | Versand läuft | | **Abgeschlossen** | Alle Nachrichten wurden verarbeitet (gesendet oder fehlgeschlagen) | | **Fehlgeschlagen** | Kampagne fehlgeschlagen | | **Abgebrochen** | Vom Benutzer gestoppt: noch nicht gesendete Nachrichten werden nicht mehr zugestellt | | **Archiviert** | Automatische Archivierung nach ca. 30 Tagen | --- ## Neue Kampagne erstellen Der Wizard hat **drei Schritte**: 1. **Konfiguration** 2. **Empfänger (XLS)** 3. **Vorschau und Bestätigung** ### Schritt 1 — Konfiguration Klicke in der Liste auf **+ Neue Kampagne** und fülle aus: | Feld | Eingabe | | ---- | ------- | | **Kampagnenname** | Name zur Erkennung in der Liste | | **Vorlage** | Zu sendendes WhatsApp-Template | | **Header-Bild / -Video / -Dokument** | Erscheint **nur**, wenn das gewählte Template es erfordert; dann ist die Datei Pflicht | | **Datum** | Tag des Versandstarts | | **Uhrzeit** | Uhrzeit des Versandstarts | Auf derselben Seite siehst du die Template-**Vorschau** (Text, Footer, Buttons und Medien falls hochgeladen). Danach auf **Weiter** klicken. Bildschirm Kampagne erstellen — Konfiguration #### Header-Medien (nur wenn das Template es erlaubt) Das Upload-Feld für Header-Medien ist **nicht immer sichtbar**. Es erscheint **nur**, nachdem du ein Template gewählt hast, dessen Meta-Header den Typ hat: - **Bild** → Formate `JPG`, `JPEG`, `PNG` - **Video** → Format `MP4` - **Dokument** → Format `PDF` Hat das Template keine Header-Medien, wird das Feld nicht angezeigt und du kannst ohne Anhang fortfahren. Erfordert das Template sie, kommst du ohne hochgeladene Datei nicht weiter: Meta verwendet die Vorlagenvorschau nicht automatisch erneut. Im Beispiel unten erscheint nach Auswahl eines Templates mit Bild-Header der Bereich **Header-Bild** (Klick oder Drag-and-Drop). Hochladen eines Header-Bilds bei der Erstellung einer Broadcast-Kampagne ### Schritt 2 — Empfänger (XLS) 1. Klicke auf **XLSX-Vorlage herunterladen**, um die Beispieldatei zu erhalten. 2. Fülle das Blatt mit diesen Spalten: | Spalte | Pflicht | Beschreibung | | ------ | ------- | ------------ | | `recipient_name` | Nein | Name des Empfängers (nur Bezeichnung in Quoting24) | | `recipient_address` | **Ja** | WhatsApp-Nummer (mit oder ohne `+`; Leerzeichen und Prefixe `00` werden beim Versand normalisiert) | | `var1`, `var2`, `var3`, … | Wenn das Template Variablen hat | Werte der Template-Variablen, in Reihenfolge | 3. Lade die ausgefüllte Datei hoch (**Ausgefüllte Datei hochladen**, Format `.xlsx`). 4. Sobald mindestens ein gültiger Empfänger erscheint, klicke auf **Weiter**. Limit: **maximal 1000 Empfänger** pro Kampagne. ### Schritt 3 — Vorschau und Bestätigung Prüfe: - Template-Vorschau - Empfängerliste (einzelne Zeilen kannst du **bearbeiten** oder **löschen**) Danach auf **Bestätigen und senden** klicken. Die Kampagne wird im Status **Aktiv** erstellt und die Nachrichten kommen als **Ausstehend** in die Warteschlange, geplant für Datum/Uhrzeit. Du wirst zum **Kampagnendetail** weitergeleitet. --- ## Kampagnendetail und Nachrichten Im Detail siehst du: - Status und Planung der Kampagne - Liste jeder Nachricht mit: - Name und Nummer - nächster Versand (falls noch in der Warteschlange) - Nachrichtenstatus - Versuche (`retry / max`) - möglicher Fehler - Vorschau des gerenderten Texts (mit ersetzten Variablen) ### Nachrichtenstatus | Status | Bedeutung | | ------ | --------- | | **Ausstehend** | In der Warteschlange, noch nicht gesendet | | **Geplant** | Geplant | | **Wird gesendet** | Versand an Meta läuft | | **Gesendet** | Erfolgreich gesendet | | **Fehlgeschlagen** | Nach den vorgesehenen Versuchen fehlgeschlagen | | **Abgebrochen** | Abgebrochen | | **Archiviert** | Archiviert (alte Nachrichten) | Schlägt ein Versand fehl, kann das System automatisch **wiederholen** (bis zu 10 Versuche, mit Wartezeit dazwischen). Du kannst noch nicht gesendete Nachrichten auch bearbeiten oder aus der Warteschlange entfernen (nur owner/admin). ### Kampagne abbrechen Solange der Status **Aktiv** (oder **Entwurf**) ist, kannst du **Kampagne abbrechen** nutzen. Bereits gesendete Nachrichten bleiben gesendet; noch in der Warteschlange befindliche **werden nicht mehr zugestellt**. --- ## So funktioniert der Versand - Der Versand startet zum **geplanten Datum/Uhrzeit** (oder kurz danach, falls die Zeit schon vorbei ist). - Nachrichten werden **einzeln** gesendet, mit einer kurzen Pause dazwischen. - Jede Nachricht ist ein **WhatsApp-Template**, das über die Meta-API der Raumverbindung gesendet wird. - Wenn alle Nachrichten **gesendet** oder **fehlgeschlagen** sind, wird die Kampagne **Abgeschlossen**. --- ## Wichtige Hinweise - **Nur Meta-API:** der Bereich ist verfügbar, wenn die Nummer über die offiziellen WhatsApp-Business-APIs verbunden ist. - **Menü ohne Business-Verbindung ausgeblendet:** wenn du **Broadcast** nicht siehst, prüfe, ob WhatsApp Business verbunden und im Status connected ist. - **Nutzt nicht das Kontakte-Adressbuch:** Nummern kommen aus der XLSX-Datei (oder aus Bearbeitungen in der Vorschau). - **Meta-Kosten:** jedes zustellbare Template kann je nach Kategorie und Meta-Regeln Kosten verursachen. Siehe auch [WhatsApp Coexistence](whatsapp_coexistence.md) zu Kosten bei Koexistenz. - **Einwilligung und Compliance:** bei Marketing-Kampagnen stelle sicher, dass Empfänger-Einwilligungen und WhatsApp-/Meta-Richtlinien eingehalten werden. - **1:1-Versand aus dem ERP:** um eine Nachricht an einen einzelnen Kontakt aus externer Software zu senden, nutze [Über unsere APIs auf WhatsApp schreiben](invia_whatsapp_api.md). Diese Integration ersetzt keine Massen-Broadcast-Kampagnen. --- ## Operative Zusammenfassung 1. Verbinde die Nummer mit der **Meta-API** (Status connected). 2. Stelle sicher, dass du **owner** oder **admin** bist. 3. Bereite die WhatsApp-**Templates** in Quoting24 vor. 4. Öffne **Broadcast** → **+ Neue Kampagne**. 5. Konfiguriere Name, Template, Datum/Uhrzeit (und Header-Medien falls nötig). 6. Lade die XLSX-Vorlage herunter, fülle sie aus und lade sie hoch. 7. Prüfe die Vorschau und bestätige. 8. Überwache Fortschritt, Kampagnenstatus und Nachrichtendetails. --- # WhatsApp-API-Migration URL: https://wiki.quoting24.com/de/content/migrazione_whatsapp_api/ Language: de Updated: 2026-11-04 # WhatsApp-API-Migration Diese Anleitung erklärt, wie du eine Nummer, die bereits über die **offiziellen WhatsApp-APIs** (WhatsApp Business Platform) bei einem anderen Anbieter aktiv ist, mit **Quoting24** verbindest, **ohne die Nummer zu wechseln**. Der Bereich **WhatsApp** ist **nur für Administratoren** sichtbar. Die Verbindung startet in Quoting24 immer an derselben Stelle: **Einstellungen → WhatsApp → WhatsApp Business → Verbinden**. Die Schaltfläche **Verbinden** öffnet die integrierte Registrierung von Meta (Embedded Signup). Danach ist Quoting24 der Anbieter, der die Nachrichten dieser Nummer empfängt und sendet. Vorgesehen ist die Verbindung über die offiziellen APIs, beschrieben in [WhatsApp-Überblick](whatsapp.md). --- ## Welches Vorgehen gilt Meta kennt zwei Wege, eine Nummer zu verbinden, die bereits ein anderer Anbieter nutzt. Prüfe vor dem Klick auf **Verbinden** das Portfolio unter **Meta Business Suite → Einstellungen → Konten**. | Das siehst du in der Meta Business Suite | Das tust du | | --- | --- | | **WhatsApp-Konten** und **Nachrichtenkonten** (Messaging Accounts) getrennt | Aktuelles Modell: WhatsApp-Konto mit Quoting24 **teilen**. Die Nummer bleibt, wo sie ist. | | Nur **WhatsApp-Konten** | Vorheriges Modell: Nummer mit einem SMS- oder Sprachanruf-Code **migrieren**. | Im aktuellen Modell lehnt Meta das Verschieben der Nummer von einem Konto zu einem anderen ab. Sie beim bisherigen Anbieter zu trennen macht sie nicht frei. --- ## Was du vorbereitest - **Administratorzugriff** auf Quoting24. - **Administratorzugriff** auf das Meta-Portfolio (Business Manager), dem die Nummer gehört, mit dem Facebook-Benutzer, den du im Fenster **Verbinden** verwendest. - Die Nummer ist bereits auf den offiziellen APIs registriert. Kostenlose Testnummern von Meta lassen sich nicht migrieren. - Du kannst auf dieser Nummer eine SMS oder einen Sprachanruf empfangen, falls Meta einen Code verlangt. Für die Migration des vorherigen Modells brauchst du zusätzlich: - einen **bereits genehmigten** Anzeigenamen, ohne offenen Antrag auf Namensänderung; - die Bestätigung in zwei Schritten (PIN) auf der Nummer **ausgeschaltet**, ohne die Nummer zu löschen oder das Konto zu schließen. Wenn du keinen Zugriff auf das WhatsApp-Konto hast, lässt du sie vom aktuellen Anbieter ausschalten. --- ## Aktuelles Modell: Nummer mit Quoting24 teilen Nutze dieses Vorgehen, wenn in der Meta Business Suite sowohl **WhatsApp-Konten** als auch **Nachrichtenkonten** erscheinen. Lass die Nummer bis zum Schluss beim aktuellen Anbieter aktiv. Sie vorher zu entfernen, während Kundennachrichten ankommen, unterbricht den Empfang. 1. Öffne in Quoting24 **Einstellungen → WhatsApp**. 2. Klicke in der Zeile **WhatsApp Business** auf **Verbinden** und melde dich mit dem Administrator des Meta-Portfolios an. 3. Wähle die Nummer, die bereits beim anderen Anbieter registriert ist. Meta zeigt sie in der Liste und fordert keinen neuen Code an: Die Nummer ist bereits registriert. 4. Meta schlägt das Portfolio und das WhatsApp-Konto dieser Nummer vor. Bestätige die Freigabe für Quoting24. 5. Gib den Anzeigenamen der Nummer ein und fahre fort. Meta kann ihn nach der Aktivierung erneut prüfen. 6. Prüfe die angeforderten Berechtigungen (WhatsApp-Konto, Nachrichtenkonto und verknüpfte Ressourcen) und bestätige. 7. Schließe das Meta-Fenster. In Quoting24 steht die Zeile **WhatsApp Business** auf **verbunden**. Meta legt für Quoting24 ein neues Nachrichtenkonto unter demselben WhatsApp-Konto an. Der bisherige Anbieter bleibt verbunden, bis du ihn entfernst. ### Nachrichten in Quoting24 ankommen lassen Das Teilen allein verschiebt eingehende Nachrichten nicht. Solange der bisherige Anbieter Partner bleibt, kann Meta sie weiter dorthin zustellen. Wenn die Zeile **WhatsApp Business** in Quoting24 verbunden ist: 1. Öffne in der **Meta Business Suite** **Einstellungen → Konten → Nachrichtenkonten**, wähle das Konto, gehe zu **Partner** und entferne den Zugriff der App des bisherigen Anbieters. 2. Öffne **Einstellungen → Konten → WhatsApp-Konten**, wähle das Konto der Nummer, gehe zu **Partner** und entferne dort ebenfalls den Zugriff desselben Anbieters. 3. Öffne im selben WhatsApp-Konto **Konversationsrouting** (Conversation routing) und weise Quoting24 jeden Unterhaltungstyp zu. In der Partnerliste kann der Name der mit Quoting24 verknüpften Meta-App stehen, nicht der Text „Quoting24“. Wenn nicht klar ist, welchen Zugriff du entfernen sollst, halte an und frage den Quoting24-Support, bevor du einen Partner entfernst. Bleibt nur ein Partner übrig, schaltet Meta das Routing ab und stellt die Nachrichten an diesen Partner zu. ### Was bei diesem Modell erhalten bleibt Diese Angaben bleiben an der Nummer, weil das WhatsApp-Konto sich nicht ändert: - Telefonnummer - Anzeigename - Qualitätsbewertung - Messaging-Limits - Status Official Business Account, falls er bereits aktiv war **Templates** gehören zum Nachrichtenkonto, nicht zur Nummer. Das für Quoting24 angelegte Konto startet leer: Templates des bisherigen Anbieters müssen **in Quoting24 neu angelegt** und von Meta erneut genehmigt werden. Solange sie nicht genehmigt sind: - kannst du aus Quoting24 nur innerhalb von **24 Stunden** nach der letzten Nachricht des Kunden frei antworten; - gibt es in [Broadcast API](broadcast_api.md) keine Modelle zur Auswahl. Chats, die in der bisherigen Software gespeichert sind, werden **keine** Tickets in Quoting24. Nachrichten, die nach der Verbindung ankommen, werden Tickets. Chats, die bereits auf dem Telefon des Kunden liegen, bleiben in der WhatsApp-App des Kunden. --- ## Vorheriges Modell: Nummer migrieren Nutze dieses Vorgehen nur, wenn in der Meta Business Suite **nur WhatsApp-Konten** erscheinen. ### Bestätigung in zwei Schritten ausschalten Bitte den aktuellen Anbieter, die PIN der Nummer auszuschalten, oder tu es selbst im Meta-Portfolio, wenn du Zugriff hast. Nummer und Konto müssen aktiv bleiben. Entfernt wird nur die Bestätigung in zwei Schritten. ### Nummer aus Quoting24 verbinden 1. Öffne in Quoting24 **Einstellungen → WhatsApp**. 2. Klicke in der Zeile **WhatsApp Business** auf **Verbinden** und melde dich als Administrator des Meta-Portfolios an. 3. Wähle **ein neues WhatsApp-Konto erstellen**. Mit diesem Schritt verschiebt Meta die bereits vorhandene Nummer: Es ist keine zweite Nummer. 4. Gib **denselben Anzeigenamen** ein, der für diese Nummer bereits genehmigt ist. 5. Gib **dieselbe Nummer** ein. Meta weist darauf hin, dass sie bereits bei einem WhatsApp-Business-Konto oder einem anderen Anbieter registriert ist. 6. Fordere den Code per **SMS** oder **Sprachanruf** an und gib ihn ein. 7. Schließe die übrigen Schritte im Meta-Fenster ab. Die Verschiebung ist in der Regel nach wenigen Minuten abgeschlossen. In Quoting24 wechselt die Zeile **WhatsApp Business** auf **verbunden**. Währenddessen kann der Empfang für einige Minuten aussetzen. ### Was bleibt und was neu angelegt wird An der Nummer bleiben: - Anzeigename - Qualitätsbewertung - Status Official Business Account - Messaging-Limits In Quoting24 werden neu angelegt: - die **Templates**, die erneut eingereicht und von Meta genehmigt werden müssen, bevor du außerhalb des 24-Stunden-Fensters schreibst und bevor du [Broadcast API](broadcast_api.md) nutzt; - die Kampagnen des bisherigen Anbieters; - der Chatverlauf dieser Software, der nicht importiert wird. Neue Nachrichten kommen als Tickets an. --- ## Nummer bereits in Koexistenz bei einem anderen Anbieter Wenn dieselbe Nummer bei einem anderen Anbieter **gleichzeitig** über die WhatsApp-Business-App und die APIs genutzt wird, hängt die API-Verbindung die App auf dem Telefon nicht von allein wieder an. 1. Erstelle ein **Backup der Chats** in der WhatsApp-Business-App. 2. Registriere dieselbe Nummer in der **privaten WhatsApp-App**: Die Nummer verlässt die Business-App. 3. Registriere sie erneut in der **WhatsApp-Business-App**. 4. Klicke in Quoting24 bei **WhatsApp Business** auf **Verbinden** und schließe die Koexistenz ab, wie in [WhatsApp Coexistence](whatsapp_coexistence.md) beschrieben: in der App **Einstellungen → Verknüpfte Geräte → Gerät verknüpfen**, dann den von Quoting24 gezeigten QR-Code scannen. Um die Nummer nur auf die APIs zu bringen, ohne App auf dem Telefon, nutze das Vorgehen des Meta-Modells, das du oben geprüft hast. --- ## Nach der Verbindung - Neue Nachrichten der Nummer werden in Quoting24 zu **Tickets**. - Außerhalb von 24 Stunden nach der letzten Nachricht des Kunden schreibst du mit einem **genehmigten Template**. Die Regeln des offiziellen Kanals stehen in [WhatsApp-Überblick](whatsapp.md). - Kampagnen legst du in [Broadcast API](broadcast_api.md) an, sobald die Templates in Quoting24 verfügbar sind. - Um die WhatsApp-Business-App auf derselben Nummer weiter zu nutzen, brauchst du [WhatsApp Coexistence](whatsapp_coexistence.md). - Gruppen und Broadcast-Listen der App wechseln nicht auf die APIs. --- ## Wenn das Vorgehen stoppt - **Meta lehnt das Verschieben der Nummer ab.** Das Portfolio liegt auf dem aktuellen Modell: Geh zurück zum Teilen und lass die Nummer beim bisherigen Anbieter registriert, bis Quoting24 verbunden anzeigt. - **Der SMS- oder Sprachanruf-Code kommt nicht an.** Im vorherigen Modell ist die Bestätigung in zwei Schritten noch aktiv. Schalte sie aus und klicke erneut auf **Verbinden**. - **Der Anzeigename blockiert die bisherige Migration.** Meta akzeptiert den Wechsel nur mit genehmigtem Namen und ohne ausstehende Namensänderung. - **Quoting24 ist verbunden, aber Nachrichten kommen nicht an.** Im aktuellen Modell zeigt das Routing noch auf den bisherigen Anbieter. Prüfe **Partner** und **Konversationsrouting**, bevor du die Nummer trennst. - Wenn der zu entfernende Partner nicht erkennbar ist, kontaktiere den Quoting24-Support mit der Nummer und der ID des Meta-Portfolios. --- # Widget-Kanal — Übersicht URL: https://wiki.quoting24.com/de/content/widget/ Language: de Updated: 2026-11-04 # Widget-Kanal — Übersicht Der **Widget-Kanal** nimmt Support- und Angebotsanfragen von der **Website** entgegen. Besucher öffnen einen Chat auf der Seite; die Nachrichten kommen in Quoting24 als Tickets an und die Operatoren antworten aus der gewohnten Oberfläche, mit derselben Logik wie bei den anderen Kanälen. Die Oberfläche läuft in einem **iframe**. Die einbindende Website braucht ein Skript und, wenn die Daten schon bekannt sind, einen Aufruf von `init()`. Angular, ein Supabase-Client oder direkter Zugriff auf die Quoting24-Datenbank sind nicht nötig. --- ## Welche Integration nötig ist Unternehmen zuordnen und den Verlauf wiederherstellen sind getrennte Vorgänge. `external_id`, `company_name`, `name`, `phone` und `email` geben keinen Zugriff auf die Unterhaltungen einer anderen Person. Ein auf der Website bereits angemeldeter Benutzer bleibt ein Widget-Gast, bis die Website einen gültigen Wiederherstellungsnachweis übergibt. | Fall | Was zu implementieren ist | Kontinuität | Abschnitt | | --- | --- | --- | --- | | Öffentliche Website, unbekannter Besucher | Nur das Skript. Der Besucher füllt das Kontaktformular aus. | Gastsitzung im selben Browser | [Widget B2C](widget_b2c.md) | | Website kennt Profil und Unternehmen schon | Skript und `init()` mit Profil und Unternehmensdaten | Vorausgefüllte Gastsitzung und Unternehmenszuordnung | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portal mit persönlichem Verlauf über Geräte hinweg | Zusätzlich eine Backend-Integration für `external_user_id` und `restore_id` | Persönlicher Verlauf auf dem freigegebenen Widget-Kanal | [Widget B2B](widget_b2b.md) | | Feldvertrag, CSP, Login/Logout, Provisioning | Entwicklerhandbuch | — | [Technische Integration](widget_tecnico.md) | --- ## Was das Widget tut - Zeigt eine **schwebende Schaltfläche** oder einen in die Seite **eingebetteten** Chat - Öffnet für einen neuen Besucher das Formular mit den Beschriftungen Telefon und Name. In `init()` heißen die Felder `phone` und `name`; die E-Mail, wenn die Website sie kennt, heißt `email` - Wenn die Website `init()` aufruft, nutzt es die schon vorhandenen Daten und kann den Kontakt über `external_id` (`web_code`) einem Unternehmen zuordnen. Fehlt das Unternehmen und wird auch `company_name` gesendet, kann es angelegt werden - Öffnet eine Unterhaltung, die in Quoting24 wie die anderen Kanäle geführt wird - Nimmt Anhänge PDF, DOC/DOCX, JPG/JPEG und PNG an, bis 10 MiB pro Datei und 100 MiB referenzierte Anhänge pro Unterhaltung - Zeigt Begrüßung, Willkommenstext und außerhalb der Zeiten das konfigurierte Banner. Das Verfassen von Nachrichten bleibt verfügbar Der Loader speichert den Gastnachweis im `localStorage` der Website, getrennt nach Widget-Schlüssel. Ist der Speicher blockiert, kann die Kontinuität auf die aktuelle Seite beschränkt sein. Die Gastsitzung kann die letzte Unterhaltung nach dem Schließen im selben Browser wieder lesen. Ein anderes Gerät braucht die [authentifizierte Wiederherstellung](widget_b2b.md). --- ## Wo man es in Quoting24 konfiguriert 1. **Einstellungen → Kanäle** öffnen 2. Den Kanal **Widget** auswählen 3. Die Konfiguration öffnen Dort stellt man ein: - Logo, Hauptfarbe, Position der Schaltfläche - Begrüßung, Willkommenstext, Text außerhalb der Zeiten - **erlaubte Domains** - **Einbettungscode** (vollständige Skript-URL und öffentlicher Widget-Schlüssel) Die Kanalzeiten bestimmen das Banner außerhalb der Zeiten. Den Einbettungscode und die erlaubten Domains, einschließlich Test und lokaler Entwicklung, beim Administrator anfordern. URL und Schlüssel derselben Umgebung verwenden. In den Beispielen `WIDGET_HOST` und `WIDGET_SCHLUESSEL` durch die erhaltenen Werte ersetzen. Erlaubte Domains sind Hostnamen, zum Beispiel `shop.example.com` oder `localhost`, ohne `https://`, Port, Pfad oder Präfix `*.`. `example.com` erlaubt auch seine Subdomains. Eine leere Liste wendet keine Domainbeschränkung an. Für den lokalen Test die Seite über HTTP ausliefern: als Datei öffnen reicht nicht. Logo, Farbe, Position und Texte werden in Quoting24 konfiguriert. `company_name` in `init()` ist der Firmenname des Kunden, nicht der Widget-Titel. Es gibt keinen öffentlichen Parameter `language` oder `locale`: die aktuelle Oberfläche ist Italienisch. --- ## Zwei Arten, es auf der Website zu zeigen ### Schwebende Schaltfläche Das Skript fügt die Schaltfläche ein, nachdem die grafischen Einstellungen geladen sind. Ein Klick öffnet den Chat. Auf dem Mobilgerät kann der schwebende Chat den Viewport ausfüllen. Siehe [Widget B2C](widget_b2c.md). ### Eingebetteter Chat Der Chat füllt einen Seitencontainer mit expliziter Höhe. Es gibt keine schwebende Schaltfläche: Layout und Titel kommen von der Website. In diesem Modus haben `open()`, `close()` und `toggle()` keine Wirkung. Die Website steuert Höhe und Breite des Containers. Siehe [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Eine Instanz pro Seite: der Loader stellt ein einziges `window.Quoting24Widget` bereit. Ein zweites Skript erzeugt kein zweites Widget. --- ## Öffentlicher Schlüssel und Geheimnisse {#chiave-pubblica-e-segreti} | Wert | Wo er liegt | Wozu er dient | | --- | --- | --- | | Öffentlicher Widget-Schlüssel | Skript-URL | Wählt den Kanal. Er ist öffentlich: kein persönlicher Nachweis und kein Backend-Integrationsgeheimnis | | Privates Integrationsgeheimnis | Nur im Backend der Website | Erlaubt das Anlegen und Wiederverwenden von `restore_id` | | `restore_id` | Privater Speicher pro Benutzer, im Backend | Nachweis, mit dem der Verlauf dieser Person auf diesem Widget wiederhergestellt wird | | Gastnachweis der Sitzung | `localStorage` der Website, vom Loader verwaltet | Gastkontinuität im selben Browser, pro Widget-Schlüssel | --- ## Ablauf für den Operator 1. Der Besucher öffnet den Chat auf der Website und sendet eine Nachricht 2. In Quoting24 entsteht oder läuft ein **Ticket** auf dem Widget-Kanal weiter 3. Hat die Initialisierung eine `external_id` aufgelöst, ist der Kontakt dem Unternehmen mit diesem `web_code` zugeordnet. Ein gerade vom Widget angelegtes Unternehmen hat Firmenname und, falls gesendet, E-Mail; ein vorhandenes Unternehmen wird von `init()` nicht umbenannt 4. Der Operator bearbeitet die Anfrage und antwortet aus dem Chat 5. Der Kunde sieht die Antworten im Widget Widget-Nachrichten lassen sich nur **für alle** löschen. Die Daten kommen aus dem Browser und der Besucher kann sie ändern. Die Unternehmenszuordnung beweist keine Identität und öffnet nicht den Verlauf der anderen Kontakte dieses Unternehmens. --- ## Wo anfangen 1. Erscheinungsbild, Zeiten und Domains unter **Einstellungen → Kanäle → Widget** konfigurieren 2. Öffentliche Website oder Portal, das das Profil vorausfüllt: [Widget B2C](widget_b2c.md) 3. Verlauf derselben Person in einem anderen Browser: [Widget B2B](widget_b2b.md) 4. Felder, Unternehmensanlage, CSP und Checkliste: [Technische Integration](widget_tecnico.md) --- # Widget B2C — Gastbesucher und Unternehmen URL: https://wiki.quoting24.com/de/content/widget_b2c/ Language: de Updated: 2026-11-04 # Widget B2C — Gastbesucher und Unternehmen Dieser Abschnitt behandelt Integrationen, in denen das Widget in einer **Gastsitzung** bleibt: - öffentliche Website, unbekannter Besucher: nur Skript und Kontaktformular - Website oder Portal kennt das Konto schon: `init()` mit Profil und Unternehmensdaten, Formular wird übersprungen, wenn die Daten reichen, Kontakt wird dem Unternehmen zugeordnet Der persönliche Verlauf auf einem anderen Browser oder Gerät ist eine andere Integration. Siehe [Widget B2B](widget_b2b.md). Vollständiger Feldvertrag, Kontowechsel in einer SPA, CSP und Provisioning: [Technische Integration](widget_tecnico.md). **Ein Unternehmen zuzuordnen gibt nicht den Verlauf einer anderen Person frei.** Ein auf der Website angemeldeter Benutzer bleibt ein Widget-Gast, bis Sie `external_user_id` zusammen mit einer gültigen `restore_id` senden. --- ## Was Sie erhalten - Eine schwebende Schaltfläche oder einen Chat in einem Seitencontainer - Ein Anfangsformular für Unbekannte, mit den Beschriftungen Telefon und Name. In `init()` heißen die Felder `phone` und `name` - Eine Gastsitzung, die der Loader im selben Browser speichert, getrennt nach Widget-Schlüssel. Ist `localStorage` blockiert, kann die Kontinuität auf der aktuellen Seite bleiben - Wenn Sie `external_id` senden, sucht Quoting24 ein Unternehmen mit demselben `web_code`. Mit `company_name` zusätzlich kann es das fehlende Unternehmen anlegen und den Kontakt zuordnen - Tickets und Antworten in Quoting24, wie auf den anderen Kanälen Die Gastsitzung liest ihre letzte Unterhaltung auch nach dem Schließen des Tabs. Sie folgt der Person nicht auf einen anderen Browser. --- ## 1. Voraussetzungen in Quoting24 1. Kanal **Widget** aktiv unter **Einstellungen → Kanäle** 2. Logo, Farbe, Position, Begrüßung, Willkommenstext und Text außerhalb der Zeiten konfiguriert 3. **Erlaubte Domains** aktuell, einschließlich Test und `localhost` 4. Einbettungscode aus der Kanalkonfiguration kopiert: Skript-URL und öffentlicher Schlüssel Host und Schlüssel **derselben Umgebung** verwenden. In den Beispielen `WIDGET_HOST` und `WIDGET_SCHLUESSEL` ersetzen. Domains sind Hostnamen, ohne `https://`, Port, Pfad oder `*.`. `example.com` schließt Subdomains ein. Leere Liste: keine Beschränkung. Lokal die Seite über HTTP ausliefern, nicht als `file://`. `company_name` in `init()` ist der Firmenname des Kunden. Es ist nicht der Widget-Titel und wird nicht über dieses Payload konfiguriert. --- ## 2. Schwebende Schaltfläche einbinden Das Skript **einmal** einfügen, vor ``: ```html ``` Die Schaltfläche erscheint nach dem Laden der grafischen Einstellungen. Ein neuer Besucher sieht das Kontaktformular. Wer im selben Browser zurückkehrt, setzt die Gastsitzung fort, wenn Speicher verfügbar ist. Das Skript stellt ein einziges `window.Quoting24Widget` bereit. --- ## 3. Chat in die Seite einbetten {#incorporare-la-chat-in-pagina} Den Container **vor** dem Skript anlegen und ihm eine explizite Höhe geben: ```html

Support

``` - `target` ist die Element-ID, ohne `#` - Das iframe füllt den Container - Es gibt keine schwebende Schaltfläche - `open()`, `close()` und `toggle()` haben keine Wirkung - In diesem Modus bestimmt die Website Höhe und Breite. Im schwebenden Modus kann der Chat auf dem Mobilgerät den Viewport füllen Der eingebettete Modus allein schaltet die Verlaufswiederherstellung nicht frei. --- ## 4. Kundenprofil senden {#inviare-il-profilo-del-cliente} Kennt die Website das Konto, sendet sie das Profil nach dem Laden des Loaders. Die Felder sind **Zeichenketten**. Unbekannte weglassen: kein `null`, keine numerischen IDs, keine leere E-Mail. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Angabe auf der Website oder im ERP | Feld | Bedeutung | | --- | --- | --- | | Stabile Unternehmensreferenz, derselbe Wert wie in `web_code` importiert | `external_id` | Exakter Vergleich mit `companies.web_code`, in der Organisation des Widgets | | Firmenname | `company_name` | Wird verwendet, wenn das Unternehmen angelegt werden muss | | Name der Person oder des Benutzers | `name` | Name, der am Kontakt angezeigt wird | | E-Mail des Kontos | `email` | Wird nur beim Anlegen des Unternehmens am Unternehmen gespeichert | | Telefon, falls bekannt | `phone` | Nummer des Kontakts. Internationales Format bevorzugen, zum Beispiel `+393331234567` | Dieses Payload sendet weder `external_user_id` noch `restore_id`. `name` und `company_name` getrennt halten: den Firmennamen nicht an den Benutzernamen hängen, um die Zuordnung zu erhalten. Das öffentliche Feld heißt `external_id`. Nicht `web_code`, die interne UUID von Quoting24 oder `companies.code` senden. Das Formular zeigt **Name** und **Telefon**. In `init()` heißen die Felder `name` und `phone`. Die E-Mail heißt `email`. `Name`, `Telefon` und `Email` sind keine Schlüssel: der Loader verwirft sie, so wie er `web_code` anstelle von `external_id` verwirft. ### Beispiele Name und Telefon, dieselben Daten wie im Formular. Der Chat startet und sucht kein Unternehmen. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Profil mit Unternehmen. `name` ist die Person, `phone` die Nummer des Kontakts, `email` wird am Unternehmen nur geschrieben, wenn dieser Aufruf es anlegt. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Nur E-Mail. Eine gültige Adresse in `email` reicht, um die Sitzung zu öffnen. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Überschreitet ein Feld die Grenzen oder ist die E-Mail ungültig, wird die Anfrage abgelehnt. Grenzen und Verhalten jedes Feldes: [Technische Integration](widget_tecnico.md#campi-di-init). ### Auf den Loader warten Ein `async`-Skript ist vielleicht noch nicht ausgeführt, wenn späterer Code `init()` aufruft. Für vorausgefüllte Daten ein Lademodul **anstelle** des statischen Tags verwenden, einmal im Hauptlayout importiert: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://WIDGET_HOST/assets/widget/script.js?key=WIDGET_SCHLUESSEL"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("Widget-API ist nicht verfügbar")); } }; script.onerror = () => { script.remove(); reject(new Error("Widget-Skript konnte nicht geladen werden")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Das Modul über den Bundler importieren oder die Einstiegsdatei mit `` laden. Für den eingebetteten Modus `&mode=embedded&target=chat-support` an die URL hängen und den Container zuerst einbinden. `loadWidget()` meldet nur, dass die JavaScript-API verfügbar ist. `init()` gibt `void` zurück: es reiht das Profil ein, wenn das iframe noch nicht bereit ist, und wartet nicht auf die Sitzung. Für das Ergebnis `isReady()` und `hasSessionError()` verwenden. `init()` **ersetzt** das gespeicherte Profil. Es führt es nicht mit dem vorherigen zusammen. Alle Felder übergeben, die bleiben sollen. Ein Seitenwechsel in einer SPA braucht weder ein neues Skript noch ein `reset()`. Bei Personen- oder Kontowechsel und beim Abmelden `reset()` vor dem neuen Profil aufrufen: nur die Felder zu ändern löst die vorherige Gastsitzung nicht. Vollständiges Muster: [Anmeldung, Abmeldung und Kontowechsel](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Wie das Unternehmen zugeordnet oder angelegt wird Quoting24 führt diesen Ablauf bei der Initialisierung aus, auch wenn der Besucher noch keine Nachricht gesendet hat: 1. Bei einer nicht leeren `external_id` sucht es ein Unternehmen derselben Organisation, dessen `web_code` diesem Wert entspricht 2. Findet es eines, verknüpft es den Kontakt. Name und E-Mail des vorhandenen Unternehmens bleiben unverändert 3. Findet es keines und ist auch ein nicht leeres `company_name` vorhanden, legt es das Unternehmen mit `name = company_name`, `web_code = external_id` und gegebenenfalls `email` an und verknüpft dann den Kontakt 4. Kann es das Unternehmen nicht finden oder anlegen, fährt es mit dem verfügbaren Profil fort. Reicht das für einen neuen Gast nicht, zeigt es das Formular. Datenbankfehler oder das Anfragelimit lassen die Initialisierung fehlschlagen | Gesendete Daten | Lage in Quoting24 | Ergebnis | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` existiert | Verwendet das vorhandene Unternehmen und ändert seinen Namen nicht | | Dieselben Daten plus eine gültige E-Mail | `web_code = "52"` existiert nicht | Legt das Unternehmen mit Web-Code `52`, Firmenname und E-Mail an und ordnet den Kontakt zu | | `external_id: "52"`, `name: "mario.rossi"` | Keine Übereinstimmung | Startet den Gast ohne neue Unternehmenszuordnung | | `external_id: "52"`, ohne weitere Daten | Eine Übereinstimmung existiert | Startet den zugeordneten Gast mit dem Standardnamen `Visitatore` | | `external_id: "52"`, ohne weitere Daten | Keine Übereinstimmung | Zeigt das Kontaktformular | | `company_name` ohne `external_id`, plus `name` | Beliebig | Startet den Besucher. Sucht und legt kein Unternehmen an | Die Suche verwendet weder Firmenname, E-Mail, Telefon, Umsatzsteuer-ID noch `companies.code`. `"052"` und `"52"` sind verschiedene Werte; Leerzeichen in `external_id` werden nicht entfernt. Wird der Bestand vorher importiert, in `web_code` denselben Wert schreiben, den die Website in `external_id` senden wird. Siehe auch [Unternehmen → Web-Code](companies.md#codice-web-web_code). Ein neuer Gast startet, wenn mindestens ein Name, ein Telefon, eine gültige E-Mail oder eine `external_user_id` vorhanden ist, oder ein über `external_id` gefundenes oder angelegtes Unternehmen. `init({})` und `company_name` allein starten keine Sitzung. Bei einem bereits verknüpften Kontakt kann ein neuer gültiger Code das Unternehmen wechseln. Den Code wegzulassen oder einen nicht aufgelösten zu senden löscht die vorherige Zuordnung nicht. Personen- oder Kontowechsel braucht `reset()`. ### Grenzen `web_code` ist nicht eindeutig. Bei mehreren Treffern nimmt die öffentliche Initialisierung den ersten nach aufsteigendem Erstellungsdatum. Gleichzeitige Anfragen, die das Unternehmen noch nicht finden, können mehrere anlegen: die Anlage ist nicht atomar und ersetzt keinen Import und keine Synchronisation aus dem ERP. Die implizite Anlage ist auf 20 Versuche pro 60-Sekunden-Fenster und IP-Adresse begrenzt, im Backend-Prozess, der die Anfrage bearbeitet. Darüber schlägt die Initialisierung mit `TOO_MANY_REQUESTS` fehl: mit Wartezeit wiederholen, ohne fortlaufende `init()`-Schleifen. Die Daten kommen aus dem Browser und der Besucher kann sie verändern. Die Zuordnung beweist keine Zugehörigkeit zum Unternehmen und gibt keinen Unternehmensverlauf frei. `company_name` nur senden, wenn diese öffentliche Anlage erlaubt sein soll. Vorhandene Unternehmen über die Werkzeuge von Quoting24 oder eine autorisierte ERP-Integration aktualisieren. Die E-Mail der öffentlichen Initialisierung landet nur auf dem neuen Unternehmen. Sie wird nicht am Kontakt geschrieben und aktualisiert kein vorhandenes Unternehmen. Eine Telefonnummer, die ein anderer Kontakt schon verwendet, führt Kontakte oder Chats nicht zusammen. --- ## 6. Verhalten auf der Website | Situation | Erwartetes Verhalten | | --- | --- | | Erster Besucher, nur Skript | Schaltfläche, dann Formular, dann Chat | | `init()` mit ausreichendem Profil | Formular übersprungen | | `external_id` schon als `web_code` vorhanden | Kontakt zugeordnet; Name und E-Mail des Unternehmens unverändert | | Neue `external_id` mit `company_name` | Unternehmen angelegt und Kontakt zugeordnet | | Neuer Code und Name, ohne `company_name` | Chat ohne neues Unternehmen | | Nur neuer Code | Kontaktformular | | Nur Firmenname und Name | Keine Suche und keine Anlage nach Name | | Neuladen im selben Browser | Gastsitzung fortgesetzt, wenn Speicher verfügbar ist | | Anderer Browser oder anderes Gerät | Neue Gastsitzung | | Außerhalb der Zeiten | Banner außerhalb der Zeiten; das Verfassen bleibt nutzbar | | Mobil, schwebende Schaltfläche | Der Chat kann den Viewport füllen | Anhänge: PDF, DOC, DOCX, JPG/JPEG, PNG. Höchstens 10 MiB pro Datei und 100 MiB referenzierte Anhänge pro Unterhaltung. --- ## 7. Nützliche Steuerungen Ist die schwebende Schaltfläche sichtbar, kann eine Schaltfläche der Website mit `window.Quoting24Widget?.open()` verbunden werden. | Methode | Verwendung | | --- | --- | | `init(profile)` | Setzt oder ersetzt das aktuelle Profil | | `open()` / `close()` / `toggle()` | Nur schwebendes Widget. Schließen ist kein Abmelden | | `isReady()` | Besuchersitzung gestartet. Bleibt auf dem Kontaktformular falsch | | `hasSessionError()` | Vom iframe gemeldeter Sitzungsfehler | | `reset()` | Löscht Profil, lokale Sitzung, gespeicherten Gastnachweis und Ungelesene dieser Instanz | | `dispose()` | Hängt Oberfläche und Listener ab. Löscht weder den gespeicherten Gastnachweis noch das globale API-Objekt | Nicht auf `isReady()` warten, damit ein neuer Gast das Formular öffnen kann. Es gibt kein öffentliches Verfügbarkeitsereignis. Diese Anzeigen beschreiben nicht den gesamten Netzstatus. --- ## Checkliste vor der Freigabe - [ ] Host und Schlüssel derselben Umgebung - [ ] Domains der Website und des Stagings in der Liste, nur als Hostnamen - [ ] Logo, Farbe, Begrüßung, Willkommenstext und Text außerhalb der Zeiten geprüft - [ ] Neuer Browser, nur Skript: Formular, Nachricht, Ticket in Quoting24 - [ ] `external_id` schon in `web_code`: Zuordnung, Unternehmensstamm unverändert - [ ] Neuer Code mit `company_name`: Unternehmen mit diesem Web-Code angelegt - [ ] Neuer Code ohne `company_name`: kein Unternehmen angelegt - [ ] Leere E-Mail, numerische ID oder zu langer Firmenname: Payload abgelehnt, zu korrigieren - [ ] Neuladen und SPA-Navigation: eine Instanz, Gastsitzung bleibt erhalten - [ ] Kontowechsel: sofort `reset()`, verspätete Antworten verwerfen - [ ] Mobilgerät: Verfassen nutzbar - [ ] Nicht erlaubte Domain: Widget abgelehnt Häufige Probleme: [Problemlösung](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — Verlauf auf anderen Geräten URL: https://wiki.quoting24.com/de/content/widget_b2b/ Language: de Updated: 2026-11-04 # Widget B2B — Verlauf auf anderen Geräten Dieser Abschnitt behandelt die Wiederherstellung des **persönlichen Widget-Verlaufs**, wenn dieselbe Person die Website von einem anderen Browser oder Gerät öffnet. Die Website muss die Person authentifizieren. Ihr Backend holt den Wiederherstellungsnachweis für diesen Benutzer und dieses Widget und speichert ihn privat. Der Browser übergibt ihn zusammen mit dem Profil an `init()`. Für das Skript allein oder um Profil und Unternehmen vorauszufüllen und in der Gastsitzung zu bleiben, siehe [Widget B2C](widget_b2c.md). Endpunkte, Persistenz und Nebenläufigkeit von `restore_id`: [Technische Integration](widget_tecnico.md#provisioning-da-backend). --- ## Was gegenüber der Gastsitzung hinzukommt | | Gast | Wiederherstellung | | --- | --- | --- | | Anmeldung auf der Website | Nicht erforderlich | Erforderlich, weil der Nachweis aus Ihrem Backend kommt | | Daten, die den Chat identifizieren | Gastnachweis des Browsers oder an `init()` übergebenes Profil | `external_user_id` und `restore_id` zusammen | | Kontinuität | Derselbe Browser | Andere Browser und Geräte, auf dem freigegebenen Widget-Kanal | | Wer den Nachweis ausstellt | Loader | Backend der Website, über Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` und `external_user_id` allein stellen den Verlauf nicht wieder her. `external_user_id` ohne `restore_id` reicht nicht. Das Feld heißt `restore_id`, in Snake Case: `restoreId` ist kein Feld des Loaders. Die Wiederherstellung führt alte Gastsitzungen nicht zusammen und teilt den Verlauf nicht unter Kollegen desselben Unternehmens. Sie gilt nur für den Widget-Kanal. Die Unternehmensfelder können im selben `init()` mitgesendet werden. Zuordnung oder Anlage folgt den Regeln des [Gast-Payloads](widget_b2c.md#inviare-il-profilo-del-cliente): sie ist unabhängig von der Wiederherstellung und beweist keine Identität. --- ## Ablauf 1. Der Kunde meldet sich im Portal an 2. Das authentifizierte Backend fordert bei Quoting24 einen Nachweis an (`provisionRestoreId`) oder verwendet den schon gespeicherten erneut 3. Die Seite ruft `init()` mit derselben `external_user_id`, der `restore_id` und, falls nötig, den Unternehmensdaten auf 4. Quoting24 prüft den Nachweis und zeigt die für diese Person sichtbaren Widget-Unterhaltungen, einschließlich geschlossener 5. Beim Abmelden oder beim Personenwechsel ruft die Seite `reset()` auf, damit der vorherige Chat nicht im Browser bleibt ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` ist die Backend-Antwort für den authentifizierten Benutzer. Unverändert verwenden. Höchstens 200 Zeichen. Sie verlangt die passende `external_user_id`: stabile ID der einzelnen Person, nicht leer, höchstens 100 Zeichen nach dem Trim. Das ist keine gemeinsame Unternehmens-ID. `external_id` wird mit `web_code` verglichen. Zusammen mit `company_name` kann sie das fehlende Unternehmen anlegen. Sie authentifiziert den Benutzer nicht und ersetzt `restore_id` nicht. --- ## Voraussetzungen Zusätzlich zu Branding, Domains und Einbettungscode: - eine in Quoting24 freigegebene Backend-Integration - das private Integrationsgeheimnis, nur auf dem Server - ein Provisioning-Endpunkt, gewöhnlich `widget.provisionRestoreId` - ein privater Speicher in der Datenbank der Website, ein Nachweis pro Benutzer und Widget Der öffentliche Schlüssel in der Skript-URL und das Integrationsgeheimnis sind verschiedene Werte. Siehe [Übersicht](widget.md#chiave-pubblica-e-segreti). --- ## Endpunkt im Backend der Website `/api/widget/session` ist ein Beispiel, das im Portal zu implementieren ist. Es ist keine öffentliche Quoting24-URL. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - Die Identität kommt aus der Serversitzung, nicht aus einer vom Browser gewählten ID - `Cache-Control: no-store` - `restore_id` nicht protokollieren und nicht cachen - Keine Geheimnisse in die Skript-URL oder in öffentliche `data-*`-Attribute setzen - Den Nachweis **vor** der Antwort an den Browser speichern Der Vertrag gegenüber Quoting24 (`attempt_id`, `saved_restore_id`, Sperre, Wiederverwendung des Schlüssels) steht in der [technischen Integration](widget_tecnico.md#provisioning-da-backend). Hat das Portal schon einen authentifizierten Endpunkt, der für den aktuellen Benutzer die `restore_id` dieses Widgets zurückgibt, diese Antwort verwenden. Sie mit der Personen-ID und der Unternehmensreferenz im Aufruf von `init()` verbinden. --- ## Anmeldung, Neuladen, Kontowechsel, Abmeldung Ein Neuladen der Seite von einem echten Personen- oder Kontowechsel unterscheiden. - Neuladen bei noch aktiver Anmeldung: `init()` **ohne** `reset()`, damit die gespeicherte Gastsitzung bleibt, wenn nur das Profil erneut übergeben wird. Bei der Wiederherstellung den schon persistierten Nachweis wiederverwenden: nicht bei jedem Seitenaufruf einen neuen erzeugen - Personenwechsel, Kontowechsel, Abmeldung: sofort `reset()`, dann das neue Profil, oder kein `init()`, wenn der Benutzer gegangen ist - Wiederherstellungsantworten verwerfen, die nach dem Wechsel ankommen: eine alte Antwort ist kein neues Login - In einer SPA eine einzige Instanz im Hauptlayout halten. Ein Routenwechsel startet das Provisioning nicht neu Ist die Wiederherstellung nicht verfügbar, kann der Gast-Chat angeboten werden: `reset()`, dann `init()` ohne `restore_id`. Dieser Chat bleibt vom wiederhergestellten Verlauf getrennt. Ein ungültiger, einem anderen Benutzer gehörender oder widerrufener Nachweis wird abgelehnt. Quoting24 wandelt ihn nicht in eine Gastsitzung um. Die Schaltfläche «Riprova» des Widgets fordert nicht von sich aus eine neue `restore_id` bei Ihrem Backend an. Die aktuelle Oberfläche ist Italienisch, deshalb ist diese Beschriftung Italienisch. Beispiel für `applyWidgetAuth` und Abbau: [Technische Integration](widget_tecnico.md#login-logout-e-cambio-account). `reset()` vergisst die Gastsitzung dieser Instanz und den im Browser gespeicherten Nachweis. Es widerruft `restore_id` auf dem Server nicht und beendet keine Sitzungen auf anderen Geräten. Die Website muss die anderen offenen Tabs aktualisieren. --- ## Vorherige Unterhaltungen Im wiederhergestellten Verlauf können geschlossene Chats als vorherige Unterhaltung erscheinen. - Sie zum Lesen zu öffnen öffnet die alte Unterhaltung nicht wieder - Neue Nachrichten bleiben in der aktiven Unterhaltung --- ## Checkliste vor der Freigabe - [ ] Integrationsgeheimnis nur auf dem Server - [ ] `external_user_id` stabil und pro Person, identisch zwischen Provisioning und `init()` - [ ] `restore_id` vor der Antwort an den Browser persistiert und bei späteren Besuchen wiederverwendet - [ ] Derselbe Benutzer in einem zweiten Browser: derselbe Verlauf - [ ] Zwei Benutzer desselben Unternehmens: getrennte Verläufe - [ ] `external_id` und `company_name` im Bestand geprüft, ohne zu erwarten, dass sie den Chat wiederherstellen - [ ] Abmeldung oder Kontowechsel während des Abrufs: kein Chat des vorherigen Benutzers auf dem Bildschirm - [ ] Übergang Gast ↔ Wiederherstellung mit `reset()` dazwischen - [ ] Widerrufener oder ungültiger Nachweis: Fehler, ohne stillen Rückfall auf den Gast Tests und Symptome: [Integration prüfen](widget_tecnico.md#verificare-lintegrazione) · [Problemlösung](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Technische Integration URL: https://wiki.quoting24.com/de/content/widget_tecnico/ Language: de Updated: 2026-11-04 # Widget — Technische Integration Entwicklerhandbuch: Skript, `init()`-Payload, Unternehmenszuordnung und -anlage, Lebenszyklus, authentifizierte Wiederherstellung (`restore_id`), CSP und Prüfung. Wegweiser: [Übersicht](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Referenzausgabe:** 26. Oktober 2026. Die Wiederherstellung über Geräte hinweg kommt zum Unternehmens-Payload hinzu. Vor dem Aktivieren prüfen, ob `provisionRestoreId` in der Installation verfügbar ist. Die Oberfläche läuft in einem iframe. Die einbindende Website braucht weder Angular noch einen Supabase-Client noch Zugriff auf die Quoting24-Datenbank. --- ## Integrationstyp wählen | Fall | Implementierung | Kontinuität | | --- | --- | --- | | Öffentliche Website, unbekannter Besucher | Nur Skript. Kontaktformular | Gastsitzung im selben Browser | | Website mit Kundendaten | Skript und `init()` mit Profil und Unternehmen | Vorausgefüllte Gastsitzung und Unternehmenszuordnung | | Portal mit persönlichem Verlauf über Geräte hinweg | Zusätzlich ein Backend für `external_user_id` und `restore_id` | Persönlicher Verlauf auf dem freigegebenen Widget-Kanal | Unternehmen zuordnen und den Verlauf wiederherstellen sind getrennte Vorgänge. `external_id`, `company_name`, Name, E-Mail und Telefon geben die Unterhaltungen einer anderen Person nicht frei. Ein auf der Website angemeldeter Benutzer bleibt ein Widget-Gast, bis ein gültiger Wiederherstellungsnachweis übergeben wird. --- ## 1. Konfiguration aus Quoting24 Unter **Einstellungen → Kanäle** den Widget-Kanal öffnen und holen: - vollständige Skript-URL und **öffentlichen Schlüssel** - **erlaubte Domains**, einschließlich Test und lokaler Entwicklung - Logo, Farbe, Position, Begrüßung, Willkommenstext und Zeiten URL und Schlüssel derselben Umgebung verwenden. In den Beispielen `WIDGET_HOST` und `WIDGET_SCHLUESSEL` ersetzen. Der Schlüssel in der URL ist öffentlich und wählt den Kanal: er ist kein persönlicher Nachweis und kein Backend-Integrationsgeheimnis. Domains sind Hostnamen (`shop.example.com`, `localhost`), ohne `https://`, Port, Pfad oder Präfix `*.`. `example.com` erlaubt auch seine Subdomains. Eine leere Liste wendet keine Beschränkung an. Für den lokalen Test die Seite über HTTP ausliefern, nicht als Datei. | Wert | Wo speichern | Zweck | | --- | --- | --- | | Öffentlicher Schlüssel | Skript-URL | Wählt den Widget-Kanal | | Privates Integrationsgeheimnis | Nur Backend-Secrets | Erlaubt Anlegen und Wiederverwenden von `restore_id` | | `restore_id` | Privater Speicher pro Benutzer; auf der Seite nur bei authentifizierter Sitzung | Zeigt, welcher Verlauf wiederherzustellen ist | | Gastnachweis der Sitzung | `localStorage` der Website, pro Widget-Schlüssel, vom Loader verwaltet | Gastkontinuität im selben Browser | Die Wiederherstellung braucht eine Backend-Integration, einen privaten Endpunkt und ein Geheimnis, getrennt vom öffentlichen Code. Siehe [Abschnitt 6](#provisioning-da-backend). --- ## 2. Installation ### Schwebende Schaltfläche Einmal, vor ``: ```html ``` Die Schaltfläche erscheint nach dem Laden der grafischen Einstellungen. Ein neuer Besucher öffnet das Formular mit Telefon und optionalem Namen. Der Loader speichert den Gastnachweis in `localStorage`, getrennt nach Schlüssel. Ist der Speicher blockiert, kann die Kontinuität auf die aktuelle Seite beschränkt sein. Der Loader stellt ein einziges `window.Quoting24Widget` bereit. Ein zweites Skript erzeugt kein zweites Widget. ### Eingebetteter Chat Container vor dem Skript, explizite Höhe: ```html

Support

``` `target` ist die ID, ohne `#`. Das iframe füllt den Container. Es gibt keine schwebende Schaltfläche. `open()`, `close()` und `toggle()` haben keine Wirkung. ### Auf den Loader warten Für vorausgefüllte Daten dieses Modul **anstelle** des statischen Tags verwenden, einmal im Hauptlayout importiert. Die Beispiele sind JavaScript-Module: Bundler oder ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://WIDGET_HOST/assets/widget/script.js?key=WIDGET_SCHLUESSEL"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("Widget-API ist nicht verfügbar")); } }; script.onerror = () => { script.remove(); reject(new Error("Widget-Skript konnte nicht geladen werden")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Für den eingebetteten Modus `&mode=embedded&target=chat-support` an die URL hängen und den Container zuerst einbinden. Dieses Laden nicht mit einem statischen Script-Tag verdoppeln. `loadWidget()` meldet, dass die API verfügbar ist. `init()` gibt `void` zurück: es reiht das Profil ein, wenn das iframe noch nicht bereit ist, und wartet nicht auf die Sitzung. Für das Ergebnis `isReady()` und `hasSessionError()` verwenden. --- ## 3. Felder von `init()` {#campi-di-init} Alle Werte sind **Zeichenketten**. Unbekannte weglassen. Kein `null`, keine numerischen IDs, keine leere E-Mail senden. Überschreitet ein Feld die Grenzen oder ist die E-Mail ungültig, wird die Anfrage abgelehnt. | Feld | Grenze und Verhalten | | --- | --- | | `external_id` | Höchstens 100 Zeichen. Unternehmensreferenz, exakt mit `web_code` verglichen, in der Organisation des Widgets. Leerzeichen werden nicht entfernt | | `company_name` | Höchstens 250 Zeichen nach dem Entfernen führender und nachgestellter Leerzeichen. Legt ein fehlendes Unternehmen nur zusammen mit `external_id` an. Eine leere oder nur aus Leerzeichen bestehende Zeichenkette schaltet die Anlage nicht frei | | `name` | Höchstens 250 Zeichen. Name des Kontakts; kann ihn in der aktuellen Sitzung aktualisieren | | `email` | Gültige Adresse. Bei der öffentlichen Initialisierung wird sie nur auf einem neuen Unternehmen gespeichert. Sie wird weder am Kontakt noch an einem vorhandenen Unternehmen geschrieben | | `phone` | Höchstens 80 Zeichen. Nummer des Kontakts; internationales Format bevorzugen, zum Beispiel `+393331234567`. Ein Konflikt mit einer vorhandenen Nummer führt Kontakte oder Chats nicht zusammen | | `external_user_id` | Im Basisfall optional. Stabile Personen-ID, nicht leer, höchstens 100 Zeichen nach dem Trim. Allein stellt sie den Verlauf nicht wieder her | | `restore_id` | Privater Nachweis, höchstens 200 Zeichen, vom Backend geholt. Verlangt die passende `external_user_id`. Den zurückgegebenen Wert unverändert verwenden | Beispiel, wenn die Website das Konto kennt. Feldnamen im ERP können abweichen: Unternehmensreferenz auf `external_id`, Firmenname auf `company_name`, Person auf `name`, Konten-E-Mail auf `email` abbilden. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Die Formularbeschriftungen Name und Telefon werden als `name` und `phone` gesendet. Die E-Mail heißt `email`. Nicht `Name`, `Telefon` oder `Email` senden. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Der erste Aufruf öffnet den Chat mit Name und Telefon und sucht kein Unternehmen. Der zweite genügt mit einer gültigen E-Mail. Im vollständigen Profil darüber ist `phone` die Nummer des Kontakts und `email` wird am Unternehmen nur geschrieben, wenn dieser Aufruf es anlegt. `name` und `company_name` getrennt halten. Den Firmennamen nicht an den Benutzernamen hängen, um die Zuordnung zu erhalten. Kein Feld `web_code` senden: der öffentliche Name ist `external_id`. Nicht die interne UUID von Quoting24 und nicht `companies.code` anstelle des Werts in `web_code` verwenden. `init(profile)` ersetzt das vom Loader gespeicherte Profil. Es führt nicht zusammen: die Felder übergeben, die bleiben sollen. Ein neuer Gast kann mit mindestens einem Namen, einem Telefon, einer gültigen E-Mail oder einer `external_user_id` starten, oder mit einem über `external_id` gefundenen oder angelegten Unternehmen. `init({})` und `company_name` allein starten keine neue Sitzung. Wird nur eine unbekannte `external_id` ohne `company_name` gesendet, fordert das Widget die Daten über das Formular an. `init({ restoreId: "..." })` überträgt den Nachweis nicht. Das Feld heißt `restore_id`. --- ## 4. Unternehmen zuordnen oder anlegen {#associare-o-creare-lazienda} Der Ablauf startet, wenn Quoting24 die Initialisierung verarbeitet, auch ohne Nachricht: 1. Empfängt es eine nicht leere `external_id`, sucht es ein Unternehmen derselben Organisation, dessen `web_code` diesem Wert entspricht 2. Findet es eines, verknüpft es den Kontakt. Name und E-Mail des vorhandenen Unternehmens bleiben unverändert 3. Findet es keines und empfängt es auch ein nicht leeres `company_name`, legt es das Unternehmen mit `name = company_name`, `web_code = external_id` und gegebenenfalls `email` an und verknüpft dann den Kontakt 4. Kann es das Unternehmen wegen fehlender Daten nicht finden oder anlegen, fährt es mit dem verfügbaren Profil fort. Reicht das für einen neuen Gast nicht, fordert es das Formular an. Datenbankfehler oder das Anfragelimit lassen die Initialisierung fehlschlagen | Gesendete Daten | Lage in Quoting24 | Ergebnis | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` existiert | Verwendet das vorhandene Unternehmen; ändert seinen Namen nicht | | Dieselben Daten plus eine gültige E-Mail | `web_code = "52"` existiert nicht | Legt das Unternehmen mit Web-Code `52`, Firmenname und E-Mail an und ordnet den Kontakt zu | | `external_id: "52"`, `name: "mario.rossi"` | Keine Übereinstimmung | Startet den Gast ohne neue Unternehmenszuordnung | | `external_id: "52"`, ohne weitere Daten | Eine Übereinstimmung existiert | Startet den zugeordneten Gast mit dem Standardnamen `Visitatore` | | `external_id: "52"`, ohne weitere Daten | Keine Übereinstimmung | Fordert die Daten des Besuchers an | | `company_name` ohne `external_id`, plus `name` | Beliebig | Startet den Besucher. Sucht und legt kein Unternehmen an | Die Suche verwendet weder Firmenname, E-Mail, Telefon, Umsatzsteuer-ID noch `companies.code`. `"052"` und `"52"` sind verschiedene Werte. Wird der Bestand vorher importiert, `web_code` mit demselben Wert füllen, den die Website in `external_id` senden wird. Die Zuordnung gilt für den Kontakt. Bei einem bereits verknüpften Kontakt kann ein neuer gültiger Code das Unternehmen wechseln. Den Code wegzulassen oder einen nicht aufgelösten zu senden löscht die vorherige Zuordnung nicht. Bei Personen- oder Kontowechsel `reset()` ausführen: nicht nur das Profil ändern. ### Grenzen `web_code` hat keine Eindeutigkeitsbeschränkung. Bei mehreren Treffern wird der erste gewählt, geordnet nach aufsteigendem Erstellungsdatum. Dubletten vermeiden: gleichzeitige Anfragen, die das Unternehmen noch nicht finden, können mehrere anlegen. Der Ablauf garantiert keine atomare Anlage und ersetzt keinen Import und keine Synchronisation aus dem ERP. Die implizite Anlage ist auf 20 Versuche pro 60-Sekunden-Fenster und IP-Adresse begrenzt, im Backend-Prozess, der die Anfrage bearbeitet. Darüber schlägt die Initialisierung mit `TOO_MANY_REQUESTS` fehl. Mit Wartezeit wiederholen. Fortlaufende `init()`-Schleifen vermeiden. Die Daten kommen aus dem Browser und der Besucher kann sie ändern. Die Zuordnung beweist keine Zugehörigkeit und keine Identität und gibt keinen Unternehmensverlauf frei. `company_name` senden, wenn diese öffentliche Anlage erlaubt sein soll. Vorhandene Unternehmen über Quoting24 oder eine autorisierte ERP-Integration aktualisieren. --- ## 5. Anmeldung, Abmeldung und Kontowechsel {#login-logout-e-cambio-account} Eine einzige Instanz in der Hauptstruktur einer SPA halten. Ein Seitenwechsel braucht weder ein neues Skript noch ein Reset. Bei Personen- oder Kontowechsel und beim Abmelden **`reset()` vor dem neuen Profil** aufrufen. Beim Neuladen mit noch aktiver Anmeldung `init()` ohne Reset verwenden, wie beim Start: so bleibt die gespeicherte Gastsitzung erhalten. Die Website muss das Neuladen vom tatsächlichen Wechsel unterscheiden. Aufruf bei Authentifizierungswechseln. `profile` ist das Profil des neuen Benutzers oder `null` beim Abmelden. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Den Ladefehler in der Oberfläche der Website behandeln, mit einem erneuten Versuch. Wird das Profil vor dieser Funktion vom Backend geholt, diese Anfragen beim Benutzerwechsel ebenfalls ungültig machen. Während des Wartens das vorherige Profil sofort mit `applyWidgetIdentity(null)` löschen. Reset vergisst die Gastsitzung dieser Instanz, den gespeicherten Nachweis, das Profil und den Zähler der Ungelesenen. Es ist kein Server-Widerruf und beendet keine Sitzungen auf anderen Geräten. Der Authentifizierungswechsel muss auch in den anderen offenen Tabs angewendet werden. ### Mit Verlaufswiederherstellung Enthält das Profil `restore_id`, sie nach dem `reset()` vom authentifizierten Endpunkt der Website laden und die Antwort verwerfen, wenn der Benutzer sich inzwischen geändert hat. Ein Neuladen mit demselben Benutzer verwendet den schon gespeicherten Nachweis erneut und darf `reset()` nicht aufrufen. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Nur bei Anmeldung, Abmeldung und Benutzerwechsel. // Nicht beim Neuladen mit demselben Benutzer aufrufen: reset() würde die laufende Sitzung verwerfen. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("Widget-Wiederherstellung nicht verfügbar"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Unerwartete Wiederherstellungsantwort"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Support-Chat: Wiederherstellung fehlgeschlagen.", error); } } ``` Die Schleife kopiert nur vorhandene und nicht leere Felder. Eine E-Mail `""` oder eine numerische ID darf nicht gesendet werden. ### JavaScript-API | Methode | Verwendung | | --- | --- | | `init(profile)` | Übergibt oder ersetzt das aktuelle Profil. Der Loader führt Felder nicht mit einem vorherigen Profil zusammen | | `open()` / `close()` / `toggle()` | Öffnet, schließt oder schaltet das schwebende Widget um. Schließen ist kein Abmelden. Im eingebetteten Modus ohne Wirkung | | `isReady()` | Initialisierung der Besuchersitzung erfolgreich. Bleibt während des Kontaktformulars falsch | | `hasSessionError()` | Vom iframe gemeldeter Sitzungsfehler | | `reset()` | Löscht Profil, lokale Sitzung, gespeicherten Gastnachweis und Zähler der Ungelesenen | | `dispose()` | Hängt Oberfläche und Listener ab. Löscht weder den gespeicherten Gastnachweis noch das globale API-Objekt | Eine Schaltfläche der Website kann mit `window.Quoting24Widget?.open()` verbunden werden, wenn die schwebende Schaltfläche erschienen ist. Nicht auf `isReady()` warten, damit ein neuer Gast das Formular öffnen kann. Es gibt kein öffentliches Verfügbarkeitsereignis. Diese Anzeigen beschreiben nicht den gesamten Netzstatus. Ein aufgelöstes `loadWidget()` bedeutet nicht, dass Branding und Sitzung bereit sind. ### Vollständiger Abbau Muss das Widget entfernt werden, `dispose()` ausführen. Fällt der Abbau mit dem Abmelden zusammen, zuerst `reset()` ausführen. Vor dem erneuten Laden des Skripts das Global löschen und die Promise des Loaders zurücksetzen. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` ist die im Loader-Modul definierte. Den Abbau nach Abschluss des Ladens ausführen. Nicht gleichzeitig mit einem neuen `loadWidget()` ausführen. Für Authentifizierungswechsel `applyWidgetIdentity()` oder `applyWidgetAuth()` verwenden, die auf den Loader warten. Das lokale Reset widerruft `restore_id` auf dem Server nicht. --- ## 6. Authentifizierte Wiederherstellung {#provisioning-da-backend} Die Gastsitzung liest ihre letzte Unterhaltung auch nach dem Schließen. Die für dieselbe Person auf einem anderen Browser sichtbaren Unterhaltungen brauchen `external_user_id` und `restore_id` zusammen. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` Die Wiederherstellung führt alte Gastsitzungen nicht zusammen und teilt den Verlauf nicht unter Kollegen desselben Unternehmens. ### Endpunkt im Backend der Website Beispiel für das Portal, keine Quoting24-URL. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` `Cache-Control: no-store` setzen. Identität und Unternehmen nur aus der Serversitzung. Auth und CSRF der Anwendung anwenden. Körper, die den Nachweis enthalten, nicht protokollieren. Stellt das Portal schon einen authentifizierten Endpunkt bereit, der die `restore_id` des aktuellen Benutzers für dieses Widget zurückgibt, diese Antwort verwenden und mit Personen-ID und Unternehmensreferenz verbinden. ### Server-zu-Server-Provisioning Typischer Pfad: `/fastify/trpc/widget.provisionRestoreId` (oder `/trpc/widget.provisionRestoreId`, wenn das Backend direkt exponiert ist). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Erzeugte Werte beginnen mit `q24-restore-v1:`. Sie nicht erfinden und nicht aus öffentlichen IDs ableiten. | Eingabe | Anforderung | | --- | --- | | `widget_api_key` | Pflicht-UUID, für das Geheimnis freigegeben | | `external_user_id` | Stabile Personen-ID, gleich der in `init()` | | `attempt_id` | Streng steigende positive Ganzzahl, als Dezimalzeichenkette, höchstens `9223372036854775807` | | `saved_restore_id` | Schon gespeicherter Nachweis. Beim ersten Provisioning weglassen | | `external_id`, `name`, `email`, `phone` | Optional, mit denselben Grenzen wie `init()` | Muster **ensure**, holen oder anlegen: 1. Den Benutzer authentifizieren und in einer Transaktion eine Sperre auf die Wiederherstellungszeile setzen 2. Eine neue `attempt_id` aus einer Sequenz **nach** der Sperre vergeben (`CACHE 1`, nicht zyklisch; die Sequenz überlebt das Rollback) 3. Quoting24 mit `attempt_id` und, falls vorhanden, `saved_restore_id` aufrufen 4. `result.data.restore_id` speichern und committen 5. Den Nachweis erst nach dem Commit an den Browser zurückgeben Eine gültige `saved_restore_id` muss **wiederverwendet** werden. Sie wegzulassen, wenn schon ein gültiger Schlüssel existiert, ersetzt den Schlüssel und macht wiederhergestellte Sitzungen ungültig. Nicht bei jedem Seitenaufruf einen neuen Schlüssel erzeugen. Gelingt das entfernte Provisioning und schlägt das lokale Speichern fehl, einen Fehler zurückgeben. Den nicht gespeicherten Schlüssel nicht zurückgeben. Timeouts begrenzen. `company_name` wird in `init()` gesendet. Der Provisioning-Körper oben enthält es nicht: Zuordnung und Anlage des Unternehmens, beschrieben in [Abschnitt 4](#associare-o-creare-lazienda), geschehen, wenn der Browser die Sitzung initialisiert. Die E-Mail der öffentlichen Initialisierung wird nur auf einem neuen Unternehmen geschrieben. ### Ergebnis im Widget Quoting24 prüft den Nachweis und lädt den für diesen Benutzer sichtbaren Widget-Verlauf. Geschlossene Chats können als vorherige Unterhaltung erscheinen: sie zu lesen öffnet die alte Unterhaltung nicht wieder; das Senden bleibt in der aktuellen. Ein ungültiger, einem anderen Benutzer gehörender oder widerrufener Nachweis wird abgelehnt, ohne automatische Umwandlung in eine Gastsitzung. Die Schaltfläche «Riprova» des Widgets fordert nicht von sich aus eine neue `restore_id` an. Die aktuelle Oberfläche ist Italienisch. --- ## 7. Seite, Netz und Erscheinungsbild - **Eine Instanz pro Seite** - **CSP.** Die Widget-Herkunft in `script-src` und `frame-src` erlauben und die für die Installation angegebene API-Herkunft in `connect-src` (Laden der grafischen Einstellungen). Konfigurierte Bilder in `img-src` erlauben. Der Loader fügt Inline-Stile ein und bietet keine öffentliche Nonce-Option: die CSP der Website prüfen. Das CSS der Seite ändert das Innere des Cross-Origin-iframe nicht - **Verbindungen des iframe.** Es muss API, Realtime/WebSocket und Speicher der eigenen Installation erreichen. Für Netzfilter die tatsächlichen Hosts der Umgebung verwenden - **Erscheinungsbild und Sprache.** Logo, Farbe, Position und Texte werden in Quoting24 konfiguriert. `company_name` ist der Firmenname des Kunden. Es gibt keinen öffentlichen Parameter `language` oder `locale`; die aktuelle Oberfläche ist Italienisch - **Mobilgerät.** Der schwebende Chat kann den Viewport füllen. Im eingebetteten Modus steuert die Website Höhe und Breite - **Anhänge und Zeiten.** PDF, DOC/DOCX, JPG/JPEG und PNG. Bis 10 MiB pro Datei und 100 MiB referenzierte Anhänge pro Unterhaltung. Außerhalb der Zeiten zeigt das Widget das Banner und lässt das Verfassen verfügbar --- ## 8. Integration prüfen {#verificare-lintegrazione} Ein Testkonto und einen Testkanal verwenden. Den Bestand in Quoting24 prüfen, nicht nur den Chat. | Prüfung | Erwartetes Ergebnis | | --- | --- | | Neuer Browser, nur Skript | Kontaktformular, dann Unterhaltung | | Vollständiges Payload mit `external_id`, die schon als `web_code` vorhanden ist | Kontakt dem vorhandenen Unternehmen zugeordnet; Name und E-Mail des Unternehmens unverändert | | Vollständiges Payload mit neuem Code | Unternehmen mit Web-Code, Firmenname und E-Mail angelegt; Kontakt zugeordnet | | Neuer Code und Name, ohne `company_name` | Chat gestartet, kein Unternehmen angelegt | | Nur neuer Code | Kontaktformular | | Nur Firmenname und Name | Kein Unternehmen nach Name gesucht oder angelegt | | Leere E-Mail, numerische ID oder zu langer Firmenname | Payload abgelehnt | | Zweites `init()` in derselben Sitzung | Gastsitzung läuft weiter. E-Mail und Telefon holen nicht den Chat einer anderen Person | | Neuladen, SPA-Navigation, Mobilgerät | Eine Instanz; Gastkontinuität, wenn Speicher da ist; nutzbares Layout | | Abmeldung oder Kontowechsel während des Ladens | Vorherige Sitzung gelöscht; verspätete Ergebnisse stellen das alte Profil nicht wieder her | | Derselbe authentifizierte Benutzer, anderer Browser, gültige `restore_id` | Verlauf dieser Person | | Zwei Benutzer desselben Unternehmens | Getrennte Nachweise und Verläufe | | Gast, dann Wiederherstellung | `reset()` dazwischen; Sitzungen werden nicht zusammengeführt | | Ungültiger oder widerrufener Nachweis | Fehler, ohne automatischen Rückfall auf den Gast | | Vorherige Unterhaltungen | Nur Lesen; das Senden bleibt in der aktuellen | | Nicht erlaubte Domain | Zugriff abgelehnt | | Netz unterbrochen | Wiederverbindung; Entwurf bleibt erhalten, wenn das Senden fehlschlägt | --- ## Problemlösung {#risoluzione-dei-problemi} | Symptom | Prüfung | | --- | --- | | Die Schaltfläche erscheint nicht | URL, Schlüssel, Kanal aktiv, Domains, CSP, Anfrage `widget.getBranding`. Das JavaScript-Global allein beweist nicht, dass die Schaltfläche existiert. `open()` hat keine Wirkung, bis das Branding geladen ist, und keine Wirkung im eingebetteten Modus | | `Quoting24Widget` ist nicht definiert | Auf das Laden warten. Den Parameter `key` prüfen | | Der eingebettete Chat ist unsichtbar | Container vor dem Loader, richtige ID, Höhe größer als null | | `Domain not allowed` | Hostname der Website, ohne Schema, Port und Pfad. Auch den Test prüfen. Die Seite muss über HTTP ausgeliefert werden | | Telefonformular trotz Profil | Asynchrone Reihenfolge, snake_case, leere Werte, vorheriges `reset()`, Profil reicht für einen neuen Gast nicht | | Das Unternehmen wird nicht gefunden | `external_id` mit `web_code` in derselben Organisation vergleichen, einschließlich Leerzeichen und führender Nullen | | Das fehlende Unternehmen wird nicht angelegt | `external_id` und `company_name` müssen beide nicht leer sein. Validierung und Anlagelimit prüfen | | Name oder E-Mail des Unternehmens ändern sich nicht | Erwartet: `init()` legt fehlende Unternehmen an und aktualisiert vorhandene nicht | | Die E-Mail erscheint nicht am Kontakt | Erwartet bei der öffentlichen Initialisierung: die E-Mail wird nur beim Anlegen des Unternehmens verwendet | | `TOO_MANY_REQUESTS` | Warten und wiederholen. Wiederholte Aufrufe oder Massenimporte über das Widget vermeiden | | Der Verlauf fehlt auf einem anderen Gerät | Das Unternehmens-Payload stellt ihn nicht wieder her. `external_user_id` und `restore_id` sind erforderlich | | Wiederhergestellte Sitzungen ungültig | Ensure-Aufrufe müssen `saved_restore_id` erneut senden. Nicht bei jedem Seitenaufruf einen neuen Schlüssel ausgeben | | «Riprova» reicht nicht | Neue `restore_id` vom eigenen Endpunkt, dann `reset()` und `init()` | | Nach einem Kontowechsel bleibt der alte Chat | `reset()` sofort beim Identitätswechsel. Vorherige asynchrone Antworten verwerfen | | Nach `dispose()` erzeugt das Skript das Widget nicht neu | Global und Skript löschen, die Promise des Loaders zurücksetzen, dann neu laden | | Die Oberfläche bleibt Italienisch | Keine öffentliche Option `language` oder `locale` am Loader | --- ## Implementierungsreferenzen - Loader und JavaScript-API: `@frontend/src/public/widget/script.ts` - Initialisierung, Unternehmenszuordnung und implizite Anlage: `@backend/fastify/routes/widget/initialize.ts` - Tests zu Initialisierung und Unternehmen: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Domain und Kanal: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning von `restore_id`: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Kontakte URL: https://wiki.quoting24.com/de/content/contacts/ Language: de Updated: 2026-11-04 # Kontakte Im Menü oben rechts ist der Bereich **„Kontakte“** verfügbar. Diese Seite zeigt die Liste der **in Quoting24 verwalteten Kontakte** ab der Verbindung des WhatsApp-Kanals. Kontaktbildschirm --- ## Navigation auf der Seite ### Kontaktsuche Oben links befindet sich ein **Suchfeld**, mit dem ein Kontakt schnell gefunden werden kann: - durch Eingabe des **Namens** - oder der **Telefonnummer** ### Hauptaktionen Oben rechts befinden sich die folgenden Schaltflächen: - **Neu laden** Ermoeglicht eine **manuelle Aktualisierung** der Kontaktdaten zwischen dem WhatsApp-Kanal und Quoting24. - **Import/Export** Öffnet den Dialog zum **Herunterladen einer Excel-Vorlage**, zum **Exportieren** von Kontakten oder zum **Importieren** einer Datei. Details im Abschnitt [Import/Export von Kontakten über Excel](#importexport-von-kontakten-über-excel). - **+ Hinzufügen** Ermöglicht das Erstellen eines **neuen Kontakts**. Es öffnet sich ein Bildschirm, auf dem du Folgendes eingeben kannst: - Name - Telefonnummer - Unternehmen Nach dem Ausfüllen der Felder kannst du den **Kontakt speichern**. Bildschirm Benutzer hinzufügen --- ## Zuweisung eines Unternehmens zu einem Kontakt Aus der Kontaktliste kann einem Kontakt schnell ein Unternehmen zugewiesen werden, indem du auf **„+ Unternehmen zuweisen“** klickst. Bildschirm Unternehmen und Benutzer hinzufügen Die Liste der **gespeicherten Unternehmen** im eigenen Account\* von Quoting24 wird angezeigt. Um das Unternehmen dem Kontakt zuzuweisen, genügt ein Klick auf **„Auswählen“**. Bildschirm Unternehmen auswählen > *Mit **Account** ist die **Telefonnummer** gemeint: > Jede mit Quoting24 verbundene Telefonnummer hat ihre eigenen **Kontakte**, **Unternehmen** und **[Lieferschichten](delivery_shifts.md)**.* --- ## Zuweisung eines Unternehmens zu einem Kontakt (zweite Methode) Nicht zugewiesener Benutzer Wenn ein Kunde noch keinem [**Unternehmen**](companies.md) zugewiesen ist oder nicht als **Privat** markiert wurde, muss auf das eingekreiste Element geklickt werden, um das nächste Fenster zu öffnen. Unternehmen zuweisen An diesem Punkt gibt es 3 Fälle: - Der Kontakt ist **Privat** und gehört somit keinem bestimmten Unternehmen an. In diesem Fall erfolgt die Zuweisung über die Schaltfläche ***Als privat zuweisen*** - Der Kontakt **gehört zu einem Unternehmen unter den exportierten Unternehmen**. In diesem Fall genügt es, das entsprechende Unternehmen des Kunden auszuwählen - Der Kontakt **gehört zu einem Unternehmen, das nicht unter den exportierten Unternehmen ist**. In diesem Fall genügt es, die Schaltfläche ***Neues Unternehmen*** zu drücken und es dem Kunden zuzuweisen Zugewiesener Benutzer Nachdem der Benutzer dem Unternehmen zugewiesen wurde, erscheint in der Ticketliste im Tag neben dem Namen der **Firmencode** (ohne `#`). Wenn der Kunde als **Privat** markiert wurde, wird die Bezeichnung *Privat* angezeigt. In der **Ticketliste** zeigt das einzelne Tag rechts neben dem Namen auch die **Priorität** des Kontakts und nimmt die Farbe vom **Typ** (Unternehmen oder persönlich). Details unter [Hauptbildschirm](main_screen.md#vorschau-und-indikatoren-in-der-liste). --- ## Neue Anfrage öffnen Unter Kontakte kannst du eine Unterhaltung starten, ohne das **+** der Startseite zu nutzen. * in der **Kontaktliste** hat jede Zeile **Neue Anfrage öffnen** * im **Kontaktdetail** findest du dieselbe Schaltfläche oben Dadurch wird eine neue Anfrage an diesen Kontakt geöffnet, mit denselben Regeln der [Ticketverwaltung](gestione_ticket.md) wie auf der Startseite. --- ## Priorität des Kontakts Jeder Kontakt kann eine eigene **Priorität** haben: **Hoch**, **Mittel** oder **Niedrig**. Verhalten: * wenn der Kontakt ein Unternehmen hat und keine Kontaktpriorität gesetzt ist, verwendet Quoting24 die **Unternehmenspriorität** (*Vom Unternehmen geerbt*) * du kannst eine Priorität auch für einen Kontakt **ohne Unternehmen** setzen * du kannst die geerbte Priorität **überschreiben**, ohne die Unternehmenspriorität zu ändern Die Priorität kann verwaltet werden: * im Formular zum Erstellen / Bearbeiten des Kontakts * im Tab **Informationen** des Tickets * beim Excel-Import von Kontakten, wenn die Spalte vorhanden ist In der Ticketliste erscheint das Prioritätssymbol im Tag neben dem Namen. --- ## Typ des Kontakts Der **Typ** (z. B. Kunde, Lieferant, Mitarbeiter) funktioniert anders als die Priorität: * Kontakt **ohne Unternehmen** → du kannst einen persönlichen Typ zuweisen * Kontakt **mit Unternehmen** → der Typ ist **immer der Unternehmenstyp**, am Kontakt nicht bearbeitbar; ändere ihn am Unternehmen Im Tab **Informationen** des Tickets erscheint bei geerbtem Typ *Vom Unternehmen geerbt*. Der effektive Typ färbt das Tag in der Ticketliste und kann als Filter **Unternehmenstyp** im Trichter der Startseite verwendet werden. --- ## Synchronisierung von Kontaktnamen Quoting24 ist die **führende Referenz** für Kontaktnamen. Das bedeutet: Wenn ein Kontakt in Quoting24 bereits einen gespeicherten Namen hat, gilt dieser Name als korrekt und wird **nicht mehr** durch automatische Aktualisierungen des WhatsApp-Kanals überschrieben. Die Kontaktsynchronisierung kann zu verschiedenen Zeitpunkten erfolgen, zum Beispiel: - wenn eine manuelle Synchronisierung gestartet wird - wenn eine Nachricht von einer neuen Nummer eingeht - während anderer automatischer Prozesse zur Kontaktaktualisierung Wenn eine Aktualisierung aus WhatsApp eintrifft, wendet Quoting24 diese Logik an: - wenn der Kontakt in Quoting24 **noch nicht existiert**, wird er mit Telefonnummer und dem aus dem WhatsApp-Kanal verfügbaren Namen erstellt - wenn der Kontakt **bereits existiert**, werden nur fehlende Daten ergänzt - der **Name** wird nur aktualisiert, wenn er in Quoting24 noch leer ist - wenn der Kontakt in Quoting24 bereits einen Namen hat, ändern automatische Aktualisierungen ihn nicht In der Praxis dient die Synchronisierung dazu, **fehlende Daten zu ergänzen**, nicht dazu, Informationen zu überschreiben, die von den Mitarbeitern in Quoting24 bereits korrigiert wurden. Diese Einstellung verhindert, dass manuell korrigierte Namen nach einer neuen WhatsApp-Aktualisierung verloren gehen, und hält die in Quoting24 verwalteten Daten konsistent. --- ## Hinweise zu Kontakten Es können **Hinweise zu Kontakten** konfiguriert werden, also wichtige Notizen, die oberhalb des Chats angezeigt werden, wenn eine Unterhaltung mit diesem Kontakt geöffnet wird. Hinweise sind nützlich, um Informationen hervorzuheben, die der Mitarbeiter sofort sehen muss, zum Beispiel: - besondere kommerzielle Anweisungen - mit dem Kunden vereinbarte Bedingungen - operative Hinweise, die zu beachten sind - wichtige Notizen von Kollegen --- ## Import/Export von Kontakten über Excel Aus der Kontaktliste kannst du den Dialog **Import/Export** öffnen, um: - eine **Excel-Vorlage** mit der korrekten Spaltenstruktur **herunterzuladen** - **alle** Kontakte des Tenants zu **exportieren**, oder **nur die ausgewählten** - eine Excel-Datei zu **importieren** und die Änderungen nach der Vorschau zu speichern ### Export Der Export lädt die Kontakte des Tenants herunter (einschließlich der Referenzen zu **Unternehmen** und **Location**) und erzeugt eine **`.xlsx`**-Datei. Du kannst exportieren: - **alle** Kontakte - oder **nur die in der Liste ausgewählten** Kontakte Die exportierte Datei enthält auch die Spalte **`id`**: das ist die Quoting24-Kontakt-ID und sollte beibehalten werden, wenn du dieselben Kontakte bei einem späteren Import aktualisieren möchtest. ### Import So importierst du Kontakte: 1. öffne den Dialog **Import/Export** aus der Kontaktliste 2. lade die Excel-Datei hoch (du kannst von der herunterladbaren Vorlage oder von einem vorherigen Export ausgehen) 3. prüfe die **Tabellenvorschau** 4. speichere, um den Import zu starten Das Backend führt ein **Upsert in Batches von 500** Zeilen durch. #### Wie jeder Kontakt zugeordnet wird Für jede Zeile der Datei gilt diese Logik: 1. wenn die Spalte **`id`** ausgefüllt ist und die ID bereits **im aktuellen Tenant** existiert → **aktualisiert** diesen Kontakt 2. wenn keine `id` vorhanden ist (oder sie im Tenant nicht passt) → Suche nach **Telefon** (auch in normalisierter Form): wenn gefunden → **aktualisiert** den bestehenden Kontakt, **ohne einen neuen zu erstellen** 3. nur wenn weder nach `id` noch nach Telefon eine Übereinstimmung besteht → **erstellt** einen neuen Kontakt 4. wenn die `id` existiert, aber zu einem **anderen Tenant** gehört → wird sie als neuer Kontakt behandelt (es wird ein neuer erzeugt) #### Pflichtfelder und Regeln - **`name`** und **`phone`** sind **pflichtig** - Telefonnummern **ohne** Präfix `+` oder `00` → Quoting24 nimmt das Präfix **`+39`** an - **`company_id`** und **`location_id`** werden **nur angewendet, wenn sie gültig und zueinander konsistent sind**; andernfalls werden sie **ignoriert** --- ## Verfügbare Aktionen für Kontakte Innerhalb des Kontaktbildschirms findest du neben **Neue Anfrage öffnen**: - **Papierkorb** → löscht den Kontakt - **Stift** → bearbeitet den Kontakt - **Roter Pfeil** → öffnet den **Anfrageverlauf** des Kontakts Bildschirm Kontaktsymbole --- # Unternehmen URL: https://wiki.quoting24.com/de/content/companies/ Language: de Updated: 2026-11-04 # Unternehmen Im Menü oben rechts ist auch der Bereich **„Unternehmen“** verfügbar. Diese Seite zeigt die Liste der **Unternehmen, die im eigenen Account\*** von Quoting24 vorhanden sind. Im Unterschied zu **Kontakten** (die ueber den WhatsApp-Kanal und durch Mitarbeiter erstellt oder aktualisiert werden) werden **Unternehmen** vom Mitarbeiter angelegt, manuell oder per Excel, oder vom **Widget-Kanal**, wenn die Website `external_id` zusammen mit `company_name` sendet. > *Mit **Account** ist die **Telefonnummer** gemeint: > Jede mit Quoting24 verbundene Telefonnummer hat ihre eigenen **[Kontakte](contacts.md)**, **Unternehmen** und **[Lieferschichten](delivery_shifts.md)**.* --- ## Erstellung neuer Unternehmen Zum Erstellen neuer Unternehmen stehen **zwei Methoden** zur Verfügung, erreichbar über die Schaltflächen **oben rechts** auf dem Bildschirm: - **Import aus Excel-Datei** Ermöglicht das gleichzeitige Hochladen mehrerer Unternehmen über eine strukturierte Excel-Datei. - **Manuelles Hinzufügen und Bearbeiten** (`+ Hinzufügen`) Ermöglicht das Einfügen eines einzelnen Unternehmens durch manuelles Ausfüllen des Formulars. Beide Methoden ermöglichen eine vollständige und unabhängige Verwaltung der Unternehmen, die dem eigenen Quoting24-Account zugeordnet sind. Bildschirm Unternehmensliste --- Mit der Schaltfläche **„+ Hinzufügen“** kannst du ein neues Unternehmen erstellen, indem du das entsprechende Formular ausfüllst. Bildschirm Unternehmen hinzufügen Auf demselben Bildschirm können auch bestehende Unternehmen bearbeitet werden (durch Klicken auf das Stiftsymbol). --- ## Unternehmensimport über Excel Um mehrere Unternehmen gleichzeitig über eine Excel-Datei zu importieren: 1. Klicke auf die Schaltfläche **„Import/Export excel“** 2. Klicke auf dem folgenden Bildschirm auf die rote Schaltfläche **„Importieren“** 3. Lade die Excel-Datei von deinem Computer hoch Außerdem kann eine **Beispieldatei heruntergeladen** werden, um die korrekte Formatierung der hochzuladenden Datei zu prüfen. Bildschirm Unternehmen per Excel hinzufügen Während der Importphase der Unternehmen über Excel ist es **empfehlenswert, Notizen** in der Datei einzufügen, um die Zuordnung der [Lieferschichten](delivery_shifts.md) zu erleichtern. --- ## Priorität und Typ des Unternehmens Für ein Unternehmen kannst du festlegen: * eine **Priorität** (Hoch, Mittel, Niedrig) * einen **Typ** (Kunde, Lieferant, Mitarbeiter, …) Diese Werte wirken sich auf verknüpfte Kontakte aus: * die **Unternehmenspriorität** wird von Kontakten ohne eigene Priorität geerbt; der Kontakt kann sie trotzdem überschreiben * der **Unternehmenstyp** wird von Kontakten geerbt und **kann am Kontakt nicht geändert werden**, solange ein Unternehmen zugewiesen ist In der Ticketliste spiegelt die Tag-Farbe neben dem Namen den effektiven Typ wider (Unternehmen oder, bei Kontakten ohne Unternehmen, den persönlichen Typ). Unternehmenspriorität und -typ können auch im Tab **Informationen** des Tickets im Unternehmensbereich unten bearbeitet werden. Details zum Kontakt: [Kontakte → Priorität](contacts.md#priorität-des-kontakts) und [Kontakte → Typ](contacts.md#typ-des-kontakts). --- ## Web-Code (`web_code`) {#codice-web-web_code} `web_code` ist die Referenz, mit der das Widget das Unternehmen erkennt. Die Website sendet denselben Wert im öffentlichen Feld `external_id`. Das Widget-Payload hat kein Feld `web_code`. Wird der Bestand geladen, bevor die Website verbunden wird, in `web_code` **denselben Wert** schreiben, den die Website in `external_id` senden wird. Nicht die interne UUID von Quoting24 und nicht den ERP-Code `companies.code` verwenden. | Situation | Ergebnis | | --- | --- | | `web_code` gleich `external_id` | Der Widget-Kontakt wird verknüpft. Name und E-Mail des Unternehmens bleiben die schon gespeicherten | | Keine Übereinstimmung, und die Website sendet auch `company_name` | Quoting24 legt das Unternehmen an (`name`, `web_code`, E-Mail falls vorhanden) und verknüpft den Kontakt | | Mehrere Unternehmen mit demselben `web_code` | Die öffentliche Initialisierung verwendet das erste, nach aufsteigendem Erstellungsdatum | `"052"` und `"52"` sind verschiedene Codes. Leerzeichen in `external_id` werden nicht entfernt. `web_code` hat keine Eindeutigkeitsbeschränkung: Dubletten vermeiden, weil zwei gleichzeitige Anlagen sie erzeugen können. Die vom Widget hergestellte Verknüpfung aktualisiert ein vorhandenes Unternehmen nicht und öffnet nicht den Verlauf der anderen Kontakte. Vollständiger Vertrag: [Technische Integration des Widgets](widget_tecnico.md#associare-o-creare-lazienda). --- ## Unternehmensnotizen Unternehmen können operative Notizen haben, die mit ihren Stammdaten verknüpft sind. Diese Notizen helfen Mitarbeitern, während der Bearbeitung eines Tickets schnell nützliche Informationen abzurufen, zum Beispiel kommerzielle Hinweise, interne Referenzen oder spezifische Arbeitsbedingungen. Wenn an einem Ticket gearbeitet wird, können die Notizen des Unternehmens schnell über den Tab **Informationen** der Anfrage eingesehen und geändert werden (Unternehmensbereich unten). --- # AI-Übersicht URL: https://wiki.quoting24.com/de/content/ai/ Language: de Updated: 2026-11-04 # AI-Übersicht **AI** in Quoting24 ist das Modul, das die **gesamte Konversation** eines Tickets **liest und interpretiert** und daraufhin den **rechten Bereich** (Fahrzeuge und Ersatzteile) aktualisiert. Es „versteht“ nicht mehr nur eine Nachricht nach der anderen: Es berücksichtigt den **Chat-Verlauf**, den **Verlauf** der Konversation und den **aktuellen Stand** des Fahrzeug-/Ersatzteilbereichs. So landen Teile unter dem richtigen Fahrzeug, auch wenn der Kunde: * zuerst die Ersatzteile und **danach** das Kennzeichen schreibt * das **Foto des Fahrzeugscheins** nach der Teileliste schickt * mit **Zitat** einer früheren Nachricht antwortet * im selben Ticket über **mehrere Autos** spricht Diese Anleitung beschreibt die **AI-Erkennung** der Konversation. Wo es hilft, sie vom konversationellen Chat-Assistenten (**AI Premium**) zu unterscheiden, weisen wir klar darauf hin. --- ## Wie Nachrichten verarbeitet werden {#come-elabora-i-messaggi} **Nah beieinanderliegende** Nachrichten werden **gemeinsam** verarbeitet, nicht einzeln. * Quoting24 wartet etwa **15 Sekunden**, um aufeinanderfolgende Kundennachrichten zu gruppieren. * Öffnet der Mitarbeiter das **Ticket**, startet die Verarbeitung **sofort**. * Die Nachrichtengruppe erzeugt **einen Zusammenfassungskasten** im Chat. So sieht die AI den vollständigen Kontext dieses Konversations-„Blocks“ und aktualisiert Fahrzeuge und Teile konsistent. --- ## AI-Tab rechts Im rechten Bereich gibt es den **AI-Tab**, sichtbar im rechten Ticketbereich. * während die AI das Ticket verarbeitet, erscheint ein **Spinner** * ein Klick erinnert daran, dass der **Chat-Assistent** zum Modul **AI Premium** gehört (anderes Produkt) --- ## Kurzfassung | Ziel | Was AI macht | |---|---| | Chat verstehen | Liest das **gesamte Ticket**, nicht nur die letzte Nachricht | | Rechte Seite füllen | Erstellt/aktualisiert **Fahrzeuge** und **Teile** automatisch | | Multimedia | Interpretiert **Fotos**, **PDFs** und **Sprachnachrichten** | | Kontrolle behalten | Ermöglicht **Korrekturen** und Sprung zu Suchen | | Mitarbeiter respektieren | Überschreibt **manuelle** Änderungen rechts nie | --- ## Vertiefungen | Abschnitt | Inhalt | | --- | --- | | [Erkennung](ai_riconoscimento.md) | Fahrzeuge, Teile, Labels, interne Notizen, Glossar und automatische Suchen | | [Fotos, PDFs und Sprachnachrichten](ai_media.md) | Medienlesen und Karte „AI-Lesungen“ | | [KI-Rahmen und Korrektur](ai_riquadro.md) | Kasten im Chat, Klicks, Korrigieren und Anzeigemodi | | [Automatisierungen](automations.md) | Umwandlung Kennzeichen → VIN, Baum und automatische Ersatzteilsuche | --- # Erkennung URL: https://wiki.quoting24.com/de/content/ai_riconoscimento/ Language: de Updated: 2026-11-04 # Erkennung Die AI kann Daten aus der Konversation erkennen und strukturieren und den rechten Bereich des Tickets aktualisieren. Zum allgemeinen Funktionsprinzip siehe [AI-Übersicht](ai.md). --- ## Was erkannt wird ### Fahrzeuge * Kennzeichen * Fahrgestellnummer (VIN) * Marke und Modell * Baujahr * Motorcode * weitere typische Daten aus dem **Fahrzeugschein** ### Ersatzteile * Teilebezeichnung **auf Italienisch normalisiert**, auch wenn der Kunde in einer anderen Sprache oder mit Abkürzungen schreibt (z. B. `f olio`, `pf`, `fab`) * **Codes**: OE, Aftermarket, EAN * **Position** und **Menge** ### Nachrichten „nur Kennzeichen“ oder „nur Code“ Eine Nachricht mit **nur dem Kennzeichen** oder **nur einem Code** wird nicht als leer behandelt: * das **Kennzeichen** erstellt oder vervollständigt das Fahrzeug * der **Code** vervollständigt eine offene Anfrage oder erstellt eine neue --- ## Labels an jedem Ersatzteil Jede Zeile im Kasten kann die Informationen zeigen, die der Kunde **für dieses konkrete Teil** angegeben hat: * **Angebot** / **Bestellung** * Position * Menge * Zustand (neu, gebraucht, regeneriert) * Qualität (Original, Äquivalent) * bevorzugte Marken (★) * durchgestrichene Ausschlüsse (z. B. „kein Brembo“) * Frist (z. B. „bis Freitag“, „für morgen“) * **Dringend** * Probleme und **Diagnosecodes** (z. B. `P0401`) * Lieferung oder Abholung (z. B. „ich komme vorbei“) Labels gelten **nur** für das Teil, auf das sich der Kunde bezieht: Sie werden **nicht** automatisch auf andere Teile übertragen. Details zum Kasten: [KI-Rahmen und Korrektur](ai_riquadro.md). --- ## Verhalten bei unentschlossenen oder abgelenkten Kunden Die AI **aktualisiert**, **verschiebt** und **entfernt** Fahrzeuge und Teile rechts selbstständig und folgt dabei der Konversation. Typische Beispiele: * ein Teil, das **vor** dem Kennzeichen geschrieben wurde, wird **verschoben**, sobald das Kennzeichen kommt * „den Luftfilter brauche ich nicht mehr“ **löscht nur** diesen Filter * „kein Brembo“ wird zu einem **Ausschluss** * wenn der Kunde eine WhatsApp-Nachricht **bearbeitet oder löscht**, folgt der rechte Bereich * ein später gesendeter Code **vervollständigt** eine Anfrage ohne Code * eine namenlose Anfrage (nackter Code, Etikett, Foto) und der Name **in einer anderen Nachricht**, auch Tage später, werden **eine Anfrage** * mehrere Fotos desselben **Teils** → eine Anfrage * „Scheiben und Beläge“ → **zwei** Anfragen; „Zahnriemenkit“ → **eine** Anfrage * ist unklar, welches Auto gemeint ist, bleibt das Teil unter **„Ohne Fahrzeug“** mit einer **Warnung**, ohne zu raten ### Was nie überschrieben wird * was der **Mitarbeiter rechts manuell ändert**, wird von der AI **nicht** überschrieben * ein **gelöschter Tab** kehrt nur zurück, wenn **neue Teile** für dieses Fahrzeug eintreffen * vom Mitarbeiter **verworfene** Teile bleiben verworfen --- ## Interne Notizen und Antworten an den Kunden ### Interne Notizen Eine **interne Notiz** ist ein **Befehl** an die AI: * sie wird **sofort** angewendet (Fahrzeug, Teile, Codes, Löschungen) * sie erhält **ihren eigenen Kasten** ### An den Kunden gesendete Antworten Eine **Antwort an den Kunden** ist nur ein **Vorschlag**: * sie **ändert** Fahrzeuge/Teile nicht, bis der Kunde bestätigt (z. B. „ok“, „schick“, zitiert die Antwort oder nennt das Teil) * der Kasten unter der Bestätigung **verweist** auf die ursprüngliche Antwort * „Ok schick“ nach einem Preis kann das Label **Bestellung** setzen --- ## Antworten auf frühere Anfragen Antwortet der Kunde mit **Zitat** einer Nachricht aus einem **früheren Ticket**: * verarbeitet die AI sie in **diesem** Ticket * im aktuell geöffneten Ticket erscheint nur der Verweis **„In einer anderen Anfrage verarbeitet“** mit **„Zur Anfrage“** --- ## Automatische Suchen Suchen folgen den Regeln unter **Einstellungen → Automatisierungen** (Umwandlung Kennzeichen → VIN, Laden des Baums, Ersatzteilsuche). Details in [Automatisierungen](automations.md#automazioni-disponibili). Verhalten mit AI: * jede Anfrage entscheidet **selbst**, wann gesucht wird * **Codes** suchen sofort nach Code * **keine doppelte Suche** für denselben Text * Anfragen **ohne Name und ohne Code** erzeugen keine Suchen * ein **verifiziertes** Kennzeichen reichert das Fahrzeug an (Marke, Modell, VIN, Motorcode) und die AI berücksichtigt das --- ## Glossar des Ersatzteilhändlers Das **Glossar des Ersatzteilhändlers** enthält typische Kundenphrasen und Abkürzungen mit der für den **Raum** gültigen Bedeutung. Beispiel: „drei Filter“ = Ölfilter, Motorluftfilter, Innenraumfilter. * die AI nutzt es als **Wörterbuch** * sie **schreibt** die Kundennachricht **nicht** um * es ersetzt die alten **„Disambiguierungen“** * konfiguriert wird es im **Qricambi-Backoffice** --- ## Vom Fahrzeug-Tab zur Nachricht Rechts führt ein erneuter Klick auf den **bereits ausgewählten** Fahrzeug-Tab den Chat zur Nachricht, aus der die AI dieses Fahrzeug gelesen hat. Nützlich, um die Quelle der Erkennung schnell zu prüfen. Für Fotos, PDFs und Sprachnachrichten siehe [Fotos, PDFs und Sprachnachrichten](ai_media.md). --- # Fotos, PDFs und Sprachnachrichten URL: https://wiki.quoting24.com/de/content/ai_media/ Language: de Updated: 2026-11-04 # Fotos, PDFs und Sprachnachrichten Die AI interpretiert auch die **Medien** der Konversation, nicht nur Text. Zum allgemeinen Funktionsprinzip siehe [AI-Übersicht](ai.md); dazu, was in Fahrzeuge und Teile strukturiert wird, siehe [Erkennung](ai_riconoscimento.md). --- ## Fotos Bilder werden **gelesen** und die Daten fließen in die Konversation ein, als wären sie Text. Typische erkannte Inhalte: * Kennzeichen * Fahrzeugscheine * Etiketten und Verpackungen * Screenshots von Katalogen oder Diagnosen * Dokumente * fotografierte Bauteile **Foto und Bildunterschrift** werden als **eine Nachricht** behandelt. Lädt ein Foto noch **hoch**, **wartet** die AI, bis es bereit ist, bevor spätere Nachrichten verarbeitet werden. --- ## PDFs PDFs (Angebote, Rechnungen, Lieferscheine, Teilelisten, gescannte Fahrzeugscheine) werden **seite für Seite** gelesen: * eine **Zeile pro Ersatzteil** * Fahrzeug mit **Kennzeichen** und **VIN**, sofern vorhanden * **ohne** Preise und **ohne** personenbezogene Daten --- ## Sprachnachrichten Sprachnachrichten werden **transkribiert** und als Text interpretiert. Laut diktierte Kennzeichen und Codes werden **rekonstruiert**. --- ## Vorsichtige Lesung Das Lesen ist vorsichtiger als früher: * **teilweise** Kennzeichen * VINs, die zur Marke **nicht passen** werden nicht stillschweigend akzeptiert: Sie werden als **„Unsichere Lesung“** markiert. --- ## „AI-Lesungen“ im Viewer {#letture-ai-nel-visualizzatore} Beim Öffnen eines **Fotos** oder **PDFs** im Vollbild erscheint die Karte **„AI-Lesungen“**. Sie zeigt: * was die AI in dieser Datei gelesen hat * was die Anfrage derzeit enthält * den **Stift**, um Kennzeichen, VIN oder Code direkt dort zu korrigieren * **unsichere Lesungen** * wie viele PDF-**Seiten** gelesen wurden * ggf. **ungelesene Dateien** Die Korrektur von hier folgt denselben Regeln wie in [KI-Rahmen und Korrektur](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Die Schalter für Transkription von Sprachnachrichten, Bildlesen und Texterkennung findest du unter **Einstellungen → Künstliche Intelligenz → AI-Erkennung** (siehe auch [Anzeigemodi](ai_riquadro.md#modalità-di-visualizzazione)). --- # KI-Rahmen und Korrektur URL: https://wiki.quoting24.com/de/content/ai_riquadro/ Language: de Updated: 2026-11-04 # KI-Rahmen und Korrektur Für jede verarbeitete Nachrichtengruppe erscheint ein **Kasten** unter der letzten Nachricht der Gruppe. Zur Gruppierung der Nachrichten siehe [AI-Übersicht](ai.md#come-elabora-i-messaggi). --- ## Der AI-Kasten im Chat ### Kopfzeile und verknüpfte Nachrichten * Kopfzeile wie **„AI-Zusammenfassung von N Nachrichten“** * beim Hover über den Kasten werden die zusammengefassten Nachrichten **hervorgehoben** ### Nur was sich geändert hat Der Kasten zeigt **was sich mit diesen Nachrichten geändert hat**, nicht die gesamte Historie: * **Neu** * **Aktualisiert** * **Verschoben** * **Entfernt** Das geänderte Detail wird **eingefärbt**, damit du es sofort erkennst. ### Organisation der Ersatzteile * Teile werden **nach Fahrzeug** gruppiert * oder unter **„Ohne Fahrzeug“**, wenn noch unklar ist, zu welchem Auto sie gehören * bei mehr als **drei Zeilen** pro Fahrzeug erscheint **„Weitere N Komponenten anzeigen“** * zusätzliche Codes können hinter **„+N“** stehen * eine gekürzte VIN wird beim Hover **vollständig** angezeigt ### Pfeile und Warnungen * die Pfeile **↑** springen zur Nachricht, die das Fahrzeug angegeben hat, oder zur vorherigen Anfrage * **Warnungen** (Dreieck) markieren Zweifel der AI, zum Beispiel: * unsichere Zuordnung * verbleibende Mehrdeutigkeit * mehrdeutige Abkürzung * Konflikt zwischen Quellen * logische Inkonsistenz --- ## Linksklick: vom Chat zum rechten Bereich Ein **Linksklick** auf den Kasten (oder seine Teile) dient der **Navigation**, nicht dem Starten von Suchen: * Klick auf eine **Komponente** → öffnet den richtigen Fahrzeug-Tab und die passende Suche **blinkt** * Klick auf einen **Code** → hebt die Suche zu diesem Code hervor * Klick auf **Kennzeichen** oder **VIN** → öffnet den Tab dieses Fahrzeugs (wurde der Tab gelöscht, wird er **neu erstellt**) Linksklick **startet keine Suchen** und **verbraucht keine Credits**. --- ## Rechtsklick auf schwarze Pills Auf Kennzeichen, VIN und Code (schwarze Pills) öffnet der **Rechtsklick** ein Menü mit: * **Kennzeichen suchen** — Umwandlung Kennzeichen → VIN * **VIN suchen** — Baum / Struktur aus der VIN * **Code suchen** — neue Codesuche * **Korrigieren** — einen von der AI falsch gelesenen Wert berichtigen --- ## Korrigieren: die AI wiederholt den Fehler nicht {#correggi-lai-non-ripete-lerrore} Wenn die AI ein **Kennzeichen**, eine **VIN** oder einen **Code** falsch liest: 1. Rechtsklick → **Korrigieren** 2. den richtigen Wert eingeben Quoting24 ersetzt den Wert **überall**: * in **allen Kästen** des Chats * in den **Suchen** rechts * im **Gedächtnis** der AI Ab dann gilt der alte Wert als **Fehler**, auch wenn ein neues Foto oder eine neue Nachricht ihn wiederholt. Weitere wichtige Regeln: * stimmt der korrigierte Wert mit einem vorhandenen Fahrzeug überein, werden beide **zusammengeführt** * das Korrigieren eines Kennzeichens **löscht** die mit dem alten Kennzeichen gefundenen Daten (VIN, Marke, Modell) und **startet** die Suche neu, wenn [Automatisierungen](automations.md) aktiv sind * die Berechtigung **Ersatzteilsuche** ist erforderlich Du kannst auch von der Karte **„AI-Lesungen“** aus korrigieren, wenn du Fotos oder PDFs öffnest: siehe [Fotos, PDFs und Sprachnachrichten](ai_media.md#letture-ai-nel-visualizzatore). --- ## Anzeigemodi {#modalità-di-visualizzazione} Unter **Einstellungen → Künstliche Intelligenz → AI-Erkennung** kannst du wählen, wie Kästen im Chat erscheinen. Dort wurden auch die drei Schalter verschoben: * Transkription von **Sprachnachrichten** * Lesen in **Bildern** * Erkennung in **Textnachrichten** ### Vollständig Zeigt den **ganzen Kasten**. ### Nur Kennzeichen, VIN und Codes Zeigt eine **kompakte Pill** mit: * Kennzeichen oder VIN (nur wenn die Nachricht das Fahrzeug hinzugefügt oder aktualisiert hat) * dem **Code**-Streifen * einem **Griff**, um den ganzen Kasten zu dieser Nachricht zu öffnen Das ist der Modus, der der früheren Anzeige am nächsten kommt. ### Ausgeblendet Keine Kästen im Chat. ### Button „AI“ im Chat In **allen** Modi hat jede mit einem Kasten verknüpfte Nachricht den Button **„AI“**: * zeigt oder versteckt **alle** Kästen im offenen Chat * die Wahl wird **nicht gespeichert** (gilt nur für die aktuelle Ansicht) Linksklick, Rechtsklick und **Korrigieren** funktionieren auch in der kompakten Pill. --- # Automatisierungen URL: https://wiki.quoting24.com/de/content/automations/ Language: de Updated: 2026-11-04 # Automatisierungen Automatisierungen Die **Automatisierungsregeln** ermöglichen es, automatische Aktivitäten zu aktivieren, die auf Suchen arbeiten und **nach Bedarf aktiviert oder deaktiviert** werden können. Diese Automatisierungen ermöglichen ein **direkteres und schnelleres** Arbeiten: Sobald eine Angebotsanfrage eingeht, beginnt das System automatisch im Hintergrund zu suchen nach: - Kennzeichen - Fahrgestellnummern - Ersatzteilen --- ## Hinweis zu Credits > **BITTE BEACHTEN** > Aktive Automatisierungen **verbrauchen automatisch die [Credits](credits.md)** des eigenen Accounts. > Daher ist es wichtig, diesen Kostenfaktor zu berücksichtigen. > > Weitere Details findest du im Abschnitt **„[Credits](credits.md)“**. --- ## Verfügbare Automatisierungen {#automazioni-disponibili} Die Automatisierungen, die **aktiviert oder deaktiviert** werden können, sind folgende: - **Automatische Kennzeichen → VIN-Umwandlung** Sobald ein Kennzeichen erkannt wird, wird es automatisch in eine **Fahrgestellnummer** umgewandelt. - **Automatisches Laden des Baums** Sobald eine VIN verfügbar ist, wird die Fahrgestellnummernsuche durchgeführt und der **Baum mit den Explosionszeichnungen** automatisch geladen. - **Automatische Ersatzteilsuche** Startet automatisch die Suche nach Teilen (zum Beispiel *Luftfilter*) innerhalb der Explosionszeichnungen der Fahrgestellnummer. --- ## Verbrauchskontrolle Wenn die Aktivität die Nutzung von Credits begrenzen muss, können Administratoren die Automatisierungen mit den Sperreinstellungen kombinieren, die auf der Seite [Credits](credits.md) beschrieben sind. So lässt sich vermeiden, dass Kennzeichen-Fahrgestellnummer-Umwandlungen oder VIN-Suchen ausgeführt werden, wenn keine Credits verbraucht werden sollen. --- # Integration mit Qricambi URL: https://wiki.quoting24.com/de/content/qricambi_integration/ Language: de Updated: 2026-11-04 # Integration mit Qricambi In diesem Bereich kannst du die **automatische Codesuche auf Qricambi** **aktivieren oder deaktivieren**. Qricambi-Integration Wenn ein Code aus Quoting24 auf Qricambi gesucht wird und Qricambi bereits in einem anderen Browser-Tab geöffnet ist, wird die Suche im bereits geöffneten Tab ausgeführt, statt einen neuen zu öffnen. Das hält die Arbeit geordneter und reduziert die Anzahl geöffneter Tabs während der Bearbeitung von Anfragen. --- ## Lieferantentypen ### Interne Lieferanten Mit **internen Lieferanten** sind die ['Listen'](https://qricambi.com/liste/) von Qricambi gemeint. Dabei handelt es sich um **Excel-Dateien**, die zum Beispiel Folgendes enthalten: - Bestände des eigenen Lagers - personalisierte Preislisten --- ### Externe Lieferanten Mit **externen Lieferanten** sind die **E-Commerce-Angebote der eigenen Lieferanten** gemeint, auf denen Codes direkt aus Quoting24 automatisch gesucht werden können. --- ## Lieferantenauswahl und Flag Gruppen Unter **Einstellungen → Qricambi**, in der Lieferantenauswahl für die Suche, ist das Flag **Gruppen** verfügbar. Wenn **Gruppen** aktiviert ist: * erscheinen die **Lieferantengruppen** des verknüpften Qricambi-Accounts * können Lieferanten einer Gruppe **massenhaft hinzugefügt** werden, ohne sie einzeln auszuwählen --- ## Textsuche in den Ergebnissen Wenn Quoting24 Ergebnisse von Qricambi oder verbundenen Lieferanten anzeigt, kann eine **Textsuche** innerhalb der Ergebnisse durchgeführt werden. Die Suche hilft dabei, schneller Folgendes zu finden: - Produktcode - Marke - Beschreibung - Lieferant --- ## Listenpreise In den Suchergebnissen kann auch der **Listenpreis** angezeigt werden, wenn verfügbar. Der Listenpreis ergänzt die bereits vorhandenen operativen Informationen wie Nettopreis, Verfügbarkeit und Lieferant und hilft dem Mitarbeiter, das Ergebnis besser zu bewerten, bevor es in den Angebotsworkflow aufgenommen wird. --- # Suche mit Erweiterung URL: https://wiki.quoting24.com/de/content/search_with_extension/ Language: de Updated: 2026-11-04 # Suche mit Erweiterung ## Verwendung der Erweiterung für die Suche auf Eper und Partslink Nach der Installation der Qricambi-Erweiterung (Qricambi Assistant) kannst du Suchen nach Fahrgestellnummern, die auf der Plattform nicht gefunden wurden, auf Partslink oder Eper durchführen. [Hier klicken, um Qricambi Assistant zu installieren (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Hier klicken, um Qricambi Assistant zu installieren (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Nutzungsanleitung Bildschirm Suche auf E und auf P ### Suche auf P Um ein Ersatzteil eines Fahrzeugs zu suchen, wenn die Fahrgestellnummer in Quoting24 vorhanden ist, wird durch Drücken der Schaltfläche "Cerca su P" die Fahrgestellnummer an Partslink24 gesendet. Partslink24 wählt automatisch die Fahrzeugmarke aus, sucht die Fahrgestellnummer und führt anschließend die Suche nach der Komponente durch. Wenn bereits ein Partslink-Tab geöffnet ist, öffnet die Suche keinen neuen Tab: Quoting24 verwendet den bereits vorhandenen Tab und sendet die neue Suche dorthin. Der für auf Partslink gesuchte Codes verwendete Pfad wird gespeichert, damit der Suchkontext leichter wieder aufgenommen oder rekonstruiert werden kann. Nachdem der Produktcode durch Öffnen der Explosionszeichnungen identifiziert wurde, werden darunter drei neue Symbole angezeigt, jeweils mit einer bestimmten Funktion. Von links ausgehend: * **Weißes Symbol mit dem "Q"**: ermöglicht es, den ausgewählten Code in die Suche "Preise und Verfügbarkeit" von Qricambi zu übertragen; * **Rotes Symbol**: ermöglicht das Senden des Codes an Quoting24; * **Weißes Symbol mit der "24"**: sendet den Code an Quoting24, schließt jedoch den Partslink-Tab (nicht empfohlen, wenn weitere Suchen durchgeführt werden sollen). ### Suche auf E Um ein Ersatzteil eines Fahrzeugs zu suchen, wenn die Fahrgestellnummer in Quoting24 vorhanden ist, wird durch Drücken der Schaltfläche "Cerca su E" die Fahrgestellnummer an Eper gesendet. Eper sucht die Fahrgestellnummer selbst und anschließend die Fahrzeugkomponente. Screenshot Auch auf Eper können, wie auf Partslink, die Funktionen der drei zuvor beschriebenen Symbole genutzt werden (nachdem der richtige Code ausgewählt wurde). --- # Credits URL: https://wiki.quoting24.com/de/content/credits/ Language: de Updated: 2026-11-04 # Credits Die **Credits** werden benötigt, um die folgenden Aktivitäten in Quoting24 auszuführen: 1. **Kennzeichen → Fahrgestellnummer-Umwandlung** 2. **Suche nach Komponenten innerhalb der Fahrgestellnummer**, durch Öffnen der Explosionszeichnungen Bildschirm zur Nutzung von Credits --- ## Kosten der Vorgänge Die Kosten dieser Vorgänge in Credits sind in der Anwendung [Qricambi](https://app.qricambi.com/) im Bereich **„Credits“** sichtbar (roter Button oben rechts -> Credits). Die Nutzung der Funktionen, die Credits verbrauchen, hat **dieselben Kosten** sowohl auf **Qricambi** als auch auf **Quoting24**. --- ## Sperre der Credit-Nutzung für Fahrzeuge Im Bereich für Fahrzeuge stehen Einstellungen zur Verfügung, mit denen die Nutzung von Credits in Quoting24 gesperrt werden kann. Die wichtigsten Optionen sind: - **Kennzeichen → Fahrgestellnummer-Transcodierung sperren** Verhindert die Nutzung von Credits, um ein Kennzeichen automatisch in eine Fahrgestellnummer umzuwandeln. - **VIN-Suche sperren** Verhindert die Nutzung von Credits für die Fahrgestellnummernsuche und den Zugriff auf die verbundenen Informationen. Diese Einstellungen sind nützlich, wenn ein unbeabsichtigter Credit-Verbrauch durch Mitarbeiter vermieden oder bestimmte automatische Suchen eingeschränkt werden sollen. --- ## Nutzung von Qricambi-Credits ↔ Quoting24 Im Folgenden einige allgemeine Informationen zu den Credits von Quoting24: - Die Credits des **Quoting24**-Accounts werden mit dem eigenen **Qricambi**-Account **geteilt** Die Anzahl der verfügbaren Credits ist sichtbar: - in der **oberen rechten Ecke** der Anwendung Credits anzeigen Der Kauf von Credits wird **direkt von Qricambi** verwaltet - durch Klicken auf den Credit-Zähler öffnet sich die [entsprechende Seite](https://app.qricambi.com/youraccount/BuyCredits) --- # Angebot an das ERP senden URL: https://wiki.quoting24.com/de/content/invia_preventivo_gestionale/ Language: de Updated: 2026-11-04 # Angebot an das ERP senden An ERP senden Diese Funktion ist das Herzstück der Integration zwischen Quoting24 und der Außenwelt. Das Ziel ist einfach: **Quoting24 soll mit jeder im Unternehmen vorhandenen ERP-Software „sprechen“ können**. Egal, ob du ein bekanntes ERP oder eine maßgeschneiderte Lösung verwendest: Quoting24 ist darauf ausgelegt, **universell kompatibel** zu sein. Der Prozess ist in zwei Schritte unterteilt: 1. **Senden des halbfertigen Angebots von Quoting24 an das ERP** 2. **Senden des finalisierten Angebots vom ERP an den Kunden** --- ## 1. Senden des halbfertigen Angebots von Quoting24 an das ERP Dieser Abschnitt erklärt, wie Quoting24 mit einem beliebigen externen ERP zur automatischen Angebotserstellung verbunden wird. Der logische Datenfluss beginnt immer beim **Ticket (Chat)** und folgt dieser Struktur: `Ticket` → `Veicolo` → `Ricerca ("Ricambio")` → `Codice "giusto" (Codice OE)` → `Prodotti selezionati` Wenn ein Mitarbeiter entscheidet, ein Angebot zu erstellen, sendet Quoting24 einen „Aufruf“ (Anfrage) an dein ERP, an eine personalisierte und unternehmensspezifische Adresse. Angebot in Bearbeitung Was in dieser Phase passiert: - **Kundenabgleich**: Das System versucht, den Kunden zu erkennen, indem es den richtigen **Unternehmenscode** an das ERP sendet (oder weitere Felder wie USt-IdNr. oder Telefonnummer). - **Anpassung der Anfrage**: Die im Chat gesammelten Daten (Kennzeichen, Ersatzteilcodes, Beschreibungen) werden in das Format „übersetzt“, das dein ERP erwartet. Die Anpassung des Aufrufs muss beim Kundendienst von Quoting24 angefragt werden. - **Speichern von Referenzen**: Quoting24 speichert die ID oder Adresse des Angebots, das gerade im ERP erstellt wurde, damit es später wieder aufgerufen werden kann. Kurz gesagt: **Quoting24 füllt für dich den Angebotsentwurf direkt in deinem System aus.** ## 2. Senden des finalisierten Angebots vom ERP an den Kunden Sobald das Angebot in deinem ERP bereit oder bestätigt ist, kann eine Rückmeldung an Quoting24 gesendet werden (an unsere dedizierte API-Adresse), wobei das Angebot im PDF-Format und die Referenz zur Angebots-ID oder zum Ursprungsticket übergeben werden. Bestätigtes Angebot Nach dem Empfang des Angebots aus dem ERP durch Quoting24 befinden wir uns in dieser Phase, in der das Angebot abgeschlossen ist und wir Aktionen ausführen können: - mit dem **Pfeil** können wir das Angebot im ERP öffnen - mit dem **Auge** können wir das Angebot anzeigen - mit dem **Download-Pfeil** können wir das Angebot im **PDF**-Format herunterladen - mit dem **Senden-Pfeil** können wir das Angebot an den Kunden senden Es ist möglich, über einen Aufrufparameter dafür zu sorgen, dass das Angebot direkt per WhatsApp an den Kunden gesendet wird, ohne einen Bestätigungsschritt innerhalb von Quoting24 (ohne auf das Senden-Symbol klicken zu müssen). Bei Verwendung der offiziellen APIs von WhatsApp kann außerdem zusammen mit dem PDF-Anhang eine Annahme-Schaltfläche gesendet werden. Wenn diese Schaltfläche gedrückt wird, wird das Angebot automatisch als angenommen an das ERP gesendet. ### Dateiname des Angebots Der Dateiname der Angebots-PDF wird generiert, indem, wenn verfügbar, nützliche Informationen zur Erkennung des Dokuments einbezogen werden, wie: - Kennzeichen - Fahrgestellnummer - Angebotsnummer Dadurch lässt sich die Datei nach dem Download oder beim Versand an den Kunden leichter identifizieren. Angebotsdateiname mit Kennzeichen Fahrgestellnummer und Nummer --- ## INTEGRATIONSBEISPIEL: Angebote von Qricambi Für Benutzer von **Qricambi** lässt sich die Integration mit dem ERP einfach nachbilden, indem die Angebote von Qricambi als Beispiel für eine Verwaltungsplattform verwendet werden. ### Angebotsanfrage Qricambi Angebote Das System erstellt das Angebot automatisch auf Qricambi nach intelligenten Logiken: - **Kundenerkennung**: Wenn der Kontakt von Quoting24 einem Kunden von Qricambi entspricht (Abgleich Kundencode), wird das Angebot auf ihn ausgestellt. Andernfalls werden die allgemeinen Informationen des Quoting24-Mitarbeiters verwendet. - **Übermittelte Daten**: Kennzeichen/Fahrgestellnummer, Fahrzeug, Link zum Ursprungsticket und der Benutzer, der den Vorgang ausführt, werden automatisch gesendet. **Wie werden die Angebotszeilen ausgefüllt?** Das System kann verschiedene Fälle verwalten, damit keine Informationen verloren gehen: 1. **Ausgewählte Zeilen**: Wenn du Ersatzteile aus der Qricambi-Suche ausgewählt hast, werden diese mit allen Details eingefügt (Code, Preis usw.). Produkt 2. **Aus Suche (OE-Code)**: Wenn du keine spezifischen Zeilen ausgewählt oder keine Ergebnisse auf Qricambi gefunden hast, aber einen Originalcode (OE) aus der Fahrgestellnummer hast, erstellt das System eine Zeile mit diesem Code und der Notiz "DA RICERCA". Kein Ergebnis 3. **Allgemeine Beschreibung**: Wenn keine Fahrgestellnummer oder technische Suche vorhanden ist, sondern nur eine Textanfrage (z. B. "specchietto dx"), wird eine leere Zeile erstellt, die nur die Beschreibung des angefragten Teils enthält. Keine Suche ### Angebot empfangen Nachdem das Angebot innerhalb von Qricambi bearbeitet und abgeschlossen wurde: - genügt ein Klick auf den Button **"Invia a Quoting24"**. - Das System sendet das **PDF** sofort an den Chat. - Das Angebot wird als **abgeschlossen** markiert. Der Mitarbeiter kann die PDF dann anzeigen, herunterladen oder direkt per WhatsApp an den Kunden senden, ohne den Workflow zu verlassen. --- # Über unsere APIs auf WhatsApp schreiben URL: https://wiki.quoting24.com/de/content/invia_whatsapp_api/ Language: de Updated: 2026-11-04 # Über unsere APIs auf WhatsApp schreiben Diese Funktion ermöglicht es deinem ERP oder jeder anderen externen Software, **direkt mit deinen Kunden über WhatsApp zu kommunizieren**, wobei Quoting24 als Brücke dient. Einfach ausgedrückt kannst du dank dieser Integration **Nachrichten und Dokumente automatisch senden**, ohne die Quoting24-Anwendung öffnen und ohne Daten manuell kopieren und einfügen zu müssen. --- ## Was ist möglich? Mit dieser Verbindung kann dein ERP-System drei Hauptaktionen auf einmal ausführen: 1. **Eine Textnachricht senden** Du kannst dem Kunden beliebige Informationen schreiben: eine Benachrichtigung über bereitstehende Ware, eine Auftragsbestätigung oder einen einfachen Gruß. 2. **Dateien und Dokumente senden (PDF, Bilder usw.)** Zusammen mit dem Text kannst du Dateien anhängen. Sehr nützlich zum Beispiel, um **die PDF eines Angebots** oder einer Rechnung direkt in den WhatsApp-Chat des Kunden zu senden. 3. **Die Anfrage automatisch schließen (Ticket)** Oft kann ein Vorgang nach dem Senden eines Angebots oder einer Bestätigung als abgeschlossen gelten. Du kannst dem System mitteilen, die Unterhaltung nach dem Senden der Nachricht sofort zu **"archivieren" (zu schließen)**, damit die Liste der offenen Anfragen in Quoting24 sauber bleibt, ohne dies manuell tun zu müssen. --- ## Technische Details für die Integration Es ist ein Endpoint verfügbar, um Nachrichten an einen **einzelnen Kontakt** über WhatsApp Business API zu senden. Die Authentifizierung erfolgt über den Header `X-API-Key` mit dem API-Schlüssel deines Tenants, der in den Kontoeinstellungen verfügbar ist. --- ### Nachricht an einen Kontakt senden **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Textnachricht:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Nachricht mit Bild oder Dokument (öffentliche URL):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Parameter `message_content`:** | Feld | Typ | Erforderlich | Beschreibung | | ---------------- | --------------------------------------------- | ------------------------------------ | -------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | Nein, Standard `text` | Nachrichtentyp | | `text` | Zeichenkette | Nein | Nachrichtentext oder Dateibeschriftung | | `file.url` | URL-Zeichenkette | Ja, wenn `type` nicht `text` ist | Öffentliche URL der zu sendenden Datei | | `file.name` | Zeichenkette | Ja, wenn `type` nicht `text` ist | Dateiname mit Erweiterung, zum Beispiel `preventivo.pdf` | | `file.mime_type` | Zeichenkette | Ja, wenn `type` nicht `text` ist | MIME-Typ, zum Beispiel `application/pdf` oder `image/jpeg` | **Hauptparameter:** | Feld | Beschreibung | | ------------------- | --------------------------------------------------------------------------------- | | `tenant_id` | ID deines Tenants, verfügbar in den Einstellungen | | `phone_number` | Telefonnummer des Kunden mit internationaler Vorwahl, zum Beispiel `+39123456789` | | `channel` | `whatsapp-api` für WhatsApp Business API | | `auto_close_ticket` | `true`, um das Ticket nach dem Senden automatisch zu schließen | --- > **Hinweis:** Die anzuhängende Datei muss über eine öffentliche URL erreichbar sein. Wenn die Datei aus einem ERP oder einem internen System stammt, stelle sicher, dass sie über das Internet zugänglich ist, bevor du den Link an die API übergibst. > **Operativer Hinweis:** Der Versand von Nachrichten folgt den Regeln von Meta. Um Unterhaltungen außerhalb des 24-Stunden-Servicefensters zu starten, können vorab genehmigte Templates erforderlich sein. --- # Punktuelle Suche nach OE-/AM-Codes im eigenen ERP URL: https://wiki.quoting24.com/de/content/management_research/ Language: de Updated: 2026-11-04 # Punktuelle Suche nach OE-/AM-Codes im eigenen ERP ## Allgemeiner Überblick Durch die Integration des eigenen ERP in Quoting24 ist es möglich, in Echtzeit personalisierte Preise und Verfügbarkeiten für den jeweiligen Kunden zurückzugeben, mit dem du gerade schreibst, wenn Codes gesucht werden. So lassen sich schnell die **kundenspezifischen Geschäftsbedingungen** des Kunden ermitteln, mit dem du gerade sprichst. Ziel ist es, Quoting24 zu ermöglichen, nach der Identifizierung eines Produktcodes automatisch Folgendes abzurufen: - Verfügbarkeit und Nettopreis des jeweiligen Kunden - Produktmetadaten: beschreibende Informationen, Marke, gegebenenfalls aktive Aktionen und weitere zugehörige Attribute. - Der Ablauf ist so konzipiert, dass er transparent mit den ERP-APIs des Verwaltungssystems des Lieferanten kommuniziert. --- ## Suchparameter **Von Quoting24 an den Lieferanten** ### Pflichtparameter - **Authentifizierungstoken** Ein eindeutiges Token, das die Server von Quoting24 eindeutig identifiziert. - **Suchcode** Vorzugsweise ein **AM- oder OE-Code**. Die Suche **sollte nicht nur auf exakte Produktcodes beschränkt sein**, sondern auch: - alternative Codes suchen - in externen Datenbanken suchen ⚠️ Wenn dieses Verhalten **nicht unterstützt** wird, muss dies klar kommuniziert werden. Mindestens muss die Suche die Stammdaten des Produkts umfassen und nicht nur die exakten internen Codes. --- ### Identifizierung des Kunden **Mindestens einer der folgenden Werte muss bereitgestellt werden** - **ID (wie im ERP erfasst)** des Standorts eures Kunden - **ID (wie im ERP erfasst)** des Unternehmens eures Kunden - **USt-IdNr. des Kunden** - **ID der Rabattkategorie** Verwendet für: - nicht registrierte Kunden - damit der Mitarbeiter die Rabattregeln dynamisch ändern kann --- ### Optionale Parameter - **Mitarbeiter-ID** *(optional, aber empfohlen)* Wird verwendet, um nachzuverfolgen, wer das Angebot erstellt hat. - **Menge** Kann in die Anfrage aufgenommen werden, wenn dies unbedingt erforderlich ist. Bevorzugter Ansatz: Verwaltung der Menge in der **Antwort**, nicht in der Anfrage. - **Marke / Hersteller** Um präzisere Suchen zu ermöglichen. - **Suchmodus** Parameter für punktuelle exakte Suche oder Suche mit Cross-Referenzen (die auch Ergebnisse alternativer Produkte liefert). --- ## Antwortparameter **Vom Lieferanten an Quoting24** Die Antwort muss eine **Liste von Produkten** enthalten, jeweils mit den folgenden Feldern. ### Pflichtfelder (pro Produkt) - **Produktcode des Lieferanten** Interner Bestellcode einschließlich Präfixe, genau wie in den Systemen des Lieferanten verwendet. - **Hersteller** Name des Herstellers (z. B. *LUK, Magneti Marelli, Brembo*). Kann in 2 Felder strukturiert sein: - Kurzversion/Vorcode (z. B. `MAR`) - vollständiger Name (z. B. `Magneti Marelli`) - **Nettoverkaufspreis für den Kunden** - Nettopreis (ohne MwSt.) - Versandkosten ausgeschlossen - Versandkosten können separat zurückgegeben werden, falls zutreffend - **Verfügbarkeit** Numerischer Wert, der die verfügbare Menge im Lager darstellt. - **Lager** Name des Lagers, Regals oder Verweis auf den internen Standort. --- ### Optionale Felder - **Produktbeschreibung** Freitext (z. B. *Bremsbeläge*) und/oder Warenkategorie. - **Identifikationscode des Herstellers** Pflicht, wenn der ERP-Produktcode vom Herstellercode abweicht. - **Listenpreis** Nicht erforderlich, aber reproduzierbar, falls nötig. - **Aktionen** - Vorhandensein einer Aktion (binär) - Text der Aktion (optional) - Wenn der Text leer ist → Aktion nicht aktiv - **Produktbild** - URL des Bildes - oder Base64-Bild - **URL des Produktdatenblatts** Link zur Produktdetailseite im E-Commerce oder auf der externen Website. Wenn ein direkter Link nicht möglich ist: - URL-Syntaxregeln bereitstellen - oder eine generische URL der Login-Seite zurückgeben - **Mengenbasierte Preise / Rabatte** Wenn Mengenrabatte existieren, gib die Stufen in einem beliebigen **analysierbaren Format** zurück, zum Beispiel: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Profil URL: https://wiki.quoting24.com/de/content/profilo/ Language: de Updated: 2026-11-04 # Profil Wenn du in Quoting24 oben rechts auf die **drei Striche** klickst und den Bereich **Einstellungen → Profil** öffnest, kannst du einige wichtige Aspekte der Nutzungserfahrung der Plattform ändern. Profil --- ## Profilpersonalisierung In diesem Bereich kannst du dein Profil personalisieren, indem du Folgendes änderst: - den **Avatar**, durch Einfügen von: - den personalisierten Initialen deines Namens - einem *künstlerischen Logo* - oder durch Hochladen eines **Bildes** Profilbearbeitung --- ## Spitzname Der **Spitzname**: - entspricht anfänglich dem **Qricambi-Zugangsbenutzernamen** - ist **obligatorisch** - kann frei geändert werden Der Spitzname stellt deinen **internen Namen** in Quoting24 dar und ist der Name, der: - von Kollegen angezeigt wird - für **Ticketzuweisungen** verwendet wird Die Änderung des Spitznamens: - **ändert nicht** den Login-Benutzernamen - **hat keinen Einfluss** auf die Zugangsdaten für Quoting24 und Qricambi --- ## Änderungen speichern Änderungen speichern Nachdem die Profileinstellungen personalisiert wurden, müssen die **Änderungen gespeichert** werden, bevor die Seite verlassen wird. Die Anzeige der Änderungen im Chat kann Folgendes erfordern: - das Speichern der Einstellungen - ein **Aktualisieren der Ticketseite (F5)** --- ## Signatur, Kopfzeile und automatische Nachrichten Es können eine **persönliche Signatur** und eine **automatische Kopfzeile** eingerichtet werden. Für Signatur und Kopfzeile wird gewählt, wann sie in Nachrichten eingefügt werden, die über Quoting24 gesendet werden: * **Immer** — sie stehen in jeder Nachricht * **Nur bei der ersten Nachricht des Tickets und mit Senden und schließen** — sie werden nur zur ersten Nachricht dieses Tickets und beim Senden mit **Senden und schließen** hinzugefügt (sendet die Nachricht und schließt das Ticket) Die Signatur wird **am Ende** der Nachricht eingefügt. Die Kopfzeile, ähnlich wie die Signatur, wird **vor** der Nachricht eingefügt. Signatur Außerdem kann eine **Übernahmenachricht** konfiguriert werden, die automatisch gesendet wird, wenn auf die Zuweisungsschaltfläche eines noch nicht zugewiesenen Tickets geklickt wird. --- ## Senden ohne Kopfzeile oder Signatur Auch wenn Kopfzeile und Signatur auf **immer** oder **nur bei der ersten Nachricht des Tickets und mit Senden und schließen** stehen, kannst du eine einzelne Nachricht **ohne Kopfzeile und ohne Signatur** senden. Diese Option ist nützlich, wenn die Nachricht direkter sein soll, zum Beispiel für kurze Bestätigungen oder operative Antworten, die bereits durch die Unterhaltung kontextualisiert sind. --- # Aktivität URL: https://wiki.quoting24.com/de/content/activities/ Language: de Updated: 2026-11-04 # Aktivität Dieser Bereich ist **nur für [Administratoren](user.md)** sichtbar, nicht für **[Mitglieder](user.md)** (Benutzer). Wenn du in Quoting24 oben rechts auf die **drei Striche** klickst und den Bereich **Einstellungen → Aktivität** öffnest, kannst du einige **grundlegende Optionen** für die Nutzungserfahrung der Plattform verwalten. Aktivität --- ## Name der Aktivität Du kannst den **Namen der Aktivität** beliebig ändern. Jede mit Quoting24 verbundene **Telefonnummer** hat einen eigenen **Aktivitätsnamen**, der Benutzern beim Login hilft, leicht zu erkennen, in welchem **„Raum“** sie arbeiten werden. --- ## Interne Kommentare In diesem Bereich kannst du die **internen Kommentare** in Chats **aktivieren oder deaktivieren**. Interne Kommentare ermöglichen Mitarbeitern: - unter Kollegen zu kommunizieren - Notizen einzufügen, die für den Kunden nicht sichtbar sind --- ## Servicemitteilungen Der Bereich **Servicemitteilungen** ermöglicht die Verwaltung interner Nachrichten oder Hinweise, die mit der Aktivität verbunden sind. Diese Mitteilungen dienen dazu, Mitarbeiter über operative Hinweise, Aktualisierungen oder wichtige Notizen zu informieren, die bei der täglichen Arbeit mit Quoting24 zu beachten sind. Servicemitteilungen --- ## KI-Datenextraktion Quoting24 kann nützliche Informationen automatisch extrahieren aus: - Bildern - Sprachnachrichten - Nachrichtentexten Die vollständige Verwaltung der Erkennung (Anzeigemodi der Kästen, Transkription von Sprachnachrichten, Lesen von Bildern und Texterkennung) findest du unter **Einstellungen → Künstliche Intelligenz → AI-Erkennung**. Alle Details zur Funktionsweise von **AI** stehen in der eigenen Anleitung: [AI](ai.md). In diesem Aktivitätsbereich kannst du die **Datenextraktion durch die KI** in der Bedienoberfläche dennoch ausblenden. Diese Einstellung ist nützlich, wenn die Oberfläche übersichtlicher bleiben soll oder wenn den Mitarbeitern die Details der automatischen Verarbeitung nicht angezeigt werden sollen. --- # Benutzer URL: https://wiki.quoting24.com/de/content/user/ Language: de Updated: 2026-11-04 # Benutzer Dieser Bereich ist **nur für Administratoren** sichtbar, nicht für **Mitglieder** (Benutzer). Im Bereich **Einstellungen → Benutzer** kannst du die Liste der **Benutzer anzeigen und verwalten, die deinem Quoting24-Profil zugeordnet sind**. Benutzerseite --- ## Benutzerstatus Jeder Benutzer kann sich in einem der folgenden Status befinden: 1. **Aktiv** Der Benutzer hat sich bereits mindestens einmal bei Quoting24 angemeldet. 2. **Ausstehend** Der Benutzer wurde zu Quoting24 eingeladen, hat aber **noch nicht den ersten Zugriff durchgeführt**. 3. **Inaktiv** Der Benutzer war seit 5 Minuten **nicht in Quoting24 eingeloggt**. 4. **Offline** Der Benutzer war seit mehr als 15 Minuten **nicht in Quoting24 eingeloggt**. Außerdem kann der Status angezeigt werden: - **Online** - **Offline** Der Status des Benutzers wird von der Plattform verwendet, um die Machbarkeit der [„Auto-Zuweisung“](assegnazioni.md) zu bestimmen. Wenn alle Benutzer, die potenziell Ziel der **"Auto-Zuweisung"** sind, offline sind, findet die Auto-Zuweisung nicht statt (und das Ticket bleibt **nicht zugewiesen** und damit für alle Berechtigten sichtbar). --- ## Benutzerrollen Benutzer können eine der folgenden Rollen haben: - **Administrator** Hat Zugriff auf **alle Funktionen und Bereiche** der Anwendung. - **Mitglied** Hat eingeschränkten Zugriff. Einige Bereiche wie **Benutzer**, **WhatsApp** und **Aktivität** sind **nicht sichtbar**. --- ## Erweiterte Benutzerverwaltung (Administratoren) Ein Benutzer mit der Rolle **Administrator** kann auf das **Zahnradsymbol** rechts neben jedem Benutzer klicken, um einige Einstellungen zu ändern. Insbesondere ist es möglich: - die **Rolle** des Benutzers zu ändern (Administrator / Mitglied) - die **Sichtbarkeit der Anfragen** zu verwalten Standardmäßig kann ein *Mitglied* nur die ihm zugewiesenen Anfragen sehen, es kann jedoch aktiviert werden: - Anzeige nicht zugewiesener Anfragen - Anzeige von Anfragen, die anderen Benutzern zugewiesen sind - die **aktivierten Module** zu konfigurieren Es kann granular ausgewählt werden, welche Module jedes Mitglied: - anzeigen - bearbeiten darf. Zum Beispiel für das Modul **„Auto- und Teilesuche“**: - kann ein Mitglied nur die von anderen Mitarbeitern ausgewählten Codes anzeigen - oder in die Explosionszeichnungen gehen und Suchen sowie Änderungen durchführen wie ein Administrator Benutzerrechte --- ## Hinzufügen neuer Benutzer Ein Administrator kann **neue Benutzer zu Quoting24 einladen oder hinzufügen**, indem er auf die rote Schaltfläche **„Hinzufügen“** klickt. Die Liste der verfügbaren Benutzer wird geöffnet; um einen Benutzer einzuladen, genügt ein Klick auf den **roten Pfeil** neben dem gewünschten Namen. Benutzer hinzufügen Während der Erstellung oder Einladung eines neuen Benutzers kann sein **Spitzname** voreingestellt werden. Der Spitzname ist der interne Name, der in Quoting24 verwendet wird, um: - den Benutzer in Zuweisungen anzuzeigen - ihn in internen Notizen zu taggen - ihn in der Zusammenarbeit zwischen Mitarbeitern schneller zu erkennen --- ## Passwortänderung und Kontoverwaltung Durch Klicken auf **„Passwort ändern“** oben rechts wirst du zum Bereich [**Account → Benutzerverwaltung**](https://app.qricambi.com/youraccount/UsersManager) von Qricambi weitergeleitet: Wenn dein Benutzer **Administrator von Qricambi** ist, kannst du in diesem Bereich: - den **Benutzernamen** ändern - das **Passwort** ändern - **Spitzname** und **Signatur** des ausgewählten Benutzers schnell ändern, über das **Bleistiftsymbol** Die Zugangsdaten sind für **Qricambi** und **Quoting24** **dieselben**. --- # Benachrichtigungen URL: https://wiki.quoting24.com/de/content/notifications/ Language: de Updated: 2026-11-04 # Benachrichtigungen Quoting24 ermöglicht jedem Benutzer, seine eigenen **persönlichen Benachrichtigungen** zu konfigurieren, damit er über zu bearbeitende Anfragen auf dem Laufenden bleibt, auch wenn er mit mehreren Telefonnummern arbeitet. Benachrichtigungen helfen dem Mitarbeiter, Folgendes zu verfolgen: - neue Anfragen - empfangene Nachrichten - zugewiesene oder nicht mehr zugewiesene Tickets - interne Notizen und Tags von Kollegen - Reaktionen auf Nachrichten --- ## Wo Benachrichtigungen konfiguriert werden Benachrichtigungen werden unter **Einstellungen → Benachrichtigungen** konfiguriert. In diesem Bereich kannst du: - den **Ton** der Benachrichtigung wählen (mit Vorschau) - die **Stufe der Nachrichtenbenachrichtigungen** für die aktuelle Aktivität festlegen - die **Desktop-Benachrichtigungen** aktivieren Impostazioni Notifiche --- ## Einheitliche Benachrichtigungen Die Benachrichtigungen von Quoting24 sind **einheitlich**: Wenn ein Benutzer mit mehreren verbundenen Telefonnummern arbeitet, erhält er Benachrichtigungen von allen Nummern, für die er berechtigt ist, unabhängig davon, welche Nummer gerade geöffnet ist. Dadurch muss nicht für jede Aktivität ein eigener Browser-Tab geöffnet bleiben, nur um Benachrichtigungen zu kontrollieren. Die Benachrichtigungen werden in der **Glocke** von Quoting24 angezeigt und folgen den persönlichen Einstellungen des Benutzers. --- ## Desktop-Benachrichtigungen Um Hinweise auch außerhalb des Quoting24-Fensters zu erhalten, können **Desktop-Benachrichtigungen** aktiviert werden. So aktivierst du sie: 1. öffne **Einstellungen → Benachrichtigungen** 2. klicke auf **Desktop-Benachrichtigungen aktivieren** 3. bestätige die vom Browser angeforderte Berechtigung Nach der Aktivierung kann der Browser auch dann eine Benachrichtigung anzeigen, wenn Quoting24 nicht der aktive Tab ist. --- ## Benachrichtigungston In den Einstellungen kannst du den **Ton** der Benachrichtigung wählen, mit Vorschau zum Anhören. Zu den verfügbaren Optionen gehören Töne wie Default, Chime, Pop, Pulse, Ring, Bloom und Runaway sowie die Option **Keine**. Mit **Keine** bleiben visuelle Benachrichtigungen gemäß den konfigurierten Regeln aktiv, der akustische Hinweis wird jedoch vollständig stummgeschaltet. Erwähnungen, Zuweisungen und Ton bleiben **Benutzereinstellungen**. Scelta suono notifica --- ## Benachrichtigungsstufen pro Aktivität Die Stufe der **Nachrichtenbenachrichtigungen** ist nicht mehr global für den Benutzer: Sie ist **pro Aktivität** einstellbar. Wenn du mit mehreren Tenants arbeitest, hat jede Aktivität ihre eigene Einstellung; die, die du gerade änderst, ist die des **aktuellen Workspace**. Die verfügbaren Stufen ermöglichen Benachrichtigungen: - keine - nur meine - meine und neue - alle Die Auswahl hängt von der Rolle des Mitarbeiters und vom Workflow des Unternehmens ab. Livello notifiche messaggi per attività --- ## Benachrichtigungen für neue Anfragen und Nachrichten Wenn eine neue Anfrage von einem Kunden eingeht, kann Quoting24 die Mitarbeiter entsprechend der für die Aktivität gewählten Konfiguration benachrichtigen. Dies ist besonders nützlich, wenn: - mehrere Mitarbeiter mit derselben Nummer arbeiten - Anfragen schnell übernommen werden müssen - das Unternehmen vermeiden möchte, dass ein neues Ticket unbearbeitet bleibt Benachrichtigungen können auch durch Nachrichten erzeugt werden, die in bereits geöffneten Tickets empfangen werden, abhängig von der für die Aktivität ausgewählten Stufe. --- ## Benachrichtigungen für zugewiesene oder nicht mehr zugewiesene Tickets Wenn ein offenes Ticket einem Mitarbeiter **zugewiesen** wird, informiert die Benachrichtigung schnell darüber, dass eine Anfrage bearbeitet werden muss. Die Benachrichtigung wird auch erzeugt, wenn ein offenes Ticket **nicht mehr zugewiesen** ist, sodass der Mitarbeiter weiß, dass die Anfrage nicht mehr in seiner Verantwortung liegt. Die Zuweisung kann erfolgen: - manuell - über automatische Regeln - basierend auf der Konfiguration der Zuweisungen Weitere Details findest du auf der Seite [Zuweisungen](assegnazioni.md). --- ## Benachrichtigungen für interne Notizen und Tags Innerhalb von Unterhaltungen können **interne Notizen** erstellt werden, die nur für Kollegen sichtbar sind. Wenn ein Kollege mit `@soprannome` getaggt wird, erhält er eine spezifische Benachrichtigung. Es ist auch möglich, `@tutti` zu verwenden, um die Aufmerksamkeit aller berechtigten Mitarbeiter zu erregen. Benachrichtigungen, die durch einen Tag in einer internen Notiz erzeugt werden, werden **orange** hervorgehoben, damit sie sich von normalen Nachrichtenbenachrichtigungen unterscheiden. Neben den Lesebestätigungen wird das Symbol der internen Notiz angezeigt, um darauf hinzuweisen, dass dieser Inhalt nicht an den Kunden gesendet wurde. --- ## Benachrichtigungen für Reaktionen Reaktionen auf Nachrichten erzeugen Benachrichtigungen in Quoting24. Die Benachrichtigungen zu Reaktionen werden angezeigt: - in der **Glocke** - in den **Desktop-Benachrichtigungen**, wenn aktiviert - in der Nachrichtenvorschau in der linken Spalte Wenn die Nachricht geöffnet wird, kann auch angezeigt werden, **wer die Reaktion gesetzt hat**. --- ## Operative Empfehlungen Für eine korrekte Nutzung der Benachrichtigungen: - wähle pro Aktivität eine Stufe, die zu deiner Rolle passt - aktiviere umfassendere Benachrichtigungen, wenn du neue Anfragen überwachen musst - nutze eingeschränktere Benachrichtigungen, wenn du nur an zugewiesenen Tickets arbeitest - verwende **Keine** als Ton, wenn du nur visuelle Hinweise bevorzugst - aktiviere Desktop-Benachrichtigungen, wenn Quoting24 nicht immer im Vordergrund ist - verwende Tags in internen Notizen, um bestimmte Kollegen aufmerksam zu machen - überprüfe die Konfiguration regelmäßig, wenn sich Rolle, Aktivität oder Telefonnummer ändern --- # Centro de Ajuda Quoting24 URL: https://wiki.quoting24.com/pt/ Language: pt Updated: 2026-11-04 # Centro de Ajuda Quoting24 Bem-vindo ao **Centro de Ajuda da Quoting24**. Esta documentação vai guiar você passo a passo no uso da Quoting24, explicando **o que a plataforma faz**, **a quem se destina** e **como aproveitá-la ao máximo** nas atividades diárias. --- ## O que é a Quoting24 **Quoting24** é uma plataforma projetada para **gerenciar, organizar e automatizar as solicitações de orçamento recebidas via WhatsApp**, transformando as conversas com os clientes em um fluxo de trabalho estruturado e eficiente. A Quoting24 é especialmente útil quando: - Vários operadores trabalham no mesmo número e o volume de solicitações é elevado - É necessário reduzir o tempo de elaboração dos orçamentos por meio de uma série de automatismos pensados para a venda de peças automotivas. Ao contrário do WhatsApp tradicional, a Quoting24: - divide as conversas em **tickets** - permite trabalhar em **equipe** sem limites de números e operadores conectados - conecta-se diretamente ao **Qricambi** e ao seu **sistema de gestão** A Quoting24 serve para: - gerenciar **muitas solicitações ao mesmo tempo** sem perder mensagens - automatizar pesquisas de **placas, chassis e peças** - colaborar entre colegas com notas internas, reaction e notificações unificadas - criar um fluxo contínuo entre **solicitação → pesquisa → orçamento → resposta** --- ## Índice da documentação ### 🚀 Comece com a Quoting 24 - [Acesso à Quoting 24](content/login.md) Como fazer login e acessar a plataforma. - [Visão geral](content/general_overview.md) Visão de conjunto da interface e do fluxo de trabalho. --- ### 🧾 Gestão de solicitações - [Tela principal](content/main_screen.md) Vista principal com tickets, chat e pesquisa de peças. - [Gestão de tickets](content/gestione_ticket.md) Um ticket gravável por conversa, respostas, reabertura e mensagens agendadas. - [Lista de solicitações](content/requested_list.md) Histórico, pesquisa e filtros das solicitações recebidas. - [Etiquetas](content/type_of_request.md) Etiquetas dos tickets, categorização automática e urgência. - [Respostas salvas](content/save_response.md) Mensagens predefinidas para responder mais rapidamente. - [Atribuições](content/assegnazioni.md) Atribuição automática e gestão inteligente dos tickets. - [Turnos de entrega](content/delivery_shifts.md) Gestão e atribuição dos turnos às empresas. - [Relatório diário de atividade](content/daily_activity_report.md) Relatório por e-mail com KPI de tickets, operadores e tendência diária. - [Quoting News](content/quoting_news.md) Canal em somente leitura para as comunicações de produto da Quoting. --- ### 💬 Canal WhatsApp - [Visão geral do WhatsApp](content/whatsapp.md) Conexão do número WhatsApp por meio das APIs oficiais. - [Migração da API WhatsApp](content/migrazione_whatsapp_api.md) Ligar à Quoting24 um número que já está nas API de outro fornecedor, sem o mudar. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Usar ao mesmo tempo a app WhatsApp Business e as API oficiais no mesmo número. - [Broadcast API](content/broadcast_api.md) Campanhas com templates Meta para muitos números, com destinatários a partir do Excel. --- ### 🌐 Canal Widget - [Visão geral do Widget](content/widget.md) — Chat no site: convidado, associação de empresa e restauro do histórico. - [Widget B2C](content/widget_b2c.md) — Script, visitante desconhecido e payload com `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — Histórico entre dispositivos com `external_user_id` e `restore_id`. - [Integração técnica](content/widget_tecnico.md) — Contrato de `init()`, criação de empresa, CSP e resolução de problemas. --- ### 👥 Contatos e empresas - [Contatos](content/contacts.md) Gestão dos contatos do canal WhatsApp. - [Empresas](content/companies.md) Criação e gestão das empresas clientes. --- ### Inteligência artificial - [Visão geral da IA](content/ai.md) - [Reconhecimento](content/ai_riconoscimento.md) - [Fotos, PDF e mensagens de voz](content/ai_media.md) - [Quadro e correção](content/ai_riquadro.md) - [Automações](content/automations.md) --- ### 🔌 Integrações - [Pesquisa de fornecedores Qricambi](content/qricambi_integration.md) Conexão com Qricambi e gestão de fornecedores. - [Pesquisa com extensão](content/search_with_extension.md) Pesquisar no Partslink ou no Eper os chassis não encontrados, com o Qricambi Assistant. - [Créditos Qricambi](content/credits.md) Uso e gestão dos créditos compartilhados com Qricambi. - [Enviar orçamento ao sistema de gestão](content/invia_preventivo_gestionale.md) Envie os dados do orçamento ao seu sistema de gestão. - [Escrever no WhatsApp por meio das nossas APIs](content/invia_whatsapp_api.md) Envie mensagens pelas APIs oficiais do WhatsApp. - [Pesquisa de um código no próprio sistema de gestão](content/management_research.md) Pesquisa no sistema de gestão para obter preços e disponibilidade por cliente. --- ### 👤 Configurações da conta - [Perfil do usuário](content/profilo.md) Personalização do perfil e mensagens automáticas. - [Atividade](content/activities.md) Configurações da atividade e comportamento geral. - [Usuários e permissões](content/user.md) Gestão de usuários, funções e autorizações. - [Notificações](content/notifications.md) Configuração das notificações pessoais, unificadas e desktop. --- --- ## Por onde começar Se esta é a sua primeira vez na Quoting24, recomendamos este percurso: 1. [Acesso à Quoting 24](content/login.md) 2. [Visão geral](content/general_overview.md) 3. [Tela principal](content/main_screen.md) 4. [Visão geral do WhatsApp](content/whatsapp.md) 5. [Atividade](content/activities.md) e [Automações](content/automations.md) Isso permitirá que você tenha uma visão completa do funcionamento antes de entrar nos detalhes. --- # Acesso à Quoting24 URL: https://wiki.quoting24.com/pt/content/login/ Language: pt Updated: 2026-11-04 # Acesso à Quoting24 Para acessar a **Quoting24**, é necessário estar registrado (mais informações [aqui](https://welcome.quoting24.com/registrazione)) e ter uma credencial para usar no seguinte link: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) O **Username** e a **senha** são os mesmos utilizados para acessar o [**Qricambi**](https://qricambi.com/). Tela de login --- ## Gestão de senha No momento, para alterar ou recuperar a senha é necessário usar o Qricambi, por meio de uma das seguintes opções: - Página de [recuperação de senha](https://app.qricambi.com/Authentication/RequestRecover?user=) - Seção [Gestão de usuários](https://app.qricambi.com/youraccount/UsersManager) --- ## Primeiro acesso e seleção da atividade No primeiro acesso à plataforma, o usuário **já foi criado e configurado** por colegas com função administrativa. Depois de fazer login, o comportamento depende dos **números de telefone/atividades** associados ao usuário. ### Usuário associado a vários números de telefone Se o usuário estiver atribuído a **vários números de telefone**, será solicitado que escolha **em qual atividade entrar**. Tela de seleção da atividade ### Usuário associado a um único número de telefone Se o usuário estiver atribuído a **um único número de telefone**, o acesso ocorrerá automaticamente, sem nenhuma seleção. --- ## Após o acesso Depois de entrar, será exibida a [**tela principal da Quoting24**](main_screen.md), a partir da qual é possível começar a trabalhar nas solicitações. --- # Visão geral URL: https://wiki.quoting24.com/pt/content/general_overview/ Language: pt Updated: 2026-11-04 # Visão geral Quoting24 é uma plataforma projetada para **gerenciar de forma centralizada e inteligente as solicitações de orçamento recebidas via WhatsApp**, integrando automação, pesquisa de peças e colaboração entre operadores. Esta visão geral ajudará você a entender: - como a interface é organizada - como funciona o fluxo de trabalho - quais são as principais funcionalidades disponíveis --- ## A tela principal Depois de fazer login, o usuário é direcionado para a **[tela principal](main_screen.md)** da Quoting24. Tela principal Quoting24 A tela é dividida em **três áreas principais**, que trabalham juntas para transformar uma conversa do WhatsApp em um orçamento estruturado. --- ## 1. Gestão das solicitações (chat e ticket) Lista de tickets Cada solicitação recebida de um cliente é gerenciada como um **ticket**. Ao contrário do WhatsApp tradicional: - cada nova solicitação de orçamento gera um ticket distinto - os tickets podem ser **atribuídos**, colocados **em pausa**, marcados **para ler**, **fechados** ou **retomados** - o trabalho é distribuído entre vários operadores de forma organizada A partir desta seção é possível: - ordenar e filtrar tickets (responsável fora, outros filtros no funil) - abrir novos pedidos a partir da página inicial ou de **Contatos** - monitorar o estado do trabalho da equipe Para cada conversa existe **apenas um ticket em que se pode escrever**: um ticket fechado não se reabre manualmente. Detalhes em **[Gestão de tickets](gestione_ticket.md)**. 👉 Para saber mais: - **[Gestão de tickets](gestione_ticket.md)** - **[Lista de solicitações](requested_list.md)** - **[Atribuições automáticas](assegnazioni.md)** - **[Etiquetas](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Conversa com o cliente Chat Quoting24 Esta é a área dedicada à **comunicação direta com o cliente**. A partir daqui é possível: - enviar e receber mensagens - anexar fotos, vídeos e documentos - inserir **notas internas** visíveis apenas aos colegas - usar **respostas salvas** para agilizar as comunicações A Quoting24 analisa automaticamente as mensagens: - transcreve áudios - reconhece placas, chassis e referências a peças - prepara os dados necessários para a fase de orçamento 👉 Para saber mais: - **[Respostas salvas](save_response.md)** - **[Notificações](notifications.md)** --- ## 3. Pesquisa de veículo e peças Pesquisa de placa e chassi A seção da direita é dedicada à **pesquisa técnica**. Aqui são exibidos automaticamente: - placas - chassis - informações sobre o veículo - componentes identificados na conversa Por meio das **vistas explodidas** é possível: - identificar o código correto da peça - pesquisá-lo no Qricambi - iniciar rapidamente a criação do orçamento Vistas explodidas do veículo 👉 Para saber mais: - **[Integração com Qricambi](qricambi_integration.md)** - **[Automações](automations.md)** --- ## Automações e atribuições inteligentes A Quoting24 inclui funcionalidades avançadas para **reduzir o trabalho manual**: - **Automações** Pesquisa automática de placas, chassis e peças 👉 **[Ir para Automações](automations.md)** - **Atribuição automática dos tickets** Atribuição inteligente com base em: - [etiqueta](type_of_request.md) - [empresa](companies.md) - [contato](contacts.md) 👉 **[Ir para Atribuições automáticas](assegnazioni.md)** Isso permite: - reduzir os tempos de resposta - evitar erros de triagem - trabalhar de forma estruturada mesmo com muitos operadores --- ## Colaboração entre operadores A Quoting24 foi pensada para o trabalho em equipe. Estão disponíveis: - funções (**administradores** e **membros**) - atribuições dos tickets - notas internas - notificações personalizáveis - notificações unificadas também em vários números de telefone - turnos de entrega associáveis às empresas 👉 Para saber mais: - **[Usuários e permissões](user.md)** - **[Perfil do usuário](profilo.md)** - **[Turnos de entrega](delivery_shifts.md)** --- ## Integração com Qricambi A Quoting24 é profundamente integrada ao **Qricambi**. Isso permite: - usar os mesmos **créditos** - pesquisar peças em fornecedores internos e externos - criar orçamentos no Qricambi - enviá-los ao cliente diretamente pelo chat 👉 Saiba mais: - **[Créditos](credits.md)** - **[Integração Qricambi](qricambi_integration.md)** - **[Enviar orçamento ao sistema de gestão](invia_preventivo_gestionale.md)** - **[Escrever no WhatsApp por meio das nossas APIs](invia_whatsapp_api.md)** Assim, o fluxo de trabalho se torna contínuo: **solicitação → pesquisa → orçamento → resposta ao cliente** --- ## Por onde começar A Wiki da Quoting24 também pode ser acessada pelo aplicativo, em **Configurações**, no canto inferior esquerdo. Link da Wiki nas configurações Se você é novo na Quoting24, recomendamos este percurso: 1. **[Acesso à Quoting24](login.md)** 2. **[Tela principal](main_screen.md)** 3. **[Lista de solicitações](requested_list.md)** 4. **[Visão geral do WhatsApp](whatsapp.md)** 5. **[Atividade](activities.md)** e **[Automações](automations.md)** Isso permitirá que você tenha uma visão completa do funcionamento da plataforma antes de entrar nos detalhes. --- # Tela principal URL: https://wiki.quoting24.com/pt/content/main_screen/ Language: pt Updated: 2026-11-04 # Tela principal A tela principal da **Quoting24** se divide em **três seções principais**, ilustradas abaixo da esquerda para a direita. Tela principal - - - ## 1. Lista de chats / tickets (parte esquerda) Parte esquerda Nesta seção está a lista de **chats / tickets**. Ao contrário do WhatsApp, onde as conversas são fluxos únicos e contínuos, na **Quoting24** a conversa é dividida em **tickets**: cada solicitação de orçamento deve ser considerada um **ticket separado**. Para cada contacto existe **apenas um ticket no qual se pode escrever**. Um ticket fechado não se reabre manualmente: consulte o fluxo em [Gestão de tickets](gestione_ticket.md). Na mesma área da barra lateral também encontra **[Quoting News](quoting_news.md)**: o canal em somente leitura para as comunicações de produto publicadas pela Quoting. Quando o trabalho em um orçamento termina, é recomendado **fechar o ticket**. Tickets fechados ### Estados do ticket Um ticket pode estar em diferentes estados, de acordo com o ponto do fluxo de trabalho em que se encontra: * **Aberto**: a solicitação ainda precisa ser gerenciada ou está em processamento. * **Para ler**: o ticket deve ser retomado pela equipe. Quando um ticket é marcado como *Para ler*, os responsáveis são removidos e a solicitação volta a ficar disponível para os operadores habilitados. * **Em pausa**: a solicitação não está fechada, mas está aguardando uma resposta ou uma informação do cliente. * **Fechado**: a solicitação foi concluída e não deve mais aparecer entre os tickets a trabalhar. O estado **Em pausa** é útil quando não se deseja fechar definitivamente a solicitação. Se o cliente escrever novamente em um ticket em pausa, o ticket volta automaticamente para **aberto**, permanece atribuído ao operador original e também mostra, por padrão, as mensagens anteriores. Estado de pausa do ticket ### Ordenar por Acima da lista, **Ordenar por** oferece: * **Mensagem mais recente** (predefinido) — última mensagem do chat, de qualquer remetente * **Recebido mais recente** — última mensagem **do cliente** * **Prioridade decrescente** — prioridade efetiva do contacto (pessoal ou herdada da empresa) * **Turnos mais recentes** — próximo turno de entrega * **Mensagem menos recente** ### Filtros dos tickets Os filtros de **atribuição / estado** permanecem sempre visíveis (ex.: não atribuído, atribuído a mim, a outros, para ler, em pausa, fechado). O filtro **Responsável** fica **fora**, na linha principal. Todos os outros filtros estão agrupados no botão de **funil** (igual no mobile). Quando um filtro do funil está ativo, também aparece **fora** como chip removível. Dentro do funil encontra: * **Etiquetas** — etiquetas do ticket * **Utilizadores** — operadores atribuídos * **Tipo de empresa** — tipo do contacto / empresa (cliente, fornecedor, colaborador, …) * **Período do ticket** — atalhos **Últimos 7 dias** ou **Últimos 30 dias** * intervalo manual de datas **De** / **Até** Um ticket atribuído apresenta um **ícone com as iniciais do operador** à esquerda da prévia da mensagem. A atribuição dos tickets permite uma melhor **divisão do trabalho** e uma **otimização do fluxo operacional** entre colegas. ### Prévia e indicadores na lista Ao passar o mouse sobre um chat na parte esquerda, é possível visualizar uma **prévia da conversa**, sem precisar abrir imediatamente o ticket. Na lista de tickets, à direita do **nome do contacto**, um **único tag** mostra: * o **ícone de prioridade** do contacto (pessoal ou herdada da empresa): * triângulo para cima → prioridade **alta** * ponto / traço → prioridade **média** * triângulo para baixo → prioridade **baixa** * a seguir, o **código da empresa** (sem o `#` usado no passado) * a **cor do tag** reflete o tipo da empresa vinculada ou, quando presente, o tipo pessoal do contacto Ao passar o mouse sobre o tag, aparece um resumo breve (empresa, prioridade, tipo). Nas prévias continuam a aparecer indicadores úteis como: * as **reaction** adicionadas pelo cliente ou pelos operadores * o ícone do operador atribuído * o estado do ticket e as eventuais [etiquetas](type_of_request.md) da solicitação * o próximo turno de entrega, quando disponível Prévia do chat na parte esquerda ### Pesquisa na lista de tickets Na parte esquerda está disponível um campo de **pesquisa** dividido em seções, com a contagem dos resultados para cada uma: * **Todas** * **Conversas** * **Mensagens** * **Peças** Os chips das seções se comprimem se o espaço for estreito. Os contatos também são encontrados por **nome da empresa** e **código da empresa**. Se a correspondência for na empresa, aparece uma etiqueta com nome ou código. ### Criação rápida de um ticket O operador pode escrever para um dos seus contactos clicando no botão **‘+’** na lista de tickets (ação *“Abrir novo pedido”*). A mesma ação também está disponível em **[Contatos](contacts.md#abrir-novo-pedido)** (lista e detalhe do contacto). Abrir ticket Clicando nos **três pontinhos** no canto superior direito é possível: * fechar **todos os tickets** * ou fechar **todos os tickets até ontem** Três pontinhos ### Detalhes por chat individual Chat de usuário individual Aqui explicamos em detalhe os componentes presentes nos chats individuais: * Os ícones ao lado do estado são as [etiquetas](type_of_request.md) da solicitação * Ao lado do nome do contacto, o **único tag** mostra a prioridade e o código da [empresa](companies.md) (sem `#`), colorido conforme o tipo do contacto/empresa * O valor presente no oval azul, neste caso 'Amanhã 08:00', equivale ao primeiro cutoff / turno disponível - - - ## 2. Chat e gestão da conversa Chat Esta seção permite: * enviar mensagens * anexar **fotos, vídeos e outros arquivos** * gerenciar a conversa com o cliente * consultar o histórico dos tickets vinculados ao mesmo chat ### Identificação automática dos dados Os elementos úteis para a criação de um orçamento (ex.: **placa**, **chassi**, descrição do veículo ou da peça solicitada) são **identificados automaticamente** na conversa com o cliente, **marcados** e apresentados na seção da direita (veja o ponto **3**). ### Abertura, pausa e continuidade dos tickets O comportamento de escrita e reabertura está explicado na íntegra em **[Gestão de tickets](gestione_ticket.md)**. Em resumo: * se o ticket atual estiver **aberto**, a mensagem permanece na solicitação em andamento * se estiver **em pausa**, volta automaticamente para **aberto** e permanece atribuído ao operador original * se estiver **fechado**: * com um ticket **já aberto** no mesmo contacto → a resposta vai para o ticket aberto (o fechado permanece vinculado) * se o ticket fechado **não for o mais recente** → a resposta abre um **novo pedido** (o fechado permanece vinculado) * se o ticket fechado **for o mais recente** → o ticket é **reaberto** Um ticket fechado **não pode ser reaberto alterando o estado manualmente**. Nos tickets fechados estão disponíveis **Ir para o ticket aberto**, **Ir para o último ticket fechado** e **Abrir novo pedido**. Quando for útil, continua a ser possível: * visualizar a conversa inteira * **unir** tickets vinculados para recuperar o trabalho já feito As mensagens agendadas são encaminhadas **no momento do envio**. Se fechar um ticket que ainda tem mensagens agendadas, o Quoting24 pede confirmação. ### Visualização dos tickets no chat O chat principal mostra os tickets com o mesmo formato do chat inteiro: há linhas e **banners** que indicam onde **começa** e onde **termina** cada ticket. Nos banners de separação entre tickets (também ao usar **Ver anterior**) são mostrados: * **data** e **hora** de fechamento do ticket * **quem fechou** o ticket Banner ticket con data/ora e utente di chiusura Quando vários tickets estão vinculados à mesma conversa, ações dedicadas ficam disponíveis: * **Unir**: vincula o ticket atual a um anterior, recuperando o contexto já trabalhado. * **Desvincular solicitação**: separa uma solicitação vinculada para gerenciá-la como ticket independente. A ação é indicada pelo ícone com o **olhinho riscado**. * **Abrir conversa inteira**: se entre dois tickets vinculados houver outros tickets ou mensagens intermediárias, aparece um botão para abrir a conversa inteira nesse ponto e vê-los todos. Linhas de início e fim do ticket com Unir e Ver junto ### Banner “N mensagens para ler” Ao abrir um ticket com mensagens não lidas do cliente, no chat aparece um indicador entre as mensagens já lidas e as que faltam ler, por exemplo **“1 mensagem para ler”** ou **“N mensagens para ler”**. A contagem é atualizada se chegarem outras mensagens do cliente enquanto o banner estiver visível. Não conta as **notas internas** nem as mensagens **enviadas**. Banner messaggi da leggere ### Transcrição automática de áudios e imagens A Quoting24 transcreve automaticamente: * as **mensagens de voz** recebidas dos clientes * o conteúdo das **imagens**, por exemplo: * foto de uma **placa**, que é reconhecida e transcrita automaticamente A partir do texto transcrito são extraídas todas as informações úteis (placas, chassis, componentes do orçamento). Se a extração automática dos dados pela AI tiver sido ocultada nas configurações da atividade, as informações técnicas ainda podem estar disponíveis na seção da direita, mas não são mostradas como detalhe operacional na conversa. ### Anexos Clicando no ícone do **clipe**, é possível anexar: * fotos * vídeos * PDF * outros arquivos Os anexos também podem ser **arrastados diretamente para o chat**. ### Prévia de PDF no chat Os **PDF** recebidos ou enviados no chat mostram a **prévia da primeira página** na mensagem (miniatura em cima, nome e tamanho embaixo). Ao clicar no arquivo, abre-se o visualizador do documento. Se a prévia não estiver disponível, permanece o cartão de arquivo clássico. Anteprima PDF in chat ### Editor de imagens antes do envio Quando se anexa uma imagem a uma mensagem, pelo ícone do clipe ou arrastando-a para o chat, o Quoting24 mostra uma prévia do anexo antes do envio. Ao clicar na imagem na prévia, abre-se o **editor de imagens em tela cheia**, que permite modificar a imagem antes de enviá-la ao cliente. O editor está disponível apenas para imagens ainda na fila de envio. Ele não se aplica a vídeos, arquivos genéricos ou mensagens já enviadas. As ferramentas disponíveis são: * **Recortar**: permite selecionar a área da imagem a manter arrastando o quadro * **Girar à esquerda / direita**: gira a imagem na direção escolhida * **Espelhar horizontal / verticalmente**: inverte a imagem no eixo selecionado * **Caneta e cores**: permite desenhar na imagem * **Borracha**: remove os traços desenhados * **Desfoque**: cobre uma zona com um retângulo pixelizado, que pode ser movido e redimensionado. Outro clique na foto adiciona outro * **Desfazer**: desfaz o último passo realizado Quando a edição termina: * ao clicar em **Concluído**, o anexo original é substituído pela imagem editada * ao clicar em **Cancelar**, a imagem original permanece inalterada Depois da edição, a mensagem pode ser enviada normalmente. Editor de imagens antes do envio O **desfoque** serve para ocultar dados visíveis na foto, por exemplo uma matrícula, antes de enviá-la ao cliente. Cada retângulo pode ser movido e redimensionado; outro clique na foto adiciona mais um retângulo. Matrícula ocultada com retângulos pixelizados ### Mensagens de voz, áudio e mídia A Quoting24 oferece suporte às **mensagens de voz** e aos arquivos de áudio recebidos no chat. Os áudios podem ser ouvidos, transcritos automaticamente e, quando disponível, baixados como arquivo de áudio. Durante o processamento aparece o estado **“Transcrição em curso…”**. Também está disponível o botão **Tentar novamente**, para relançar a transcrição se necessário. As fotos e os vídeos enviados na conversa podem ser abertos no **carrossel de mídia**, que permite navegar rapidamente entre os conteúdos multimídia recebidos ou enviados no chat. Carrossel de mídia e download de áudio Trascrizione in corso e Riprova ### Ditado por voz Abaixo do campo de escrita está disponível o ícone **Ditado**. Com a permissão do microfone, a voz é transcrita em tempo real na mensagem. Dettatura vocale ### Indicador "está digitando" Quando outro usuário está digitando no chat ativo, a Quoting24 mostra o indicador **está digitando**. Isso ajuda os operadores a evitar respostas sobrepostas enquanto um colega já está preparando uma mensagem. Indicador está digitando ### Envio sem cabeçalho ou assinatura Se no próprio [perfil](profilo.md) foram configurados cabeçalho ou assinatura, o Quoting24 os adiciona conforme a opção escolhida: **sempre**, ou **apenas na primeira mensagem do ticket e com Enviar e fechar**. Ainda é possível enviar uma única mensagem **sem cabeçalho e sem assinatura**. Essa opção é útil para respostas rápidas, mensagens muito curtas ou comunicações que não devem incluir o texto automático configurado pelo operador. Envio sem cabeçalho e assinatura ### Ações nas mensagens As ações disponíveis em uma mensagem podem ser abertas de duas formas: * fazendo **clique direito** na mensagem * clicando na **seta** à direita da mensagem A partir deste menu é possível executar operações como responder, encaminhar ou excluir mensagens. Quando previsto pela seleção, também é possível fazer **encaminhamento** e **exclusão múltipla**. Ações da mensagem com clique direito e seta ### Reaction às mensagens As reaction permitem que clientes e operadores reajam às mensagens da conversa. A Quoting24 mostra: * a reaction aplicada à mensagem * quem adicionou a reaction * a reaction na prévia das mensagens na coluna da esquerda As reaction recebidas geram notificações na Quoting24, no **sino** e, se habilitadas, também como **notificações desktop**. Se um cliente adiciona uma reaction a uma mensagem pertencente a um ticket já fechado, a Quoting24 cria uma referência à mensagem por meio de **reply**, para que a reaction permaneça visível no ticket atualmente aberto. ### Notas internas No chat é possível inserir uma **nota interna** para os colegas: * clicando no ícone dedicado * ou digitando **@ + ESPAÇO** Ao escrever uma nota interna: * o fundo fica **amarelo** * a nota **NÃO é enviada ao cliente** * fica visível apenas aos usuários da Quoting24 Dentro das notas é possível **marcar um colega** (escrevendo `@apelido`) e o colega receberá uma notificação. Também é possível marcar **todos os colegas** escrevendo `@todos`. Quando um usuário é marcado em uma nota interna, a notificação gerada pela Quoting24 é destacada em **laranja**. Ao lado dos tiques de visualização da mensagem também é mostrado o ícone da nota interna, para distinguir imediatamente as mensagens visíveis apenas aos operadores. As notas internas de **texto** podem ser **editadas em até 15 minutos**, apenas pelo **autor**. Ao responder a uma nota interna: * a resposta continua sendo uma **nota interna** * o autor da nota original é **reatribuído** ao ticket Criar nota interna Enviar nota interna Modifica nota interna ### Informações do ticket Na aba **Informações** do ticket (ícone **i**) é possível consultar e editar rapidamente os dados vinculados à solicitação. A secção está organizada assim: 1. **Em cima — Contacto** Notas, avisos, responsáveis do contacto, **prioridade** do contacto e **tipo** do contacto (o tipo só é editável se o contacto não tiver empresa). 2. **Em baixo — Empresa** (quando presente) Nome, notas, localização, **prioridade da empresa** e **tipo da empresa**. Sobre a prioridade do contacto: * se não estiver definida, é **herdada da empresa** (etiqueta *Herdada da empresa*) * ainda assim pode definir uma prioridade pessoal mesmo que a empresa já tenha uma Sobre o tipo do contacto: * **sem empresa** → pode defini-lo no contacto * **com empresa** → é herdado e **não é editável** no contacto; altere-o na empresa No seletor de responsáveis do ticket também está disponível a opção **Nenhum**: **remove todos os responsáveis**. Detalhes em [Atribuições](assegnazioni.md#atribuição-manual-e-atribuição-a-todos). Se o contacto tiver **avisos importantes**, estes são mostrados acima do chat para chamar imediatamente a atenção do operador. ### Exportação do chat A partir do chat é possível **exportar** a conversa. Ao iniciar a exportação, é possível escolher: * exportação **sem mídia** * exportação **com mídia** Se as mídias forem incluídas, elas são salvas em um **zip separado**, junto com o arquivo do chat. ### Histórico do ticket No painel lateral direito do ticket, é possível abrir a aba **Histórico**, indicada pelo ícone em forma de **relógio**. Essa aba mostra uma linha do tempo em **somente leitura** dos eventos vinculados ao ticket. Ela serve para consultar o que aconteceu na solicitação, quem realizou a ação e quando. O histórico pode incluir eventos como: * alteração de estado do ticket * primeira visualização do ticket * leitura de mensagens não lidas * atribuição ou remoção dos responsáveis pelo ticket * autoatribuição do operador, indicada como ação automática de tomada em carga * atribuição das pesquisas vinculadas ao ticket * alteração de estado das pesquisas, por exemplo aberta, em pausa ou fechada Quando o evento se refere a uma pesquisa de veículo, o Quoting24 também mostra os dados disponíveis para reconhecê-la mais facilmente, como **placa**, **VIN** ou **veículo**. O histórico é atualizado em tempo real e não pode ser modificado a partir dessa aba: ele é destinado apenas à consulta e à rastreabilidade operacional. Histórico do ticket - - - ## 3. Seção de pesquisa de chassi e códigos Conversão placa-chassi A seção da direita pode ser **recolhida** clicando no ícone da aba ativa. Dessa forma, é possível deixar mais espaço para a conversa quando não for necessário trabalhar nos dados técnicos. Aba direita recolhível Nesta seção são apresentados: * **placas** * **chassis** * **descrições das peças** identificados diretamente no chat com o cliente. A *placa* é convertida automaticamente em *chassi* e são exibidas informações sobre o veículo (ex.: **marca**, **modelo**, etc.). ### Subatribuições As **subatribuições** permitem atribuir não o ticket inteiro, mas a **pesquisa de veículo individual** dentro do chat. Em um ticket podem coexistir **várias pesquisas** ao mesmo tempo (por exemplo duas placas diferentes ou dois veículos do mesmo cliente). Cada pesquisa tem: * o seu próprio **estado** (por exemplo *Aberto*, *Em pausa*, *Fechado*) * um ou mais **operadores atribuídos** Assim o trabalho pode ser dividido por veículo: um colega trata de um veículo, outro colega de um segundo, sem dividir a conversa em tickets distintos. #### Diferença em relação à atribuição do ticket * **Atribuição do ticket**: abrange todo o chat / pedido e indica quem é responsável pela conversa. * **Subatribuição**: abrange a pesquisa de veículo individual e indica quem trabalha naquele veículo específico. * **Onde se gere**: a atribuição do ticket no chat; a subatribuição no painel da pesquisa, no canto superior direito. A atribuição do ticket e as subatribuições podem coexistir: o ticket pode permanecer atribuído a um operador, enquanto as pesquisas internas são distribuídas a outros colaboradores. #### Como atribuir uma pesquisa 1. Abra a pesquisa de veículo na seção da direita. 2. Clique no ícone da **pessoa** (ou no avatar do atribuído) no canto superior direito da linha do veículo. 3. Procure o operador e selecione-o, ou escolha **Todos** para envolver todos os colaboradores. Na mesma linha também pode alterar o **estado** dessa pesquisa específica, de forma independente do estado do ticket. Subatribuições das pesquisas de veículo Estado e atribuição de veículo individual As alterações de atribuição e de estado das pesquisas também são registadas no [histórico do ticket](#histórico-do-ticket), juntamente com placa, VIN ou veículo quando disponíveis. Para a atribuição automática e manual ao nível do ticket, consulte a página [Atribuições](assegnazioni.md). ### Pesquisa da peça por meio das vistas explodidas Um modelo de inteligência artificial propõe algumas opções de peça com base nas vistas explodidas. A extração dos dados de imagens, áudios e texto pode ser ocultada nas configurações da atividade, se o administrador preferir não mostrar aos operadores o detalhe do processamento AI. O operador deve: * entrar nas vistas explodidas * selecionar manualmente o **código correto** Abertura da vista explodida Clicando na prévia de uma vista explodida, abre-se a página de navegação completa das vistas explodidas disponíveis. O operador: * procura a peça desejada * seleciona o código marcando a caixa à esquerda * fecha a página pela **‘X’** no canto superior direito Se o operador desejar visualizar a árvore completa do chassi, pode clicar no **‘Q’** de Qricambi. ### Envio da vista explodida no chat A partir da visualização das vistas explodidas, é possível enviar diretamente no chat a **foto da vista explodida** vinculada à peça selecionada. Esta função é útil quando se deseja pedir confirmação ao cliente mostrando o detalhe técnico da peça. Envio de foto da vista explodida no chat ### Ações disponíveis nos códigos À direita de cada código estão disponíveis: * um **‘i’** com informações adicionais sobre a peça * um **‘Q’** vermelho para pesquisar o código no Qricambi * o ícone para **copiar o código** Peça selecionada O código selecionado é apresentado na tela anterior e é possível: * pesquisá-lo no **[Qricambi](https://app.qricambi.com/)** * criar um **[orçamento](invia_preventivo_gestionale.md)** * enviá-lo ao cliente por meio da **Quoting24** ### Pesquisa direta nos fornecedores Como alternativa, é possível pesquisar os códigos diretamente em alguns fornecedores pela **Quoting24**. Para isso, na seção **[Configurações → Qricambi](qricambi_integration.md)** é possível selecionar: * fornecedores **internos** (ex.: listas próprias) * fornecedores **externos** Pesquisa de peça A pesquisa nos fornecedores: * é mais sintética em relação ao Qricambi * segue a mesma lógica Os resultados são ordenados por: * **preço** * **disponibilidade** No topo são mostrados os produtos: * mais baratos * imediatamente disponíveis (**verde**) Ao percorrer os resultados: * a disponibilidade passa de **amarelo** para **vermelho** * o preço aumenta São mostrados: * código * marca * fornecedor * descrição * preço líquido * preço de tabela, se disponível * disponibilidade Produto Ao lado de cada resultado há dois ícones: * adição ao **[carrinho Qricambi](https://app.qricambi.com/?next=%2F&activetab=orders)** * link para o site de e-commerce do fornecedor > **NB** > A pesquisa automática nos fornecedores do Qricambi pode ser desabilitada a qualquer momento > na seção **[Configurações → Qricambi](qricambi_integration.md)** ### Pesquisa nos resultados Qricambi Quando há muitos resultados, é possível fazer uma **pesquisa por texto** dentro dos resultados do Qricambi, para identificar mais rapidamente o código, a marca ou a descrição desejada. Pesquisa textual nos resultados Qricambi --- # Gestão de tickets URL: https://wiki.quoting24.com/pt/content/gestione_ticket/ Language: pt Updated: 2026-11-04 # Gestão de tickets O Quoting24 organiza cada conversa do WhatsApp em **tickets**. O fluxo é **ordenado**: para cada contacto existe **apenas um ticket no qual se pode escrever** livremente. Esta página explica as regras de escrita, reabertura, resposta (reply) e mensagens agendadas. --- ## Conceitos base | Conceito | Significado | | --- | --- | | **Thread** | Todos os tickets do mesmo contacto | | **Ticket editável** | O único ticket do thread em que podes escrever livremente (normalmente o aberto, ou o último fechado nas condições abaixo) | | **Reply** | Resposta a uma mensagem específica: pode encaminhar o texto para outro ticket do thread | Regra prática: **não podes reabrir à mão um ticket fechado** (alterando o estado). Para retomar o trabalho usas uma mensagem, uma resposta a uma mensagem ou os botões dedicados nos tickets fechados. --- ## O que acontece quando escreves ### Já existe um ticket aberto Se o cliente (ou tu) responderem enquanto existe um ticket **aberto** (ou **em pausa** que volta a aberto), as mensagens vão para esse ticket. ### Escreves a partir de um ticket fechado Depende da posição do ticket fechado no thread: 1. **Já existe um ticket aberto** A resposta é enviada para o ticket aberto. O ticket fechado a partir do qual respondias permanece fechado e fica **ligado** ao ticket que recebeu a mensagem. 2. **O ticket fechado não é o último do thread** A resposta **abre um novo pedido**. Também neste caso o ticket fechado de origem fica ligado ao ticket de destino. 3. **O ticket fechado é o último do thread** Só neste caso a mensagem **reabre** esse ticket. Para escrever a partir de um ticket fechado que não é o editável, o Quoting24 pede para **responder a uma mensagem** (reply): sem reply, a composição fica bloqueada com a indicação de selecionar uma mensagem. --- ## Botões nos tickets fechados Ao abrir um ticket fechado, em baixo aparecem ações que seguem as mesmas regras do fluxo: - **Ir para o ticket aberto** — se no thread já houver um pedido aberto - **Ir para o último ticket fechado** — se não houver abertos (e o último fechado não for o que estás a ver) - **Abrir novo pedido** — cria um novo pedido no thread quando não há ticket aberto Estes botões evitam trabalhar no ticket errado e levam-te ao ponto correto do fluxo. Quando fazes reply a partir de um ticket fechado, o Quoting24 também indica para onde irá a mensagem, por exemplo: - *A resposta será enviada no ticket aberto.* - *A resposta abrirá um novo ticket.* --- ## Mensagens agendadas As mensagens agendadas **não definem de imediato** o ticket definitivo: são **encaminhadas no momento do envio**, com as regras do thread em vigor nesse instante. Consequência: se fechares um ticket que ainda tem mensagens agendadas pendentes, o Quoting24 pede confirmação. No envio, a mensagem pode: - reabrir o ticket (se ainda for o último fechado) - ou acabar noutro pedido aberto / novo --- ## O que já não podes fazer - **Reabrir manualmente** um ticket fechado alterando o estado O sistema bloqueia a ação e convida a escrever uma mensagem (nas condições corretas) ou a usar os botões do fluxo. - Ter **dois tickets abertos** no mesmo contacto Se já existir um aberto, não se abre um segundo. --- ## Estados do ticket (lembrete) - **Aberto** — em tratamento - **Por ler** — a retomar; os atribuídos são removidos - **Em pausa** — à espera do cliente; se o cliente voltar a escrever, passa a **aberto** e continua atribuído ao operador original - **Fechado** — concluído; não aparece entre os tickets a trabalhar, mas continua consultável com as regras de reply / reabertura acima A **pausa** não é um fecho: as regras dos tickets fechados não se aplicam. --- ## Onde abrir um novo pedido Podes iniciar uma conversa / novo pedido a partir de: - o botão **+** na lista de tickets da home (*Abrir novo pedido*) - a secção **[Contactos](contacts.md#abrir-novo-pedido)** (lista e ficha do contacto) - o botão **Abrir novo pedido** dentro de um ticket fechado, quando o fluxo o prevê --- ## Ligações úteis - [Ecrã principal](main_screen.md) — lista, filtros, pré-visualização, chat - [Lista de pedidos](requested_list.md) — histórico e filtros de estado - [Contactos](contacts.md) — abrir pedido, prioridade e tipologia do contacto --- # Lista de solicitações URL: https://wiki.quoting24.com/pt/content/requested_list/ Language: pt Updated: 2026-11-04 # Lista de solicitações Clicando no **menu no canto superior direito** e selecionando **“Lista de solicitações”**, abre-se o **histórico das solicitações** criadas pelos vários contatos na Quoting24. Tela das listas de solicitações --- ## Visualização das solicitações Por padrão, são mostradas **apenas as solicitações abertas**. Por meio do **filtro no canto superior direito**, é possível: - visualizar as solicitações **em pausa** - visualizar as solicitações **para ler** - visualizar as solicitações **fechadas** - aplicar **outros filtros** para refinar a pesquisa Filtros de solicitações abertas em pausa e fechadas --- ## Pesquisa entre as solicitações A lista de solicitações permite pesquisar rapidamente entre os tickets presentes no histórico. A pesquisa pode ser usada para localizar uma solicitação a partir de informações como: - nome ou número do contato - empresa vinculada - conteúdo da solicitação - estado do ticket - dados técnicos reconhecidos, por exemplo placa ou chassi Os filtros podem ser combinados com a pesquisa textual para restringir a lista e encontrar mais rapidamente o ticket correto. --- ## Solicitações em pausa As solicitações **em pausa** são tickets não fechados definitivamente, mas temporariamente suspensos porque se aguarda uma mensagem ou confirmação do cliente. Quando o cliente escreve novamente em um ticket em pausa: - o ticket volta automaticamente para **aberto** - permanece atribuído ao operador original - também são mostradas por padrão as mensagens anteriores Esse comportamento é diferente dos tickets **fechados**: num ticket fechado aplicam-se as regras do fluxo ordenado (resposta, reabertura apenas se for o mais recente, caso contrário novo pedido ou encaminhamento para um ticket já aberto). Detalhes em [Gestão de tickets](gestione_ticket.md). --- ## Abertura de uma solicitação Clicando na **seta vermelha** no final à direita de uma linha, é possível abrir a **solicitação específica** e acessar o respectivo ticket. Ao abrir uma solicitação, a Quoting24 mostra o contexto vinculado ao ticket, incluindo eventuais mensagens anteriores se a solicitação tiver sido colocada em pausa ou vinculada a outros tickets. --- # Etiquetas URL: https://wiki.quoting24.com/pt/content/type_of_request/ Language: pt Updated: 2026-11-04 # Etiquetas Um ticket pode ter **várias etiquetas**. Servem para classificar o pedido e, com a [atribuição automática](assegnazioni.md) ativa, enviá-lo aos operadores ligados a essas etiquetas. Na lista de tickets aparecem até **3 como ícones**. Se houver mais, surge **+N**. Se o nome não couber, fica o ícone e o nome lê-se na dica. Etiquetas predefinidas --- ## Três tipos de etiqueta | Tipo | Quem a cria | Quem a pode atribuir | | --- | --- | --- | | **Personalizada** | A sala | Os operadores | | **AI** | A sala, com «atribuir com a AI» ativo (só AI Premium) | Os operadores e o agente premium | | **Predefinida** | Já presente em cada sala | Os operadores e o classificador | As etiquetas postas por um operador **nunca são retiradas automaticamente**. O classificador e o agente apenas **acrescentam**. --- ## Etiquetas predefinidas São **11**, iguais em todas as salas: * Informações * Comercial * Encomendas e logística * Compras * Garantias, devoluções e reclamações * Suporte * Administração * IT * Serviços * Auth * Outro Não se podem **renomear** nem **eliminar**. Podem mudar-se a **cor** e os **atribuídos**. Estão em **Definições → Tickets e automações → Etiquetas**, separador **Etiquetas predefinidas**. Editar a cor de uma etiqueta predefinida Com **AI lite** não há categorização automática: as predefinidas podem ser atribuídas à mão. Nesse módulo o separador das predefinidas não aparece. --- ## Etiquetas personalizadas No separador **Etiquetas personalizadas**, **Adicionar** cria uma etiqueta da sala: nome, cor, ícone e descrição. Etiquetas personalizadas Com **AI Premium** pode ativar-se **Atribuir automaticamente esta etiqueta aos tickets com inteligência artificial**. O agente só a usa se a descrição disser com clareza quando a aplicar. Na lista estas etiquetas têm o distintivo **AI**. Nova etiqueta com atribuição AI Os atribuídos definem-se na coluna **Atribuído a**. Se a [atribuição automática](assegnazioni.md) estiver ativa, um pedido com essa etiqueta vai para eles. --- ## Categorização automática Cada sala escolhe quem põe as etiquetas automaticamente em **Definições → Tickets e automações → Classificador de tickets**. A alteração guarda-se com **Guardar alterações**. Classificador de tickets | Opção | O que acontece | Para quem | | --- | --- | --- | | **Desativada** | Nenhuma etiqueta automática, só à mão | Todos | | **Etiquetas predefinidas (AI económica)** | O classificador põe as etiquetas predefinidas | Só AI económica | | **AI Premium** | O agente premium põe as etiquetas AI da sala | Só AI Premium | Quando muda o módulo AI da sala, a opção acompanha: * **Premium** → AI Premium * **Lite** → Desativada * **Económica**, se antes era Premium ou Lite → Etiquetas predefinidas. Se já era económica e estava desativada, continua desativada O classificador etiqueta só as **primeiras mensagens do cliente**. Para assim que um operador responde, escreve uma nota interna ou põe uma etiqueta. --- ## Urgência Três níveis: * **Baixa** — cumprimentos, agradecimentos, spam * **Normal** — orçamentos, encomendas, faturas * **Alta** — peça necessária hoje, viatura parada na oficina, entrega atrasada ou errada, pagamento a vencer Os tickets com urgência **alta** têm um ícone de aviso na lista. Com a **AI económica** quem a define é o classificador, em cada novo grupo de mensagens do cliente. Com a **AI Premium** define-a o agente. --- ## Mensagens simples Muitas mensagens do cliente são conversa ou combinações práticas («obrigado», «ok», horários, levantamento) e não precisam do reconhecimento de peças. Com a **AI económica**, se o classificador estiver suficientemente seguro e a mensagem for **só texto ou voz**, o reconhecimento de peças não arranca. **Imagens e ficheiros** passam sempre pelo reconhecimento. --- ## Ligação a tickets anteriores Na mesma página **Classificador de tickets**, o interruptor **Ligação automática de tickets** está **desligado** por defeito. Vale só para a **AI económica**. Quando um contacto escreve num ticket novo, antes de um operador responder, a AI compara-o com os **dois últimos tickets fechados** do contacto. Se continua um deles (o mesmo veículo, ou um ticket sem veículo), liga o ticket novo a esse e a conversa anterior aparece no chat. Só liga quando está muito segura: por vezes não liga mesmo quando teria razão. Não trabalha num ticket **já ligado**. --- ## Quando trabalham | Função | Trabalha só se… | | --- | --- | | **Classificador** | a sala tem a **AI económica**, chegam **mensagens novas do cliente** e o classificador está configurado | | **Urgência** | em cada novo grupo de mensagens do cliente | | **Mensagens simples** | as mensagens novas são **só texto ou voz** | | **Etiquetas automáticas** | a sala está em «Etiquetas predefinidas», no ticket **ainda nenhum operador escreveu** e **nenhum operador pôs uma etiqueta** | | **Ligação** | está **ativa**, no ticket **ainda nenhum operador escreveu**, o contacto tem **tickets fechados** (só os dois últimos) e o ticket **ainda não está ligado** | Se o classificador não estiver configurado, o Quoting24 funciona na mesma: simplesmente não classifica. --- ## Como usá-las * **À mão**: no ticket, o campo **Etiqueta** aceita uma ou mais etiquetas (personalizadas e predefinidas). * **Etiquetas automáticas**: no classificador escolhe «Etiquetas predefinidas (AI económica)» e depois define os **atribuídos** de cada etiqueta predefinida. * **Agente premium**: cria as etiquetas com atribuição AI e escreve uma **descrição clara**. * **Ligação**: ativa-a se os clientes tendem a reescrever sobre pedidos já fechados. * **Urgências**: fica de olho no ícone de aviso na lista de tickets. As definições da sala são vistas por admin, owner e superadmin. --- # Respostas salvas URL: https://wiki.quoting24.com/pt/content/save_response/ Language: pt Updated: 2026-11-04 # Respostas salvas Respostas salvas Na seção **“Respostas salvas”** é possível criar **respostas predefinidas** para enviar rapidamente aos clientes. --- ## Criação de uma nova resposta salva Para criar uma nova **Resposta salva**, clique no botão vermelho no alto **“+ Adicionar Resposta”**. Editar respostas salvas É necessário inserir: - um **nome** - o **conteúdo** da resposta É possível adicionar um **arquivo em anexo**. --- ## Tipos de respostas salvas As respostas salvas podem ser gerenciadas em **duas modalidades**: - **Somente para mim** Pensada para respostas pessoais (ex.: *“Sou Antonio…”*). Esta resposta poderá ser usada **apenas pelo usuário que a cria**. Os [usuários](user.md) **não administradores** podem visualizar e configurar **apenas** respostas salvas do tipo *“somente para mim”*. - **Para toda a atividade** Todos os usuários da conta verão a resposta salva. **Somente os [usuários administradores](user.md)** podem criar e modificar este tipo de resposta. --- ## Gestão das respostas salvas As respostas salvas podem ser: - **ativadas ou desativadas** por meio da marcação específica - **editadas** clicando no ícone em forma de **lápis** à direita de cada resposta --- ## Uso das respostas salvas no chat A inserção de uma resposta salva acontece diretamente pela **barra de escrita da mensagem**. Para usá-la: 1. digite o caractere **`/`** 2. escreva o **nome** da resposta salva (também parcialmente) Exemplo de resposta salva É possível inserir a resposta: - **sem completar o nome** - pressionando **Enter** na resposta destacada (não é necessário usar o mouse) --- ## Ordenação das sugestões Caso o texto inserido seja **parcial ou ambíguo** (ex.: `/o`), as sugestões das respostas salvas são ordenadas da seguinte forma: Exemplo de uso de resposta salva 1. **Ordem alfabética** dos nomes que começam com o texto digitado (ex.: `/o` → *agora*, *horário*) 2. Em seguida, são mostrados os resultados em que o texto digitado está contido **no nome ou no conteúdo**, também em ordem alfabética --- # Atribuição automática URL: https://wiki.quoting24.com/pt/content/assegnazioni/ Language: pt Updated: 2026-11-04 # Atribuição automática O sistema de **Atribuição Automática** tem o objetivo de tornar a gestão dos tickets mais **rápida**, **eficiente** e **precisa**, especialmente em contextos em que vários operadores trabalham em um único número WhatsApp. Esta funcionalidade atribui automaticamente os **novos tickets** ao operador ou à equipe mais adequada, com base em **regras predefinidas**. O objetivo é: - eliminar a atribuição manual - reduzir os tempos de espera para os clientes - garantir que cada solicitação chegue imediatamente à pessoa certa --- ## Quando a atribuição automática entra em funcionamento O sistema entra em ação **quando chega a primeira mensagem de um novo ticket**. Ele analisa as informações do ticket e as compara com: - competências - responsabilidades - configurações dos operadores A atribuição se baseia em **três critérios de correspondência**: 1. **[Etiqueta](type_of_request.md)** (veja a seção *Etiquetas*) 2. **[Empresa](companies.md) atribuída ao contato** Se houver operadores dedicados a uma empresa cliente específica 3. **[Contato](contacts.md)** Se houver um responsável de confiança para um contato específico Para cada novo ticket, o sistema: - calcula quantas correspondências cada operador tem - procede com a atribuição de acordo com a regra escolhida ⚠️ A autoatribuição **se aplica apenas às primeiras mensagens do cliente** e deixa de funcionar quando há uma atividade do operador no ticket. ### Autoatribuição na abertura Se um ticket ainda está **para ler** e não está atribuído a nenhum operador, a abertura do ticket pode atribuí-lo automaticamente ao operador que está assumindo a solicitação. Esse comportamento evita que dois operadores comecem a trabalhar simultaneamente na mesma solicitação e torna mais claro quem é responsável pelo ticket. Autoatribuição do ticket na abertura --- ## Disponibilidade dos operadores O sistema foi projetado para trabalhar **apenas com operadores realmente disponíveis**. A atribuição automática acontece **somente se pelo menos um operador adequado estiver online**. - **Se nenhum operador qualificado estiver online** O ticket **não é atribuído automaticamente** e permanece disponível para tomada de responsabilidade manual. - **Se pelo menos um operador qualificado estiver online** O sistema prossegue com a atribuição automática. --- ## Regras de atribuição Você pode configurar o sistema para usar uma das seguintes **lógicas de atribuição**: Atribuição --- ### Melhor correspondência Com esta regra, o ticket é atribuído **apenas ao operador (ou aos operadores)** com a **pontuação de correspondência mais alta**. É ideal para direcionar as solicitações a um especialista específico. #### Exemplo prático Um ticket chega da empresa **“ACME Corp”** e é do tipo **“Comercial”**: - **Anna** → responsável pelo tipo *Comercial* (1 correspondência) - **Marco** → responsável pela empresa *ACME Corp* (1 correspondência) - **Lucia** → responsável tanto pelo tipo *Comercial* quanto pela *ACME Corp* (2 correspondências) ➡️ Com a regra **Melhor Correspondência**, o ticket é atribuído **somente a Lucia**. --- ### Todas as correspondências Com esta regra, o ticket é atribuído a **todos os operadores** que têm **pelo menos uma correspondência**. É adequada para equipes em que várias pessoas podem gerenciar o mesmo tipo de solicitação. #### Exemplo prático Usando o mesmo cenário anterior: ➡️ Com a regra **Todas as Correspondências**, o ticket é atribuído a **Anna, Marco e Lucia**. --- ## Gestão do ciclo de vida de um ticket autoatribuído ### Atribuição manual e atribuição a todos Além da atribuição automática, um ticket pode ser atribuído manualmente a um ou mais operadores. No seletor de **responsáveis** está disponível a opção **Nenhum**. Ao selecioná-la, **todos os responsáveis** são removidos do ticket. Select assegnatari – opzione Nessuno Quando é necessário envolver toda a equipe, é possível atribuir o ticket a **todos os colaboradores** habilitados. Esta função é útil para solicitações urgentes ou para tickets que podem ser gerenciados pelo primeiro operador disponível. Atribuir todos os colaboradores ao ticket ### Ticket marcado como "Para ler" Um ticket pode ser marcado como **Para ler** para recolocá-lo no fluxo de tomada de responsabilidade da equipe. Quando um ticket é marcado como *Para ler*: - os responsáveis presentes são removidos - a solicitação volta a ficar visível aos operadores que podem assumir tickets não atribuídos - o ticket pode ser reatribuído manualmente ou por meio do fluxo operacional normal ### Ticket sem resposta (tempo de segurança) Para evitar que um ticket autoatribuído permaneça ignorado, existe um **tempo de segurança configurável**. Se um ticket: - foi autoatribuído - **não recebe resposta** dentro do tempo configurado a atribuição automática é **removida**. O ticket volta a ficar: - **não atribuído** - visível para toda a equipe Esse mecanismo evita que as solicitações se percam. --- ### A primeira resposta “reclama” o ticket Quando um ticket é atribuído automaticamente a **vários operadores**: 1. o **primeiro operador que responde** reclama o ticket 2. todos os outros operadores são removidos da atribuição 3. o operador que respondeu se torna o **único responsável** Isso garante: - nenhuma sobreposição - responsabilidade sempre clara --- ## Configuração da atribuição automática O administrador pode configurar o sistema seguindo estes passos: 1. **Habilite a função** Ative a opção *“Habilitar Atribuição Automática”* nas configurações. 2. **Escolha a regra de atribuição** - Melhor correspondência - Todas as correspondências 3. **Defina o tempo de segurança** Defina após quantos minutos um ticket não gerenciado deve voltar a não atribuído (por padrão **15 minutos**). 4. **Defina as responsabilidades dos operadores** Associe os operadores às suas áreas de competência: - **Tipos de ticket** - **Empresas** - **Contatos** Atribuição automática --- ## Exemplo prático avançado - **Matteo** é especialista em *Jeep* e *carroceria* - **Alessandro** é especialista em *carroceria* Chega uma solicitação para uma **porta de uma Jeep Renegade**. - Com **Melhor Correspondência** ➜ o ticket é atribuído **somente a Matteo** - Com **Todas as Correspondências** ➜ o ticket é atribuído **a Matteo e Alessandro** --- # Turnos de entrega URL: https://wiki.quoting24.com/pt/content/delivery_shifts/ Language: pt Updated: 2026-11-04 # Turnos de entrega É possível criar e gerenciar os **turnos de entrega** a partir do item específico presente no menu. Clicando no menu, é exibida a lista dos **turnos de entrega já existentes**. Para criar um novo turno, basta clicar no botão vermelho no canto superior direito **“+ adicionar”**. Tela de adição de turnos de entrega --- ## Atribuição dos turnos às empresas Depois de criado um turno de entrega, é possível **atribuí-lo a uma ou mais [empresas](companies.md)**. A atribuição pode ser feita a partir de diferentes pontos da aplicação (dentro da gestão da empresa), mas o método **recomendado** é proceder **em massa**. Para isso: 1. entre no **turno de entrega** ao qual deseja atribuir as empresas 2. use a tela de edição do turno Tela de edição dos turnos de entrega --- ## Atribuição em massa por filtros A partir desta tela é possível: - filtrar as empresas - selecionar várias empresas ao mesmo tempo - atribuir o turno em massa - salvar as alterações Os filtros também podem usar **dados cadastrais da empresa**, por exemplo: - cidade - notas - notas do administrador --- # Relatório diário de atividade URL: https://wiki.quoting24.com/pt/content/daily_activity_report/ Language: pt Updated: 2026-11-04 # Relatório diário de atividade Está disponível um **relatório diário automático** enviado por e-mail que fornece uma visão geral da atividade de gestão dos tickets de suporte. Os KPI referem-se ao **dia anterior** e são comparados com o **mesmo dia da semana anterior**. Todos os tempos são expressos em **minutos**. --- ## Requisitos Para configurar os destinatários do relatório é necessário ser **[administrador](user.md)**. Se o próprio utilizador for um **membro**, deve pedir a um administrador da sala a **alteração do tipo de utilizador** (de membro para administrador), ou contactar o suporte Quoting24. --- ## Como configurar o relatório 1. Abrir **Settings → General settings → Business** 2. Na secção **Statistics report emails**, clicar em **Edit recipients** 3. Adicionar um **novo destinatário** e preencher: - **Email** do endereço que deve receber o relatório - **Active**: se desativado, esse endereço não recebe o relatório - **Frequency** (por exemplo **Daily**) - **Send time** 4. Clicar em **Save** Definições Business - Statistics report emails Modal novo destinatário do relatório --- ## O que o relatório contém ### KPI de ontem Indicadores principais do dia anterior, com comparação relativamente ao mesmo dia da semana anterior: - tickets criados e tickets fechados - percentagem de fecho - respostas enviadas pelos operadores - mensagens recebidas - tempo mediano de resposta - tempo mediano de abertura do ticket - operadores ativos - contactos ativos - veículos pesquisados - pedidos de peças efetuados ### Desempenho dos operadores Detalhe por cada operador sobre: - respostas enviadas - notas internas - tickets atribuídos e fechados - percentagem de fecho - tempo mediano de resposta e de abertura ### Mensagens por faixa horária Distribuição das **mensagens recebidas e enviadas** ao longo do dia, divididas por faixa horária (hora local). Notas internas e mensagens eliminadas são excluídas. ### Utilizadores online Número de **operadores diferentes** que trabalharam em cada faixa horária (eventos de ticket, mensagens ou notas enviadas). ### Tickets abertos Evolução dos tickets **em estado aberto** ao longo do dia (amostras periódicas), incluindo o pico e quantos ficam abertos no final do dia. Conta também os tickets criados em dias anteriores, se ainda abertos. ### Top clientes Lista dos clientes com maior atividade no dia, ordenados por mensagens recebidas, com detalhe de veículos, pesquisas, mensagens e operadores envolvidos. ### Tendência diária Comparação entre a **semana atual e a anterior**: tickets criados e respostas dos operadores dia a dia. ### Estatísticas dos últimos 7 dias - **Desempenho dos operadores** agregado dos últimos 7 dias - **Heatmap de atividade**, que destaca as respostas de cada operador dia a dia Este relatório permite **monitorizar a eficiência do atendimento ao cliente**, analisar as cargas de trabalho e avaliar a evolução do desempenho ao longo do tempo. --- # Quoting News URL: https://wiki.quoting24.com/pt/content/quoting_news/ Language: pt Updated: 2026-11-04 # Quoting News **Quoting News** é o canal onde a Quoting publica atualizações e avisos do produto. Aparece na barra lateral dos chats, junto às solicitações. Não é um ticket: é um chat em **somente leitura**. Só a Quoting pode enviar essas mensagens: os operadores leem, não as criam nem respondem. --- ## Como funciona 1. Abra **Quoting News** na barra lateral esquerda. 2. Leia o histórico das comunicações, ordenadas por data. 3. Quando terminar, clique em **Li**: o indicador de novidades não lidas desaparece, sem fechar o chat. Não é possível escrever nem responder. Se não houver mensagens, vê o estado vazio *Nenhuma novidade*. --- # WhatsApp URL: https://wiki.quoting24.com/pt/content/whatsapp/ Language: pt Updated: 2026-11-04 # WhatsApp Esta secção é visível **apenas para administradores** e não para membros (usuários). A partir daqui é possível conectar a **Quoting24** ao **WhatsApp** por meio das **APIs oficiais da Meta** (WhatsApp Business Platform), habilitando: - gestão de chats - gestão de contatos - envio e recebimento de mensagens pela Quoting24 A conexão por APIs oficiais é a modalidade prevista para esta versão da wiki. --- ## Conexão por APIs oficiais Meta As APIs oficiais permitem que a Quoting24 gerencie conversas WhatsApp de forma estável, rastreável e suportada pela Meta. ### Pros - Possibilidade de usar **botões interativos** nas mensagens (ex.: "Aprovar orçamento"), conectáveis a sistemas ERP - **Alta estabilidade** e suporte técnico oficial - Gestão centralizada das solicitações na Quoting24, com tickets, atribuições e automações ### Regras operacionais - Mensagens de saída para **novos contatos** (dos quais não recebemos mensagens nas últimas 24 horas) ficam vinculadas a **templates pré-aprovados pela Meta** Somente depois de uma resposta do cliente é possível comunicar livremente. Depois do envio de uma mensagem pré-aprovada, é possível escrever mensagens normais, mas elas serão entregues ao cliente **somente depois de uma ação dele** (ex.: clique no botão "pode dizer" ou resposta). - O cliente deve **aprovar a abertura do canal de comunicação** e deve estar em um **dispositivo móvel** para concluir corretamente a interação com os templates. - Dependendo da configuração escolhida, o uso manual do App WhatsApp Business no mesmo número pode exigir a função [WhatsApp Coexistence](whatsapp_coexistence.md). - Os grupos WhatsApp e as listas broadcast da app não são suportados nas API Meta; para campanhas com templates usa a secção [Broadcast API](broadcast_api.md). Se o número já está nas API de outro fornecedor e queres trazê-lo para a Quoting24 sem o mudar, segue [Migração da API WhatsApp](migrazione_whatsapp_api.md). --- ## Funcionalidades disponíveis com a Quoting24 Depois que o canal oficial estiver conectado, a Quoting24 permite trabalhar nas solicitações WhatsApp com suas funções operacionais: - divisão das conversas em **tickets** - atribuição manual ou automática aos operadores - reconhecimento de placas, VINs e peças nas mensagens - envio de mensagens, imagens e documentos - envio de orçamentos e PDFs pelo sistema de gestão - uso de botões interativos quando previsto pelo fluxo API As funcionalidades internas da Quoting24 continuam gerenciadas pela plataforma; o envio de mensagens ao cliente segue as regras operacionais das APIs oficiais da Meta. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/pt/content/whatsapp_coexistence/ Language: pt Updated: 2026-11-04 # WhatsApp Coexistence A função **WhatsApp Coexistence** (coexistência) permite que as empresas usem simultaneamente o **App WhatsApp Business** (no telefone) e as **APIs do WhatsApp Business** (por meio da Quoting24 ou de outros softwares) no mesmo número de telefone. Esta é uma **mudança significativa**, pois anteriormente a ativação das APIs exigia a exclusão da conta WhatsApp Business no telefone, impedindo o uso manual do app. --- ## Vantagens da Coexistência Ao ativar a coexistência, você pode obter o melhor dos dois mundos: 1. **Interação Humana e Pessoal (App Business)**: - Continue usando o WhatsApp no seu smartphone como sempre fez. - Responda manualmente aos clientes quando necessário. - Intervenha manualmente pelo telefone quando for necessária uma gestão direta do cliente. 2. **Potência e Automação (API Business)**: - Conecte a Quoting24 para gerenciar volumes elevados de solicitações. - Aproveite os bots para auto-resposta e qualificação dos contatos. - Envie orçamentos estruturados diretamente pelo sistema de gestão. - Gerencie os chats em equipe multiusuário por meio da plataforma web. Em resumo: **você pode automatizar o trabalho pesado com as APIs, mantendo a possibilidade de intervir pessoalmente pelo telefone nos casos especiais.** --- ## Requisitos Para ativar a coexistência, é necessário atender a alguns requisitos técnicos: - **App Atualizado**: Certifique-se de ter a versão mais recente do WhatsApp Business instalada no seu dispositivo. - **Conta Business Verificada**: Pode ser necessário concluir a verificação da empresa no Business Manager da Meta. --- ## Como ativar a Coexistência O processo segue o fluxo de "Embedded Signup" (cadastro integrado) usado para ativar as APIs oficiais. 1. **Inicie a conexão**: Comece o processo de conexão do número pela Quoting24: o seu BSP (Business Solution Provider). 2. **Escolha o número**: Selecione o número de telefone que **já está ativo** no App WhatsApp Business. 3. **Verificação de elegibilidade**: O sistema verifica se o número e a conta atendem aos requisitos previstos pela Meta. 4. **Confirmação guiada**: Conclua as etapas solicitadas pelo fluxo da Meta e da Quoting24. 5. **Ativação**: Ao concluir o processo, as APIs são habilitadas no número existente e podem trabalhar em paralelo com o app. --- ## Notas Importantes - **Sincronização**: As mensagens enviadas pelo app e as enviadas pelas APIs ficarão visíveis em ambas as plataformas dentro dos limites técnicos previstos pela Meta. - **Custos**: As mensagens iniciadas por API (ex.: envio de orçamentos, templates) seguem a tabela de preços da Meta. As respostas manuais pelo app continuam gratuitas. - **Limitações**: Algumas atividades realizadas pelo app podem não ser automatizáveis pela Quoting24 e continuam gerenciadas diretamente pelo App WhatsApp Business. --- ## Limitação importante: "Cold Chat" (Conversas espontâneas) É possível iniciar uma nova conversa com um cliente diretamente pelo App WhatsApp Business. **No entanto, essa conversa não poderá ser continuada na Quoting24.** O motivo é técnico e diz respeito às regras da Meta: 1. Uma mensagem enviada manualmente pelo App **não abre a janela de atendimento de 24 horas** para as APIs (como aconteceria com uma mensagem do cliente). 2. Por não ser uma "Mensagem Template" paga aprovada pela Meta, ela não cria uma sessão válida para o software. **Consequência**: Você verá a mensagem na Quoting24 graças à sincronização, mas **não poderá responder ou enviar outras mensagens pela Quoting24** dentro daquele chat até que o cliente responda à sua mensagem. Somente a resposta do cliente desbloqueia a conversa e permite que a Quoting24 intervenha. --- ## Número já em coexistência com outro fornecedor Se o número já está em coexistência com outro fornecedor e deve passar para a Quoting24, siga [Migração da API WhatsApp](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/pt/content/broadcast_api/ Language: pt Updated: 2026-11-04 # Broadcast API A secção **Broadcast** permite criar e gerir **campanhas de mensagens broadcast** nos números ligados ao Quoting24 através das **API oficiais da Meta** (WhatsApp Business Platform). Na prática podes **enviar a mesma mensagem template para muitos números WhatsApp**, carregar os destinatários a partir de um ficheiro Excel, escolher a data e hora de envio e acompanhar o estado de cada mensagem. > **Atenção:** as Campanhas Broadcast do Quoting24 **não** são as “listas de transmissão” da app WhatsApp. > Funcionam apenas com uma ligação **WhatsApp Business / API Meta** no estado **connected** e usam **templates WhatsApp** já disponíveis no Quoting24 (sincronizados / aprovados pela Meta). --- ## Requisitos 1. **Ligação WhatsApp Business ativa** O item de menu **Broadcast** aparece apenas se o estado da ligação API Meta for **connected**. Ver [WhatsApp](whatsapp.md) e, se usares o mesmo número também no telefone, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Permissões** Todos os membros da sala podem **ver** as campanhas. Apenas **owner** e **admin** podem **criar**, editar ou eliminar campanhas e mensagens na fila. 3. **Templates WhatsApp** É necessário pelo menos um template disponível no Quoting24 (os selecionáveis no assistente). Se o template tiver um **cabeçalho de imagem, vídeo ou documento**, ao criar a campanha é obrigatório carregar o ficheiro multimédia: a Meta não reutiliza automaticamente a pré-visualização do modelo. 4. **Ficheiro de destinatários** Os destinatários são carregados a partir de um **ficheiro XLSX** (não da lista de Contactos). Máximo de **1000** destinatários por campanha. 5. **Pagamento Meta** As mensagens template seguem a tabela de preços da Meta (categorias Marketing / Utility / Authentication, etc.). --- ## Como abrir a secção Broadcast 1. Abre o **menu** do Quoting24 (ícone no canto superior direito). 2. Seleciona **Broadcast**. Opção Broadcast no menu do Quoting24 Abre-se a página **Campanhas Broadcast**, com o subtítulo *Gere as campanhas de mensagens broadcast WhatsApp.* --- ## Lista de campanhas | Coluna | Descrição | | ------ | --------- | | **Nome** | Nome da campanha (clicável para o detalhe) | | **Agendamento** | Data e hora de envio programadas | | **Progresso** | `enviados / total (percentagem)` — a percentagem considera mensagens **enviadas + falhadas** sobre o total | | **Status** | Estado da campanha (ver abaixo) | No canto superior direito: **+ Nova campanha**. Em cada linha podes eliminar a campanha ou abrir o detalhe. Lista das campanhas Broadcast ### Estados da campanha | Estado | Significado | | ------ | ----------- | | **Rascunho** | Rascunho (não usado no fluxo padrão de criação) | | **Ativa** | Campanha criada e na fila / à espera da hora programada | | **Enviando** | Envio em curso | | **Concluída** | Todas as mensagens foram processadas (enviadas ou falhadas) | | **Falhou** | Campanha falhada | | **Cancelada** | Parada pelo utilizador: as mensagens ainda não enviadas deixam de ser enviadas | | **Arquivada** | Arquivamento automático após cerca de 30 dias | --- ## Criar uma nova campanha O assistente tem **três passos**: 1. **Configuração** 2. **Destinatários (XLS)** 3. **Pré-visualização e confirmação** ### Passo 1 — Configuração Na lista, clica em **+ Nova campanha** e preenche: | Campo | O que indicar | | ----- | ------------- | | **Nome da campanha** | Nome para a reconhecer na lista | | **Modelo** | Template WhatsApp a enviar | | **Imagem / vídeo / documento do cabeçalho** | Aparece **apenas** se o template selecionado o exigir; nesse caso o ficheiro é obrigatório | | **Data** | Dia de início do envio | | **Hora** | Hora de início do envio | No mesmo ecrã vês a **pré-visualização** do template (texto, rodapé, botões e media se carregada). Depois clica em **Seguinte**. Ecrã Criar campanha — configuração #### Media no cabeçalho (apenas se o template o permitir) O campo para carregar media no cabeçalho **nem sempre está presente**. Aparece **apenas** depois de escolheres um template cujo cabeçalho Meta seja do tipo: - **imagem** → formatos `JPG`, `JPEG`, `PNG` - **vídeo** → formato `MP4` - **documento** → formato `PDF` Se o template não prevê media no cabeçalho, o campo não é mostrado e podes continuar sem anexos. Se o template o exigir, sem ficheiro carregado não podes avançar: a Meta não reutiliza automaticamente a pré-visualização do modelo. No exemplo abaixo, ao selecionar um template com cabeçalho de imagem aparece a área **Imagem header** (clique ou arrastar e largar). Carregamento de imagem de cabeçalho na criação de uma campanha Broadcast ### Passo 2 — Destinatários (XLS) 1. Clica em **Baixar modelo XLSX** para obter o ficheiro de exemplo. 2. Preenche a folha com estas colunas: | Coluna | Obrigatória | Descrição | | ------ | ----------- | --------- | | `recipient_name` | Não | Nome do destinatário (apenas etiqueta no Quoting24) | | `recipient_address` | **Sim** | Número WhatsApp (com ou sem `+`; espaços e prefixo `00` são normalizados no envio) | | `var1`, `var2`, `var3`, … | Se o template tiver variáveis | Valores das variáveis do template, por ordem | 3. Envia o ficheiro preenchido (**Enviar arquivo preenchido**, formato `.xlsx`). 4. Quando aparecer pelo menos um destinatário válido, clica em **Seguinte**. Limite: **máximo 1000 destinatários** por campanha. ### Passo 3 — Pré-visualização e confirmação Verifica: - pré-visualização do template - lista de destinatários (podes **editar** ou **eliminar** linhas individuais) Depois clica em **Confirmar e enviar**. A campanha é criada no estado **Ativa** e as mensagens entram na fila como **Pendente**, agendadas para a data/hora escolhidas. És levado ao **detalhe da campanha**. --- ## Detalhe da campanha e mensagens No detalhe vês: - estado e agendamento da campanha - lista de cada mensagem com: - nome e número - próximo envio (se ainda na fila) - estado da mensagem - tentativas (`retry / max`) - eventual erro - pré-visualização do texto renderizado (com variáveis substituídas) ### Estados da mensagem | Estado | Significado | | ------ | ----------- | | **Pendente** | Na fila, ainda não enviada | | **Agendado** | Agendada | | **Enviando** | Envio para a Meta em curso | | **Enviado** | Enviada com sucesso | | **Falhou** | Falhou após as tentativas previstas | | **Cancelado** | Cancelada | | **Arquivado** | Arquivada (mensagens antigas) | Se um envio falhar, o sistema pode **tentar novamente** automaticamente (até 10 tentativas, com espera entre cada uma). Também podes editar ou remover da fila mensagens ainda não enviadas (apenas owner/admin). ### Cancelar uma campanha Enquanto o estado for **Ativa** (ou **Rascunho**), podes usar **Cancelar campanha**. As mensagens já enviadas permanecem enviadas; as que ainda estão na fila **deixam de ser enviadas**. --- ## Como funciona o envio - O envio começa na **data/hora programadas** (ou pouco depois, se essa hora já tiver passado). - As mensagens são enviadas **uma de cada vez**, com uma pequena pausa entre envios. - Cada mensagem é um **template WhatsApp** enviado via API Meta na ligação da sala. - Quando todas as mensagens estiverem **enviadas** ou **falhadas**, a campanha passa a **Concluída**. --- ## Notas importantes - **Apenas API Meta:** a secção está disponível quando o número está ligado através das API oficiais do WhatsApp Business. - **Menu oculto sem Business ligado:** se não vires **Broadcast**, verifica se o WhatsApp Business está ligado e no estado connected. - **Não usa a lista de Contactos:** os números vêm do ficheiro XLSX (ou das alterações feitas na pré-visualização). - **Custos Meta:** cada template entregável pode gerar um custo conforme a categoria e as regras da Meta. Ver também [WhatsApp Coexistence](whatsapp_coexistence.md) para custos com coexistência. - **Consentimento e conformidade:** em campanhas de marketing, garante o consentimento dos destinatários e o cumprimento das políticas WhatsApp / Meta. - **Envio 1:1 a partir do ERP:** para enviar uma mensagem a um único contacto a partir de software externo, usa [Escreva no WhatsApp através das nossas APIs](invia_whatsapp_api.md). Essa integração não substitui as campanhas Broadcast em massa. --- ## Resumo operativo 1. Liga o número com a **API Meta** (estado connected). 2. Garante que és **owner** ou **admin**. 3. Prepara os **templates** WhatsApp no Quoting24. 4. Abre **Broadcast** → **+ Nova campanha**. 5. Configura nome, template, data/hora (e media do cabeçalho se necessário). 6. Descarrega o modelo XLSX, preenche-o e carrega-o. 7. Revisa a pré-visualização e confirma. 8. Monitoriza o progresso, o estado da campanha e o detalhe das mensagens. --- # Migração da API WhatsApp URL: https://wiki.quoting24.com/pt/content/migrazione_whatsapp_api/ Language: pt Updated: 2026-11-04 # Migração da API WhatsApp Este guia explica como ligar à **Quoting24** um número que já está ativo nas **API oficiais do WhatsApp** (WhatsApp Business Platform) noutro fornecedor, **sem mudar o número**. A secção **WhatsApp** é visível **apenas para administradores**. A ligação começa sempre no mesmo ponto da Quoting24: **Configurações → WhatsApp → WhatsApp Business → Conectar**. O botão **Conectar** abre o registo integrado da Meta (Embedded Signup). A partir daí, a Quoting24 passa a ser o fornecedor que recebe e envia as mensagens desse número. A modalidade prevista é a ligação às API oficiais, descrita em [Visão geral do WhatsApp](whatsapp.md). --- ## Qual o procedimento a seguir A Meta tem duas formas de ligar um número que já é usado por outro fornecedor. Antes de clicar em **Conectar**, verifica o portefólio em **Meta Business Suite → Configurações → Contas**. | O que vês na Meta Business Suite | O que fazer | | --- | --- | | **Contas do WhatsApp** e **Contas de mensagens** (Messaging Accounts) em separado | Modelo atual: **partilha** a conta do WhatsApp com a Quoting24. O número fica onde está. | | Apenas **Contas do WhatsApp** | Modelo anterior: **migra** o número com um código SMS ou de voz. | No modelo atual, a Meta recusa mover o número de uma conta para outra. Desligá-lo do fornecedor anterior não o liberta. --- ## O que preparar - Acesso de **administrador** à Quoting24. - Acesso de **administrador** ao portefólio Meta (Business Manager) que possui o número, com o utilizador Facebook que vais usar na janela **Conectar**. - O número já registado nas API oficiais. Os números de teste gratuitos atribuídos pela Meta não podem ser migrados. - Possibilidade de receber um SMS ou uma chamada de voz nesse número, se a Meta pedir um código. A migração do modelo anterior exige também: - nome de exibição **já aprovado**, sem um pedido de alteração de nome ainda aberto; - verificação em duas etapas (PIN) **desativada** no número, sem apagar o número nem fechar a conta. Se não tiveres acesso à conta WhatsApp, pede a desativação ao fornecedor atual. --- ## Modelo atual: partilhar o número com a Quoting24 Usa este procedimento se na Meta Business Suite aparecerem **Contas do WhatsApp** e **Contas de mensagens**. Deixa o número ativo no fornecedor atual até ao fim. Retirá-lo antes, com mensagens de clientes a chegar, interrompe a receção. 1. Na Quoting24, abre **Configurações → WhatsApp**. 2. Na linha **WhatsApp Business**, clica em **Conectar** e entra com o administrador do portefólio Meta. 3. Seleciona o número já registado no outro fornecedor. A Meta mostra-o na lista e não pede um código novo: o número já está registado. 4. A Meta propõe o portefólio e a conta WhatsApp desse número. Confirma a partilha com a Quoting24. 5. Introduz o nome de exibição do número e continua. A Meta pode voltar a analisá-lo depois da ativação. 6. Revê as permissões pedidas (conta WhatsApp, conta de mensagens e recursos associados) e confirma. 7. Fecha a janela da Meta. Na Quoting24, a linha **WhatsApp Business** fica **conectada**. A Meta cria uma conta de mensagens nova para a Quoting24, sob a mesma conta WhatsApp. O fornecedor anterior permanece ligado até o removeres. ### Fazer as mensagens chegar à Quoting24 A partilha, por si só, não move as mensagens recebidas. Enquanto o fornecedor anterior continuar como parceiro, a Meta pode continuar a entregá-las a ele. Quando a linha **WhatsApp Business** na Quoting24 está conectada: 1. Na **Meta Business Suite**, abre **Configurações → Contas → Contas de mensagens**, seleciona a conta, vai a **Partners** e remove o acesso da app do fornecedor anterior. 2. Abre **Configurações → Contas → Contas do WhatsApp**, seleciona a conta do número, vai a **Partners** e remove também aí o acesso do mesmo fornecedor. 3. Na mesma conta WhatsApp, abre **Encaminhamento de conversas** (Conversation routing) e atribui à Quoting24 cada tipo de conversa. Na lista de parceiros pode aparecer o nome da app Meta ligada à Quoting24, e não o texto «Quoting24». Se não for claro qual o acesso a remover, para e pede ajuda ao suporte da Quoting24 antes de remover um parceiro. Quando resta um único parceiro, a Meta desativa o encaminhamento e entrega as mensagens a esse parceiro. ### O que se mantém neste modelo Mantêm-se no número, porque a conta WhatsApp não muda: - número de telefone - nome de exibição - classificação de qualidade - limites de mensagens - estado de Official Business Account, se já estava ativo Os **templates** pertencem à conta de mensagens, não ao número. A conta criada para a Quoting24 nasce vazia: os templates do fornecedor anterior têm de ser **recriados na Quoting24** e aprovados de novo pela Meta. Até estarem aprovados: - a partir da Quoting24 só podes responder livremente nas **24 horas** seguintes à última mensagem do cliente; - em [Broadcast API](broadcast_api.md) não há modelos para selecionar. As conversas guardadas no software anterior **não** entram nos tickets da Quoting24. As mensagens que chegam depois da ligação tornam-se tickets. As conversas que já estão no telefone do cliente permanecem na app WhatsApp do cliente. --- ## Modelo anterior: migrar o número Usa este procedimento apenas se na Meta Business Suite aparecer **somente Contas do WhatsApp**. ### Desativa a verificação em duas etapas Pede ao fornecedor atual para desativar o PIN do número, ou fá-lo tu a partir do portefólio Meta, se tiveres acesso. O número e a conta devem permanecer ativos. Só se remove a verificação em duas etapas. ### Liga o número a partir da Quoting24 1. Na Quoting24, abre **Configurações → WhatsApp**. 2. Na linha **WhatsApp Business**, clica em **Conectar** e entra como administrador do portefólio Meta. 3. Escolhe **criar uma nova conta WhatsApp**. É o passo com que a Meta move o número que já existe: não é um segundo número. 4. Introduz **o mesmo nome de exibição** já aprovado nesse número. 5. Introduz **o mesmo número**. A Meta avisa que já está registado numa conta WhatsApp Business ou noutro fornecedor. 6. Pede o código por **SMS** ou **chamada de voz** e introduz-o. 7. Conclui os passos que faltam na janela da Meta. A mudança costuma terminar em poucos minutos. Na Quoting24, a linha **WhatsApp Business** passa a **conectada**. Durante a passagem, a receção pode interromper-se durante alguns minutos. ### O que se mantém e o que é preciso refazer Mantêm-se no número: - nome de exibição - classificação de qualidade - estado de Official Business Account - limites de mensagens Têm de ser refeitos na Quoting24: - os **templates**, que devem ser reenviados e novamente aprovados pela Meta antes de escrever fora da janela de 24 horas e antes de usar [Broadcast API](broadcast_api.md); - as campanhas do fornecedor anterior; - o histórico de chat desse software, que não é importado. As mensagens novas chegam como tickets. --- ## Número já em coexistência com outro fornecedor Se o mesmo número for usado **em conjunto** pela app WhatsApp Business e pelas API noutro fornecedor, a ligação API não volta a ligar sozinha a app no telefone. 1. Faz uma **cópia de segurança das conversas** na app WhatsApp Business. 2. Regista o mesmo número na app **WhatsApp pessoal**: o número sai da app Business. 3. Regista-o de novo na app **WhatsApp Business**. 4. Na Quoting24, clica em **Conectar** em **WhatsApp Business** e conclui a coexistência descrita em [WhatsApp Coexistence](whatsapp_coexistence.md): na app, **Configurações → Dispositivos conectados → Conectar dispositivo**, e depois lê o QR mostrado pela Quoting24. Para levar o número só para as API, sem a app no telefone, usa o procedimento do modelo Meta que verificaste acima. --- ## Depois da ligação - As mensagens novas do número tornam-se **tickets** na Quoting24. - Fora das 24 horas desde a última mensagem do cliente, escreve-se com um **template aprovado**. As regras do canal oficial estão em [Visão geral do WhatsApp](whatsapp.md). - As campanhas criam-se em [Broadcast API](broadcast_api.md) quando os templates estão disponíveis na Quoting24. - Para usar também a app WhatsApp Business no mesmo número é precisa a [WhatsApp Coexistence](whatsapp_coexistence.md). - Os grupos e as listas broadcast da app não passam para as API. --- ## Se o procedimento parar - **A Meta recusa mover o número.** O portefólio está no modelo atual: volta à partilha e deixa o número registado no fornecedor anterior até a Quoting24 aparecer como conectada. - **O código SMS ou de voz não chega.** No modelo anterior, a verificação em duas etapas ainda está ativa. Desativa-a e repete **Conectar**. - **O nome de exibição bloqueia a migração anterior.** A Meta aceita a passagem só com o nome aprovado e sem uma alteração de nome pendente. - **A Quoting24 está conectada, mas as mensagens não chegam.** No modelo atual, o encaminhamento ainda aponta para o fornecedor anterior. Verifica **Partners** e **Encaminhamento de conversas** antes de desligar o número. - Se o parceiro a remover não for reconhecível, contacta o suporte da Quoting24 com o número e o ID do portefólio Meta. --- # Canal Widget — Visão geral URL: https://wiki.quoting24.com/pt/content/widget/ Language: pt Updated: 2026-11-04 # Canal Widget — Visão geral O **canal Widget** recebe pedidos de assistência e de orçamento a partir do **site**. Os visitantes abrem um chat no site; as mensagens chegam à Quoting24 como tickets e os operadores respondem a partir da interface habitual, com a mesma lógica dos outros canais. A interface corre num **iframe**. O site anfitrião só precisa de um script e, quando os dados já são conhecidos, de uma chamada a `init()`. Não são necessários Angular, um cliente Supabase nem acesso direto à base da Quoting24. --- ## Que integração é necessária Associar uma empresa e restaurar o histórico são operações distintas. `external_id`, `company_name`, `name`, `phone` e `email` não autorizam o acesso às conversas de outra pessoa. Um utilizador já autenticado no site continua a ser um convidado do widget até o site passar uma credencial de restauro válida. | Caso | O que implementar | Continuidade | Secção | | --- | --- | --- | --- | | Site público, visitante desconhecido | Só o script. O visitante preenche o formulário de contacto. | Sessão de convidado no mesmo browser | [Widget B2C](widget_b2c.md) | | Site que já conhece o perfil e a empresa | Script e `init()` com o perfil e os dados da empresa | Sessão de convidado pré-preenchida e associação de empresa | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portal com histórico pessoal entre dispositivos | Também uma integração de backend para `external_user_id` e `restore_id` | Histórico pessoal no canal widget autorizado | [Widget B2B](widget_b2b.md) | | Contrato dos campos, CSP, login/logout, provisioning | Guia para programadores | — | [Integração técnica](widget_tecnico.md) | --- ## O que o widget faz - Mostra um **botão flutuante** ou um chat **incorporado** na página - Para um visitante novo abre o formulário com as etiquetas Telefone e Nome. Em `init()` os campos chamam-se `phone` e `name`; o e-mail, se o site o conhecer, chama-se `email` - Se o site chama `init()`, usa os dados já disponíveis e pode ligar o contacto a uma empresa através de `external_id` (`web_code`). Se a empresa não existir e também chegar `company_name`, pode criá-la - Abre uma conversa gerida na Quoting24 como os outros canais - Aceita anexos PDF, DOC/DOCX, JPG/JPEG e PNG, até 10 MiB por ficheiro e 100 MiB de anexos referenciados por conversa - Mostra a saudação, a mensagem de boas-vindas e, fora de horário, o banner configurado. A composição de mensagens continua disponível O loader guarda a credencial de convidado no `localStorage` do site, separada por chave de widget. Se o armazenamento estiver bloqueado, a continuidade pode limitar-se à página atual. A sessão de convidado permite reler a conversa mais recente depois de a fechar, no mesmo browser. Outro dispositivo exige o [restauro autenticado](widget_b2b.md). --- ## Onde se configura na Quoting24 1. Abre **Definições → Canais** 2. Seleciona o canal **Widget** 3. Abre a configuração A partir daí definem-se: - logótipo, cor principal, posição do botão - mensagem de saudação, mensagem de boas-vindas, mensagem fora de horário - **domínios permitidos** - **código de incorporação** (URL completo do script e chave pública do widget) Os horários do canal determinam o banner fora de horário. Pede ao administrador o código de incorporação e os domínios autorizados, incluindo testes e desenvolvimento local. Usa o URL e a chave do mesmo ambiente. Nos exemplos, substitui `HOST_WIDGET` e `CHAVE_PUBLICA_WIDGET` pelos valores recebidos. Os domínios autorizados são nomes de host, por exemplo `shop.example.com` ou `localhost`, sem `https://`, porta, caminho ou prefixo `*.`. `example.com` autoriza também os subdomínios. Uma lista vazia não aplica restrições de domínio. Para o teste local serve a página por HTTP: abri-la como ficheiro não chega. O logótipo, a cor, a posição e as mensagens configuram-se na Quoting24. O `company_name` passado a `init()` é a denominação social do cliente, não o título do widget. Não existe um parâmetro público `language` ou `locale`: a interface atual está em italiano. --- ## Duas formas de o mostrar no site ### Botão flutuante O script acrescenta o botão depois de carregar as definições gráficas. Um clique abre o chat. No telemóvel o chat flutuante pode ocupar o viewport. Ver [Widget B2C](widget_b2c.md). ### Chat incorporado O chat ocupa um contentor da página, com altura explícita. Não há botão flutuante: o layout e o título vêm do site. Neste modo `open()`, `close()` e `toggle()` não têm efeito. O site controla a altura e a largura do contentor. Ver [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Uma só instância por página: o loader expõe um único `window.Quoting24Widget`. Um segundo script não cria um segundo widget. --- ## Chave pública e segredos {#chiave-pubblica-e-segreti} | Valor | Onde está | Para que serve | | --- | --- | --- | | Chave pública do widget | URL do script | Seleciona o canal. É pública: não é uma credencial pessoal nem um segredo de integração de backend | | Segredo privado da integração | Só no backend do site | Autoriza criar e reutilizar `restore_id` | | `restore_id` | Arquivo privado por utilizador, no backend | Credencial com que se restaura o histórico dessa pessoa nesse widget | | Credencial de sessão de convidado | `localStorage` do site, gerida pelo loader | Continuidade de convidado no mesmo browser, por chave de widget | --- ## Fluxo para o operador 1. O visitante abre o chat no site e envia uma mensagem 2. Na Quoting24 nasce ou continua um **ticket** no canal Widget 3. Se a inicialização resolveu um `external_id`, o contacto fica ligado à empresa com esse `web_code`. Uma empresa acabada de criar pelo widget tem denominação social e, se foi enviado, e-mail; uma empresa já existente não é renomeada por `init()` 4. O operador trata o pedido e responde a partir do chat 5. O cliente vê as respostas no widget As mensagens do widget só se apagam **para todos**. O dado chega do browser e o visitante pode alterá-lo. A ligação à empresa não prova a identidade e não abre o histórico dos outros contactos dessa empresa. --- ## Por onde começar 1. Configura o aspeto, os horários e os domínios em **Definições → Canais → Widget** 2. Site público ou portal que pré-preenche o perfil: [Widget B2C](widget_b2c.md) 3. Histórico da mesma pessoa noutro browser: [Widget B2B](widget_b2b.md) 4. Campos, criação de empresa, CSP e lista de verificação: [Integração técnica](widget_tecnico.md) --- # Widget B2C — visitante convidado e empresa URL: https://wiki.quoting24.com/pt/content/widget_b2c/ Language: pt Updated: 2026-11-04 # Widget B2C — visitante convidado e empresa Esta secção cobre as integrações em que o widget fica em **sessão de convidado**: - site público, visitante desconhecido: só o script e o formulário de contacto - site ou portal que já conhece a conta: `init()` com perfil e dados da empresa, formulário omitido quando os dados chegam, contacto ligado à empresa O histórico pessoal noutro browser ou dispositivo é outra integração. Vê [Widget B2B](widget_b2b.md). Contrato completo dos campos, mudança de conta numa SPA, CSP e provisioning: [Integração técnica](widget_tecnico.md). **Associar uma empresa não autoriza o histórico de outra pessoa.** Um utilizador autenticado no site continua a ser um convidado do widget até enviares `external_user_id` juntamente com um `restore_id` válido. --- ## O que obténs - Um botão flutuante, ou um chat incorporado num contentor da página - Um formulário inicial para quem é desconhecido, com as etiquetas Telefone e Nome. Em `init()` os campos são `phone` e `name` - Uma sessão de convidado guardada pelo loader no mesmo browser, separada por chave de widget. Se o `localStorage` estiver bloqueado, a continuidade pode ficar na página atual - Se envias `external_id`, a Quoting24 procura uma empresa com o mesmo `web_code`. Com `company_name` também, pode criar a empresa em falta e ligar o contacto - Tickets e respostas na Quoting24, como nos outros canais A sessão de convidado relê a sua conversa mais recente mesmo depois de fechar o separador. Não segue a pessoa para outro browser. --- ## 1. Pré-requisitos na Quoting24 1. Canal **Widget** ativo em **Definições → Canais** 2. Logótipo, cor, posição, saudação, boas-vindas e fora de horário configurados 3. **Domínios permitidos** atualizados, incluindo testes e `localhost` 4. Código de incorporação copiado da configuração do canal: URL do script e chave pública Usa o host e a chave do **mesmo ambiente**. Nos exemplos substitui `HOST_WIDGET` e `CHAVE_PUBLICA_WIDGET`. Os domínios são nomes de host, sem `https://`, porta, caminho ou `*.`. `example.com` inclui os subdomínios. Lista vazia: nenhuma restrição. Em local serve a página por HTTP, não como `file://`. O `company_name` de `init()` é a denominação social do cliente. Não é o título do widget e não se configura a partir deste payload. --- ## 2. Instalar o botão flutuante Cola o script **uma só vez**, antes de ``: ```html ``` O botão aparece depois de carregar as definições gráficas. Um visitante novo vê o formulário de contacto. Quem volta no mesmo browser retoma a sessão de convidado, se o armazenamento estiver disponível. O script expõe um único `window.Quoting24Widget`. --- ## 3. Incorporar o chat na página {#incorporare-la-chat-in-pagina} Cria o contentor **antes** do script e dá-lhe uma altura explícita: ```html

Assistência

``` - `target` é o ID do elemento, sem `#` - O iframe preenche o contentor - Não há botão flutuante - `open()`, `close()` e `toggle()` não têm efeito - Neste modo o site decide a altura e a largura. No modo flutuante, no telemóvel, o chat pode ocupar o viewport O modo incorporado, por si só, não ativa o restauro do histórico. --- ## 4. Enviar o perfil do cliente {#inviare-il-profilo-del-cliente} Quando o site conhece a conta, envia o perfil depois de carregar o loader. Os campos são **cadeias**. Omite os desconhecidos: não envies `null`, IDs numéricos nem um e-mail vazio. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Dado no site ou no ERP | Campo | Significado | | --- | --- | --- | | Referência estável da empresa, o mesmo valor importado em `web_code` | `external_id` | Comparação exata com `companies.web_code`, na organização do widget | | Denominação social | `company_name` | Usada se for preciso criar a empresa | | Nome da pessoa ou do utilizador | `name` | Nome mostrado no contacto | | E-mail da conta | `email` | Guardado na empresa só quando a empresa é criada | | Telefone, se o conheceres | `phone` | Número do contacto. Prefere o formato internacional, por exemplo `+393331234567` | Este payload não envia `external_user_id` nem `restore_id`. Mantém `name` e `company_name` separados: não concatenes a denominação social ao nome de utilizador para obter a associação. O campo público é `external_id`. Não envies `web_code`, o UUID interno da Quoting24 nem `companies.code`. O formulário mostra **Nome** e **Telefone**. Em `init()` esses campos chamam-se `name` e `phone`. O e-mail chama-se `email`. `Nome`, `Telefone` e `Email` não são chaves: o loader descarta-as, como descarta `web_code` no lugar de `external_id`. ### Exemplos Nome e telefone, os mesmos dados do formulário. O chat começa e não procura uma empresa. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Perfil com empresa. `name` é a pessoa, `phone` o número do contacto e `email` fica na empresa só se esta chamada a criar. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Só e-mail. Um endereço válido em `email` chega para abrir a sessão. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Se um campo ultrapassar os limites ou o e-mail estiver mal formado, o pedido é rejeitado. Limites e comportamento de cada campo: [Integração técnica](widget_tecnico.md#campi-di-init). ### Esperar pelo loader Um script `async` pode ainda não ter corrido quando o código seguinte chama `init()`. Para dados pré-preenchidos usa um módulo de carga **em vez** da etiqueta estática, importado uma só vez no layout principal: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CHAVE_PUBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("A API do widget não está disponível")); } }; script.onerror = () => { script.remove(); reject(new Error("Não foi possível carregar o widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Importa o módulo a partir do bundler, ou carrega o ficheiro de entrada com ``. Para o modo incorporado acrescenta `&mode=embedded&target=chat-assistencia` ao URL e monta primeiro o contentor. `loadWidget()` só indica que a API JavaScript está disponível. `init()` devolve `void`: põe o perfil em fila se o iframe não estiver pronto e não espera pela sessão. Para o resultado usa `isReady()` e `hasSessionError()`. `init()` **substitui** o perfil guardado. Não o funde com o anterior. Passa todos os campos que devam permanecer. Uma mudança de página numa SPA não exige um script novo nem um `reset()`. Na mudança de pessoa ou de conta, e no logout, chama `reset()` antes do perfil novo: mudar só os campos não desliga a sessão de convidado anterior. Padrão completo: [Login, logout e mudança de conta](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Como a empresa é associada ou criada A Quoting24 executa este fluxo na inicialização, mesmo que o visitante ainda não tenha enviado uma mensagem: 1. Com um `external_id` não vazio, procura uma empresa da mesma organização cujo `web_code` seja igual a esse valor 2. Se a encontrar, liga o contacto. O nome e o e-mail da empresa existente não mudam 3. Se não a encontrar e também houver um `company_name` não vazio, cria a empresa com `name = company_name`, `web_code = external_id` e o e-mail se existir, e depois liga o contacto 4. Se não puder encontrar nem criar a empresa, continua com o perfil disponível. Se não chegar para um convidado novo, mostra o formulário. Erros de base de dados ou o limite de pedidos fazem falhar a inicialização | Dados enviados | Situação na Quoting24 | Resultado | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Existe `web_code = "52"` | Usa a empresa existente e não muda o nome | | Os mesmos dados, mais um e-mail válido | Não existe `web_code = "52"` | Cria a empresa com código web `52`, denominação social e e-mail, e associa o contacto | | `external_id: "52"`, `name: "mario.rossi"` | Nenhuma correspondência | Inicia o convidado sem uma associação de empresa nova | | `external_id: "52"`, sem outros dados | Existe uma correspondência | Inicia o convidado associado à empresa, com o nome predefinido `Visitatore` | | `external_id: "52"`, sem outros dados | Nenhuma correspondência | Mostra o formulário de contacto | | `company_name` sem `external_id`, mais `name` | Qualquer | Inicia o visitante. Não procura nem cria uma empresa | A pesquisa não usa denominação social, e-mail, telefone, NIF nem `companies.code`. `"052"` e `"52"` são valores diferentes; os espaços de `external_id` não são retirados. Se importares o ficheiro antes, escreve em `web_code` o mesmo valor que o site vai enviar em `external_id`. Vê também [Empresas → Código web](companies.md#codice-web-web_code). Um convidado novo arranca se houver pelo menos um nome, um telefone, um e-mail válido ou um `external_user_id`, ou uma empresa encontrada ou criada através de `external_id`. `init({})` e `company_name` sozinho não iniciam uma sessão. Para um contacto já ligado, um código válido novo pode mudar a empresa. Omitir o código, ou enviar um que não se resolve, não apaga a associação anterior. A mudança de pessoa ou de conta exige `reset()`. ### Limites `web_code` não é único. Com várias correspondências, a inicialização pública toma a primeira por data de criação crescente. Pedidos simultâneos que ainda não encontram a empresa podem criar mais do que uma: a criação não é atómica e não substitui uma importação ou uma sincronização a partir do ERP. A criação implícita está limitada a 20 tentativas por janela de 60 segundos e endereço IP, no processo de backend que trata o pedido. Acima do limite a inicialização falha com `TOO_MANY_REQUESTS`: tenta de novo com espera, sem ciclos contínuos de `init()`. Os dados saem do browser e o visitante pode alterá-los. A ligação não prova a pertença à empresa e não concede o histórico da empresa. Envia `company_name` só se quiseres permitir esta criação pública. Para atualizar empresas já existentes usa as ferramentas da Quoting24 ou uma integração de ERP autorizada. O e-mail da inicialização pública só fica na empresa nova. Não é escrito no contacto e não atualiza uma empresa já existente. Um telefone já usado por outro contacto não junta contactos nem chats. --- ## 6. Comportamento no site | Situação | Comportamento esperado | | --- | --- | | Primeiro visitante, só script | Botão, depois formulário, depois chat | | `init()` com perfil suficiente | Formulário omitido | | `external_id` já presente como `web_code` | Contacto associado; nome e e-mail da empresa inalterados | | `external_id` novo com `company_name` | Empresa criada e contacto associado | | Código novo e nome, sem `company_name` | Chat sem empresa nova | | Só código novo | Formulário de contacto | | Só denominação social e nome | Nenhuma pesquisa nem criação por nome | | Recarregamento no mesmo browser | Sessão de convidado retomada, se o armazenamento estiver disponível | | Outro browser ou dispositivo | Sessão de convidado nova | | Fora de horário | Banner fora de horário; a composição continua utilizável | | Telemóvel, botão flutuante | O chat pode ocupar o viewport | Anexos: PDF, DOC, DOCX, JPG/JPEG, PNG. Máximo de 10 MiB por ficheiro e 100 MiB de anexos referenciados por conversa. --- ## 7. Controlos úteis Quando o botão flutuante está visível podes ligar um botão do site a `window.Quoting24Widget?.open()`. | Método | Uso | | --- | --- | | `init(profile)` | Define ou substitui o perfil atual | | `open()` / `close()` / `toggle()` | Só widget flutuante. Fechar não é um logout | | `isReady()` | Sessão de visitante iniciada. Continua falso no formulário de contacto | | `hasSessionError()` | Erro de sessão assinalado pelo iframe | | `reset()` | Apaga perfil, sessão local, credencial de convidado guardada e não lidos desta instância | | `dispose()` | Desmonta a interface e os listeners. Não apaga a credencial de convidado guardada nem o objeto API global | Não esperes por `isReady()` para um convidado novo abrir o formulário. Não há um evento público de disponibilidade. Estes indicadores não descrevem todo o estado da rede. --- ## Lista de verificação antes da entrada em produção - [ ] Host e chave do mesmo ambiente - [ ] Domínios do site e do staging na lista, só como nomes de host - [ ] Logótipo, cor, saudação, boas-vindas e fora de horário verificados - [ ] Browser novo, só script: formulário, mensagem, ticket na Quoting24 - [ ] `external_id` já em `web_code`: associação, ficha da empresa inalterada - [ ] Código novo com `company_name`: empresa criada com esse código web - [ ] Código novo sem `company_name`: nenhuma empresa criada - [ ] E-mail vazio, ID numérico ou denominação social demasiado longa: payload rejeitado, a corrigir - [ ] Recarregamento e navegação SPA: uma só instância, sessão de convidado conservada - [ ] Mudança de conta: `reset()` de imediato, respostas tardias descartadas - [ ] Telemóvel: composição utilizável - [ ] Domínio não autorizado: widget rejeitado Problemas frequentes: [Resolução de problemas](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — histórico noutros dispositivos URL: https://wiki.quoting24.com/pt/content/widget_b2b/ Language: pt Updated: 2026-11-04 # Widget B2B — histórico noutros dispositivos Esta secção cobre o restauro do **histórico pessoal** do widget quando a mesma pessoa abre o site a partir de outro browser ou dispositivo. O site tem de autenticar a pessoa. O backend obtém e guarda em privado a credencial de restauro para esse utilizador e esse widget. O browser passa-a a `init()` juntamente com o perfil. Para o script apenas, ou para pré-preencher perfil e empresa ficando em sessão de convidado, vê [Widget B2C](widget_b2c.md). Endpoints, persistência e concorrência de `restore_id`: [Integração técnica](widget_tecnico.md#provisioning-da-backend). --- ## O que acrescenta em relação à sessão de convidado | | Convidado | Restauro | | --- | --- | --- | | Login no site | Não exigido | Exigido, porque a credencial sai do teu backend | | Dados que identificam o chat | Credencial de convidado do browser, ou perfil passado a `init()` | `external_user_id` e `restore_id` em conjunto | | Continuidade | Mesmo browser | Browsers e dispositivos diferentes, no canal widget autorizado | | Quem emite a credencial | Loader | Backend do site, através da Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` e `external_user_id`, por si sós, não restauram o histórico. `external_user_id` sem `restore_id` não chega. O campo é `restore_id`, em snake case: `restoreId` não é um campo do loader. O restauro não junta sessões de convidado antigas e não partilha o histórico entre colegas da mesma empresa. Diz respeito apenas ao canal widget. Podes enviar os campos de empresa no mesmo `init()`. A associação ou a criação segue as regras do [payload de convidado](widget_b2c.md#inviare-il-profilo-del-cliente): é independente do restauro e não prova a identidade. --- ## Fluxo 1. O cliente inicia sessão no portal 2. O backend autenticado pede à Quoting24 uma credencial (`provisionRestoreId`) ou reutiliza a já guardada 3. A página chama `init()` com o mesmo `external_user_id`, o `restore_id` e, se forem precisos, os dados da empresa 4. A Quoting24 verifica a credencial e mostra as conversas do widget visíveis para essa pessoa, incluindo as já fechadas 5. No logout, ou na mudança de pessoa, a página chama `reset()` para o chat anterior não ficar no browser ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` é a resposta do backend para o utilizador autenticado. Usa-a sem a modificar. Máximo de 200 caracteres. Exige o `external_user_id` correspondente: ID estável da pessoa, não vazio, máximo de 100 caracteres após o trim. Não é um ID de empresa partilhado. `external_id` compara-se com `web_code`. Juntamente com `company_name` pode criar a empresa em falta. Não autentica o utilizador e não substitui `restore_id`. --- ## Pré-requisitos Além do branding, dos domínios e do código de incorporação: - integração de backend autorizada na Quoting24 - segredo privado da integração, só no servidor - endpoint de provisioning, normalmente `widget.provisionRestoreId` - arquivo privado na base do site, uma credencial por utilizador e widget A chave pública no URL do script e o segredo de integração são valores diferentes. Vê a [visão geral](widget.md#chiave-pubblica-e-segreti). --- ## Endpoint no backend do site `/api/widget/session` é um exemplo a implementar no portal. Não é um URL público da Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - A identidade obtém-se da sessão do servidor, não de um ID escolhido pelo browser - `Cache-Control: no-store` - Não registes nem coloques em cache `restore_id` - Não ponhas segredos no URL do script nem em atributos `data-*` - Guarda a credencial **antes** de a devolver ao browser O contrato para a Quoting24 (`attempt_id`, `saved_restore_id`, bloqueio, reutilização da chave) está na [integração técnica](widget_tecnico.md#provisioning-da-backend). Se o portal já tiver um endpoint autenticado que, para o utilizador atual, devolve o `restore_id` deste widget, usa essa resposta. Combina-a com o ID da pessoa e a referência da empresa na chamada a `init()`. --- ## Login, recarregamento, mudança de conta, logout Distingue um recarregamento de página de uma mudança real de pessoa ou de conta. - Recarregamento com o mesmo login ainda ativo: `init()` **sem** `reset()`, para manter a sessão de convidado guardada se apenas voltas a passar o perfil. Com o restauro, reutiliza a credencial já persistida: não geres uma nova em cada visualização de página - Mudança de pessoa, mudança de conta, logout: `reset()` de imediato, depois o perfil novo, ou nenhum `init()` se o utilizador saiu - Descarta as respostas de restauro chegadas depois da mudança: uma resposta antiga não é um login novo - Numa SPA mantém uma única instância no layout principal. Uma mudança de rota não volta a lançar o provisioning Se o restauro não estiver disponível podes oferecer o chat de convidado: `reset()`, depois `init()` sem `restore_id`. Esse chat fica separado do histórico restaurado. Uma credencial inválida, de outro utilizador ou revogada é rejeitada. A Quoting24 não a converte em sessão de convidado. O botão «Riprova» do widget não pede por si só um `restore_id` novo ao teu backend. A interface atual está em italiano, por isso essa etiqueta está em italiano. Exemplo de `applyWidgetAuth` e desmontagem: [Integração técnica](widget_tecnico.md#login-logout-e-cambio-account). `reset()` esquece a sessão de convidado desta instância e a credencial guardada no browser. Não revoga `restore_id` no servidor e não fecha as sessões noutros dispositivos. O site tem de atualizar os outros separadores abertos. --- ## Conversas anteriores No histórico restaurado os chats já fechados podem aparecer como conversa anterior. - Abri-los para consulta não reabre a conversa antiga - As mensagens novas ficam na conversa ativa --- ## Lista de verificação antes da entrada em produção - [ ] Segredo de integração só no servidor - [ ] `external_user_id` estável e por pessoa, idêntico entre o provisioning e `init()` - [ ] `restore_id` persistido antes da resposta ao browser, e reutilizado nas visitas seguintes - [ ] O mesmo utilizador num segundo browser: o mesmo histórico - [ ] Dois utilizadores da mesma empresa: históricos distintos - [ ] `external_id` e `company_name` verificados no ficheiro, sem esperar que restaurem o chat - [ ] Logout ou mudança de conta durante o fetch: nenhum chat do utilizador anterior no ecrã - [ ] Passagem convidado ↔ restauro com `reset()` pelo meio - [ ] Credencial revogada ou inválida: erro, sem recurso silencioso a convidado Testes e sintomas: [Verificar a integração](widget_tecnico.md#verificare-lintegrazione) · [Resolução de problemas](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Integração técnica URL: https://wiki.quoting24.com/pt/content/widget_tecnico/ Language: pt Updated: 2026-11-04 # Widget — Integração técnica Guia para programadores: script, payload de `init()`, associação e criação de empresa, ciclo de vida, restauro autenticado (`restore_id`), CSP e verificação. Páginas de percurso: [Visão geral](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Edição de referência:** 26 de outubro de 2026. O restauro entre dispositivos acrescenta-se ao payload de empresa. Antes de o ativar, confirma que `provisionRestoreId` está disponível na tua instalação. A interface corre num iframe. O site anfitrião não precisa de Angular, de um cliente Supabase nem de acesso à base da Quoting24. --- ## Escolher o tipo de integração | Caso | Implementação | Continuidade | | --- | --- | --- | | Site público, visitante desconhecido | Só script. Formulário de contacto | Sessão de convidado no mesmo browser | | Site com dados do cliente | Script e `init()` com perfil e empresa | Sessão de convidado pré-preenchida e associação de empresa | | Portal com histórico pessoal entre dispositivos | Também um backend para `external_user_id` e `restore_id` | Histórico pessoal no canal widget autorizado | Associar uma empresa e restaurar o histórico são operações distintas. `external_id`, `company_name`, o nome, o e-mail e o telefone não autorizam as conversas de outra pessoa. Um utilizador autenticado no site continua a ser um convidado do widget até forneceres uma credencial de restauro válida. --- ## 1. Configuração a partir da Quoting24 Em **Definições → Canais**, abre o canal widget e recupera: - URL completo do script e **chave pública** - **domínios autorizados**, incluindo testes e desenvolvimento local - logótipo, cor, posição, saudação, boas-vindas e horários Usa o URL e a chave do mesmo ambiente. Nos exemplos substitui `HOST_WIDGET` e `CHAVE_PUBLICA_WIDGET`. A chave no URL é pública e seleciona o canal: não é uma credencial pessoal nem um segredo de integração de backend. Os domínios são nomes de host (`shop.example.com`, `localhost`), sem `https://`, porta, caminho ou prefixo `*.`. `example.com` autoriza também os subdomínios. Uma lista vazia não aplica restrições. Para o teste local serve a página por HTTP, não como ficheiro. | Valor | Onde o conservar | Finalidade | | --- | --- | --- | | Chave pública | URL do script | Seleciona o canal widget | | Segredo privado da integração | Só segredos do backend | Autoriza criar e reutilizar `restore_id` | | `restore_id` | Arquivo privado por utilizador; na página só com sessão autenticada | Indica que histórico restaurar | | Credencial de sessão de convidado | `localStorage` do site, por chave de widget, gerida pelo loader | Continuidade de convidado no mesmo browser | O restauro exige integração de backend, endpoint privado e segredo, separados do código público. Vê a [secção 6](#provisioning-da-backend). --- ## 2. Instalação ### Botão flutuante Uma só vez, antes de ``: ```html ``` O botão aparece depois de carregar as definições gráficas. Um visitante novo abre o formulário com telefone e nome facultativo. O loader guarda a credencial de convidado no `localStorage`, separada por chave. Se o armazenamento estiver bloqueado, a continuidade pode limitar-se à página atual. O loader expõe um único `window.Quoting24Widget`. Um segundo script não cria um segundo widget. ### Chat incorporado Contentor antes do script, altura explícita: ```html

Assistência

``` `target` é o ID, sem `#`. O iframe preenche o contentor. Não há botão flutuante. `open()`, `close()` e `toggle()` não têm efeito. ### Esperar pelo loader Para dados pré-preenchidos usa este módulo **em vez** da etiqueta estática, importado uma só vez no layout principal. Os exemplos são módulos JavaScript: bundler, ou ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=CHAVE_PUBLICA_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("A API do widget não está disponível")); } }; script.onerror = () => { script.remove(); reject(new Error("Não foi possível carregar o widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Para o modo incorporado acrescenta `&mode=embedded&target=chat-assistencia` ao URL e monta primeiro o contentor. Não dupliques este carregamento com uma etiqueta script estática. `loadWidget()` indica que a API está disponível. `init()` devolve `void`: põe o perfil em fila se o iframe não estiver pronto e não espera pela sessão. Para o resultado usa `isReady()` e `hasSessionError()`. --- ## 3. Campos de `init()` {#campi-di-init} Todos os valores são **cadeias**. Omite os desconhecidos. Não envies `null`, IDs numéricos nem um e-mail vazio. Se um campo ultrapassar os limites ou o e-mail estiver mal formado, o pedido é rejeitado. | Campo | Limite e comportamento | | --- | --- | | `external_id` | Máximo de 100 caracteres. Referência de empresa comparada exatamente com `web_code`, na organização do widget. Os espaços não são retirados | | `company_name` | Máximo de 250 caracteres depois de remover os espaços iniciais e finais. Cria uma empresa em falta só juntamente com `external_id`. Uma cadeia vazia ou só de espaços não ativa a criação | | `name` | Máximo de 250 caracteres. Nome do contacto; pode atualizá-lo na sessão atual | | `email` | Endereço válido. Na inicialização pública só é guardado numa empresa nova. Não é escrito no contacto nem numa empresa já existente | | `phone` | Máximo de 80 caracteres. Número do contacto; prefere o formato internacional, por exemplo `+393331234567`. Um conflito com um número existente não junta contactos nem chats | | `external_user_id` | Facultativo no caso base. ID estável da pessoa, não vazio, máximo de 100 caracteres após o trim. Por si só não restaura o histórico | | `restore_id` | Credencial privada, máximo de 200 caracteres, obtida do backend. Exige o `external_user_id` correspondente. Usa o valor devolvido sem o modificar | Exemplo quando o site conhece a conta. Os nomes de campo do ERP podem ser diferentes: mapeia a referência da empresa para `external_id`, a denominação social para `company_name`, a pessoa para `name` e o e-mail da conta para `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` As etiquetas Nome e Telefone do formulário enviam-se como `name` e `phone`. O e-mail é `email`. Não envies `Nome`, `Telefone` nem `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` A primeira chamada abre o chat com nome e telefone e não procura uma empresa. A segunda chega com um e-mail válido. No perfil completo acima, `phone` é o número do contacto e `email` fica na empresa só se esta chamada a criar. Mantém `name` e `company_name` separados. Não concatenes a denominação social ao nome de utilizador para obter a associação. Não envies um campo `web_code`: o nome público é `external_id`. Não uses o UUID interno da Quoting24 nem `companies.code` no lugar do valor em `web_code`. `init(profile)` substitui o perfil guardado pelo loader. Não faz merge: passa os campos que queres manter. Um convidado novo pode começar com pelo menos um nome, um telefone, um e-mail válido ou um `external_user_id`, ou com uma empresa encontrada ou criada através de `external_id`. `init({})` e `company_name` sozinho não iniciam uma sessão nova. Se enviares apenas um `external_id` desconhecido, sem `company_name`, o widget pede os dados através do formulário. `init({ restoreId: "..." })` não transmite a credencial. O campo é `restore_id`. --- ## 4. Associar ou criar a empresa {#associare-o-creare-lazienda} O fluxo dispara-se quando a Quoting24 processa a inicialização, mesmo sem uma mensagem: 1. Se recebe um `external_id` não vazio, procura uma empresa da mesma organização cujo `web_code` seja igual a esse valor 2. Se a encontrar, liga o contacto. O nome e o e-mail da empresa existente não mudam 3. Se não a encontrar e também receber um `company_name` não vazio, cria a empresa com `name = company_name`, `web_code = external_id` e o e-mail se existir, e depois liga o contacto 4. Se não puder encontrar nem criar a empresa por falta de dados, continua com o perfil disponível. Se não chegar para um convidado novo, pede o formulário. Erros de base de dados ou o limite de pedidos fazem falhar a inicialização | Dados enviados | Situação na Quoting24 | Resultado | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Existe `web_code = "52"` | Usa a empresa existente; não muda o nome | | Os mesmos dados, mais um e-mail válido | Não existe `web_code = "52"` | Cria a empresa com código web `52`, denominação social e e-mail, e associa o contacto | | `external_id: "52"`, `name: "mario.rossi"` | Nenhuma correspondência | Inicia o convidado sem uma associação de empresa nova | | `external_id: "52"`, sem outros dados | Existe uma correspondência | Inicia o convidado associado, com o nome predefinido `Visitatore` | | `external_id: "52"`, sem outros dados | Nenhuma correspondência | Pede os dados do visitante | | `company_name` sem `external_id`, mais `name` | Qualquer | Inicia o visitante. Não procura nem cria uma empresa | A pesquisa não usa denominação social, e-mail, telefone, NIF nem `companies.code`. `"052"` e `"52"` são valores diferentes. Se importares primeiro o ficheiro, preenche `web_code` com o mesmo valor que o site vai enviar em `external_id`. A associação diz respeito ao contacto. Para um contacto já ligado, um código válido novo pode mudar a empresa. Omitir o código, ou enviar um que não se resolve, não apaga a associação anterior. Na mudança de pessoa ou de conta executa `reset()`: não te limites a mudar o perfil. ### Limites `web_code` não tem uma restrição de unicidade. Com várias correspondências seleciona-se a primeira, por data de criação crescente. Evita os duplicados: pedidos simultâneos que ainda não encontram a empresa podem criar mais do que uma. O fluxo não garante uma criação atómica e não substitui uma importação ou uma sincronização a partir do ERP. A criação implícita está limitada a 20 tentativas por janela de 60 segundos e endereço IP, no processo de backend que trata o pedido. Ao ultrapassar, a inicialização falha com `TOO_MANY_REQUESTS`. Tenta de novo com espera. Evita ciclos contínuos de `init()`. Os dados chegam do browser e o visitante pode modificá-los. A associação não prova pertença nem identidade e não concede o histórico da empresa. Envia `company_name` se quiseres permitir esta criação pública. Para atualizar empresas existentes usa a Quoting24 ou uma integração de ERP autorizada. --- ## 5. Login, logout e mudança de conta {#login-logout-e-cambio-account} Mantém uma única instância na estrutura principal de uma SPA. Uma mudança de página não exige um script novo nem um reset. Na mudança de pessoa ou de conta, e no logout, chama **`reset()` antes do perfil novo**. Num recarregamento com o mesmo login ainda ativo, usa `init()` sem reset, como no arranque: assim conservas a sessão de convidado guardada. O site tem de distinguir o recarregamento da mudança efetiva. Chamada nas mudanças de autenticação. `profile` é o perfil do utilizador novo, ou `null` no logout. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Trata o erro de carregamento na interface do site, com uma nova tentativa. Se recuperas o perfil do backend antes desta função, invalida também esses pedidos na mudança de utilizador. Durante a espera, apaga de imediato o perfil anterior com `applyWidgetIdentity(null)`. O reset esquece a sessão de convidado desta instância, a credencial guardada, o perfil e o contador de não lidos. Não é uma revogação no servidor e não termina as sessões noutros dispositivos. A mudança de autenticação também tem de ser aplicada nos outros separadores abertos. ### Com restauro do histórico Quando o perfil inclui `restore_id`, descarrega-o do endpoint autenticado do site depois do `reset()`, e descarta a resposta se o utilizador mudou entretanto. O recarregamento com o mesmo utilizador reutiliza a credencial já guardada e não deve chamar `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Só no login, no logout e na mudança de utilizador. // Não a chamar num recarregamento com o mesmo utilizador: reset() descartaria a sessão já em curso. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("O restauro do widget não está disponível"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Resposta de restauro inesperada"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Chat de assistência: o restauro falhou.", error); } } ``` O ciclo copia só os campos presentes e não vazios. Um e-mail `""` ou um ID numérico não devem ser enviados. ### API JavaScript | Método | Uso | | --- | --- | | `init(profile)` | Fornece ou substitui o perfil atual. O loader não funde os campos com um perfil anterior | | `open()` / `close()` / `toggle()` | Abre, fecha ou alterna o widget flutuante. Fechar não é um logout. No modo incorporado não têm efeito | | `isReady()` | A inicialização da sessão de visitante teve sucesso. Continua falso durante o formulário de contacto | | `hasSessionError()` | Erro de sessão assinalado pelo iframe | | `reset()` | Apaga perfil, sessão local, credencial de convidado guardada e contador de não lidos | | `dispose()` | Desmonta a interface e os listeners. Não apaga a credencial de convidado guardada nem o objeto API global | Podes ligar um botão do site a `window.Quoting24Widget?.open()` quando o botão flutuante tiver aparecido. Não esperes por `isReady()` para um convidado novo abrir o formulário. Não existe um evento público de disponibilidade. Estes indicadores não descrevem todo o estado da rede. `loadWidget()` resolvido não significa que o branding e a sessão estejam prontos. ### Desmontagem completa Se tiveres de retirar o widget, executa `dispose()`. Se a desmontagem coincidir com o logout, executa primeiro `reset()`. Antes de voltar a carregar o script, elimina o global e repõe a Promise do loader. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` é a definida no módulo do loader. Executa a desmontagem depois de terminar o carregamento. Não a faças ao mesmo tempo que uma nova `loadWidget()`. Para as mudanças de autenticação usa `applyWidgetIdentity()` ou `applyWidgetAuth()`, que esperam pelo loader. O reset local não revoga `restore_id` no servidor. --- ## 6. Restauro autenticado {#provisioning-da-backend} A sessão de convidado lê a sua conversa mais recente mesmo depois de a fechar. As conversas visíveis da mesma pessoa noutro browser exigem juntos `external_user_id` e `restore_id`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` O restauro não junta sessões de convidado antigas e não partilha o histórico entre colegas da mesma empresa. ### Endpoint no backend do site Exemplo a implementar no portal, não um URL da Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Define `Cache-Control: no-store`. Identidade e empresa só a partir da sessão do servidor. Aplica a auth e o CSRF da aplicação. Não registes corpos que contenham a credencial. Se o portal já expõe um endpoint autenticado que devolve o `restore_id` do utilizador atual para este widget, usa essa resposta e combina-a com o ID da pessoa e a referência da empresa. ### Provisioning de servidor para servidor Caminho típico: `/fastify/trpc/widget.provisionRestoreId` (ou `/trpc/widget.provisionRestoreId` se o backend estiver exposto diretamente). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Os valores gerados começam por `q24-restore-v1:`. Não os inventes nem os derives de IDs públicos. | Entrada | Requisito | | --- | --- | | `widget_api_key` | UUID obrigatório, autorizado para o segredo | | `external_user_id` | ID de pessoa estável, igual ao de `init()` | | `attempt_id` | Inteiro positivo estritamente crescente, como cadeia decimal, máximo `9223372036854775807` | | `saved_restore_id` | Credencial já guardada. Omite-a no primeiro provisioning | | `external_id`, `name`, `email`, `phone` | Facultativos, com os mesmos limites que `init()` | Padrão **ensure**, recupera ou cria: 1. Autentica o utilizador e adquire um bloqueio sobre a linha de restauro, numa transação 2. Atribui um `attempt_id` novo a partir de uma sequência **depois** do bloqueio (`CACHE 1`, não cíclica; a sequência sobrevive ao rollback) 3. Chama a Quoting24 com `attempt_id` e, se existir, `saved_restore_id` 4. Guarda `result.data.restore_id` e faz commit 5. Só depois do commit devolve a credencial ao browser Um `saved_restore_id` válido tem de ser **reutilizado**. Omiti-lo quando já existe uma chave válida substitui a chave e invalida as sessões restauradas. Não geres uma chave nova em cada visualização de página. Se o provisioning remoto tiver sucesso e a gravação local falhar, devolve um erro. Não devolvas a chave não guardada. Tempos limite reduzidos. `company_name` envia-se em `init()`. O corpo de provisioning acima não o inclui: a associação e a criação da empresa, descritas na [secção 4](#associare-o-creare-lazienda), ocorrem quando o browser inicializa a sessão. O e-mail da inicialização pública só é escrito numa empresa nova. ### Resultado no widget A Quoting24 verifica a credencial e carrega o histórico do widget visível desse utilizador. Os chats já fechados podem aparecer como conversa anterior: consultá-los não reabre a conversa antiga; o envio fica na conversa atual. Uma credencial inválida, de outro utilizador ou revogada é rejeitada, sem conversão automática em sessão de convidado. O botão «Riprova» do widget não pede por si só um `restore_id` novo. A interface atual está em italiano. --- ## 7. Página, rede e aspeto - **Uma só instância por página** - **CSP.** Permite a origem do widget em `script-src` e `frame-src`, e a origem de API indicada para a instalação em `connect-src` (carregamento das definições gráficas). Autoriza as imagens configuradas em `img-src`. O loader insere estilos em linha e não expõe uma opção pública de nonce: verifica a CSP do site. O CSS da página não modifica o interior do iframe de outra origem - **Ligações do iframe.** Tem de alcançar a API, Realtime/WebSocket e o armazenamento da própria instalação. Para filtros de rede usa os hosts efetivos do ambiente - **Aspeto e idioma.** Logótipo, cor, posição e mensagens configuram-se na Quoting24. `company_name` é a denominação social do cliente. Não existe um parâmetro público `language` ou `locale`; a interface atual está em italiano - **Telemóvel.** O chat flutuante pode ocupar o viewport. No modo incorporado o site controla altura e largura - **Anexos e horários.** PDF, DOC/DOCX, JPG/JPEG e PNG. Até 10 MiB por ficheiro e 100 MiB de anexos referenciados por conversa. Fora de horário o widget mostra o banner e deixa disponível a composição --- ## 8. Verificar a integração {#verificare-lintegrazione} Usa uma conta e um canal de teste. Confirma o ficheiro na Quoting24, além do chat. | Prova | Resultado esperado | | --- | --- | | Browser novo, só script | Formulário de contacto, depois conversa | | Payload completo com `external_id` já presente como `web_code` | Contacto associado à empresa existente; nome e e-mail da empresa inalterados | | Payload completo com código novo | Empresa criada com código web, denominação social e e-mail; contacto associado | | Código novo e nome, sem `company_name` | Chat iniciado, nenhuma empresa criada | | Só código novo | Formulário de contacto | | Só denominação social e nome | Nenhuma empresa procurada ou criada por nome | | E-mail vazio, ID numérico ou denominação social demasiado longa | Payload rejeitado | | Segundo `init()` na mesma sessão | Continua a sessão de convidado. O e-mail e o telefone não recuperam o chat de outra pessoa | | Recarregamento, navegação SPA, telemóvel | Uma só instância; continuidade de convidado se houver armazenamento; layout utilizável | | Logout ou mudança de conta durante o carregamento | Sessão anterior apagada; os resultados tardios não restauram o perfil antigo | | O mesmo utilizador autenticado, outro browser, `restore_id` válido | Histórico dessa pessoa | | Dois utilizadores da mesma empresa | Credenciais e históricos distintos | | Convidado e depois restauro | `reset()` pelo meio; as sessões não se juntam | | Credencial inválida ou revogada | Erro, sem recurso automático a convidado | | Conversas anteriores | Só consulta; o envio fica na atual | | Domínio não autorizado | Acesso rejeitado | | Rede interrompida | Reconexão; rascunho conservado se o envio falhar | --- ## Resolução de problemas {#risoluzione-dei-problemi} | Sintoma | Verificação | | --- | --- | | O botão não aparece | URL, chave, canal ativo, domínios, CSP, pedido `widget.getBranding`. O só global JavaScript não prova que o botão exista. `open()` não tem efeito até o branding carregar, e não tem efeito no modo incorporado | | `Quoting24Widget` não está definido | Espera pelo carregamento. Verifica o parâmetro `key` | | O chat incorporado é invisível | Contentor antes do loader, ID correto, altura maior do que zero | | `Domain not allowed` | Nome de host do site, sem esquema, porta nem caminho. Verifica também os testes. A página tem de ser servida por HTTP | | Formulário de telefone apesar do perfil | Ordem assíncrona, snake_case, valores vazios, `reset()` anterior, perfil insuficiente para um convidado novo | | A empresa não é encontrada | Compara `external_id` com `web_code` na mesma organização, espaços e zeros iniciais incluídos | | A empresa em falta não é criada | São precisos `external_id` e `company_name` ambos não vazios. Verifica a validação e o limite de criação | | O nome ou o e-mail da empresa não mudam | Previsto: `init()` cria as empresas em falta e não atualiza as existentes | | O e-mail não aparece no contacto | Previsto na inicialização pública: o e-mail só se usa ao criar a empresa | | `TOO_MANY_REQUESTS` | Espera e tenta de novo. Evita chamadas repetidas ou importações em massa através do widget | | Falta o histórico noutro dispositivo | O payload de empresa não o restaura. São precisos `external_user_id` e `restore_id` | | Sessões restauradas invalidadas | As chamadas ensure têm de reenviar `saved_restore_id`. Não emitas uma chave nova em cada visualização de página | | «Riprova» não chega | Um `restore_id` novo a partir do teu endpoint, depois `reset()` e `init()` | | Depois de uma mudança de conta fica o chat antigo | `reset()` de imediato na mudança de identidade. Descarta as respostas assíncronas anteriores | | Depois de `dispose()` o script não recria o widget | Elimina o global e o script, repõe a Promise do loader e volta a carregar | | A interface continua em italiano | Nenhuma opção pública `language` ou `locale` no loader | --- ## Referências de implementação - Loader e API JavaScript: `@frontend/src/public/widget/script.ts` - Inicialização, associação de empresa e criação implícita: `@backend/fastify/routes/widget/initialize.ts` - Testes de inicialização e empresas: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Domínio e canal: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning de `restore_id`: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Contatos URL: https://wiki.quoting24.com/pt/content/contacts/ Language: pt Updated: 2026-11-04 # Contatos No menu no canto superior direito está disponível a seção **“Contatos”**. Esta página mostra a lista dos **contatos gerenciados na Quoting24** a partir da conexão do canal WhatsApp. Tela dos contatos --- ## Navegação na página ### Pesquisa de contatos No canto superior esquerdo há um **campo de pesquisa** que permite encontrar rapidamente um contato: - inserindo o **nome** - ou o **número de telefone** ### Ações principais No canto superior direito há os seguintes botões: - **Recarregar** Permite realizar uma **atualização manual** dos dados de contato entre o canal WhatsApp e a Quoting24. - **Import/Export** Abre o diálogo para **baixar um modelo Excel**, **exportar** contatos ou **importar** um arquivo. Detalhes na seção [Import/Export de contatos via Excel](#importexport-de-contatos-via-excel). - **+ Adicionar** Permite criar um **novo contato**. Será aberta uma tela em que é possível inserir: - nome - número de telefone - empresa Depois de preencher os campos, é possível **salvar o contato**. Tela de adição de usuário --- ## Atribuição de uma empresa a um contato Na lista de contatos, é possível atribuir rapidamente uma empresa a um contato clicando em **“+ Atribuir empresa”**. Tela de adição de empresa e usuário Será exibida a lista das **empresas salvas** na própria conta\* da Quoting24. Para atribuir a empresa ao contato, basta clicar em **“Selecionar”**. Tela de seleção de empresa > *Por **conta** entende-se o **número de telefone**: > cada número de telefone associado à Quoting24 tem seus próprios **contatos**, **empresas** e **[turnos de entrega](delivery_shifts.md)**.* --- ## Atribuição de uma empresa a um contato (segundo método) Usuário não atribuído Quando um cliente ainda não foi atribuído a nenhuma [**Empresa**](companies.md) ou não está etiquetado como **Particular**, é necessário clicar no elemento circulado para abrir a janela seguinte. Atribuir empresa Neste momento, há 3 casos: - O contato é um **Particular**, portanto não pertence a uma empresa específica; nesse caso, a atribuição será feita pelo botão ***Atribuir como particular*** - O contato **pertence a uma empresa entre as exportadas**; nesse caso, basta selecionar a empresa correspondente ao cliente - O contato **pertence a uma empresa que não está entre as exportadas**; nesse caso, basta pressionar o botão ***Nova empresa*** e atribuí-la ao cliente Usuário atribuído Depois de atribuir o usuário à empresa, a prévia da lista de tickets mostra o **código da empresa** (sem `#`) no tag ao lado do nome. Se o cliente foi marcado como **Particular**, é mostrada a etiqueta *Particular*. Na **lista de tickets**, à direita do nome, o único tag também mostra a **prioridade** do contacto e toma a cor do **tipo** (empresa ou pessoal). Detalhes em [Tela principal](main_screen.md#prévia-e-indicadores-na-lista). --- ## Abrir novo pedido Em Contatos pode iniciar uma conversa sem usar o **+** da página inicial. * na **lista de contactos**, cada linha tem **Abrir novo pedido** * no **detalhe do contacto** encontra o mesmo botão no topo Isto abre um novo pedido para esse contacto, com as mesmas regras de [gestão de tickets](gestione_ticket.md) da página inicial. --- ## Prioridade do contacto Cada contacto pode ter a sua própria **prioridade**: **Alta**, **Média** ou **Baixa**. Comportamento: * se o contacto tiver uma empresa e não estiver definida uma prioridade no contacto, o Quoting24 usa a prioridade da **empresa** (*Herdada da empresa*) * pode definir uma prioridade num contacto **sem empresa** * pode **substituir** a prioridade herdada sem alterar a prioridade da empresa A prioridade pode ser gerida: * no formulário de criar / editar contacto * na aba **Informações** do ticket * na importação Excel de contactos quando a coluna estiver presente Na lista de tickets, o ícone de prioridade aparece no tag ao lado do nome. --- ## Tipo do contacto O **tipo** (ex.: cliente, fornecedor, colaborador) funciona de forma diferente da prioridade: * contacto **sem empresa** → pode atribuir um tipo pessoal * contacto **com empresa** → o tipo é **sempre o da empresa**, não editável no contacto; altere-o na empresa Na aba **Informações** do ticket, se o tipo for herdado, vê *Herdada da empresa*. O tipo efetivo colore o tag na lista de tickets e pode ser usado como filtro **Tipo de empresa** no funil da página inicial. --- ## Sincronização dos nomes dos contatos Quoting24 é a **referência principal** para o nome dos contatos. Isso significa que, quando um contato já tem um nome salvo no Quoting24, esse nome é considerado correto e **não é mais sobrescrito** por atualizações automáticas do canal WhatsApp. A sincronização dos contatos pode acontecer em diferentes momentos, por exemplo: - quando uma sincronização manual é iniciada - quando chega uma mensagem de um número novo - durante outros processos automáticos de atualização dos contatos Quando chega uma atualização do WhatsApp, o Quoting24 aplica esta lógica: - se o contato **ainda não existe** no Quoting24, ele é criado usando o número de telefone e o nome disponível pelo canal WhatsApp - se o contato **já existe**, apenas os dados ausentes são completados - o **nome** é atualizado apenas se ainda estiver vazio no Quoting24 - se o contato já tem um nome no Quoting24, as atualizações automáticas não o modificam Na prática, a sincronização serve para **preencher dados ausentes**, não para sobrescrever informações já corrigidas pelos operadores no Quoting24. Essa configuração evita que nomes corrigidos manualmente pelos operadores sejam perdidos após uma nova atualização do WhatsApp e mantém coerentes os dados gerenciados no Quoting24. --- ## Avisos sobre os contatos É possível configurar **avisos sobre os contatos**, ou seja, notas importantes que são mostradas acima do chat quando se abre uma conversa com esse contato. Os avisos são úteis para destacar informações que o operador deve ver imediatamente, por exemplo: - instruções comerciais específicas - condições acordadas com o cliente - cuidados operacionais a respeitar - notas importantes inseridas pelos colegas --- ## Import/Export de contatos via Excel Na lista de contatos é possível abrir o diálogo **Import/Export** para: - **baixar um modelo Excel** com a estrutura correta das colunas - **exportar** todos os contatos do tenant, ou **apenas os selecionados** - **importar** um arquivo Excel e salvar as alterações após a pré-visualização ### Export A exportação baixa os contatos do tenant (incluindo as referências a **empresa** e **location**) e gera um arquivo **`.xlsx`**. Você pode exportar: - **todos** os contatos - ou **apenas os contatos selecionados** na lista O arquivo exportado também inclui a coluna **`id`**: é o identificador do contato Quoting24 e deve ser mantido se quiser atualizar os mesmos contatos em uma importação posterior. ### Import Para importar contatos: 1. abra o diálogo **Import/Export** na lista de contatos 2. carregue o arquivo Excel (pode partir do modelo baixável ou de uma exportação anterior) 3. verifique a **pré-visualização em tabela** 4. salve para iniciar a importação O backend executa um **upsert em lotes de 500** linhas. #### Como cada contato é associado Para cada linha do arquivo vale esta lógica: 1. se a coluna **`id`** estiver preenchida e o id já existir **no tenant atual** → **atualiza** esse contato 2. se não houver `id` (ou não corresponder no tenant) → busca por **telefone** (também na forma normalizada): se encontrar → **atualiza** o contato existente, **sem criar um novo** 3. somente se não houver correspondência nem por `id` nem por telefone → **cria** um contato novo 4. se o `id` existir mas pertencer a **outro tenant** → é tratado como contato novo (é gerado um novo) #### Campos obrigatórios e regras - **`name`** e **`phone`** são **obrigatórios** - números de telefone **sem** prefixo `+` ou `00` → o Quoting24 assume o prefixo **`+39`** - **`company_id`** e **`location_id`** são aplicados **somente se forem válidos e coerentes entre si**; caso contrário são **ignorados** --- ## Ações disponíveis nos contatos Dentro da tela dos contatos, além de **Abrir novo pedido**, encontrará: - **Lixeira** → exclui o contato - **Lápis** → edita o contato - **Seta vermelha** → abre o **histórico das solicitações** do contato Tela dos ícones dos contatos --- # Empresas URL: https://wiki.quoting24.com/pt/content/companies/ Language: pt Updated: 2026-11-04 # Empresas No menu no canto superior direito também está disponível a seção **“Empresas”**. Esta página mostra a lista das **empresas presentes na própria conta\*** da Quoting24. Ao contrário dos **contatos** (que são criados ou atualizados pelo canal WhatsApp e pelos operadores), as **empresas** são criadas pelo operador, manualmente ou por Excel, ou pelo **canal Widget** quando o site envia juntos `external_id` e `company_name`. > *Por **conta** entende-se o **número de telefone**: > cada número de telefone associado à Quoting24 tem seus próprios **[contatos](contacts.md)**, **empresas** e **[turnos de entrega](delivery_shifts.md)**.* --- ## Criação de novas empresas Para criar novas empresas, estão disponíveis **dois métodos**, acessíveis pelos botões presentes **no canto superior direito** da tela: - **Importação de arquivo Excel** Permite carregar várias empresas ao mesmo tempo por meio de um arquivo Excel estruturado. - **Adição e edição manual** (`+ Adicionar`) Permite inserir uma única empresa preenchendo o formulário manualmente. Ambos os métodos permitem gerenciar de forma completa e independente as empresas associadas à própria conta Quoting24. Tela da lista de empresas --- Usando o botão **“+ Adicionar”**, é possível criar uma nova empresa preenchendo o formulário dedicado. Tela de adição de empresas Esta mesma tela também permite editar as empresas existentes (clicando no ícone da caneta). --- ## Importação de empresas via Excel Para importar várias empresas ao mesmo tempo por meio de arquivo Excel: 1. clique no botão **“Import/Export excel”** 2. na tela seguinte, clique no botão vermelho **“Importar”** 3. carregue o arquivo Excel do seu computador Também é possível **baixar um arquivo de exemplo** para verificar a formatação correta a ser usada no arquivo a carregar. Tela de adição de empresas por excel Durante a fase de importação das empresas via Excel, é **recomendável inserir notas** dentro do arquivo, para facilitar a associação dos [turnos de entrega](delivery_shifts.md). --- ## Prioridade e tipo da empresa Numa empresa pode definir: * uma **prioridade** (Alta, Média, Baixa) * um **tipo** (cliente, fornecedor, colaborador, …) Estes valores afetam os contactos vinculados: * a **prioridade** da empresa é herdada pelos contactos sem prioridade própria; o contacto pode ainda assim substituí-la * o **tipo** da empresa é herdado pelos contactos e **não pode ser alterado** no contacto enquanto houver uma empresa atribuída Na lista de tickets, a cor do tag ao lado do nome reflete o tipo efetivo (da empresa ou, para contactos sem empresa, o tipo pessoal). A prioridade e o tipo da empresa também podem ser editados na aba **Informações** do ticket, na secção da empresa em baixo. Detalhes do contacto: [Contatos → Prioridade](contacts.md#prioridade-do-contacto) e [Contatos → Tipo](contacts.md#tipo-do-contacto). --- ## Código web (`web_code`) {#codice-web-web_code} `web_code` é a referência com que o widget reconhece a empresa. O site envia o mesmo valor no campo público `external_id`. O payload do widget não tem um campo `web_code`. Se carregares o ficheiro antes de ligar o site, escreve em `web_code` **o mesmo valor** que o site vai enviar em `external_id`. Não uses o UUID interno da Quoting24 nem o código de gestão `companies.code`. | Situação | Resultado | | --- | --- | | `web_code` igual a `external_id` | O contacto do widget fica associado. O nome e o e-mail da empresa mantêm-se os já guardados | | Nenhuma correspondência, e o site envia também `company_name` | A Quoting24 cria a empresa (`name`, `web_code`, e-mail se estiver presente) e associa o contacto | | Várias empresas com o mesmo `web_code` | A inicialização pública usa a primeira, por data de criação crescente | `"052"` e `"52"` são códigos diferentes. Os espaços dentro de `external_id` não são removidos. `web_code` não tem uma restrição de unicidade: convém evitar duplicados, porque duas criações simultâneas podem gerá-los. A associação feita pelo widget não atualiza uma empresa já existente e não abre o histórico dos outros contactos. Contrato completo: [Integração técnica do widget](widget_tecnico.md#associare-o-creare-lazienda). --- ## Notas da empresa As empresas podem ter notas operacionais vinculadas ao seu cadastro. Essas notas ajudam os operadores a recuperar rapidamente informações úteis durante a gestão de um ticket, por exemplo indicações comerciais, referências internas ou condições de trabalho específicas. Ao trabalhar em um ticket, as notas da empresa podem ser consultadas e modificadas rapidamente pela aba **Informações** da solicitação (secção da empresa em baixo). --- # Visão geral da IA URL: https://wiki.quoting24.com/pt/content/ai/ Language: pt Updated: 2026-11-04 # Visão geral da IA A **AI** da Quoting24 é o módulo que **lê e interpreta toda a conversa** de um ticket e atualiza em conformidade a **parte direita** (veículos e peças). Já não se limita a “entender” uma mensagem de cada vez: tem em conta o **histórico do chat**, o **andamento** da conversa e o **estado atual** da secção veículos/peças. Assim as peças ficam sob o veículo certo mesmo quando o cliente: * escreve primeiro as peças e **depois** a matrícula * envia a **foto do livrete** depois da lista de peças * responde **citando** uma mensagem anterior * fala de **vários carros** no mesmo ticket Este guia descreve o **reconhecimento AI** da conversa. Onde ajudar a distingui-lo do assistente conversacional no chat (**AI Premium**), indicamo-lo claramente. --- ## Como elabora as mensagens {#come-elabora-i-messaggi} As mensagens **próximas** são elaboradas **em conjunto**, não uma a uma. * A Quoting24 espera cerca de **15 segundos** para agrupar as mensagens consecutivas do cliente. * Se o operador **abrir o ticket**, a elaboração começa **de imediato**. * O grupo de mensagens produz **um único quadro** de resumo no chat. Assim a AI vê o contexto completo desse “bloco” de conversa e atualiza veículos e peças de forma coerente. --- ## Separador AI à direita Na secção direita está o **separador AI**, visível na secção direita do ticket. * enquanto a AI elabora o ticket aparece um **spinner** * ao clicar, lembra-se que o **assistente no chat** pertence ao módulo **AI Premium** (produto diferente) --- ## Em resumo | Objetivo | O que faz a AI | |---|---| | Perceber o chat | Lê o **ticket inteiro**, não só a última mensagem | | Preencher a direita | Cria/atualiza **veículos** e **peças** automaticamente | | Multimédia | Interpreta **fotos**, **PDF** e **mensagens de voz** | | Controlar | Permite **corrigir** erros e navegar até às pesquisas | | Respeitar o operador | Não sobrescreve as alterações **manuais** à direita | --- ## Aprofundamentos | Secção | Conteúdo | | --- | --- | | [Reconhecimento](ai_riconoscimento.md) | Veículos, peças, etiquetas, notas internas, glossário e pesquisas automáticas | | [Fotos, PDF e mensagens de voz](ai_media.md) | Leitura de media e painel “Leituras AI” | | [Quadro e correção](ai_riquadro.md) | Quadro no chat, cliques, Corrigir e modos de visualização | | [Automações](automations.md) | Conversão matrícula → chassis, árvore e pesquisa de peças automática | --- # Reconhecimento URL: https://wiki.quoting24.com/pt/content/ai_riconoscimento/ Language: pt Updated: 2026-11-04 # Reconhecimento A AI pode reconhecer e estruturar dados a partir da conversa e atualizar a parte direita do ticket. Para o funcionamento geral, consulte [Visão geral da IA](ai.md). --- ## O que reconhece ### Veículos * matrícula * chassis (VIN) * marca e modelo * ano * código do motor * outros dados típicos do **livrete** ### Peças * nome da peça **normalizado em italiano**, mesmo que o cliente escreva noutra língua ou com abreviaturas (ex. `f olio`, `pf`, `fab`) * **códigos** OE, aftermarket, EAN * **posição** e **quantidade** ### Mensagens “só matrícula” ou “só código” Uma mensagem com **só a matrícula** ou **só um código** não é tratada como vazia: * a **matrícula** cria ou completa o veículo * o **código** completa um pedido pendente ou cria um novo --- ## Etiquetas em cada peça Cada linha do quadro pode mostrar a informação que o cliente deu **para aquela peça específica**: * **Orçamento** / **Encomenda** * posição * quantidade * estado (novo, usado, regenerado) * qualidade (original, equivalente) * marcas preferidas (★) * exclusões riscadas (ex. “não Brembo”) * prazo (ex. “até sexta”, “para amanhã”) * **Urgente** * problemas e **códigos de diagnóstico** (ex. `P0401`) * entrega ou levantamento (ex. “passo eu”) As etiquetas valem **apenas** para a peça a que o cliente se refere: **não** são copiadas automaticamente para as outras peças. Detalhes sobre o quadro: [Quadro e correção](ai_riquadro.md). --- ## Comportamento com clientes indecisos ou distraídos A AI **atualiza**, **move** e **remove** sozinha veículos e peças na parte direita, seguindo a conversa. Exemplos típicos: * uma peça escrita **antes** da matrícula é **movida** para o veículo certo quando a matrícula chega * “o filtro de ar já não preciso” **apaga só** esse filtro * “não Brembo” torna-se uma **exclusão** * se o cliente **editar ou apagar** uma mensagem no WhatsApp, a parte direita **segue** * um código enviado depois **completa** o pedido sem código * um pedido sem nome (código solto, etiqueta, foto) e o nome dado **noutra mensagem**, mesmo dias depois, tornam-se **um só pedido** * várias fotos da **mesma peça** → um só pedido * “discos e pastilhas” → **dois** pedidos; “kit de distribuição” → **um** pedido * se não estiver claro a que carro se refere, a peça fica em **“Sem veículo”** com um **aviso**, sem adivinhar ### O que nunca é sobrescrito * o que o **operador altera à mão** à direita **não** é sobrescrito pela AI * um **separador eliminado** só volta se chegarem **novas peças** para esse veículo * as peças **descartadas** pelo operador permanecem descartadas --- ## Notas internas e respostas ao cliente ### Notas internas Uma **nota interna** é uma **ordem** para a AI: * é aplicada **de imediato** (veículo, peças, códigos, cancelamentos) * recebe **o seu próprio quadro** ### Respostas enviadas ao cliente Uma **resposta ao cliente** é apenas uma **proposta**: * **não** altera veículos/peças até o cliente confirmar (ex. “ok”, “manda”, cita a resposta ou nomeia a peça) * o quadro sob a confirmação **remete** para a resposta original * “Ok manda” depois de um preço pode definir a etiqueta **Encomenda** --- ## Respostas a pedidos anteriores Se o cliente responder **citando** uma mensagem de um **ticket anterior**: * a AI elabora-a **nesse** ticket * no ticket atualmente aberto aparece apenas a remissão **“Elaborado noutro pedido”** com **“Ir ao pedido”** --- ## Pesquisas automáticas As pesquisas seguem as regras em **Definições → Automações** (conversão matrícula → chassis, carregamento da árvore, pesquisa de peças). Detalhes em [Automações](automations.md#automazioni-disponibili). Comportamento com a AI: * cada pedido decide **sozinho** quando pesquisar * os **códigos** pesquisam de imediato por código * **nenhuma pesquisa duplicada** para o mesmo texto * os pedidos **sem nome e sem código** não geram pesquisas * a matrícula **verificada** enriquece o veículo (marca, modelo, chassis, código do motor) e a AI tem isso em conta --- ## Glossário do pecista O **glossário do pecista** contém frases e abreviaturas típicas dos clientes, com o significado válido para a **sala**. Exemplo: “três filtros” = filtro de óleo, filtro de ar do motor, filtro do habitáculo. * a AI usa-o como **dicionário** * **não** reescreve a mensagem do cliente * substitui as antigas **“desambiguações”** * configura-se a partir do **backoffice Qricambi** --- ## Do separador do veículo à mensagem Na parte direita, ao clicar de novo no **separador já selecionado** de um veículo, o chat **desloca-se** até à mensagem de onde a AI leu esse veículo. Útil para verificar de imediato a fonte do reconhecimento. Para fotos, PDF e mensagens de voz, consulte [Fotos, PDF e mensagens de voz](ai_media.md). --- # Fotos, PDF e mensagens de voz URL: https://wiki.quoting24.com/pt/content/ai_media/ Language: pt Updated: 2026-11-04 # Fotos, PDF e mensagens de voz A AI interpreta também os **media** da conversa, além do texto. Para o funcionamento geral, consulte [Visão geral da IA](ai.md); para o que é estruturado em veículos e peças, consulte [Reconhecimento](ai_riconoscimento.md). --- ## Fotos As imagens são **lidas** e os dados entram na conversa como se fossem texto. Conteúdos típicos reconhecidos: * matrículas * livretos * etiquetas e embalagens * capturas de ecrã de catálogos ou diagnósticos * documentos * componentes fotografados **Foto e legenda** são tratadas como **uma única mensagem**. Se uma foto ainda estiver em **carregamento**, a AI **espera** que esteja pronta antes de elaborar as mensagens seguintes. --- ## PDF Os PDF (orçamentos, faturas, guias de remessa, listas de peças, livretos digitalizados) são lidos **página a página**: * uma **linha por peça** * veículo com **matrícula** e **chassis** quando presentes * **sem** preços e **sem** dados pessoais --- ## Mensagens de voz As mensagens de voz são **transcritas** e interpretadas como texto. Matrículas e códigos ditos em voz alta são **reconstruídos**. --- ## Leitura prudente A leitura é mais cautelosa do que no passado: * matrículas **parciais** * chassis **incoerentes** com a marca não são aceites em silêncio: são assinalados como **“Leitura incerta”**. --- ## “Leituras AI” no visualizador {#letture-ai-nel-visualizzatore} Ao abrir uma **foto** ou um **PDF** em ecrã inteiro aparece o painel **“Leituras AI”**. Mostra: * o que a AI leu nesse ficheiro * o que o pedido contém agora * o **lápis** para corrigir matrícula, chassis ou código diretamente daí * as **leituras incertas** * quantas **páginas** do PDF foram lidas * eventuais **ficheiros não lidos** A correção a partir daqui segue as mesmas regras descritas em [Quadro e correção](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Os interruptores para transcrição de mensagens de voz, leitura de imagens e reconhecimento de texto encontram-se em **Definições → Inteligência artificial → Reconhecimento AI** (veja também [Modos de visualização](ai_riquadro.md#modalità-di-visualizzazione)). --- # Quadro e correção URL: https://wiki.quoting24.com/pt/content/ai_riquadro/ Language: pt Updated: 2026-11-04 # Quadro e correção Por cada grupo de mensagens elaboradas aparece um **quadro** sob a última mensagem do grupo. Para ver como as mensagens são agrupadas, consulte [Visão geral da IA](ai.md#come-elabora-i-messaggi). --- ## O quadro AI no chat ### Cabeçalho e mensagens ligadas * cabeçalho do tipo **“Resumo AI de N mensagens”** * ao passar o rato sobre o quadro, as mensagens resumidas são **destacadas** ### Só o que mudou O quadro mostra **o que mudou** com essas mensagens, não todo o histórico: * **Novo** * **Atualizado** * **Movido** * **Removido** O detalhe modificado é **colorido** para o localizar de imediato. ### Organização das peças * as peças são agrupadas **por veículo** * ou sob **“Sem veículo”** se ainda não estiver claro a que carro pertencem * com mais de **três linhas** por veículo aparece **“Mostrar mais N componentes”** * os códigos adicionais podem ficar atrás de **“+N”** * um chassis truncado vê-se **inteiro** ao passar o rato ### Setas e avisos * as setas **↑** levam à mensagem que indicou o veículo ou ao pedido anterior * os **avisos** (triângulo) assinalam as dúvidas da AI, por exemplo: * associação incerta * ambiguidade residual * abreviatura ambígua * conflito entre fontes * incoerência lógica --- ## Clique esquerdo: do chat para a parte direita O **clique esquerdo** no quadro (ou nas suas partes) serve para **navegar**, não para lançar pesquisas: * clique num **componente** → abre o separador do veículo certo e a pesquisa correspondente **pisca** * clique num **código** → destaca a pesquisa desse código * clique na **matrícula** ou no **chassis** → abre o separador desse veículo (se o separador tiver sido eliminado, é **recriado**) O clique esquerdo **não inicia pesquisas** e **não consome créditos**. --- ## Clique direito nas pílulas pretas Na matrícula, chassis e código (pílulas pretas) o **clique direito** abre um menu com: * **Pesquisar matrícula** — conversão matrícula → chassis * **Pesquisar chassis** — árvore / estrutura a partir do chassis * **Pesquisar código** — nova pesquisa do código * **Corrigir** — corrige o valor mal lido pela AI --- ## Corrigir: a AI não repete o erro {#correggi-lai-non-ripete-lerrore} Se a AI ler mal uma **matrícula**, um **chassis** ou um **código**: 1. clique direito → **Corrigir** 2. introduza o valor correto A Quoting24 substitui o valor **em todo o lado**: * em **todos os quadros** do chat * nas **pesquisas** à direita * na **memória** da AI A partir desse momento o valor antigo é tratado como **erro**, mesmo que uma foto ou mensagem nova o repita. Outras regras importantes: * se o valor corrigido coincidir com um veículo já presente, os dois são **unidos** * corrigir uma matrícula **apaga** os dados encontrados com a matrícula antiga (chassis, marca, modelo) e **relança** a pesquisa se as [automações](automations.md) estiverem ativas * é necessária a permissão de **pesquisa de peças** Pode corrigir também a partir do painel **“Leituras AI”** ao abrir foto ou PDF: veja [Fotos, PDF e mensagens de voz](ai_media.md#letture-ai-nel-visualizzatore). --- ## Modos de visualização {#modalità-di-visualizzazione} Em **Definições → Inteligência artificial → Reconhecimento AI** pode escolher como mostrar os quadros no chat. No mesmo ponto foram também deslocados os três interruptores: * transcrição das **mensagens de voz** * leitura nas **imagens** * reconhecimento nas **mensagens de texto** ### Completo Mostra o **quadro inteiro**. ### Só matrícula, chassis e códigos Mostra uma **pílula compacta** com: * matrícula ou chassis (só quando a mensagem adicionou ou atualizou o veículo) * a faixa dos **códigos** * uma **pega** para abrir o quadro inteiro dessa mensagem É o modo mais semelhante à visualização anterior. ### Oculto Nenhum quadro no chat. ### Botão “AI” no chat Em **todos** os modos, cada mensagem ligada a um quadro tem o botão **“AI”**: * mostra ou oculta **todos** os quadros do chat aberto * a escolha **não é guardada** (vale só para a sessão/visualização atual) Clique esquerdo, clique direito e **Corrigir** funcionam também na pílula compacta. --- # Automações URL: https://wiki.quoting24.com/pt/content/automations/ Language: pt Updated: 2026-11-04 # Automações Automações As **regras de automação** permitem ativar atividades automáticas que trabalham nas pesquisas e que podem ser **ativadas ou desativadas à vontade**. Essas automações permitem trabalhar de forma **mais direta e rápida**: assim que uma solicitação de orçamento é recebida, o sistema começa automaticamente a pesquisar, *nos bastidores*: - placas - chassis - peças --- ## Aviso sobre os créditos > **NOTA IMPORTANTE** > As automações ativas **consomem automaticamente os [créditos](credits.md)** da própria conta. > Portanto, é importante levar este componente de custo em consideração. > > Para mais detalhes, é possível consultar a seção **“[Créditos](credits.md)”**. --- ## Automações disponíveis {#automazioni-disponibili} As automações que podem ser **ativadas ou desativadas** são as seguintes: - **Conversão automática placa → VIN** Assim que uma placa é reconhecida, ela é automaticamente convertida em **chassi**. - **Carregamento automático da árvore** Assim que um VIN está disponível, a pesquisa do chassi é realizada e a **árvore com as vistas explodidas** é carregada automaticamente. - **Pesquisa automática das peças** Inicia automaticamente a pesquisa das peças (por exemplo *filtro de ar*) dentro das vistas explodidas do chassi. --- ## Controle dos consumos Se a atividade precisar limitar o uso dos créditos, os administradores podem combinar as automações com as configurações de bloqueio descritas na página [Créditos](credits.md). Dessa forma, é possível evitar que a conversão placa-chassi ou a pesquisa VIN sejam executadas quando não devem consumir créditos. --- # Integração com Qricambi URL: https://wiki.quoting24.com/pt/content/qricambi_integration/ Language: pt Updated: 2026-11-04 # Integração com Qricambi Nesta seção é possível **ativar ou desativar** a **pesquisa automática dos códigos no Qricambi**. Integração Qricambi Quando se pesquisa um código no Qricambi a partir da Quoting24 e o Qricambi já está aberto em outra aba do navegador, a pesquisa é executada na aba já aberta em vez de abrir uma nova. Isso mantém o trabalho mais organizado e reduz o número de abas abertas durante a gestão das solicitações. --- ## Tipos de fornecedores ### Fornecedores internos Por **fornecedores internos** entendem-se as ['Listas'](https://qricambi.com/liste/) do Qricambi. Trata-se de **arquivos Excel** que contêm, por exemplo: - os estoques do próprio armazém - tabelas de preços personalizadas --- ### Fornecedores externos Por **fornecedores externos** entendem-se os **e-commerces dos próprios fornecedores**, nos quais é possível realizar pesquisas automáticas dos códigos diretamente pela Quoting24. --- ## Seleção de fornecedores e flag Grupos Em **Configurações → Qricambi**, na seleção de fornecedores para a pesquisa, está disponível o flag **Grupos**. Ao ativar **Grupos**: * aparecem os **grupos de fornecedores** da conta Qricambi vinculada * é possível **adicionar em massa** os fornecedores de um grupo, sem selecioná-los um a um --- ## Pesquisa textual nos resultados Quando a Quoting24 mostra os resultados do Qricambi ou dos fornecedores conectados, é possível fazer uma **pesquisa por texto** dentro dos resultados. A pesquisa ajuda a identificar mais rapidamente: - código do produto - marca - descrição - fornecedor --- ## Preços de tabela Nos resultados de pesquisa, também pode ser mostrado o **preço de tabela**, quando disponível. O preço de tabela acompanha as informações operacionais já presentes, como preço líquido, disponibilidade e fornecedor, e ajuda o operador a avaliar melhor o resultado antes de inseri-lo no fluxo de orçamento. --- # Pesquisa com extensão URL: https://wiki.quoting24.com/pt/content/search_with_extension/ Language: pt Updated: 2026-11-04 # Pesquisa com extensão ## Uso da extensão para pesquisar no Eper e no Partslink Ao instalar a extensão do Qricambi (Qricambi Assistant), você pode pesquisar os chassis não encontrados na plataforma do Partslink ou na do Eper. [Clique aqui para instalar Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Clique aqui para instalar Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Guia de uso Tela pesquisar no E e no P ### Pesquisar no P Para pesquisar uma peça de um veículo tendo o chassi na Quoting24, ao pressionar o botão "Pesquisar no P", o chassi será enviado ao Partslink24, que selecionará automaticamente a marca do veículo, pesquisará o chassi e por fim realizará a pesquisa do componente. Quando já existe uma aba do Partslink aberta, a pesquisa não abre uma nova aba: a Quoting24 usa a aba já existente e envia a nova pesquisa para lá. O percurso utilizado para os códigos pesquisados no Partslink é salvo, para tornar mais simples retomar ou reconstruir o contexto da pesquisa. Depois de identificar o código do produto por meio da abertura das vistas explodidas, será possível ver três novos ícones abaixo dele, cada um com uma função específica. Começando da esquerda: * **Ícone branco com o "Q"**: permite transferir o código selecionado para a pesquisa "preços e disponibilidade" do Qricambi; * **Ícone vermelho**: permite enviar o código à Quoting24; * **Ícone branco com o "24"**: envia o código à Quoting24, mas fecha a aba do Partslink (não indicado se você deseja realizar outras pesquisas). ### Pesquisar no E Para pesquisar uma peça de um veículo tendo o chassi na Quoting24, ao pressionar o botão "Pesquisar no E", o chassi será enviado ao Eper, que pesquisará o próprio chassi e por fim o componente do veículo. Screenshot Também no Eper, como no Partslink, é possível aproveitar as funcionalidades dos três ícones descritos anteriormente (depois de selecionar o código correto). --- # Créditos URL: https://wiki.quoting24.com/pt/content/credits/ Language: pt Updated: 2026-11-04 # Créditos Os **créditos** servem para poder realizar as seguintes atividades na Quoting24: 1. **Conversão placa → chassi** 2. **Pesquisa dos componentes dentro do chassi**, por meio da abertura das vistas explodidas Tela de uso dos créditos --- ## Custo das operações O custo em créditos dessas operações é visível dentro da aplicação [Qricambi](https://app.qricambi.com/), na seção **“Créditos”** (Botão vermelho no canto superior direito -> Créditos). O uso das funcionalidades que consomem créditos tem **o mesmo custo** tanto no **Qricambi** quanto na **Quoting24**. --- ## Bloqueio do uso de créditos nos veículos Na seção dedicada aos veículos, estão disponíveis configurações que permitem bloquear o uso dos créditos na Quoting24. As principais opções são: - **Bloquear a transcodificação placa → chassi** Impede o uso dos créditos para converter automaticamente uma placa em chassi. - **Bloquear a pesquisa do VIN** Impede o uso dos créditos para realizar a pesquisa do chassi e acessar as informações vinculadas. Essas configurações são úteis quando se deseja evitar consumo involuntário de créditos por parte dos operadores ou limitar algumas pesquisas automáticas. --- ## Uso dos créditos Qricambi ↔ Quoting24 A seguir, algumas informações gerais sobre os créditos da Quoting24: - Os créditos da conta **Quoting24** são **compartilhados** com a própria conta **Qricambi** O número de créditos disponíveis fica visível: - no **canto superior direito** da aplicação Visualizar créditos A compra dos créditos é gerenciada **diretamente pelo Qricambi** - clicando no contador de créditos, abre-se a [página dedicada](https://app.qricambi.com/youraccount/BuyCredits) --- # Enviar orçamento ao sistema de gestão URL: https://wiki.quoting24.com/pt/content/invia_preventivo_gestionale/ Language: pt Updated: 2026-11-04 # Enviar orçamento ao sistema de gestão Enviar ao sistema de gestão Esta funcionalidade representa o coração da integração entre a Quoting24 e o mundo externo. O objetivo é simples: **permitir que a Quoting24 "fale" com qualquer software de gestão (ERP)** presente na empresa. Quer você use um sistema de gestão conhecido ou um desenvolvido sob medida, a Quoting24 foi projetada para ser **universalmente compatível**. O processo se divide em duas etapas: 1. **Envio do orçamento semielaborado da Quoting24 ao sistema de gestão** 2. **Envio do orçamento finalizado do sistema de gestão ao cliente** --- ## 1. Envio do orçamento semielaborado da Quoting24 ao sistema de gestão Esta seção explica como conectar a Quoting24 a qualquer sistema de gestão externo para a criação automática dos orçamentos. O fluxo lógico dos dados parte sempre do **Ticket (Chat)** e segue esta estrutura: `Ticket` → `Veículo` → `Pesquisa ("Peça")` → `Código "certo" (Código OE)` → `Produtos selecionados` Quando um operador decide criar um orçamento, a Quoting24 envia uma "chamada" (solicitação) ao seu sistema de gestão, para um endereço personalizado e específico da sua empresa. Orçamento em processamento O que acontece nesta fase: - **Matching do cliente**: O sistema tenta reconhecer o cliente enviando o **código da empresa** correto ao sistema de gestão (ou eventuais outros campos, como número de IVA ou número de telefone). - **Adaptação da solicitação**: Os dados coletados no chat (placa, códigos de peças, descrições) são "traduzidos" para o formato que o seu sistema de gestão espera; a personalização da chamada deve ser solicitada ao suporte ao cliente da Quoting24. - **Salvamento de referências**: A Quoting24 armazena o ID ou o endereço do orçamento que acabou de ser criado no sistema de gestão, para poder recuperá-lo no futuro. Em resumo: **a Quoting24 preenche para você o rascunho do orçamento diretamente no seu sistema.** ## 2. Envio do orçamento finalizado do sistema de gestão ao cliente Depois que o orçamento está pronto ou confirmado no seu sistema de gestão, é possível enviar uma notificação de retorno à Quoting24 (para o nosso endereço API dedicado), passando o orçamento em formato PDF e a referência ao ID do orçamento ou ao ticket de origem. Orçamento confirmado Depois do recebimento pela Quoting24 do orçamento vindo do sistema de gestão, chegamos a esta fase, em que o orçamento está concluído e podemos realizar ações: - com a **Seta** podemos abrir o orçamento no sistema de gestão - com o **Olho** podemos visualizar o orçamento - com a **Seta de download** podemos baixar o orçamento em formato **PDF** - com a **Seta de envio** podemos enviar o orçamento ao cliente É possível fazer com que, por meio de um parâmetro de chamada, o orçamento seja enviado diretamente ao cliente via WhatsApp, sem nenhuma etapa de confirmação dentro da Quoting24 (sem precisar clicar no ícone de envio). No caso de uso das APIs oficiais do WhatsApp, também é possível enviar um botão de aceitação junto com o anexo PDF e, caso esse botão seja pressionado, o orçamento é automaticamente enviado ao sistema de gestão como aceito. ### Nome do arquivo do orçamento O nome do arquivo PDF do orçamento é gerado incluindo, quando disponíveis, informações úteis para o reconhecimento do documento, como: - placa - chassi - número do orçamento Isso torna mais simples identificar o arquivo depois do download ou quando ele é enviado ao cliente. Nome do arquivo do orçamento com placa chassi e número --- ## EXEMPLO DE INTEGRAÇÃO: Orçamentos do Qricambi Para quem usa **Qricambi**, a integração com o sistema de gestão é facilmente reproduzível usando os Orçamentos do Qricambi como exemplo de plataforma de gestão. ### Solicitação de orçamento Orçamentos Qricambi O sistema cria automaticamente o orçamento no Qricambi seguindo lógicas inteligentes: - **Reconhecimento do Cliente**: Se o contato da Quoting24 corresponde a um cliente do Qricambi (cruzamento do código cliente), o orçamento é emitido em nome dele. Caso contrário, são usadas as informações genéricas do operador da Quoting24. - **Dados transmitidos**: São enviados automaticamente Placa/Chassi, Veículo, Link para o ticket de origem e o Usuário que está executando a operação. **Como são preenchidas as linhas do orçamento?** O sistema é capaz de gerenciar diferentes casos para não perder nenhuma informação: 1. **Linhas selecionadas**: Se você selecionou peças na pesquisa do Qricambi, elas são inseridas com todos os detalhes (código, preço, etc.). Produto 2. **Da Pesquisa (Código OE)**: Se você não selecionou linhas específicas ou não encontrou resultados no Qricambi, mas tem um código original (OE) do chassi, o sistema cria uma linha com esse código e a nota "DA PESQUISA". Nenhum resultado 3. **Descrição genérica**: Se não há nenhum chassi ou pesquisa técnica, mas apenas uma solicitação textual (ex.: "espelho dir."), é criada uma linha vazia contendo apenas a descrição da peça solicitada. Nenhuma pesquisa ### Recebimento do orçamento Depois que o orçamento é trabalhado e concluído dentro do Qricambi: - Basta clicar no botão **"Enviar à Quoting24"**. - O sistema envia imediatamente o **PDF** ao chat. - O orçamento é marcado como **concluído**. O operador pode então visualizar o PDF, baixá-lo ou enviá-lo diretamente ao cliente no WhatsApp sem nunca sair do fluxo de trabalho. --- # Escrever no WhatsApp por meio das nossas APIs URL: https://wiki.quoting24.com/pt/content/invia_whatsapp_api/ Language: pt Updated: 2026-11-04 # Escrever no WhatsApp por meio das nossas APIs Esta funcionalidade permite que o seu sistema de gestão ou qualquer outro software externo **se comunique diretamente com seus clientes no WhatsApp**, usando a Quoting24 como ponte. Em palavras simples, graças a esta integração é possível **enviar mensagens e documentos de forma automática**, sem precisar abrir a aplicação da Quoting24 e sem precisar copiar e colar manualmente os dados. --- ## O que é possível fazer? Usando esta conexão, o seu sistema de gestão pode executar três ações principais de uma só vez: 1. **Enviar uma mensagem de texto** Você pode escrever ao cliente qualquer informação: um aviso de mercadoria pronta, uma confirmação de pedido ou uma simples saudação. 2. **Enviar arquivos e documentos (PDF, imagens, etc.)** Junto com o texto, você pode anexar arquivos. Muito útil, por exemplo, para **enviar o PDF de um orçamento** ou de uma fatura diretamente no chat WhatsApp do cliente. 3. **Fechar automaticamente a solicitação (Ticket)** Muitas vezes, quando se envia um orçamento ou uma confirmação, a operação pode ser considerada concluída. É possível dizer ao sistema para **"arquivar" (fechar) imediatamente a conversa** depois do envio da mensagem, para manter limpa a lista de solicitações abertas na Quoting24 sem precisar fazer isso manualmente. --- ## Detalhes técnicos para a integração Está disponível um endpoint para enviar mensagens a um **contato individual** por meio da WhatsApp Business API. A autenticação acontece por meio do header `X-API-Key` usando a chave API do seu tenant, disponível nas configurações da conta. --- ### Enviar mensagem a um contato **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Mensagem de texto:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Mensagem com imagem ou documento (URL público):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Parâmetros `message_content`:** | Campo | Tipo | Obrigatório | Descrição | | ---------------- | --------------------------------------------- | ----------------------------------- | -------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | Não, padrão `text` | Tipo de mensagem | | `text` | string | Não | Texto da mensagem ou legenda do arquivo | | `file.url` | string URL | Sim, se `type` for diferente de `text` | URL público do arquivo a enviar | | `file.name` | string | Sim, se `type` for diferente de `text` | Nome do arquivo com extensão, por exemplo `preventivo.pdf` | | `file.mime_type` | string | Sim, se `type` for diferente de `text` | Tipo MIME, por exemplo `application/pdf` ou `image/jpeg` | **Parâmetros principais:** | Campo | Descrição | | ------------------- | ----------------------------------------------------------------------------------- | | `tenant_id` | ID do seu tenant, disponível nas configurações | | `phone_number` | Número de telefone do cliente com prefixo internacional, por exemplo `+39123456789` | | `channel` | `whatsapp-api` para WhatsApp Business API | | `auto_close_ticket` | `true` para fechar automaticamente o ticket depois do envio | --- > **Nota:** o arquivo a anexar deve ser acessível por meio de um URL público. Se o arquivo vier de um sistema de gestão ou de um sistema interno, certifique-se de que ele seja acessível pela internet antes de passar o link para a API. > **Nota operacional:** o envio de mensagens segue as regras da Meta. Para iniciar conversas fora da janela de atendimento de 24 horas, podem ser necessários templates pré-aprovados. --- # Pesquisa pontual por códigos OE / AM no próprio sistema de gestão URL: https://wiki.quoting24.com/pt/content/management_research/ Language: pt Updated: 2026-11-04 # Pesquisa pontual por códigos OE / AM no próprio sistema de gestão ## Visão geral Ao integrar o próprio sistema de gestão à Quoting24, é possível retornar em tempo real preços e disponibilidades personalizados para o cliente específico com quem se está conversando ao pesquisar códigos. Dessa forma, obtêm-se rapidamente as **condições comerciais específicas** do cliente com quem se está falando. O objetivo é permitir que a Quoting24, uma vez identificado um código de produto, recupere automaticamente: - Disponibilidade e preço líquido do cliente específico - Metadados do produto: informações descritivas, marca, eventuais promoções ativas e outros atributos relacionados. - O fluxo foi projetado para se integrar de forma transparente às APIs ERP do sistema de gestão do Fornecedor. --- ## Parâmetros de pesquisa **Da Quoting24 ao Fornecedor** ### Parâmetros obrigatórios - **Token de autenticação** Um token único que identifica de forma unívoca os servidores Quoting24. - **Código de pesquisa** Preferencialmente um **código AM ou OE**. A pesquisa **não deve ser limitada apenas aos códigos de produto exatos**, mas também deve: - Pesquisar códigos alternativos - Pesquisar em bases externas ⚠️ Se este comportamento **não for suportado**, deve ser comunicado claramente. No mínimo, a pesquisa deve incluir os dados cadastrais do produto e não apenas os códigos internos exatos. --- ### Identificação do cliente **Deve ser fornecido pelo menos um dos seguintes** - **ID (como cadastrado no Sistema de Gestão)** da unidade do seu cliente - **ID (como cadastrado no Sistema de Gestão)** da empresa do seu cliente - **Número de IVA do cliente** - **ID da categoria de desconto** Usado para: - Clientes não registrados - Permitir que o operador modifique dinamicamente as regras de desconto --- ### Parâmetros opcionais - **ID do operador** *(opcional, mas recomendado)* Utilizado para rastrear quem gerou o orçamento. - **Quantidade** Pode ser incluída na solicitação se for estritamente necessário. Abordagem preferida: gestão da quantidade na **resposta**, não na solicitação. - **Marca / Produtor** Para permitir pesquisas mais precisas. - **Modo de pesquisa** Parâmetro de opção para pesquisa exata pontual ou pesquisa com cross (que também produz resultados de produtos alternativos). --- ## Parâmetros de resposta **Do fornecedor à Quoting24** A resposta deve conter uma **lista de produtos**, cada um com os seguintes campos. ### Campos obrigatórios (por produto) - **Código do produto do fornecedor** Código interno de pedido, incluindo os prefixos, exatamente como utilizado nos sistemas do Fornecedor. - **Produtor** Nome do produtor (ex.: *LUK, Magneti Marelli, Brembo*). Pode ser estruturado em 2 campos: - Versão abreviada/precódigo (ex.: `MAR`) - Nome completo (ex.: `Magneti Marelli`) - **Preço de venda líquido ao cliente** - Preço líquido (IVA excluído) - Custos de envio excluídos - As despesas de envio podem ser retornadas separadamente, se aplicável - **Disponibilidade** Valor numérico que representa a quantidade disponível em estoque. - **Armazém** Nome do armazém, prateleira ou referência à posição interna. --- ### Campos opcionais - **Descrição do produto** Texto livre (ex.: *Pastilhas de freio*) e/ou categoria merceológica. - **Código identificativo do Fabricante** Obrigatório quando o código de produto ERP difere do código do produtor. - **Preço de tabela** Não necessário, mas reproduzível se necessário. - **Promoções** - Presença de promoção (binário) - Texto da promoção (opcional) - Se o texto estiver vazio → promoção não ativa - **Imagem do produto** - URL da imagem - Ou imagem Base64 - **URL da ficha do produto** Link para a página de detalhes do produto no e-commerce ou no site externo. Se a conexão direta não for possível: - Fornecer regras de sintaxe URL - Ou retornar um URL genérico da página de acesso - **Preços baseados na quantidade / Descontos** Se houver descontos por quantidade, retorne os níveis em qualquer **formato analisável**, por exemplo: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Perfil URL: https://wiki.quoting24.com/pt/content/profilo/ Language: pt Updated: 2026-11-04 # Perfil Clicando nos **traços no canto superior direito** na Quoting24 e acessando a seção **Configurações → Perfil**, é possível modificar alguns aspectos importantes da experiência de uso da plataforma. Perfil --- ## Personalização do perfil Nesta seção é possível personalizar o próprio perfil modificando: - o **avatar**, inserindo: - as iniciais personalizadas do próprio nome - um *logo artístico* - ou carregando uma **imagem** Edição do perfil --- ## Apelido O **apelido**: - inicialmente coincide com o **username de acesso do Qricambi** - é **obrigatório** - pode ser modificado livremente O apelido representa o próprio **nome interno** na Quoting24 e é aquele que: - é visualizado pelos colegas - é utilizado para as **atribuições dos tickets** A alteração do apelido: - **não altera** o username de login - **não afeta** as credenciais de acesso à Quoting24 e ao Qricambi --- ## Salvamento das alterações Salvar alterações Depois de personalizar as configurações do perfil, é necessário **salvar as alterações** antes de sair da página. A visualização das alterações no chat pode exigir: - o salvamento das configurações - um **refresh da página dos tickets (F5)** --- ## Assinatura, cabeçalho e mensagens automáticas É possível configurar uma **assinatura pessoal** e um **cabeçalho automático**. Para assinatura e cabeçalho escolhe-se quando inseri-los nas mensagens enviadas pela Quoting24: * **Sempre** — entram em cada mensagem * **Apenas na primeira mensagem do ticket e com Enviar e fechar** — são adicionados só à primeira mensagem desse ticket e ao enviar com **Enviar e fechar** (envia a mensagem e fecha o ticket) A assinatura é inserida **no final** da mensagem. O cabeçalho, semelhante à assinatura, é inserido **antes** da mensagem. Assinatura Também é possível configurar uma **mensagem de tomada de responsabilidade**, enviada automaticamente ao clicar no botão de atribuição de um ticket ainda não atribuído. --- ## Envio sem cabeçalho ou assinatura Mesmo quando cabeçalho e assinatura estão definidos como **sempre** ou **apenas na primeira mensagem do ticket e com Enviar e fechar**, é possível enviar uma única mensagem **sem cabeçalho e sem assinatura**. Essa opção é útil quando a mensagem deve ser mais direta, por exemplo para confirmações curtas ou respostas operacionais já contextualizadas na conversa. --- # Atividade URL: https://wiki.quoting24.com/pt/content/activities/ Language: pt Updated: 2026-11-04 # Atividade Esta seção é visível **apenas para [administradores](user.md)**, não para **[membros](user.md)** (usuários). Clicando nos **traços no canto superior direito** na Quoting24 e acessando a seção **Configurações → Atividade**, é possível gerenciar algumas **opções fundamentais** da experiência de uso da plataforma. Atividade --- ## Nome da atividade É possível modificar o **nome da atividade**, definindo-o como preferir. Cada **número de telefone** conectado à Quoting24 tem seu próprio **nome de atividade**, que permite aos usuários, na fase de login, distinguir facilmente **em qual “sala”** irão trabalhar. --- ## Comentários internos Nesta seção é possível **ativar ou desativar** os **comentários internos** nos chats. Os comentários internos permitem aos operadores: - comunicar-se entre colegas - inserir notas não visíveis ao cliente --- ## Comunicações de serviço A seção **Comunicações de serviço** permite gerenciar mensagens ou avisos internos ligados à atividade. Essas comunicações servem para informar os operadores sobre indicações operacionais, atualizações ou notas importantes a ter em mente durante o trabalho diário na Quoting24. Comunicações de serviço --- ## Extração de dados AI A Quoting24 pode extrair automaticamente informações úteis de: - imagens - mensagens de voz - texto das mensagens Nesta seção é possível **ocultar a extração dos dados pela AI** na seção atividade. A configuração é útil quando se deseja manter a interface mais limpa ou evitar mostrar aos operadores o detalhe do processamento automático. --- # Usuários URL: https://wiki.quoting24.com/pt/content/user/ Language: pt Updated: 2026-11-04 # Usuários Esta seção é visível **apenas para administradores**, não para **membros** (usuários). Na seção **Configurações → Usuários**, é possível visualizar e gerenciar a lista de **usuários associados ao próprio perfil da Quoting24**. Página de usuário --- ## Estado dos usuários Cada usuário pode estar em um dos seguintes estados: 1. **Ativo** O usuário já fez pelo menos um login na Quoting24. 2. **Em espera** O usuário foi convidado para a Quoting24, mas **ainda não fez o primeiro acesso**. 3. **Inativo** O usuário há 5 minutos **não entrou na Quoting24**. 4. **Offline** O usuário há mais de 15 minutos **não entrou na Quoting24**. Também é possível visualizar o estado: - **Online** - **Offline** O estado do usuário é usado pela plataforma para determinar a viabilidade da [“autoatribuição”](assegnazioni.md). Se os usuários que são potenciais alvos de **"autoatribuição"** estiverem todos offline, a autoatribuição não ocorrerá (e permanecerá **não atribuído**, portanto visível a todos os usuários autorizados). --- ## Funções dos usuários Os usuários podem ter uma das seguintes funções: - **Administrador** Tem acesso a **todas as funcionalidades e seções** da aplicação. - **Membro** Tem acesso limitado. Algumas seções, como **Usuários**, **WhatsApp** e **Atividade**, **não são visíveis**. --- ## Gestão avançada de usuários (administradores) Um usuário com função **administrador** pode clicar no **ícone em forma de engrenagem** presente à direita de cada usuário para modificar algumas configurações. Em particular, é possível: - **Alterar a função** do usuário (administrador / membro) - Gerenciar a **visibilidade das solicitações** Por padrão, um *membro* pode ver apenas as solicitações atribuídas a ele, mas é possível habilitar: - visualização das solicitações não atribuídas - visualização das solicitações atribuídas a outros usuários - Configurar os **módulos habilitados** É possível selecionar de forma granular quais módulos cada membro pode: - visualizar - modificar Por exemplo, para o módulo **“pesquisa de carros e peças”**: - um membro pode apenas visualizar os códigos selecionados por outros operadores - ou pode entrar nas vistas explodidas e realizar pesquisas e alterações como um administrador Privilégios do usuário --- ## Adição de novos usuários Um administrador pode **convidar ou adicionar novos usuários** à Quoting24 clicando no botão vermelho **“Adicionar”**. A lista dos usuários disponíveis será aberta; para convidar um usuário, basta clicar na **seta vermelha** ao lado do nome desejado. Adicionar usuário Durante a criação ou o convite de um novo usuário, é possível predefinir seu **apelido**. O apelido é o nome interno utilizado na Quoting24 para: - visualizar o usuário nas atribuições - marcá-lo nas notas internas - reconhecê-lo mais rapidamente na colaboração entre operadores --- ## Alteração de senha e gestão da conta Clicando em **“Alterar senha”** no canto superior direito, o usuário é redirecionado para a seção [**Account → Gestão de usuários**](https://app.qricambi.com/youraccount/UsersManager) do Qricambi (Account Admin): Se o próprio usuário for **administrador do Qricambi**, a partir desta seção é possível: - modificar **username** - modificar **senha** - modificar rapidamente **apelido** e **assinatura** do usuário selecionado, por meio do **ícone a lápis** As credenciais de acesso são as **mesmas** para **Qricambi** e **Quoting24**. --- # Notificações URL: https://wiki.quoting24.com/pt/content/notifications/ Language: pt Updated: 2026-11-04 # Notificações A Quoting24 permite que cada usuário configure suas próprias **notificações pessoais**, para permanecer atualizado sobre as solicitações a gerenciar mesmo quando trabalha em vários números de telefone. As notificações ajudam o operador a acompanhar: - novas solicitações - mensagens recebidas - tickets atribuídos ou desatribuídos - notas internas e marcações dos colegas - reaction às mensagens --- ## Onde configurar as notificações As notificações são configuradas em **Configurações → Notificações**. Nesta seção é possível: - escolher o **som** da notificação (com prévia) - definir o **nível das notificações de mensagens** para a atividade atual - ativar as **notificações desktop** Impostazioni Notifiche --- ## Notificações unificadas As notificações da Quoting24 são **unificadas**: se um usuário trabalha em vários números de telefone conectados, recebe as notificações de todos os números para os quais está habilitado, independentemente do número aberto naquele momento. Isso permite evitar manter aberta uma aba do navegador para cada atividade apenas para controlar as notificações. As notificações são mostradas no **sino** da Quoting24 e seguem as configurações pessoais do usuário. --- ## Notificações desktop Para receber os avisos também fora da janela da Quoting24, é possível ativar as **notificações desktop**. Para habilitá-las: 1. entre em **Configurações → Notificações** 2. clique em **Ativar notificações desktop** 3. confirme a autorização solicitada pelo navegador Depois de ativadas, o navegador pode mostrar uma notificação mesmo quando a Quoting24 não é a aba ativa. --- ## Som das notificações Nas configurações é possível escolher o **som** da notificação, com prévia ao ouvir. As opções disponíveis incluem sons como Default, Chime, Pop, Pulse, Ring, Bloom e Runaway, além da opção **Nenhum**. Com **Nenhum**, as notificações visuais permanecem ativas de acordo com as regras configuradas, mas o aviso sonoro é silenciado completamente. Menções, atribuições e som permanecem **configurações do usuário**. Scelta suono notifica --- ## Níveis de notificação por atividade O nível das **notificações de mensagens** já não é global no usuário: é configurável **para cada atividade**. Se você trabalha em vários tenants, cada atividade tem a sua própria preferência; a que está a editar é a do **workspace atual**. Os níveis disponíveis permitem receber notificações: - nenhuma - apenas as minhas - minhas e novas - todas A escolha depende da função do operador e do fluxo de trabalho da empresa. Livello notifiche messaggi per attività --- ## Notificações para novas solicitações e mensagens Quando chega uma nova solicitação de um cliente, a Quoting24 pode avisar os operadores de acordo com a configuração escolhida para a atividade. Isso é útil principalmente quando: - vários operadores trabalham no mesmo número - as solicitações devem ser assumidas rapidamente - a empresa quer evitar que um novo ticket permaneça sem gestão As notificações também podem ser geradas por mensagens recebidas em tickets já abertos, de acordo com o nível selecionado para a atividade. --- ## Notificações para tickets atribuídos ou desatribuídos Quando um ticket aberto é **atribuído** a um operador, a notificação permite saber rapidamente que uma solicitação deve ser trabalhada. A notificação também é gerada quando um ticket aberto é **desatribuído**, para que o operador saiba que a solicitação não está mais sob sua responsabilidade. A atribuição pode acontecer: - manualmente - por meio de regras automáticas - de acordo com a configuração das atribuições Para mais detalhes, consulte a página [Atribuições](assegnazioni.md). --- ## Notificações para notas internas e marcações Dentro das conversas, é possível criar **notas internas** visíveis apenas aos colegas. Quando um colega é marcado com `@apelido`, recebe uma notificação específica. Também é possível usar `@todos` para chamar a atenção de todos os operadores habilitados. As notificações geradas por uma marcação em uma nota interna são destacadas em **laranja**, para distingui-las das notificações normais de mensagem. Ao lado dos tiques de visualização é mostrado o ícone da nota interna, para indicar que aquele conteúdo não foi enviado ao cliente. --- ## Notificações para reaction As reaction às mensagens geram notificações na Quoting24. As notificações das reaction são mostradas: - no **sino** - nas **notificações desktop**, se habilitadas - na prévia das mensagens na coluna da esquerda Ao abrir a mensagem, também é possível visualizar **quem colocou a reaction**. --- ## Recomendações operacionais Para um uso correto das notificações: - escolha um nível coerente com a sua função para cada atividade - ative notificações mais amplas se precisar monitorar novas solicitações - use notificações mais restritas se trabalha apenas nos tickets atribuídos - use **Nenhum** como som se preferir apenas os avisos visuais - habilite as notificações desktop se não mantém sempre a Quoting24 em primeiro plano - use as marcações nas notas internas para chamar colegas específicos - verifique periodicamente a configuração se mudar de função, atividade ou número de telefone --- # Centrum Pomocy Quoting24 URL: https://wiki.quoting24.com/pl/ Language: pl Updated: 2026-11-04 # Centrum Pomocy Quoting24 Witamy w **Centrum Pomocy Quoting24**. Ta dokumentacja przeprowadzi Cię krok po kroku przez korzystanie z Quoting24, wyjaśniając **co robi platforma**, **dla kogo jest przeznaczona** i **jak najlepiej ją wykorzystać** w codziennej pracy. --- ## Czym jest Quoting24 **Quoting24** to platforma zaprojektowana do **zarządzania, organizowania i automatyzowania zapytań o wycenę otrzymywanych przez WhatsApp**, przekształcająca rozmowy z klientami w uporządkowany i efektywny przepływ pracy. Quoting24 jest szczególnie przydatne, gdy: - wielu operatorów pracuje na tym samym numerze, a liczba zapytań jest duża - trzeba skrócić czas przygotowania wycen dzięki serii automatyzmów zaprojektowanych z myślą o sprzedaży części automotive. W odróżnieniu od tradycyjnego WhatsApp, Quoting24: - dzieli rozmowy na **tickety** - umożliwia pracę w **zespole** bez limitu podłączonych numerów i operatorów - łączy się bezpośrednio z **Qricambi** oraz Twoim **systemem ERP** Quoting24 służy do: - obsługi **wielu zapytań jednocześnie** bez gubienia wiadomości - automatyzowania wyszukiwań **numerów rejestracyjnych, VIN i części zamiennych** - współpracy między współpracownikami za pomocą notatek wewnętrznych, reakcji i ujednoliconych powiadomień - tworzenia ciągłego przepływu **zapytanie → wyszukiwanie → wycena → odpowiedź** --- ## Spis dokumentacji ### 🚀 Zacznij z Quoting 24 - [Dostęp do Quoting 24](content/login.md) Jak się zalogować i uzyskać dostęp do platformy. - [Przegląd ogólny](content/general_overview.md) Ogólny widok interfejsu i przepływu pracy. --- ### 🧾 Zarządzanie zapytaniami - [Ekran główny](content/main_screen.md) Widok główny z ticketami, czatem i wyszukiwaniem części. - [Obsługa ticketów](content/gestione_ticket.md) Jeden ticket do pisania na rozmowę, odpowiedzi, ponowne otwieranie i zaplanowane wiadomości. - [Lista zapytań](content/requested_list.md) Historia, wyszukiwanie i filtry otrzymanych zapytań. - [Etykiety](content/type_of_request.md) Etykiety ticketów, automatyczna kategoryzacja i pilność. - [Zapisane odpowiedzi](content/save_response.md) Gotowe wiadomości, aby odpowiadać szybciej. - [Przypisania](content/assegnazioni.md) Automatyczne przypisywanie i inteligentne zarządzanie ticketami. - [Zmiany dostaw](content/delivery_shifts.md) Zarządzanie zmianami dostaw i przypisywanie ich do firm. - [Dzienny raport aktywności](content/daily_activity_report.md) Raport e-mail z KPI ticketów, operatorami i dziennym trendem. - [Quoting News](content/quoting_news.md) Kanał tylko do odczytu z komunikatami produktowymi Quoting. --- ### 💬 Kanał WhatsApp - [Przegląd WhatsApp](content/whatsapp.md) Podłączenie numeru WhatsApp przez oficjalne API. - [Migracja API WhatsApp](content/migrazione_whatsapp_api.md) Podłączenie do Quoting24 numeru, który już działa na API innego dostawcy, bez zmiany numeru. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Korzystać jednocześnie z aplikacji WhatsApp Business i oficjalnego API na tym samym numerze. - [Broadcast API](content/broadcast_api.md) Kampanie szablonów Meta do wielu numerów, odbiorcy z pliku Excel. --- ### 🌐 Kanał Widget - [Przegląd Widget](content/widget.md) — Czat na stronie: gość, powiązanie firmy i przywracanie historii. - [Widget B2C](content/widget_b2c.md) — Skrypt, nieznany odwiedzający i payload z `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — Historia między urządzeniami z `external_user_id` i `restore_id`. - [Integracja techniczna](content/widget_tecnico.md) — Kontrakt `init()`, tworzenie firmy, CSP i rozwiązywanie problemów. --- ### 👥 Kontakty i firmy - [Kontakty](content/contacts.md) Zarządzanie kontaktami kanału WhatsApp. - [Firmy](content/companies.md) Tworzenie i zarządzanie firmami klientów. --- ### Sztuczna inteligencja - [Przegląd AI](content/ai.md) - [Rozpoznawanie](content/ai_riconoscimento.md) - [Zdjęcia, PDF i wiadomości głosowe](content/ai_media.md) - [Ramka i korekta](content/ai_riquadro.md) - [Automatyzacje](content/automations.md) --- ### 🔌 Integracje - [Wyszukiwanie dostawców Qricambi](content/qricambi_integration.md) Połączenie z Qricambi i zarządzanie dostawcami. - [Wyszukiwanie z rozszerzeniem](content/search_with_extension.md) Szukać w Partslink lub Eper numerów VIN, których nie znaleziono, za pomocą Qricambi Assistant. - [Kredyty Qricambi](content/credits.md) Korzystanie z kredytów współdzielonych z Qricambi i zarządzanie nimi. - [Wyślij wycenę do systemu ERP](content/invia_preventivo_gestionale.md) Wyślij dane wyceny do swojego systemu ERP. - [Pisz na WhatsApp przez nasze API](content/invia_whatsapp_api.md) Wysyłaj wiadomości przez oficjalne API WhatsApp. - [Wyszukiwanie kodu we własnym systemie ERP](content/management_research.md) Wyszukiwanie w systemie ERP, aby uzyskać ceny i dostępność dla klienta. --- ### 👤 Ustawienia konta - [Profil użytkownika](content/profilo.md) Personalizacja profilu i wiadomości automatyczne. - [Obszar roboczy](content/activities.md) Ustawienia obszaru roboczego i ogólne zachowanie. - [Użytkownicy i uprawnienia](content/user.md) Zarządzanie użytkownikami, rolami i uprawnieniami. - [Powiadomienia](content/notifications.md) Konfiguracja powiadomień osobistych, ujednoliconych i desktopowych. --- --- ## Od czego zacząć Jeśli korzystasz z Quoting24 po raz pierwszy, zalecamy taką ścieżkę: 1. [Dostęp do Quoting 24](content/login.md) 2. [Przegląd ogólny](content/general_overview.md) 3. [Ekran główny](content/main_screen.md) 4. [Przegląd WhatsApp](content/whatsapp.md) 5. [Obszar roboczy](content/activities.md) i [Automatyzacje](content/automations.md) Dzięki temu uzyskasz pełny obraz działania platformy zanim przejdziesz do szczegółów. --- # Dostęp do Quoting24 URL: https://wiki.quoting24.com/pl/content/login/ Language: pl Updated: 2026-11-04 # Dostęp do Quoting24 Aby uzyskać dostęp do **Quoting24**, trzeba być zarejestrowanym (więcej informacji [tutaj](https://welcome.quoting24.com/registrazione)) i mieć dane logowania, których można użyć pod poniższym linkiem: [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) **Nazwa użytkownika** i **hasło** są takie same jak używane do logowania do [**Qricambi**](https://qricambi.com/). Ekran logowania --- ## Zarządzanie hasłem Obecnie, aby zmienić lub odzyskać hasło, należy skorzystać z Qricambi przez jedną z poniższych opcji: - Strona [odzyskiwania hasła](https://app.qricambi.com/Authentication/RequestRecover?user=) - Sekcja [Zarządzanie użytkownikami](https://app.qricambi.com/youraccount/UsersManager) --- ## Pierwsze logowanie i wybór obszaru roboczego Przy pierwszym dostępie do platformy użytkownik jest **już utworzony i skonfigurowany** przez współpracowników z rolą administratora. Po zalogowaniu zachowanie zależy od **numerów telefonu / obszarów roboczych** powiązanych z użytkownikiem. ### Użytkownik powiązany z wieloma numerami telefonu Jeśli użytkownik jest przypisany do **wielu numerów telefonu**, zostanie poproszony o wybór **obszaru roboczego, do którego chce wejść**. Ekran wyboru obszaru roboczego ### Użytkownik powiązany z jednym numerem telefonu Jeśli użytkownik jest przypisany do **jednego numeru telefonu**, dostęp nastąpi automatycznie, bez żadnego wyboru. --- ## Po zalogowaniu Po wejściu zostanie wyświetlony [**ekran główny Quoting24**](main_screen.md), z którego można rozpocząć pracę nad zapytaniami. --- # Przegląd ogólny URL: https://wiki.quoting24.com/pl/content/general_overview/ Language: pl Updated: 2026-11-04 # Przegląd ogólny Quoting24 to platforma zaprojektowana do **centralnego i inteligentnego zarządzania zapytaniami o wycenę otrzymywanymi przez WhatsApp**, łącząca automatyzację, wyszukiwanie części i współpracę między operatorami. Ten przegląd pomoże Ci zrozumieć: - jak zorganizowany jest interfejs - jak działa przepływ pracy - jakie są główne dostępne funkcje --- ## Ekran główny Po zalogowaniu użytkownik zostaje przekierowany do **[ekranu głównego](main_screen.md)** Quoting24. Ekran główny Quoting24 Ekran jest podzielony na **trzy główne obszary**, które współpracują ze sobą, aby przekształcić rozmowę WhatsApp w uporządkowaną wycenę. --- ## 1. Zarządzanie zapytaniami (czaty i tickety) Lista ticketów Każde zapytanie otrzymane od klienta jest obsługiwane jako **ticket**. W odróżnieniu od tradycyjnego WhatsApp: - każde nowe zapytanie o wycenę generuje oddzielny ticket - tickety mogą być **przypisywane**, **wstrzymywane**, oznaczane jako **do przeczytania**, **zamykane** lub **wznawiane** - praca jest rozdzielana między wielu operatorów w uporządkowany sposób Z tej sekcji można: - sortować i filtrować tickety (przypisany na zewnątrz, pozostałe filtry w lejku) - otwierać nowe zgłoszenia ze strony głównej lub z **Kontaktów** - monitorować status pracy zespołu Dla każdej rozmowy istnieje **tylko jeden ticket, w którym można pisać**: zamkniętego ticketa nie otwiera się ręcznie. Szczegóły w **[Obsługa ticketów](gestione_ticket.md)**. 👉 Więcej informacji: - **[Obsługa ticketów](gestione_ticket.md)** - **[Lista zapytań](requested_list.md)** - **[Automatyczne przypisania](assegnazioni.md)** - **[Etykiety](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Rozmowa z klientem Czat Quoting24 To obszar przeznaczony do **bezpośredniej komunikacji z klientem**. Z tego miejsca można: - wysyłać i odbierać wiadomości - załączać zdjęcia, filmy i dokumenty - wstawiać **notatki wewnętrzne** widoczne tylko dla współpracowników - używać **zapisanych odpowiedzi**, aby przyspieszyć komunikację Quoting24 automatycznie analizuje wiadomości: - transkrybuje wiadomości głosowe - rozpoznaje numery rejestracyjne, VIN i odniesienia do części - przygotowuje dane potrzebne do etapu wyceny 👉 Więcej informacji: - **[Zapisane odpowiedzi](save_response.md)** - **[Powiadomienia](notifications.md)** --- ## 3. Wyszukiwanie pojazdu i części Wyszukiwanie numeru rejestracyjnego i VIN Sekcja po prawej stronie jest przeznaczona do **wyszukiwania technicznego**. Tutaj automatycznie pokazywane są: - numery rejestracyjne - numery VIN - informacje o pojeździe - elementy rozpoznane w rozmowie Za pomocą **schematów** można: - zidentyfikować poprawny kod części - wyszukać go w Qricambi - szybko rozpocząć tworzenie wyceny Schematy pojazdu 👉 Więcej informacji: - **[Integracja z Qricambi](qricambi_integration.md)** - **[Automatyzacje](automations.md)** --- ## Automatyzacje i inteligentne przypisania Quoting24 zawiera zaawansowane funkcje służące do **ograniczenia pracy ręcznej**: - **Automatyzacje** Automatyczne wyszukiwanie numerów rejestracyjnych, VIN i części 👉 **[Przejdź do Automatyzacji](automations.md)** - **Automatyczne przypisywanie ticketów** Inteligentne przypisywanie na podstawie: - [etykiety](type_of_request.md) - [firmy](companies.md) - [kontaktu](contacts.md) 👉 **[Przejdź do Automatycznych przypisań](assegnazioni.md)** Dzięki temu można: - skrócić czas odpowiedzi - uniknąć błędów w przekierowaniu zapytań - pracować w uporządkowany sposób nawet z wieloma operatorami --- ## Współpraca między operatorami Quoting24 jest zaprojektowany z myślą o pracy zespołowej. Dostępne są: - role (**administratorzy** i **członkowie**) - przypisania ticketów - notatki wewnętrzne - konfigurowalne powiadomienia - ujednolicone powiadomienia także na wielu numerach telefonu - zmiany dostaw możliwe do powiązania z firmami 👉 Więcej informacji: - **[Użytkownicy i uprawnienia](user.md)** - **[Profil użytkownika](profilo.md)** - **[Zmiany dostaw](delivery_shifts.md)** --- ## Integracja z Qricambi Quoting24 jest głęboko zintegrowany z **Qricambi**. Pozwala to: - korzystać z tych samych **kredytów** - wyszukiwać części u dostawców wewnętrznych i zewnętrznych - tworzyć wyceny w Qricambi - wysyłać je klientowi bezpośrednio z czatu 👉 Dowiedz się więcej: - **[Kredyty](credits.md)** - **[Integracja Qricambi](qricambi_integration.md)** - **[Wyślij wycenę do systemu ERP](invia_preventivo_gestionale.md)** - **[Pisz na WhatsApp przez nasze API](invia_whatsapp_api.md)** Przepływ pracy staje się dzięki temu ciągły: **zapytanie → wyszukiwanie → wycena → odpowiedź dla klienta** --- ## Od czego zacząć Wiki Quoting24 jest dostępna również z aplikacji, w **Ustawieniach** w lewym dolnym rogu. Link do Wiki w ustawieniach Jeśli jesteś nowym użytkownikiem Quoting24, zalecamy taką ścieżkę: 1. **[Dostęp do Quoting24](login.md)** 2. **[Ekran główny](main_screen.md)** 3. **[Lista zapytań](requested_list.md)** 4. **[Przegląd WhatsApp](whatsapp.md)** 5. **[Obszar roboczy](activities.md)** i **[Automatyzacje](automations.md)** Dzięki temu uzyskasz pełny obraz działania platformy zanim przejdziesz do szczegółów. --- # Ekran główny URL: https://wiki.quoting24.com/pl/content/main_screen/ Language: pl Updated: 2026-11-04 # Ekran główny Ekran główny **Quoting24** dzieli się na **trzy główne sekcje**, przedstawione poniżej od lewej do prawej. Ekran główny - - - ## 1. Lista czatów / ticketów (lewa część) Lewa część W tej sekcji znajduje się lista **czatów / ticketów**. W odróżnieniu od WhatsApp, gdzie rozmowy są pojedynczymi, ciągłymi strumieniami, w **Quoting24** rozmowa jest dzielona na **tickety**: każde zapytanie o wycenę należy traktować jako **oddzielny ticket**. Dla każdego kontaktu istnieje **tylko jeden ticket, w którym można pisać**. Zamkniętego ticketa nie otwiera się ręcznie: zobacz przepływ w [Obsługa ticketów](gestione_ticket.md). W tym samym obszarze paska bocznego znajdziesz też **[Quoting News](quoting_news.md)**: kanał tylko do odczytu z komunikatami produktowymi publikowanymi przez Quoting. Po zakończeniu pracy nad wyceną zaleca się **zamknięcie ticketa**. Zamknij ticket ### Statusy ticketa Ticket może znajdować się w różnych statusach, zależnie od etapu przepływu pracy: * **Otwarty**: zapytanie nadal wymaga obsługi lub jest w trakcie pracy. * **Do przeczytania**: ticket powinien zostać ponownie przejęty przez zespół. Gdy ticket zostaje oznaczony jako *Do przeczytania*, przypisani operatorzy są usuwani, a zapytanie wraca do operatorów z odpowiednimi uprawnieniami. * **Wstrzymany**: zapytanie nie jest zamknięte, ale oczekuje się na odpowiedź lub informację od klienta. * **Zamknięty**: zapytanie jest zakończone i nie powinno już pojawiać się wśród ticketów do obsługi. Status **Wstrzymany** jest przydatny, gdy nie chcesz ostatecznie zamykać zapytania. Jeśli klient napisze ponownie w wstrzymanym tickecie, ticket automatycznie wraca do statusu **otwarty**, pozostaje przypisany do pierwotnego operatora i domyślnie pokazuje także poprzednie wiadomości. Status wstrzymania ticketa ### Sortuj według Nad listą **Sortuj według** oferuje: * **Najnowsza wiadomość** (domyślnie) — ostatnia wiadomość w czacie, od dowolnego nadawcy * **Ostatnio otrzymane** — ostatnia wiadomość **od klienta** * **Priorytet malejąco** — efektywny priorytet kontaktu (osobisty lub dziedziczony z firmy) * **Najbliższe zmiany** — następna zmiana dostawy * **Najstarsza wiadomość** ### Filtry ticketów Filtry **przypisania / statusu** pozostają zawsze widoczne (np. nieprzypisany, przypisany do mnie, do innych, do przeczytania, wstrzymany, zamknięty). Filtr **Przypisany** pozostaje **na zewnątrz**, w głównym wierszu. Wszystkie pozostałe filtry są zgrupowane w przycisku **lejka** (tak samo jak na mobile). Gdy filtr z lejka jest aktywny, pojawia się też **na zewnątrz** jako usuwalny chip. W lejku znajdziesz: * **Etykiety** — etykiety ticketa * **Użytkownicy** — przypisani operatorzy * **Typ firmy** — typ kontaktu / firmy (klient, dostawca, współpracownik, …) * **Okres ticketa** — skróty **Ostatnie 7 dni** lub **Ostatnie 30 dni** * ręczny zakres dat **Od** / **Do** Przypisany ticket ma **ikonę z inicjałami operatora** po lewej stronie podglądu wiadomości. Przypisywanie ticketów umożliwia lepszy **podział pracy** i **optymalizację przepływu operacyjnego** między współpracownikami. ### Podgląd i wskaźniki na liście Po najechaniu kursorem na czat w lewej części można zobaczyć **podgląd rozmowy** bez konieczności natychmiastowego otwierania ticketa. Na liście ticketów, po prawej stronie **nazwy kontaktu**, **jeden tag** pokazuje: * **ikonę priorytetu** kontaktu (osobisty lub dziedziczony z firmy): * trójkąt w górę → priorytet **wysoki** * kropka / kreska → priorytet **średni** * trójkąt w dół → priorytet **niski** * zaraz potem **kod firmy** (bez `#` używanego wcześniej) * **kolor tagu** odzwierciedla typ powiązanej firmy lub, gdy jest, osobisty typ kontaktu Po najechaniu na tag pojawia się krótkie podsumowanie (firma, priorytet, typ). W podglądach nadal widać też przydatne wskaźniki, takie jak: * **reakcje** dodane przez klienta lub operatorów * ikona przypisanego operatora * status ticketa i ewentualne [etykiety](type_of_request.md) zgłoszenia * następna zmiana dostawy, gdy jest dostępna Podgląd czatu w lewej części ### Wyszukiwanie na liście ticketów W lewej części dostępne jest pole **wyszukiwania** podzielone na sekcje, z liczbą wyników dla każdej z nich: * **Wszystkie** * **Rozmowy** * **Wiadomości** * **Części** Chipy sekcji zwijają się, gdy przestrzeni jest mało. Kontakty można znaleźć także po **nazwie firmy** i **kodzie firmy**. Jeśli dopasowanie dotyczy firmy, pojawia się etykieta z nazwą lub kodem. ### Szybkie tworzenie ticketa Operator może napisać do jednego ze swoich kontaktów, klikając przycisk **‘+’** na liście ticketów (akcja *„Otwórz nowe zgłoszenie”*). Ta sama akcja jest też dostępna w **[Kontaktach](contacts.md#otwórz-nowe-zgłoszenie)** (lista i szczegóły kontaktu). Otwórz ticket Po kliknięciu **trzech kropek** w prawym górnym rogu można: * zamknąć **wszystkie tickety** * albo zamknąć **wszystkie tickety do wczoraj włącznie** Trzy kropki ### Szczegóły pojedynczego czatu Czat pojedynczego użytkownika Poniżej szczegółowo wyjaśniamy elementy widoczne w pojedynczych czatach: * Ikony obok statusu to [etykiety](type_of_request.md) zgłoszenia * Obok nazwy kontaktu **jeden tag** pokazuje priorytet i kod [firmy](companies.md) (bez `#`), pokolorowany według typu kontaktu/firmy * Wartość widoczna w jasnoniebieskim owalu, w tym przypadku 'Jutro 08:00', odpowiada pierwszemu dostępnemu cutoffowi / zmianie - - - ## 2. Czat i zarządzanie rozmową Czat Ta sekcja umożliwia: * wysyłanie wiadomości * załączanie **zdjęć, filmów i innych plików** * zarządzanie rozmową z klientem * sprawdzanie historii ticketów powiązanych z tym samym czatem ### Automatyczna identyfikacja danych Elementy przydatne do utworzenia wyceny (np. **numer rejestracyjny**, **VIN**, opis pojazdu lub wymaganej części) są **automatycznie identyfikowane** w rozmowie z klientem, **tagowane** i przenoszone do sekcji po prawej stronie (zobacz punkt **3**). ### Otwieranie, wstrzymywanie i ciągłość ticketów Zachowanie pisania i ponownego otwierania jest w pełni opisane w **[Obsługa ticketów](gestione_ticket.md)**. W skrócie: * jeśli bieżący ticket jest **otwarty**, wiadomość pozostaje przy zgłoszeniu w toku * jeśli jest **wstrzymany**, automatycznie staje się **otwarty** i pozostaje przypisany do pierwotnego operatora * jeśli jest **zamknięty**: * przy **już otwartym** tickecie na tym samym kontakcie → odpowiedź trafia do otwartego ticketa (zamknięty pozostaje powiązany) * jeśli zamknięty ticket **nie jest najnowszy** → odpowiedź otwiera **nowe zgłoszenie** (zamknięty pozostaje powiązany) * jeśli zamknięty ticket **jest najnowszy** → ticket zostaje **ponownie otwarty** Zamkniętego ticketa **nie można ponownie otworzyć, zmieniając status ręcznie**. Na zamkniętych ticketach dostępne są **Przejdź do otwartego ticketa**, **Przejdź do ostatniego zamkniętego ticketa** i **Otwórz nowe zgłoszenie**. Gdy to przydatne, nadal można: * wyświetlić całą rozmowę * **łączyć** powiązane tickety, aby odzyskać już wykonaną pracę Zaplanowane wiadomości są kierowane **w momencie wysyłki**. Jeśli zamkniesz ticket, który ma jeszcze zaplanowane wiadomości, Quoting24 prosi o potwierdzenie. ### Wyświetlanie ticketów w czacie Główny czat pokazuje tickety w takim samym formacie jak pełna rozmowa: widoczne są linie i **banery** wskazujące, gdzie każdy ticket **się zaczyna** i gdzie **się kończy**. Na bannerach oddzielających tickety (także przy **Zobacz poprzednie**) pokazywane są: * **data** i **godzina** zamknięcia ticketa * **kto zamknął** ticket Banner ticket con data/ora e utente di chiusura Gdy z tą samą rozmową jest powiązanych kilka ticketów, dostępne są dedykowane akcje: * **Połącz**: łączy bieżący ticket z poprzednim, odzyskując już opracowany kontekst. * **Odłącz zapytanie**: oddziela powiązane zapytanie, aby zarządzać nim jako niezależnym ticketem. Akcja jest oznaczona ikoną **przekreślonego oka**. * **Otwórz całą rozmowę**: jeśli między dwoma powiązanymi ticketami są inne tickety lub wiadomości pośrednie, pojawia się przycisk do otwarcia całej rozmowy w tym miejscu i zobaczenia ich wszystkich. Linie początku i końca ticketa z opcjami Połącz i Wyświetl razem ### Baner „N wiadomości do przeczytania” Po otwarciu ticketa z nieprzeczytanymi wiadomościami klienta w czacie pojawia się wskaźnik między już przeczytanymi a nieprzeczytanymi wiadomościami, na przykład **„1 wiadomość do przeczytania”** lub **„N wiadomości do przeczytania”**. Liczba aktualizuje się, jeśli podczas widoczności banera nadejdą kolejne wiadomości klienta. Nie uwzględnia **notatek wewnętrznych** ani wiadomości **wysłanych**. Banner messaggi da leggere ### Automatyczna transkrypcja wiadomości głosowych i obrazów Quoting24 automatycznie transkrybuje: * **wiadomości głosowe** otrzymane od klientów * zawartość **obrazów**, na przykład: * zdjęcie **tablicy rejestracyjnej**, które zostaje rozpoznane i automatycznie przepisane Z przetranskrybowanego tekstu pobierane są wszystkie przydatne informacje (numery rejestracyjne, VIN, elementy wyceny). Jeśli automatyczne wyodrębnianie danych przez AI zostało ukryte w ustawieniach obszaru roboczego, informacje techniczne mogą nadal być dostępne w sekcji po prawej stronie, ale nie są pokazywane jako szczegół operacyjny w rozmowie. ### Załączniki Klikając ikonę **spinacza**, można załączyć: * zdjęcia * filmy * PDF * inne pliki Załączniki można również **przeciągać bezpośrednio do czatu**. ### Podgląd PDF w czacie **PDF-y** otrzymane lub wysłane w czacie pokazują **podgląd pierwszej strony** w wiadomości (miniatura u góry, nazwa i rozmiar poniżej). Po kliknięciu pliku otwiera się przeglądarka dokumentu. Jeśli podgląd jest niedostępny, pozostaje klasyczna karta pliku. Anteprima PDF in chat ### Edytor obrazów przed wysłaniem Gdy do wiadomości zostanie dołączony obraz, za pomocą ikony spinacza albo przez przeciągnięcie go do czatu, Quoting24 pokazuje podgląd załącznika przed wysłaniem. Kliknięcie obrazu w podglądzie otwiera **pełnoekranowy edytor obrazów**, który pozwala zmodyfikować obraz przed wysłaniem go do klienta. Edytor jest dostępny tylko dla obrazów, które nadal znajdują się w kolejce do wysłania. Nie dotyczy filmów, plików ogólnych ani wiadomości już wysłanych. Dostępne narzędzia to: * **Kadrowanie**: pozwala wybrać obszar obrazu do zachowania przez przeciągnięcie ramki * **Obrót w lewo / prawo**: obraca obraz w wybranym kierunku * **Odbicie poziome / pionowe**: odwraca obraz względem wybranej osi * **Pióro i kolory**: pozwala rysować po obrazie * **Gumka**: usuwa narysowane linie * **Rozmycie**: zakrywa obszar pikselowym prostokątem, który można przesuwać i zmieniać jego rozmiar. Kolejne kliknięcie na zdjęcie dodaje następny * **Cofnij**: cofa ostatni wykonany krok Po zakończeniu edycji: * kliknięcie **Gotowe** zastępuje oryginalny załącznik edytowanym obrazem * kliknięcie **Anuluj** pozostawia oryginalny obraz bez zmian Po edycji wiadomość można wysłać normalnie. Edytor obrazów przed wysłaniem **Rozmycie** służy do zasłonięcia danych widocznych na zdjęciu, na przykład tablicy rejestracyjnej, zanim wyślesz je do klienta. Każdy prostokąt można przesunąć i zmienić jego rozmiar; kolejne kliknięcie na zdjęcie dodaje jeszcze jeden prostokąt. Tablica rejestracyjna zasłonięta pikselowymi prostokątami ### Wiadomości głosowe, audio i media Quoting24 obsługuje **wiadomości głosowe** i pliki audio otrzymywane w czacie. Wiadomości głosowe można odsłuchiwać, automatycznie transkrybować oraz, gdy jest to dostępne, pobierać jako plik audio. Podczas przetwarzania pojawia się status **„Trwa transkrypcja…”**. Dostępny jest także przycisk **Ponów**, aby ponownie uruchomić transkrypcję w razie potrzeby. Zdjęcia i filmy wysyłane w rozmowie można otwierać w **karuzeli mediów**, która pozwala szybko przewijać treści multimedialne odebrane lub wysłane w czacie. Karuzela mediów i pobieranie audio Trascrizione in corso e Riprova ### Dyktowanie głosowe Pod polem wpisywania dostępna jest ikona **Dyktowanie**. Po udzieleniu uprawnienia do mikrofonu głos jest transkrybowany w czasie rzeczywistym do wiadomości. Dettatura vocale ### Wskaźnik "pisze" Gdy inny użytkownik pisze w aktywnym czacie, Quoting24 pokazuje wskaźnik **pisze**. Pomaga to operatorom unikać nakładających się odpowiedzi, gdy współpracownik już przygotowuje wiadomość. Wskaźnik pisze ### Wysyłanie bez nagłówka lub podpisu Jeśli w swoim [profilu](profilo.md) skonfigurowano nagłówek lub podpis, Quoting24 dodaje je według wybranej opcji: **zawsze** albo **tylko przy pierwszej wiadomości ticketa i przy Wyślij i zamknij**. Nadal można wysłać pojedynczą wiadomość **bez nagłówka i bez podpisu**. Ta opcja jest przydatna przy szybkich odpowiedziach, bardzo krótkich wiadomościach lub komunikatach, które nie powinny zawierać automatycznego tekstu skonfigurowanego przez operatora. Wysyłanie bez nagłówka i podpisu ### Akcje na wiadomościach Dostępne akcje dla wiadomości można otworzyć na dwa sposoby: * klikając wiadomość **prawym przyciskiem myszy** * klikając **strzałkę** po prawej stronie wiadomości Z tego menu można wykonać operacje takie jak odpowiadanie, przekazywanie lub usuwanie wiadomości. Gdy pozwala na to wybór, możliwe jest także **przekazywanie** i **usuwanie wielu wiadomości**. Akcje wiadomości po kliknięciu prawym przyciskiem i strzałką ### Reakcje na wiadomości Reakcje pozwalają klientom i operatorom reagować na wiadomości w rozmowie. Quoting24 pokazuje: * reakcję zastosowaną do wiadomości * kto dodał reakcję * reakcję w podglądzie wiadomości w lewej kolumnie Otrzymane reakcje generują powiadomienia w Quoting24, w **dzwonku** oraz, jeśli są włączone, również jako **powiadomienia desktopowe**. Jeśli klient doda reakcję do wiadomości należącej do już zamkniętego ticketa, Quoting24 tworzy odniesienie do wiadomości za pomocą **odpowiedzi**, dzięki czemu reakcja pozostaje widoczna w aktualnie otwartym tickecie. ### Notatki wewnętrzne W czacie można wstawić **notatkę wewnętrzną** dla współpracowników: * klikając dedykowaną ikonę * albo wpisując **@ + SPACJA** Podczas pisania notatki wewnętrznej: * tło staje się **żółte** * notatka **NIE jest wysyłana do klienta** * jest widoczna tylko dla użytkowników Quoting24 W notatkach można **oznaczyć współpracownika** (wpisując `@pseudonim`), a współpracownik otrzyma powiadomienie. Można także oznaczyć **wszystkich współpracowników**, wpisując `@wszyscy`. Gdy użytkownik zostanie oznaczony w notatce wewnętrznej, powiadomienie wygenerowane przez Quoting24 zostaje wyróżnione na **pomarańczowo**. Obok znaczników wyświetlenia wiadomości pokazywana jest również ikona notatki wewnętrznej, aby od razu odróżnić wiadomości widoczne tylko dla operatorów. Notatki wewnętrzne **tekstowe** można **edytować w ciągu 15 minut**, tylko przez **autora**. Po odpowiedzi na notatkę wewnętrzną: * odpowiedź pozostaje **notatką wewnętrzną** * autor oryginalnej notatki zostaje **ponownie przypisany** do ticketa Utwórz notatkę wewnętrzną Wyślij notatkę wewnętrzną Modifica nota interna ### Informacje o tickecie W zakładce **Informacje** ticketa (ikona **i**) można szybko przeglądać i edytować dane powiązane ze zgłoszeniem. Sekcja jest zorganizowana tak: 1. **Góra — Kontakt** Notatki, ostrzeżenia, osoby przypisane do kontaktu, **priorytet** kontaktu i **typ** kontaktu (typ jest edytowalny tylko wtedy, gdy kontakt nie ma firmy). 2. **Dół — Firma** (gdy jest obecna) Nazwa, notatki, lokalizacja, **priorytet firmy** i **typ firmy**. Dotyczy priorytetu kontaktu: * jeśli nie jest ustawiony, jest **dziedziczony z firmy** (etykieta *Dziedziczony z firmy*) * nadal można ustawić osobisty priorytet, nawet jeśli firma już go ma Dotyczy typu kontaktu: * **bez firmy** → można ustawić go na kontakcie * **z firmą** → jest dziedziczony i **nieedytowalny** na kontakcie; zmień go na firmie W selekcie przypisań ticketa dostępna jest też opcja **Nikt**: **usuwa wszystkich przypisanych**. Szczegóły w [Przypisania](assegnazioni.md#przypisanie-ręczne-i-przypisanie-do-wszystkich). Jeśli kontakt ma **ważne ostrzeżenia**, są one pokazywane nad czatem, aby od razu zwrócić uwagę operatora. ### Eksport czatu Z czatu można **eksportować** rozmowę. Przy starcie eksportu można wybrać: * eksport **bez mediów** * eksport **z mediami** Jeśli media są uwzględnione, są zapisywane w **osobnym zipie**, razem z plikiem czatu. ### Historia ticketa W prawym panelu bocznym ticketa można otworzyć zakładkę **Historia**, oznaczoną ikoną **zegara**. Ta zakładka pokazuje **tylko do odczytu** oś czasu zdarzeń powiązanych z ticketem. Służy do sprawdzenia, co wydarzyło się w zgłoszeniu, kto wykonał daną akcję i kiedy. Historia może obejmować takie zdarzenia jak: * zmiana statusu ticketa * pierwsze wyświetlenie ticketa * odczytanie nieprzeczytanych wiadomości * przypisanie lub usunięcie osób przypisanych do ticketa * samodzielne przypisanie operatora, pokazane jako automatyczne przejęcie obsługi * przypisanie wyszukiwań powiązanych z ticketem * zmiana statusu wyszukiwań, na przykład otwarte, wstrzymane lub zamknięte Gdy zdarzenie dotyczy wyszukiwania pojazdu, Quoting24 pokazuje także dostępne dane ułatwiające jego rozpoznanie, takie jak **numer rejestracyjny**, **VIN** lub **pojazd**. Historia aktualizuje się w czasie rzeczywistym i nie można jej modyfikować z tej zakładki: służy wyłącznie do podglądu i operacyjnej identyfikowalności. Historia ticketa - - - ## 3. Sekcja wyszukiwania VIN i kodów Konwersja numeru rejestracyjnego na VIN Sekcję po prawej stronie można **zwinąć**, klikając ikonę aktywnej zakładki. Dzięki temu można zostawić więcej miejsca na rozmowę, gdy nie trzeba pracować na danych technicznych. Zwijana prawa zakładka W tej sekcji są wyświetlane: * **numery rejestracyjne** * **numery VIN** * **opisy części zamiennych** zidentyfikowane bezpośrednio z czatu z klientem. *Numer rejestracyjny* jest automatycznie konwertowany na *VIN*, a następnie pokazywane są informacje o pojeździe (np. **marka**, **model** itd.). ### Podprzypisania **Podprzypisania** pozwalają przypisać nie cały ticket, lecz **pojedyncze wyszukiwanie pojazdu** wewnątrz czatu. W jednym tickecie może jednocześnie istnieć **wiele wyszukiwań** (np. dwie różne tablice rejestracyjne lub dwa pojazdy tego samego klienta). Każde wyszukiwanie ma: * własny **status** (np. *Otwarte*, *Wstrzymane*, *Zamknięte*) * jednego lub kilku **przypisanych operatorów** Dzięki temu pracę można podzielić według pojazdu: jeden kolega obsługuje jeden pojazd, drugi — kolejny, bez dzielenia rozmowy na osobne tickety. #### Różnica względem przypisania ticketa * **Przypisanie ticketa**: dotyczy całego czatu / zgłoszenia i wskazuje, kto odpowiada za rozmowę. * **Podprzypisanie**: dotyczy pojedynczego wyszukiwania pojazdu i wskazuje, kto pracuje nad konkretnym pojazdem. * **Gdzie się zarządza**: przypisanie ticketa na czacie; podprzypisanie w panelu wyszukiwania, w prawym górnym rogu. Przypisanie ticketa i podprzypisania mogą współistnieć: ticket może pozostać przypisany do jednego operatora, a wewnętrzne wyszukiwania mogą być rozdzielone między innych współpracowników. #### Jak przypisać wyszukiwanie 1. Otwórz wyszukiwanie pojazdu w prawej sekcji. 2. Kliknij ikonę **osoby** (lub awatar przypisanego) w prawym górnym rogu wiersza pojazdu. 3. Wyszukaj operatora i wybierz go albo wybierz **Wszyscy**, aby zaangażować wszystkich współpracowników. W tym samym wierszu możesz też zmienić **status** tego konkretnego wyszukiwania, niezależnie od statusu ticketa. Podprzypisania wyszukiwań pojazdów Status i przypisanie pojedynczego pojazdu Zmiany przypisania i statusu wyszukiwań są też zapisywane w [historii ticketa](#historia-ticketa), wraz z tablicą, VIN lub pojazdem, jeśli są dostępne. W sprawie automatycznego i ręcznego przypisywania na poziomie ticketa zobacz stronę [Przypisania](assegnazioni.md). ### Wyszukiwanie części przez schematy Model sztucznej inteligencji proponuje niektóre opcje części na podstawie schematów. Wyodrębnianie danych z obrazów, wiadomości głosowych i tekstu można ukryć w ustawieniach obszaru roboczego, jeśli administrator woli nie pokazywać operatorom szczegółów przetwarzania AI. Operator powinien: * wejść do schematów * ręcznie wybrać **poprawny kod** Otwarcie schematu Kliknięcie podglądu schematu otwiera pełną stronę nawigacji po dostępnych schematach. Operator: * wyszukuje potrzebną część * wybiera kod, zaznaczając pole po lewej stronie * zamyka stronę za pomocą **‘X’** w prawym górnym rogu Jeśli operator chce wyświetlić pełne drzewo VIN, może kliknąć **‘Q’** Qricambi. ### Wysyłanie schematu na czacie Z widoku schematów można wysłać bezpośrednio na czat **zdjęcie schematu** powiązane z wybraną częścią. Ta funkcja jest przydatna, gdy chcesz poprosić klienta o potwierdzenie, pokazując techniczny szczegół części. Wysyłanie zdjęcia schematu na czacie ### Akcje dostępne dla kodów Po prawej stronie każdego kodu dostępne są: * **‘i’** z dodatkowymi informacjami o części * czerwona **‘Q’** do wyszukania kodu w Qricambi * ikona do **skopiowania kodu** Wybrana część Wybrany kod zostaje przeniesiony na poprzedni ekran i można: * wyszukać go w **[Qricambi](https://app.qricambi.com/)** * utworzyć **[wycenę](invia_preventivo_gestionale.md)** * wysłać go klientowi przez **Quoting24** ### Bezpośrednie wyszukiwanie u dostawców Alternatywnie można wyszukiwać kody bezpośrednio u niektórych dostawców z poziomu **Quoting24**. Aby to zrobić, w sekcji **[Ustawienia → Qricambi](qricambi_integration.md)** można wybrać: * dostawców **wewnętrznych** (np. własne listy) * dostawców **zewnętrznych** Wyszukiwanie części Wyszukiwanie u dostawców: * jest bardziej syntetyczne niż w Qricambi * działa według tej samej logiki Wyniki są sortowane według: * **ceny** * **dostępności** U góry pokazywane są produkty: * najtańsze * dostępne od ręki (**zielony**) Podczas przewijania wyników: * dostępność przechodzi z **żółtego** na **czerwony** * cena rośnie Pokazywane są: * kod * marka * dostawca * opis * cena netto * cena katalogowa, jeśli jest dostępna * dostępność Produkt Obok każdego wyniku znajdują się dwie ikony: * dodanie do **[koszyka Qricambi](https://app.qricambi.com/?next=%2F&activetab=orders)** * link do strony e-commerce dostawcy > **UWAGA** > Automatyczne wyszukiwanie u dostawców Qricambi można w każdej chwili wyłączyć > w sekcji **[Ustawienia → Qricambi](qricambi_integration.md)** ### Wyszukiwanie w wynikach Qricambi Gdy wyników jest dużo, można wykonać **wyszukiwanie tekstowe** wewnątrz wyników Qricambi, aby szybciej znaleźć szukany kod, markę lub opis. Wyszukiwanie tekstowe w wynikach Qricambi --- # Obsługa ticketów URL: https://wiki.quoting24.com/pl/content/gestione_ticket/ Language: pl Updated: 2026-11-04 # Obsługa ticketów Quoting24 organizuje każdą rozmowę WhatsApp w **tickety**. Przepływ jest **uporządkowany**: dla każdego kontaktu istnieje **tylko jeden ticket, w którym można swobodnie pisać**. Ta strona wyjaśnia zasady pisania, ponownego otwierania, odpowiedzi (reply) oraz zaplanowanych wiadomości. --- ## Podstawowe pojęcia | Pojęcie | Znaczenie | | --- | --- | | **Thread** | Wszystkie tickety tego samego kontaktu | | **Ticket do zapisu** | Jedyny ticket w wątku, w którym możesz swobodnie pisać (zwykle otwarty albo ostatni zamknięty na warunkach poniżej) | | **Reply** | Odpowiedź na konkretną wiadomość: może skierować tekst do innego ticketu w wątku | Zasada praktyczna: **nie możesz ręcznie ponownie otworzyć zamkniętego ticketu** (zmieniając status). Aby wznowić pracę, wysyłasz wiadomość, odpowiadasz na wiadomość albo używasz przycisków w zamkniętych ticketach. --- ## Co się dzieje, gdy piszesz ### Już jest otwarty ticket Jeśli klient (lub Ty) odpowiadacie, gdy istnieje ticket **otwarty** (lub **wstrzymany**, który wraca do otwartego), wiadomości trafiają do tego ticketu. ### Piszesz z zamkniętego ticketu Zależy to od pozycji zamkniętego ticketu w wątku: 1. **Już istnieje otwarty ticket** Odpowiedź trafia do otwartego ticketu. Zamknięty ticket, z którego odpowiadałeś, pozostaje zamknięty i zostaje **powiązany** z ticketem, który otrzymał wiadomość. 2. **Zamknięty ticket nie jest ostatnim w wątku** Odpowiedź **otwiera nowe zgłoszenie**. Również w tym przypadku wyjściowy zamknięty ticket pozostaje powiązany z ticketem docelowym. 3. **Zamknięty ticket jest ostatnim w wątku** Tylko wtedy wiadomość **ponownie otwiera** ten ticket. Aby pisać z zamkniętego ticketu, który nie jest tym do zapisu, Quoting24 wymaga **odpowiedzi na wiadomość** (reply): bez reply pole pisania pozostaje zablokowane z informacją o wyborze wiadomości. --- ## Przyciski w zamkniętych ticketach Po otwarciu zamkniętego ticketu na dole pojawiają się akcje zgodne z tymi samymi zasadami przepływu: - **Przejdź do otwartego ticketu** — jeśli w wątku jest już otwarte zgłoszenie - **Przejdź do ostatniego zamkniętego ticketu** — jeśli nie ma otwartych (i ostatni zamknięty nie jest tym, który przeglądasz) - **Otwórz nowe zgłoszenie** — tworzy nowe zgłoszenie w wątku, gdy nie ma otwartego ticketu Te przyciski pomagają nie pracować na złym tickecie i prowadzą do właściwego punktu przepływu. Przy reply z zamkniętego ticketu Quoting24 wskazuje też, dokąd trafi wiadomość, np.: - *Odpowiedź zostanie wysłana do otwartego ticketu.* - *Odpowiedź otworzy nowy ticket.* --- ## Zaplanowane wiadomości Zaplanowane wiadomości **nie ustalają od razu** ostatecznego ticketu: są **kierowane w momencie wysyłki**, według reguł wątku obowiązujących w tej chwili. Skutek: jeśli zamkniesz ticket, który ma jeszcze oczekujące zaplanowane wiadomości, Quoting24 prosi o potwierdzenie. Przy wysyłce wiadomość może: - ponownie otworzyć ticket (jeśli nadal jest ostatnim zamkniętym) - albo trafić do innego otwartego / nowego zgłoszenia --- ## Czego już nie możesz zrobić - **Ręcznie ponownie otworzyć** zamknięty ticket, zmieniając status System blokuje akcję i zachęca do napisania wiadomości (w odpowiednich warunkach) albo użycia przycisków przepływu. - Mieć **dwa otwarte tickety** dla tego samego kontaktu Jeśli jeden jest już otwarty, drugi nie powstaje. --- ## Statusy ticketu (przypomnienie) - **Otwarty** — w trakcie obsługi - **Do przeczytania** — do wznowienia; przypisani są usuwani - **Wstrzymany** — oczekiwanie na klienta; jeśli klient napisze ponownie, wraca do **otwartego** i pozostaje przypisany do pierwotnego operatora - **Zamknięty** — zakończony; nie pojawia się wśród ticketów do pracy, ale pozostaje dostępny do wglądu według reguł reply / ponownego otwarcia powyżej **Wstrzymanie** to nie zamknięcie: reguły zamkniętych ticketów nie obowiązują. --- ## Gdzie otworzyć nowe zgłoszenie Możesz rozpocząć rozmowę / nowe zgłoszenie z: - przycisku **+** na liście ticketów na stronie głównej (*Otwórz nowe zgłoszenie*) - sekcji **[Kontakty](contacts.md#otwórz-nowe-zgłoszenie)** (lista i karta kontaktu) - przycisku **Otwórz nowe zgłoszenie** w zamkniętym tickecie, gdy przepływ na to pozwala --- ## Przydatne linki - [Ekran główny](main_screen.md) — lista, filtry, podgląd, czat - [Lista zgłoszeń](requested_list.md) — historia i filtry statusu - [Kontakty](contacts.md) — otwórz zgłoszenie, priorytet i typ kontaktu --- # Lista zapytań URL: https://wiki.quoting24.com/pl/content/requested_list/ Language: pl Updated: 2026-11-04 # Lista zapytań Klikając **menu w prawym górnym rogu** i wybierając **“Lista zapytań”**, otwiera się **historia zapytań** utworzonych przez różne kontakty w Quoting24. Ekran listy zapytań --- ## Wyświetlanie zapytań Domyślnie pokazywane są **tylko otwarte zapytania**. Za pomocą **filtra w prawym górnym rogu** można: - wyświetlić zapytania **wstrzymane** - wyświetlić zapytania **do przeczytania** - wyświetlić zapytania **zamknięte** - zastosować **inne filtry**, aby zawęzić wyszukiwanie Filtry zapytań otwartych wstrzymanych i zamkniętych --- ## Wyszukiwanie wśród zapytań Lista zapytań pozwala szybko wyszukiwać tickety obecne w historii. Wyszukiwania można używać do znalezienia zapytania na podstawie informacji takich jak: - nazwa lub numer kontaktu - powiązana firma - treść zapytania - status ticketa - rozpoznane dane techniczne, na przykład numer rejestracyjny lub VIN Filtry można łączyć z wyszukiwaniem tekstowym, aby zawęzić listę i szybciej znaleźć właściwy ticket. --- ## Zapytania wstrzymane Zapytania **wstrzymane** to tickety, które nie zostały ostatecznie zamknięte, ale są tymczasowo zawieszone, ponieważ oczekuje się na wiadomość lub potwierdzenie od klienta. Gdy klient napisze ponownie w wstrzymanym tickecie: - ticket automatycznie wraca do statusu **otwarty** - pozostaje przypisany do pierwotnego operatora - domyślnie pokazywane są także poprzednie wiadomości To zachowanie różni się od ticketów **zamkniętych**: na zamkniętym tickecie obowiązują reguły uporządkowanego przepływu (odpowiedź, ponowne otwarcie tylko jeśli jest najnowszy, w przeciwnym razie nowe zgłoszenie lub przekierowanie do już otwartego ticketa). Szczegóły w [Obsługa ticketów](gestione_ticket.md). --- ## Otwieranie zapytania Klikając **czerwoną strzałkę** na końcu wiersza po prawej stronie, można otworzyć **konkretne zapytanie** i przejść do powiązanego ticketa. Po otwarciu zapytania Quoting24 pokazuje kontekst powiązany z ticketem, w tym ewentualne poprzednie wiadomości, jeśli zapytanie było wstrzymane lub połączone z innymi ticketami. --- # Etykiety URL: https://wiki.quoting24.com/pl/content/type_of_request/ Language: pl Updated: 2026-11-04 # Etykiety Ticket może mieć **więcej niż jedną etykietę**. Etykiety klasyfikują zgłoszenie i, gdy włączone jest [automatyczne przypisywanie](assegnazioni.md), kierują je do operatorów powiązanych z tymi etykietami. Na liście ticketów widać do **3 ikon**. Kolejne pojawiają się jako **+N**. Jeśli nazwa się nie mieści, zostaje ikona, a nazwę pokazuje podpowiedź. Etykiety domyślne --- ## Trzy rodzaje etykiet | Rodzaj | Kto ją tworzy | Kto może ją nadać | | --- | --- | --- | | **Własna** | Pokój | Operatorzy | | **AI** | Pokój, z włączonym „przypisz przez AI” (tylko AI Premium) | Operatorzy i agent premium | | **Domyślna** | Jest już w każdym pokoju | Operatorzy i klasyfikator | Etykiet nadanych przez operatora **nigdy nie zdejmuje automat**. Klasyfikator i agent tylko **dodają**. --- ## Etykiety domyślne Jest ich **11**, takie same w każdym pokoju: * Informacje * Handlowe * Zamówienia i logistyka * Zakupy * Gwarancje, zwroty i reklamacje * Wsparcie * Administracja * IT * Usługi * Auth * Inne Nie da się ich **zmienić nazwy** ani **usunąć**. Można zmienić **kolor** i **przypisane osoby**. Są w **Ustawienia → Tickety i automatyzacje → Etykiety**, karta **Etykiety domyślne**. Zmiana koloru etykiety domyślnej Przy **AI lite** nie ma automatycznej kategoryzacji: etykiety domyślne można nadać ręcznie. W tym module karty etykiet domyślnych nie widać. --- ## Etykiety własne Na karcie **Etykiety własne** przycisk **Dodaj** tworzy etykietę pokoju: nazwa, kolor, ikona i opis. Etykiety własne Przy **AI Premium** można włączyć **Automatycznie przypisuj tę etykietę do ticketów za pomocą sztucznej inteligencji**. Agent używa jej tylko wtedy, gdy opis jasno mówi, kiedy ją stosować. Na liście te etykiety mają odznakę **AI**. Nowa etykieta z przypisaniem AI Przypisane osoby ustawia się w kolumnie **Przypisano do**. Gdy [automatyczne przypisywanie](assegnazioni.md) jest włączone, zgłoszenie z tą etykietą trafia do nich. --- ## Automatyczna kategoryzacja Każdy pokój wybiera, kto nadaje etykiety automatycznie, w **Ustawienia → Tickety i automatyzacje → Klasyfikator ticketów**. Zapis: **Zapisz zmiany**. Klasyfikator ticketów | Opcja | Co się dzieje | Dla kogo | | --- | --- | --- | | **Wyłączona** | Brak automatycznych etykiet, tylko ręcznie | Wszyscy | | **Etykiety domyślne (AI ekonomiczna)** | Klasyfikator nadaje etykiety domyślne | Tylko AI ekonomiczna | | **AI Premium** | Agent premium nadaje etykiety AI pokoju | Tylko AI Premium | Gdy zmienia się moduł AI pokoju, opcja podąża za nim: * **Premium** → AI Premium * **Lite** → Wyłączona * **Ekonomiczna**, jeśli wcześniej było Premium lub Lite → Etykiety domyślne. Jeśli pokój był już ekonomiczny i wyłączony, zostaje wyłączony Klasyfikator etykietuje tylko **pierwsze wiadomości klienta**. Zatrzymuje się, gdy operator odpowie, napisze notatkę wewnętrzną albo nada etykietę. --- ## Pilność Trzy poziomy: * **Niska** — pozdrowienia, podziękowania, spam * **Normalna** — wyceny, zamówienia, faktury * **Wysoka** — część potrzebna dziś, auto stoi w warsztacie, dostawa spóźniona lub błędna, płatność do terminu Tickety o **wysokiej** pilności mają ikonę ostrzeżenia na liście. Przy **AI ekonomicznej** ustawia ją klasyfikator przy każdej nowej grupie wiadomości klienta. Przy **AI Premium** ustawia ją agent. --- ## Proste wiadomości Wiele wiadomości klienta to pogawędka albo ustalenia praktyczne („dziękuję”, „ok”, godziny, odbiór) i nie potrzebują rozpoznawania części. Przy **AI ekonomicznej**, gdy klasyfikator jest wystarczająco pewny, a wiadomość to **sam tekst albo głos**, rozpoznawanie części nie startuje. **Obrazy i pliki** zawsze przechodzą przez rozpoznawanie. --- ## Powiązanie z wcześniejszymi ticketami Na tej samej stronie **Klasyfikator ticketów** przełącznik **Automatyczne powiązanie ticketów** jest domyślnie **wyłączony**. Działa tylko przy **AI ekonomicznej**. Gdy kontakt pisze w nowym tickecie, zanim odpowie operator, AI porównuje go z **dwoma ostatnimi zamkniętymi ticketami** kontaktu. Jeśli to ciąg dalszy jednego z nich (ten sam pojazd albo ticket bez pojazdu), łączy nowy ticket z tamtym, a wcześniejsza rozmowa pojawia się na czacie. Łączy tylko wtedy, gdy jest bardzo pewna: czasem nie połączy, choć miałaby rację. Nie działa na tickecie **już powiązanym**. --- ## Kiedy pracują | Funkcja | Pracuje tylko gdy… | | --- | --- | | **Klasyfikator** | pokój ma **AI ekonomiczną**, przychodzą **nowe wiadomości klienta** i klasyfikator jest skonfigurowany | | **Pilność** | przy każdej nowej grupie wiadomości klienta | | **Proste wiadomości** | nowe wiadomości to **sam tekst albo głos** | | **Etykiety automatyczne** | pokój jest na „Etykietach domyślnych”, w tickecie **nie pisał jeszcze żaden operator** i **żaden operator nie nadał etykiety** | | **Powiązanie** | jest **włączone**, w tickecie **nie pisał jeszcze żaden operator**, kontakt ma **zamknięte tickety** (tylko dwa ostatnie) i ticket **nie jest już powiązany** | Jeśli klasyfikator nie jest skonfigurowany, Quoting24 działa dalej: po prostu nie klasyfikuje. --- ## Jak ich używać * **Ręcznie**: w tickecie pole **Etykieta** przyjmuje jedną lub więcej etykiet (własnych i domyślnych). * **Etykiety automatyczne**: w klasyfikatorze wybierz „Etykiety domyślne (AI ekonomiczna)”, potem ustaw **przypisane osoby** każdej etykiety domyślnej. * **Agent premium**: utwórz etykiety z przypisaniem AI i napisz **jasny opis**. * **Powiązanie**: włącz, jeśli klienci często piszą ponownie o już zamkniętych zgłoszeniach. * **Pilność**: patrz na ikonę ostrzeżenia na liście ticketów. Ustawienia pokoju widzą admin, owner i superadmin. --- # Zapisane odpowiedzi URL: https://wiki.quoting24.com/pl/content/save_response/ Language: pl Updated: 2026-11-04 # Zapisane odpowiedzi Zapisane odpowiedzi W sekcji **“Zapisane odpowiedzi”** można tworzyć **gotowe odpowiedzi** do szybkiego wysyłania klientom. --- ## Tworzenie nowej zapisanej odpowiedzi Aby utworzyć nową **zapisaną odpowiedź**, kliknij czerwony przycisk u góry **“+ Dodaj odpowiedź”**. Edycja zapisanych odpowiedzi Trzeba wprowadzić: - **nazwę** - **treść** odpowiedzi Można dodać **plik jako załącznik**. --- ## Typy zapisanych odpowiedzi Zapisanymi odpowiedziami można zarządzać w **dwóch trybach**: - **Tylko dla mnie** Przeznaczone dla odpowiedzi osobistych (np. *“Jestem Antonio…”*). Ta odpowiedź będzie dostępna **tylko dla użytkownika, który ją tworzy**. [Użytkownicy](user.md) **niebędący administratorami** mogą wyświetlać i ustawiać **tylko** zapisane odpowiedzi typu *“tylko dla mnie”*. - **Dla całego obszaru roboczego** Wszyscy użytkownicy konta będą widzieć zapisaną odpowiedź. **Tylko [użytkownicy administratorzy](user.md)** mogą tworzyć i modyfikować ten typ odpowiedzi. --- ## Zarządzanie zapisanymi odpowiedziami Zapisane odpowiedzi można: - **włączać lub wyłączać** za pomocą odpowiedniego zaznaczenia - **modyfikować**, klikając ikonę **ołówka** po prawej stronie każdej odpowiedzi --- ## Używanie zapisanych odpowiedzi w czacie Wstawienie zapisanej odpowiedzi odbywa się bezpośrednio z **paska pisania wiadomości**. Aby jej użyć: 1. wpisz znak **`/`** 2. wpisz **nazwę** zapisanej odpowiedzi (także częściowo) Przykład zapisanej odpowiedzi Odpowiedź można wstawić: - **bez uzupełniania nazwy** - naciskając **Enter** na podświetlonej odpowiedzi (nie trzeba używać myszy) --- ## Sortowanie sugestii Jeśli wprowadzony tekst jest **częściowy lub niejednoznaczny** (np. `/o`), sugestie zapisanych odpowiedzi są sortowane w następujący sposób: Przykład użycia zapisanej odpowiedzi 1. **Kolejność alfabetyczna** nazw zaczynających się od wpisanego tekstu (np. `/o` → *odbiór*, *oferta*) 2. Następnie pokazywane są wyniki, w których wpisany tekst występuje **w nazwie lub w treści**, również w kolejności alfabetycznej --- # Automatyczne przypisywanie URL: https://wiki.quoting24.com/pl/content/assegnazioni/ Language: pl Updated: 2026-11-04 # Automatyczne przypisywanie System **Automatycznego Przypisywania** ma na celu uczynić zarządzanie ticketami bardziej **szybkim**, **efektywnym** i **precyzyjnym**, zwłaszcza w kontekstach, w których wielu operatorów pracuje na jednym numerze WhatsApp. Ta funkcja automatycznie przypisuje **nowe tickety** do operatora lub zespołu najbardziej odpowiedniego na podstawie **zdefiniowanych reguł**. Celem jest: - wyeliminowanie ręcznego przypisywania - skrócenie czasu oczekiwania klientów - zapewnienie, że każde zapytanie od razu trafi do właściwej osoby --- ## Kiedy uruchamia się automatyczne przypisywanie System zaczyna działać **po nadejściu pierwszej wiadomości nowego ticketa**. Analizuje informacje ticketa i porównuje je z: - kompetencjami - odpowiedzialnościami - konfiguracjami operatorów Przypisanie opiera się na **trzech kryteriach dopasowania**: 1. **[Etykieta](type_of_request.md)** (zobacz sekcję *Etykiety*) 2. **[Firma](companies.md) przypisana do kontaktu** Jeśli istnieją operatorzy dedykowani konkretnej firmie klienta 3. **[Kontakt](contacts.md)** Jeśli istnieje zaufana osoba odpowiedzialna za konkretny kontakt Dla każdego nowego ticketa system: - oblicza, ile dopasowań ma każdy operator - wykonuje przypisanie zgodnie z wybraną regułą ⚠️ Automatyczne przypisywanie **stosuje się tylko do pierwszych wiadomości klienta** i przestaje działać, gdy na tickecie pojawia się aktywność operatora. ### Automatyczne przypisanie przy otwarciu Jeśli ticket jest nadal **do przeczytania** i nie jest przypisany do żadnego operatora, otwarcie ticketa może automatycznie przypisać go do operatora, który przejmuje jego obsługę. Takie zachowanie zapobiega sytuacji, w której dwóch operatorów zaczyna jednocześnie pracować nad tym samym zapytaniem, i jasno wskazuje, kto odpowiada za ticket. Automatyczne przypisanie ticketa przy otwarciu --- ## Dostępność operatorów System jest zaprojektowany tak, aby pracować **tylko z realnie dostępnymi operatorami**. Automatyczne przypisanie następuje **tylko wtedy, gdy co najmniej jeden odpowiedni operator jest online**. - **Jeśli żaden kwalifikowany operator nie jest online** Ticket **nie zostaje przypisany automatycznie** i pozostaje dostępny do ręcznego przejęcia. - **Jeśli co najmniej jeden kwalifikowany operator jest online** System wykonuje automatyczne przypisanie. --- ## Reguły przypisywania Możesz skonfigurować system tak, aby korzystał z jednej z poniższych **logik przypisywania**: Przypisywanie --- ### Najlepsze dopasowanie Z tą regułą ticket zostaje przypisany **tylko do operatora (lub operatorów)** z **najwyższym wynikiem dopasowania**. Jest idealna do kierowania zapytań do konkretnego eksperta. #### Praktyczny przykład Ticket przychodzi od firmy **“ACME Corp”** i jest typu **“Handlowe”**: - **Anna** → odpowiedzialna za typ *Handlowe* (1 dopasowanie) - **Marco** → odpowiedzialny za firmę *ACME Corp* (1 dopasowanie) - **Lucia** → odpowiedzialna zarówno za typ *Handlowe*, jak i za *ACME Corp* (2 dopasowania) ➡️ Z regułą **Najlepsze Dopasowanie**, ticket zostaje przypisany **tylko do Lucii**. --- ### Wszystkie dopasowania Z tą regułą ticket zostaje przypisany do **wszystkich operatorów**, którzy mają **co najmniej jedno dopasowanie**. Nadaje się do zespołów, w których kilka osób może obsługiwać ten sam typ zapytania. #### Praktyczny przykład Korzystając z tego samego wcześniejszego scenariusza: ➡️ Z regułą **Wszystkie Dopasowania**, ticket zostaje przypisany do **Anny, Marca i Lucii**. --- ## Zarządzanie cyklem życia automatycznie przypisanego ticketa ### Przypisanie ręczne i przypisanie do wszystkich Poza automatycznym przypisaniem ticket może zostać ręcznie przypisany do jednego lub kilku operatorów. W selekcie **przypisań** dostępna jest opcja **Nikt**. Jej wybór **usuwa wszystkich przypisanych** z ticketa. Select assegnatari – opzione Nessuno Gdy trzeba zaangażować cały zespół, można przypisać ticket do **wszystkich uprawnionych współpracowników**. Ta funkcja jest przydatna przy pilnych zapytaniach lub ticketach, które może obsłużyć pierwszy dostępny operator. Przypisz wszystkich współpracowników do ticketa ### Ticket oznaczony jako "Do przeczytania" Ticket można oznaczyć jako **Do przeczytania**, aby przywrócić go do przepływu przejmowania przez zespół. Gdy ticket zostaje oznaczony jako *Do przeczytania*: - obecni przypisani operatorzy są usuwani - zapytanie wraca do widoczności dla operatorów, którzy mogą przejmować nieprzypisane tickety - ticket może zostać ponownie przypisany ręcznie lub przez normalny przepływ operacyjny ### Ticket bez odpowiedzi (czas bezpieczeństwa) Aby uniknąć sytuacji, w której automatycznie przypisany ticket pozostaje zignorowany, przewidziano **konfigurowalny czas bezpieczeństwa**. Jeśli ticket: - został automatycznie przypisany - **nie otrzyma odpowiedzi** w ustawionym czasie automatyczne przypisanie zostaje **usunięte**. Ticket wraca jako: - **nieprzypisany** - widoczny dla całego zespołu Ten mechanizm zapobiega gubieniu zapytań. --- ### Pierwsza odpowiedź “przejmuje” ticket Gdy ticket jest automatycznie przypisany do **wielu operatorów**: 1. **pierwszy operator, który odpowie**, przejmuje ticket 2. wszyscy pozostali operatorzy są usuwani z przypisania 3. operator, który odpowiedział, staje się **jedyną osobą odpowiedzialną** Gwarantuje to: - brak nakładania się pracy - zawsze jasną odpowiedzialność --- ## Konfiguracja automatycznego przypisywania Administrator może skonfigurować system, wykonując te kroki: 1. **Włącz funkcję** Włącz opcję *“Włącz Automatyczne Przypisywanie”* w ustawieniach. 2. **Wybierz regułę przypisywania** - Najlepsze dopasowanie - Wszystkie dopasowania 3. **Ustaw czas bezpieczeństwa** Określ, po ilu minutach nieobsłużony ticket ma wrócić jako nieprzypisany (domyślnie **15 minut**). 4. **Zdefiniuj odpowiedzialności operatorów** Powiąż operatorów z ich obszarami kompetencji: - **Typy ticketów** - **Firmy** - **Kontakty** Automatyczne przypisywanie --- ## Zaawansowany przykład praktyczny - **Matteo** jest ekspertem od *Jeep* i *blacharki* - **Alessandro** jest ekspertem od *blacharki* Przychodzi zapytanie o **drzwi do Jeep Renegade**. - Z **Najlepszym Dopasowaniem** ➜ ticket zostaje przypisany **tylko do Matteo** - Z **Wszystkimi Dopasowaniami** ➜ ticket zostaje przypisany **do Matteo i Alessandro** --- # Zmiany dostaw URL: https://wiki.quoting24.com/pl/content/delivery_shifts/ Language: pl Updated: 2026-11-04 # Zmiany dostaw Można tworzyć i zarządzać **zmianami dostaw** z odpowiedniej pozycji dostępnej w menu. Po kliknięciu menu pokazywana jest lista **już istniejących zmian dostaw**. Aby utworzyć nową zmianę, wystarczy kliknąć czerwony przycisk w prawym górnym rogu **“+ dodaj”**. Ekran dodawania zmian dostaw --- ## Przypisywanie zmian do firm Po utworzeniu zmiany dostawy można **przypisać ją do jednej lub kilku [firm](companies.md)**. Przypisanie można wykonać z różnych miejsc aplikacji (wewnątrz zarządzania firmą), ale **zalecaną** metodą jest działanie **masowe**. Aby to zrobić: 1. wejdź w **zmianę dostawy**, do której chcesz przypisać firmy 2. użyj ekranu edycji zmiany Ekran edycji zmian dostaw --- ## Masowe przypisywanie przez filtry Z tego ekranu można: - filtrować firmy - wybierać wiele firm jednocześnie - masowo przypisać zmianę - zapisać zmiany Filtry mogą używać również **danych kartoteki firmy**, na przykład: - miasto - notatki - notatki administratora --- # Dzienny raport aktywności URL: https://wiki.quoting24.com/pl/content/daily_activity_report/ Language: pl Updated: 2026-11-04 # Dzienny raport aktywności Dostępny jest **automatyczny raport dzienny** wysyłany e-mailem, który zapewnia przegląd aktywności związanej z obsługą ticketów wsparcia. KPI dotyczą **poprzedniego dnia** i są porównywane z **tym samym dniem poprzedniego tygodnia**. Wszystkie czasy są wyrażone w **minutach**. --- ## Wymagania Aby skonfigurować odbiorców raportu, trzeba być **[administratorem](user.md)**. Jeśli użytkownik jest **członkiem**, należy poprosić administratora obszaru roboczego o **zmianę typu użytkownika** (z członka na administratora) albo skontaktować się z pomocą Quoting24. --- ## Jak ustawić raport 1. Otwórz **Settings → General settings → Business** 2. W sekcji **Statistics report emails** kliknij **Edit recipients** 3. Dodaj **nowego odbiorcę** i uzupełnij: - **Email** adresu, który ma otrzymywać raport - **Active**: gdy wyłączone, ten adres nie otrzymuje raportu - **Frequency** (na przykład **Daily**) - **Send time** 4. Kliknij **Save** Ustawienia Business - Statistics report emails Modal nowego odbiorcy raportu --- ## Co zawiera raport ### KPI z wczoraj Główne wskaźniki poprzedniego dnia, z porównaniem do tego samego dnia poprzedniego tygodnia: - utworzone i zamknięte tickety - procent zamknięcia - odpowiedzi wysłane przez operatorów - otrzymane wiadomości - medianowy czas odpowiedzi - medianowy czas otwarcia ticketa - aktywni operatorzy - aktywni kontakty - wyszukane pojazdy - wykonane zapytania o części ### Wydajność operatorów Szczegóły dla każdego operatora dotyczące: - wysłanych odpowiedzi - notatek wewnętrznych - przypisanych i zamkniętych ticketów - procentu zamknięcia - medianowego czasu odpowiedzi i otwarcia ### Wiadomości według przedziału godzinowego Rozkład **otrzymanych i wysłanych wiadomości** w ciągu dnia, podzielony według przedziału godzinowego (czas lokalny). Notatki wewnętrzne i usunięte wiadomości są wykluczone. ### Użytkownicy online Liczba **różnych operatorów**, którzy pracowali w każdym przedziale godzinowym (zdarzenia ticketów, wiadomości lub notatki). ### Otwarte tickety Przebieg ticketów w statusie **otwarty** w ciągu dnia (okresowe próbki), w tym szczyt i ile pozostaje otwartych na koniec dnia. Liczy też tickety utworzone w poprzednich dniach, jeśli nadal są otwarte. ### Top klienci Lista klientów z największą aktywnością danego dnia, uporządkowana według otrzymanych wiadomości, ze szczegółami dotyczącymi pojazdów, wyszukiwań, wiadomości i zaangażowanych operatorów. ### Dzienny trend Porównanie **bieżącego i poprzedniego tygodnia**: utworzone tickety i odpowiedzi operatorów dzień po dniu. ### Statystyki z ostatnich 7 dni - Zagregowana **wydajność operatorów** z ostatnich 7 dni - **Mapa ciepła aktywności**, która wyróżnia odpowiedzi każdego operatora dzień po dniu Ten raport pozwala **monitorować efektywność obsługi klienta**, analizować obciążenie pracą i oceniać trend wydajności w czasie. --- # Quoting News URL: https://wiki.quoting24.com/pl/content/quoting_news/ Language: pl Updated: 2026-11-04 # Quoting News **Quoting News** to kanał, w którym Quoting publikuje aktualizacje i komunikaty o produkcie. Wyświetla się na pasku bocznym czatów, obok zgłoszeń. To nie jest ticket: to czat w trybie **tylko do odczytu**. Tylko Quoting może wysyłać te wiadomości: operatorzy je czytają, nie tworzą ich ani nie odpowiadają. --- ## Jak to działa 1. Otwórz **Quoting News** na lewym pasku bocznym. 2. Przeczytaj historię komunikatów, uporządkowaną według daty. 3. Gdy skończysz, kliknij **Przeczytane**: znika oznaczenie nieprzeczytanych nowości, bez zamykania czatu. Nie możesz pisać ani odpowiadać. Jeśli nie ma wiadomości, zobaczysz pusty stan *Brak nowości*. --- # WhatsApp URL: https://wiki.quoting24.com/pl/content/whatsapp/ Language: pl Updated: 2026-11-04 # WhatsApp Ta sekcja jest widoczna **tylko dla administratorów**, a nie dla członków (użytkowników). Z tego miejsca można połączyć **Quoting24** z **WhatsApp** przez **oficjalne API Meta** (WhatsApp Business Platform), włączając: - zarządzanie czatami - zarządzanie kontaktami - wysyłanie i odbieranie wiadomości z Quoting24 Połączenie przez oficjalne API jest trybem opisanym w tej wersji wiki. --- ## Połączenie przez oficjalne API Meta Oficjalne API pozwala Quoting24 zarządzać rozmowami WhatsApp w stabilny, śledzony i wspierany przez Meta sposób. ### Zalety - Możliwość używania **interaktywnych przycisków** w wiadomościach (np. "Zatwierdź wycenę"), możliwych do połączenia z systemami ERP - **Wysoka stabilność** i oficjalne wsparcie techniczne - Centralne zarządzanie zapytaniami w Quoting24, z ticketami, przypisaniami i automatyzacjami ### Reguły operacyjne - Wiadomości wychodzące do **nowych kontaktów** (od których nie otrzymaliśmy wiadomości w ciągu ostatnich 24 godzin) są ograniczone do **szablonów wstępnie zatwierdzonych przez Meta** Dopiero po odpowiedzi klienta można komunikować się swobodnie. Po wysłaniu wstępnie zatwierdzonej wiadomości można pisać normalne wiadomości, ale zostaną one dostarczone klientowi **dopiero po jego działaniu** (np. kliknięciu przycisku "pisz śmiało" lub odpowiedzi). - Klient musi **zatwierdzić otwarcie kanału komunikacji** i musi korzystać z **urządzenia mobilnego**, aby poprawnie zakończyć interakcję z szablonami. - W zależności od wybranej konfiguracji ręczne używanie App WhatsApp Business na tym samym numerze może wymagać funkcji [WhatsApp Coexistence](whatsapp_coexistence.md). - Grupy WhatsApp i listy broadcast aplikacji nie są obsługiwane przez API Meta; do kampanii z szablonami użyj sekcji [Broadcast API](broadcast_api.md). Jeśli numer działa już na API innego dostawcy i chcesz przenieść go do Quoting24 bez zmiany numeru, przejdź do [Migracja API WhatsApp](migrazione_whatsapp_api.md). --- ## Funkcje dostępne w Quoting24 Po podłączeniu oficjalnego kanału Quoting24 pozwala pracować nad zapytaniami WhatsApp przy użyciu swoich funkcji operacyjnych: - dzielenie rozmów na **tickety** - ręczne lub automatyczne przypisywanie operatorom - rozpoznawanie tablic, VIN i części w wiadomościach - wysyłanie wiadomości, obrazów i dokumentów - wysyłanie wycen i PDF z systemu ERP - używanie interaktywnych przycisków, gdy przewiduje to przepływ API Wewnętrzne funkcje Quoting24 pozostają zarządzane przez platformę; dostarczanie wiadomości do klientów podlega regułom operacyjnym oficjalnych API Meta. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/pl/content/whatsapp_coexistence/ Language: pl Updated: 2026-11-04 # WhatsApp Coexistence Funkcja **WhatsApp Coexistence** (koegzystencja) pozwala firmom używać jednocześnie **App WhatsApp Business** (na telefonie) i **API WhatsApp Business** (przez Quoting24 lub inne oprogramowanie) na tym samym numerze telefonu. To **znaczący przełom**, ponieważ wcześniej aktywacja API wymagała usunięcia konta WhatsApp Business z telefonu, uniemożliwiając ręczne używanie aplikacji. --- ## Zalety Koegzystencji Aktywując koegzystencję, możesz uzyskać najlepsze z obu światów: 1. **Interakcja ludzka i osobista (App Business)**: - Nadal używaj WhatsApp na swoim smartfonie tak jak dotychczas. - Odpowiadaj ręcznie klientom, gdy jest to potrzebne. - Interweniuj ręcznie z telefonu, gdy potrzebna jest bezpośrednia obsługa klienta. 2. **Moc i automatyzacja (API Business)**: - Połącz Quoting24, aby obsługiwać duże wolumeny zapytań. - Wykorzystuj boty do automatycznych odpowiedzi i kwalifikacji kontaktów. - Wysyłaj ustrukturyzowane wyceny bezpośrednio z systemu ERP. - Zarządzaj czatami w zespole wieloużytkownikowym przez platformę webową. Podsumowując: **możesz automatyzować ciężką pracę przez API, zachowując możliwość osobistej interwencji z telefonu w szczególnych przypadkach.** --- ## Wymagania Aby aktywować koegzystencję, trzeba spełnić kilka wymagań technicznych: - **Zaktualizowana aplikacja**: upewnij się, że na Twoim urządzeniu jest zainstalowana najnowsza wersja WhatsApp Business. - **Zweryfikowane konto Business**: może być konieczne ukończenie weryfikacji firmy w Business Manager Meta. --- ## Jak aktywować Koegzystencję Proces przebiega zgodnie z przepływem "Embedded Signup" (rejestracja osadzona) używanym do aktywacji oficjalnych API. 1. **Uruchom połączenie**: rozpocznij proces podłączania numeru z Quoting24: Twojego BSP (Business Solution Provider). 2. **Wybierz numer**: wybierz numer telefonu, który jest **już aktywny** w App WhatsApp Business. 3. **Weryfikacja kwalifikacji**: system sprawdza, czy numer i konto spełniają wymagania Meta. 4. **Potwierdzenie prowadzone**: wykonaj kroki wymagane przez przepływ Meta i Quoting24. 5. **Aktywacja**: po zakończeniu procesu API zostaje włączone na istniejącym numerze i może działać równolegle z aplikacją. --- ## Ważne uwagi - **Synchronizacja**: wiadomości wysłane z aplikacji i wiadomości wysłane przez API będą widoczne na obu platformach w ramach limitów technicznych przewidzianych przez Meta. - **Koszty**: wiadomości rozpoczynane przez API (np. wysyłka wycen, szablony) podlegają cennikowi Meta. Ręczne odpowiedzi z aplikacji pozostają bezpłatne. - **Ograniczenia**: niektóre działania wykonywane w aplikacji mogą nie być automatyzowane przez Quoting24 i pozostają zarządzane bezpośrednio w App WhatsApp Business. --- ## Ważne ograniczenie: "Cold Chat" (Rozmowy spontaniczne) Można rozpocząć nową rozmowę z klientem bezpośrednio z App WhatsApp Business. **Jednak tej rozmowy nie będzie można kontynuować w Quoting24.** Powód jest techniczny i dotyczy reguł Meta: 1. Wiadomość wysłana ręcznie z App **nie otwiera 24-godzinnego okna obsługi** dla API (tak jak zrobiłaby to wiadomość klienta). 2. Ponieważ nie jest to płatna "Wiadomość Template" zatwierdzona przez Meta, nie tworzy ważnej sesji dla oprogramowania. **Konsekwencja**: zobaczysz wiadomość w Quoting24 dzięki synchronizacji, ale **nie będziesz mógł odpowiedzieć ani wysłać innych wiadomości z Quoting24** w tym czacie, dopóki klient nie odpowie na Twoją wiadomość. Tylko odpowiedź klienta odblokowuje rozmowę i pozwala Quoting24 interweniować. --- ## Numer już w koegzystencji u innego dostawcy Jeśli numer jest już w koegzystencji u innego dostawcy i ma trafić do Quoting24, przejdź do [Migracja API WhatsApp](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/pl/content/broadcast_api/ Language: pl Updated: 2026-11-04 # Broadcast API Sekcja **Broadcast** umożliwia tworzenie i zarządzanie **kampaniami wiadomości broadcast** na numerach połączonych z Quoting24 przez **oficjalne API Meta** (WhatsApp Business Platform). W praktyce możesz **wysłać tę samą wiadomość szablonową do wielu numerów WhatsApp**, wczytać odbiorców z pliku Excel, wybrać datę i godzinę wysyłki oraz monitorować status każdej wiadomości. > **Uwaga:** Kampanie Broadcast w Quoting24 **nie** są „listami broadcast” z aplikacji WhatsApp. > Działają tylko z połączeniem **WhatsApp Business / API Meta** w statusie **connected** i używają **szablonów WhatsApp** już dostępnych w Quoting24 (zsynchronizowanych / zatwierdzonych przez Meta). --- ## Wymagania 1. **Aktywne połączenie WhatsApp Business** Pozycja menu **Broadcast** pojawia się tylko wtedy, gdy status połączenia API Meta to **connected**. Zobacz [WhatsApp](whatsapp.md) oraz, jeśli używasz tego samego numeru także na telefonie, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Uprawnienia** Wszyscy członkowie pokoju mogą **przeglądać** kampanie. Tylko **owner** i **admin** mogą **tworzyć**, edytować lub usuwać kampanie i wiadomości w kolejce. 3. **Szablony WhatsApp** Potrzebny jest co najmniej jeden szablon dostępny w Quoting24 (te wybierane w kreatorze). Jeśli szablon ma **nagłówek typu obraz, wideo lub dokument**, przy tworzeniu kampanii obowiązkowe jest przesłanie pliku mediów: Meta nie ponownie wykorzystuje automatycznie podglądu szablonu. 4. **Plik odbiorców** Odbiorcy są wczytywani z **pliku XLSX** (nie z książki Kontaktów). Maksymalnie **1000** odbiorców na kampanię. 5. **Płatność Meta** Wiadomości szablonowe podlegają cennikowi Meta (kategorie Marketing / Utility / Authentication itd.). --- ## Jak otworzyć sekcję Broadcast 1. Otwórz **menu** Quoting24 (ikona w prawym górnym rogu). 2. Wybierz **Broadcast**. Pozycja Broadcast w menu Quoting24 Otwiera się strona **Kampanie Broadcast** z podtytułem *Zarządzaj kampaniami wiadomości broadcast WhatsApp.* --- ## Lista kampanii | Kolumna | Opis | | ------- | ---- | | **Nazwa** | Nazwa kampanii (kliknięcie otwiera szczegóły) | | **Harmonogram** | Zaplanowana data i godzina wysyłki | | **Postęp** | `wysłane / łącznie (procent)` — procent uwzględnia wiadomości **wysłane + nieudane** względem całości | | **Status** | Status kampanii (patrz poniżej) | W prawym górnym rogu: **+ Nowa kampania**. W każdym wierszu możesz usunąć kampanię lub otworzyć jej szczegóły. Lista kampanii Broadcast ### Statusy kampanii | Status | Znaczenie | | ------ | --------- | | **Szkic** | Szkic (niewykorzystywany w standardowym przepływie tworzenia) | | **Aktywna** | Kampania utworzona i w kolejce / oczekuje na zaplanowaną godzinę | | **Wysyłanie** | Wysyłka w toku | | **Zakończona** | Wszystkie wiadomości zostały przetworzone (wysłane lub nieudane) | | **Nieudana** | Kampania nieudana | | **Anulowana** | Zatrzymana przez użytkownika: niewysłane wiadomości nie będą już wysyłane | | **Zarchiwizowana** | Automatyczna archiwizacja po około 30 dniach | --- ## Tworzenie nowej kampanii Kreator ma **trzy kroki**: 1. **Konfiguracja** 2. **Odbiorcy (XLS)** 3. **Podgląd i potwierdzenie** ### Krok 1 — Konfiguracja Na liście kliknij **+ Nowa kampania** i uzupełnij: | Pole | Co wpisać | | ---- | --------- | | **Nazwa kampanii** | Nazwa do rozpoznania na liście | | **Szablon** | Szablon WhatsApp do wysłania | | **Obraz / wideo / dokument nagłówka** | Pojawia się **tylko**, gdy wybrany szablon tego wymaga; wtedy plik jest obowiązkowy | | **Data** | Dzień rozpoczęcia wysyłki | | **Godzina** | Godzina rozpoczęcia wysyłki | Na tym samym ekranie widzisz **podgląd** szablonu (tekst, stopka, przyciski i media, jeśli przesłane). Następnie kliknij **Dalej**. Ekran Utwórz kampanię — konfiguracja #### Media w nagłówku (tylko jeśli szablon na to pozwala) Pole do przesłania mediów w nagłówku **nie zawsze jest widoczne**. Pojawia się **tylko** po wyborze szablonu, którego nagłówek Meta ma typ: - **obraz** → formaty `JPG`, `JPEG`, `PNG` - **wideo** → format `MP4` - **dokument** → format `PDF` Jeśli szablon nie przewiduje mediów w nagłówku, pole się nie pokazuje i możesz kontynuować bez załączników. Jeśli szablon ich wymaga, bez przesłanego pliku nie przejdziesz dalej: Meta nie ponownie wykorzystuje automatycznie podglądu szablonu. W przykładzie poniżej po wyborze szablonu z nagłówkiem obrazu pojawia się obszar **Obraz header** (kliknięcie lub przeciągnięcie pliku). Przesyłanie obrazu nagłówka przy tworzeniu kampanii Broadcast ### Krok 2 — Odbiorcy (XLS) 1. Kliknij **Pobierz szablon XLSX**, aby uzyskać plik przykładowy. 2. Uzupełnij arkusz tymi kolumnami: | Kolumna | Wymagana | Opis | | ------ | -------- | ---- | | `recipient_name` | Nie | Nazwa odbiorcy (tylko etykieta w Quoting24) | | `recipient_address` | **Tak** | Numer WhatsApp (z lub bez `+`; spacje i prefiks `00` są normalizowane przy wysyłce) | | `var1`, `var2`, `var3`, … | Jeśli szablon ma zmienne | Wartości zmiennych szablonu, w kolejności | 3. Prześlij uzupełniony plik (**Prześlij uzupełniony plik**, format `.xlsx`). 4. Gdy pojawi się co najmniej jeden poprawny odbiorca, kliknij **Dalej**. Limit: **maksymalnie 1000 odbiorców** na kampanię. ### Krok 3 — Podgląd i potwierdzenie Sprawdź: - podgląd szablonu - listę odbiorców (możesz **edytować** lub **usuwać** pojedyncze wiersze) Następnie kliknij **Potwierdź i wyślij**. Kampania jest tworzona ze statusem **Aktywna**, a wiadomości trafiają do kolejki jako **Oczekujące**, zaplanowane na wybraną datę/godzinę. Zostaniesz przeniesiony do **szczegółów kampanii**. --- ## Szczegóły kampanii i wiadomości W szczegółach widzisz: - status i harmonogram kampanii - listę każdej wiadomości z: - nazwą i numerem - następną wysyłką (jeśli nadal w kolejce) - statusem wiadomości - próbami (`retry / max`) - ewentualnym błędem - podglądem wyrenderowanego tekstu (ze podstawionymi zmiennymi) ### Statusy wiadomości | Status | Znaczenie | | ------ | --------- | | **Oczekujące** | W kolejce, jeszcze niewysłane | | **Zaplanowane** | Zaplanowane | | **Wysyłanie** | Wysyłka do Meta w toku | | **Wysłane** | Wysłane pomyślnie | | **Nieudane** | Nieudane po przewidzianych próbach | | **Anulowane** | Anulowane | | **Zarchiwizowane** | Zarchiwizowane (stare wiadomości) | Jeśli wysyłka się nie powiedzie, system może automatycznie **ponowić próbę** (do 10 prób, z oczekiwaniem między nimi). Możesz też edytować lub usunąć z kolejki wiadomości jeszcze niewysłane (tylko owner/admin). ### Anulowanie kampanii Dopóki status to **Aktywna** (lub **Szkic**), możesz użyć **Anuluj kampanię**. Już wysłane wiadomości pozostają wysłane; te nadal w kolejce **nie będą już wysyłane**. --- ## Jak działa wysyłka - Wysyłka zaczyna się w **zaplanowanej dacie/godzinie** (lub wkrótce potem, jeśli ta godzina już minęła). - Wiadomości są wysyłane **po jednej**, z krótką przerwą między wysyłkami. - Każda wiadomość to **szablon WhatsApp** wysyłany przez API Meta na połączeniu pokoju. - Gdy wszystkie wiadomości są **wysłane** lub **nieudane**, kampania przechodzi w status **Zakończona**. --- ## Ważne uwagi - **Tylko API Meta:** sekcja jest dostępna, gdy numer jest połączony przez oficjalne API WhatsApp Business. - **Menu ukryte bez połączonego Business:** jeśli nie widzisz **Broadcast**, sprawdź, czy WhatsApp Business jest połączony i ma status connected. - **Nie korzysta z książki Kontaktów:** numery pochodzą z pliku XLSX (lub ze zmian w podglądzie). - **Koszty Meta:** każdy dostarczalny szablon może generować opłatę według kategorii i reguł Meta. Zobacz też [WhatsApp Coexistence](whatsapp_coexistence.md) w sprawie kosztów przy koegzystencji. - **Zgoda i zgodność:** w kampaniach marketingowych upewnij się, że masz zgodę odbiorców i przestrzegasz polityk WhatsApp / Meta. - **Wysyłka 1:1 z ERP:** aby wysłać wiadomość do jednego kontaktu z zewnętrznego oprogramowania, użyj [Pisz na WhatsApp przez nasze API](invia_whatsapp_api.md). Ta integracja nie zastępuje masowych kampanii Broadcast. --- ## Podsumowanie operacyjne 1. Połącz numer z **API Meta** (status connected). 2. Upewnij się, że jesteś **owner** lub **admin**. 3. Przygotuj **szablony** WhatsApp w Quoting24. 4. Otwórz **Broadcast** → **+ Nowa kampania**. 5. Skonfiguruj nazwę, szablon, datę/godzinę (oraz media nagłówka, jeśli wymagane). 6. Pobierz szablon XLSX, uzupełnij go i prześlij. 7. Sprawdź podgląd i potwierdź. 8. Monitoruj postęp, status kampanii i szczegóły wiadomości. --- # Migracja API WhatsApp URL: https://wiki.quoting24.com/pl/content/migrazione_whatsapp_api/ Language: pl Updated: 2026-11-04 # Migracja API WhatsApp Ten przewodnik wyjaśnia, jak połączyć z **Quoting24** numer, który jest już aktywny na **oficjalnych API WhatsApp** (WhatsApp Business Platform) u innego dostawcy, **bez zmiany numeru**. Sekcja **WhatsApp** jest widoczna **tylko dla administratorów**. Połączenie zawsze zaczyna się w tym samym miejscu w Quoting24: **Ustawienia → WhatsApp → WhatsApp Business → Połącz**. Przycisk **Połącz** otwiera wbudowaną rejestrację Meta (Embedded Signup). Od tego momentu Quoting24 jest dostawcą, który odbiera i wysyła wiadomości tego numeru. Przewidzianym trybem jest połączenie przez oficjalne API, opisane w [Przegląd WhatsApp](whatsapp.md). --- ## Którą procedurę wybrać Meta ma dwa sposoby podłączenia numeru, z którego korzysta już inny dostawca. Zanim klikniesz **Połącz**, sprawdź portfolio w **Meta Business Suite → Ustawienia → Konta**. | Co widzisz w Meta Business Suite | Co zrobić | | --- | --- | | Osobno **Konta WhatsApp** i **Konta do wiadomości** (Messaging Accounts) | Model bieżący: **udostępnij** konto WhatsApp dla Quoting24. Numer zostaje tam, gdzie jest. | | Tylko **Konta WhatsApp** | Model poprzedni: **migruj** numer kodem SMS lub głosowym. | W modelu bieżącym Meta odrzuca przeniesienie numeru z jednego konta na inne. Odłączenie go od poprzedniego dostawcy nie zwalnia numeru. --- ## Co przygotować - Dostęp **administratora** do Quoting24. - Dostęp **administratora** do portfolio Meta (Business Manager), do którego należy numer, z użytkownikiem Facebooka, którego użyjesz w oknie **Połącz**. - Numer już zarejestrowany na oficjalnych API. Bezpłatnych numerów testowych przydzielonych przez Meta nie da się migrować. - Możliwość odebrania SMS-a lub połączenia głosowego na tym numerze, jeśli Meta poprosi o kod. Migracja według poprzedniego modelu wymaga też: - nazwy wyświetlanej **już zatwierdzonej**, bez otwartego wniosku o zmianę nazwy; - weryfikacji dwuetapowej (PIN) **wyłączonej** na numerze, bez usuwania numeru i bez zamykania konta. Jeśli nie masz dostępu do konta WhatsApp, o wyłączenie poproś obecnego dostawcę. --- ## Model bieżący: udostępnij numer Quoting24 Użyj tej procedury, jeśli w Meta Business Suite widać zarówno **Konta WhatsApp**, jak i **Konta do wiadomości**. Zostaw numer aktywny u obecnego dostawcy do końca. Wcześniejsze odłączenie, gdy przychodzą wiadomości klientów, przerywa odbiór. 1. W Quoting24 otwórz **Ustawienia → WhatsApp**. 2. W wierszu **WhatsApp Business** kliknij **Połącz** i zaloguj się jako administrator portfolio Meta. 3. Wybierz numer już zarejestrowany u innego dostawcy. Meta pokazuje go na liście i nie prosi o nowy kod: numer jest już zarejestrowany. 4. Meta proponuje portfolio i konto WhatsApp tego numeru. Potwierdź udostępnienie dla Quoting24. 5. Wpisz nazwę wyświetlaną numeru i kontynuuj. Meta może sprawdzić ją ponownie po aktywacji. 6. Sprawdź żądane uprawnienia (konto WhatsApp, konto do wiadomości i powiązane zasoby) i potwierdź. 7. Zamknij okno Meta. W Quoting24 wiersz **WhatsApp Business** ma stan **połączono**. Meta tworzy dla Quoting24 nowe konto do wiadomości w ramach tego samego konta WhatsApp. Poprzedni dostawca pozostaje podłączony, dopóki go nie usuniesz. ### Jak skierować wiadomości do Quoting24 Samo udostępnienie nie przenosi wiadomości przychodzących. Dopóki poprzedni dostawca jest partnerem, Meta może nadal dostarczać je do niego. Gdy wiersz **WhatsApp Business** w Quoting24 jest połączony: 1. W **Meta Business Suite** otwórz **Ustawienia → Konta → Konta do wiadomości**, wybierz konto, przejdź do **Partnerzy** i usuń dostęp aplikacji poprzedniego dostawcy. 2. Otwórz **Ustawienia → Konta → Konta WhatsApp**, wybierz konto numeru, przejdź do **Partnerzy** i usuń tam również dostęp tego samego dostawcy. 3. W tym samym koncie WhatsApp otwórz **Routing konwersacji** (Conversation routing) i przypisz Quoting24 każdy typ konwersacji. Na liście partnerów może widnieć nazwa aplikacji Meta powiązanej z Quoting24, a nie napis „Quoting24”. Jeśli nie wiadomo, który dostęp usunąć, zatrzymaj się i zapytaj wsparcie Quoting24, zanim usuniesz partnera. Gdy zostaje jeden partner, Meta wyłącza routing i dostarcza wiadomości do tego partnera. ### Co zostaje w tym modelu Zostają przy numerze, bo konto WhatsApp się nie zmienia: - numer telefonu - nazwa wyświetlana - ocena jakości - limity wiadomości - status Official Business Account, jeśli był już aktywny **Szablony** należą do konta do wiadomości, nie do numeru. Konto utworzone dla Quoting24 startuje puste: szablony poprzedniego dostawcy trzeba **odtworzyć w Quoting24** i ponownie zatwierdzić w Meta. Dopóki nie są zatwierdzone: - z Quoting24 możesz swobodnie odpowiadać tylko w ciągu **24 godzin** od ostatniej wiadomości klienta; - w [Broadcast API](broadcast_api.md) nie ma szablonów do wyboru. Czaty zapisane w poprzednim oprogramowaniu **nie** trafiają do ticketów Quoting24. Wiadomości, które przychodzą po połączeniu, stają się ticketami. Czaty już obecne w telefonie klienta zostają w aplikacji WhatsApp klienta. --- ## Model poprzedni: migruj numer Użyj tej procedury tylko wtedy, gdy w Meta Business Suite widać **wyłącznie Konta WhatsApp**. ### Wyłącz weryfikację dwuetapową Poproś obecnego dostawcę o wyłączenie kodu PIN numeru albo zrób to sam z portfolio Meta, jeśli masz dostęp. Numer i konto muszą pozostać aktywne. Usuwa się tylko weryfikację dwuetapową. ### Połącz numer z Quoting24 1. W Quoting24 otwórz **Ustawienia → WhatsApp**. 2. W wierszu **WhatsApp Business** kliknij **Połącz** i zaloguj się jako administrator portfolio Meta. 3. Wybierz **utworzenie nowego konta WhatsApp**. To krok, którym Meta przenosi istniejący numer: to nie jest drugi numer. 4. Wpisz **tę samą nazwę wyświetlaną**, już zatwierdzoną dla tego numeru. 5. Wpisz **ten sam numer**. Meta informuje, że jest już zarejestrowany na koncie WhatsApp Business albo u innego dostawcy. 6. Poproś o kod przez **SMS** lub **połączenie głosowe** i wpisz go. 7. Dokończ pozostałe kroki w oknie Meta. Przeniesienie zwykle kończy się w ciągu kilku minut. W Quoting24 wiersz **WhatsApp Business** przechodzi w stan **połączono**. W trakcie odbiór może przerwać się na kilka minut. ### Co zostaje, a co trzeba zrobić od nowa Przy numerze zostają: - nazwa wyświetlana - ocena jakości - status Official Business Account - limity wiadomości W Quoting24 trzeba zrobić od nowa: - **szablony**, które należy wysłać ponownie i zatwierdzić w Meta, zanim napiszesz poza oknem 24 godzin i zanim użyjesz [Broadcast API](broadcast_api.md); - kampanie poprzedniego dostawcy; - historię czatu tego oprogramowania, która nie jest importowana. Nowe wiadomości przychodzą jako tickety. --- ## Numer już w koegzystencji u innego dostawcy Jeśli ten sam numer jest używany **jednocześnie** przez aplikację WhatsApp Business i przez API u innego dostawcy, połączenie API samo nie podłącza ponownie aplikacji na telefonie. 1. Zrób **kopię zapasową czatów** w aplikacji WhatsApp Business. 2. Zarejestruj ten sam numer w aplikacji **WhatsApp osobisty**: numer znika z aplikacji Business. 3. Zarejestruj go ponownie w aplikacji **WhatsApp Business**. 4. W Quoting24 kliknij **Połącz** przy **WhatsApp Business** i dokończ koegzystencję opisaną w [WhatsApp Coexistence](whatsapp_coexistence.md): w aplikacji **Ustawienia → Połączone urządzenia → Połącz urządzenie**, a następnie zeskanuj kod QR pokazany przez Quoting24. Aby przenieść numer wyłącznie na API, bez aplikacji na telefonie, użyj procedury modelu Meta sprawdzonego wyżej. --- ## Po połączeniu - Nowe wiadomości numeru stają się **ticketami** w Quoting24. - Poza 24 godzinami od ostatniej wiadomości klienta pisze się **zatwierdzonym szablonem**. Zasady oficjalnego kanału są w [Przegląd WhatsApp](whatsapp.md). - Kampanie tworzy się w [Broadcast API](broadcast_api.md), gdy szablony są dostępne w Quoting24. - Aby korzystać też z aplikacji WhatsApp Business na tym samym numerze, potrzebna jest [WhatsApp Coexistence](whatsapp_coexistence.md). - Grupy i listy broadcast aplikacji nie przechodzą na API. --- ## Gdy procedura się zatrzyma - **Meta odrzuca przeniesienie numeru.** Portfolio jest w modelu bieżącym: wróć do udostępniania i zostaw numer zarejestrowany u poprzedniego dostawcy, aż Quoting24 pokaże stan połączono. - **Kod SMS lub głosowy nie dociera.** W poprzednim modelu weryfikacja dwuetapowa jest nadal włączona. Wyłącz ją i kliknij **Połącz** ponownie. - **Nazwa wyświetlana blokuje poprzednią migrację.** Meta przyjmuje przejście tylko przy zatwierdzonej nazwie i bez oczekującej zmiany nazwy. - **Quoting24 jest połączone, ale wiadomości nie dochodzą.** W modelu bieżącym routing nadal wskazuje poprzedniego dostawcę. Sprawdź **Partnerzy** i **Routing konwersacji**, zanim odłączysz numer. - Jeśli partnera do usunięcia nie da się rozpoznać, skontaktuj się ze wsparciem Quoting24 i podaj numer oraz ID portfolio Meta. --- # Kanał Widget — Przegląd URL: https://wiki.quoting24.com/pl/content/widget/ Language: pl Updated: 2026-11-04 # Kanał Widget — Przegląd **Kanał Widget** przyjmuje zgłoszenia pomocy i wyceny ze **strony internetowej**. Odwiedzający otwierają czat na stronie; wiadomości trafiają do Quoting24 jako zgłoszenia, a operatorzy odpowiadają ze zwykłego interfejsu, tą samą logiką co na pozostałych kanałach. Interfejs działa w **iframe**. Strona gospodarza potrzebuje skryptu i, gdy dane są już znane, wywołania `init()`. Nie są potrzebne Angular, klient Supabase ani bezpośredni dostęp do bazy Quoting24. --- ## Jaka integracja jest potrzebna Powiązanie firmy i przywrócenie historii to osobne operacje. `external_id`, `company_name`, `name`, `phone` i `email` nie dają dostępu do rozmów innej osoby. Użytkownik już zalogowany na stronie pozostaje gościem widgetu, dopóki strona nie przekaże ważnego poświadczenia przywrócenia. | Przypadek | Co wdrożyć | Ciągłość | Sekcja | | --- | --- | --- | --- | | Strona publiczna, nieznany odwiedzający | Tylko skrypt. Odwiedzający wypełnia formularz kontaktu. | Sesja gościa w tej samej przeglądarce | [Widget B2C](widget_b2c.md) | | Strona zna już profil i firmę | Skrypt i `init()` z profilem oraz danymi firmy | Wstępnie wypełniona sesja gościa i powiązanie firmy | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portal z osobistą historią między urządzeniami | Także integracja backendu dla `external_user_id` i `restore_id` | Osobista historia na uprawnionym kanale widget | [Widget B2B](widget_b2b.md) | | Kontrakt pól, CSP, login/logout, provisioning | Przewodnik dla programistów | — | [Integracja techniczna](widget_tecnico.md) | --- ## Co robi widget - Pokazuje **pływający przycisk** albo czat **osadzony** na stronie - Dla nowego odwiedzającego otwiera formularz z etykietami Telefon i Imię. W `init()` pola nazywają się `phone` i `name`; e-mail, gdy strona go zna, nazywa się `email` - Jeśli strona wywoła `init()`, używa już znanych danych i może powiązać kontakt z firmą przez `external_id` (`web_code`). Gdy firmy brakuje i dochodzi też `company_name`, może ją utworzyć - Otwiera rozmowę prowadzoną w Quoting24 jak na pozostałych kanałach - Przyjmuje załączniki PDF, DOC/DOCX, JPG/JPEG i PNG, do 10 MiB na plik i 100 MiB załączników wskazanych w rozmowie - Pokazuje powitanie, wiadomość powitalną i, poza godzinami, skonfigurowany baner. Pisanie wiadomości pozostaje dostępne Loader przechowuje poświadczenie gościa w `localStorage` strony, osobno dla klucza widgetu. Gdy pamięć jest zablokowana, ciągłość może ograniczyć się do bieżącej strony. Sesja gościa pozwala odczytać najnowszą rozmowę po zamknięciu, w tej samej przeglądarce. Inne urządzenie wymaga [uwierzytelnionego przywrócenia](widget_b2b.md). --- ## Gdzie to skonfigurować w Quoting24 1. Otwórz **Ustawienia → Kanały** 2. Wybierz kanał **Widget** 3. Otwórz konfigurację Ustawia się tam: - logo, kolor główny, pozycję przycisku - wiadomość powitalną na starcie, wiadomość powitalną, wiadomość poza godzinami - **dozwolone domeny** - **kod osadzenia** (pełny URL skryptu i publiczny klucz widgetu) Godziny kanału decydują o banerze poza godzinami. Poproś administratora o kod osadzenia i dozwolone domeny, łącznie z testami i rozwojem lokalnym. Użyj URL i klucza tego samego środowiska. W przykładach zastąp `HOST_WIDGET` i `KLUCZ_PUBLICZNY_WIDGET` otrzymanymi wartościami. Dozwolone domeny to nazwy hostów, na przykład `shop.example.com` albo `localhost`, bez `https://`, portu, ścieżki i prefiksu `*.`. `example.com` dopuszcza też swoje subdomeny. Pusta lista nie nakłada ograniczenia domeny. Do testu lokalnego serwuj stronę przez HTTP: otwarcie jako plik nie wystarcza. Logo, kolor, pozycję i komunikaty konfiguruje się w Quoting24. `company_name` przekazane do `init()` to nazwa firmy klienta, nie tytuł widgetu. Nie ma publicznego parametru `language` ani `locale`: bieżący interfejs jest po włosku. --- ## Dwa sposoby pokazania go na stronie ### Pływający przycisk Skrypt dodaje przycisk po załadowaniu ustawień graficznych. Kliknięcie otwiera czat. Na telefonie pływający czat może zająć viewport. Zobacz [Widget B2C](widget_b2c.md). ### Czat osadzony Czat zajmuje kontener strony, z jawną wysokością. Nie ma pływającego przycisku: układ i tytuł daje strona. W tym trybie `open()`, `close()` i `toggle()` nie działają. Strona steruje wysokością i szerokością kontenera. Zobacz [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Jedna instancja na stronę: loader udostępnia jedno `window.Quoting24Widget`. Drugi skrypt nie tworzy drugiego widgetu. --- ## Klucz publiczny i sekrety {#chiave-pubblica-e-segreti} | Wartość | Gdzie jest | Do czego służy | | --- | --- | --- | | Publiczny klucz widgetu | URL skryptu | Wybiera kanał. Jest publiczny: to nie poświadczenie osobiste ani sekret integracji backendu | | Prywatny sekret integracji | Tylko w backendzie strony | Pozwala tworzyć i ponownie używać `restore_id` | | `restore_id` | Prywatny magazyn na użytkownika, w backendzie | Poświadczenie, którym przywraca się historię tej osoby na tym widgecie | | Poświadczenie sesji gościa | `localStorage` strony, zarządzane przez loader | Ciągłość gościa w tej samej przeglądarce, według klucza widgetu | --- ## Przebieg dla operatora 1. Odwiedzający otwiera czat na stronie i wysyła wiadomość 2. W Quoting24 powstaje albo trwa **zgłoszenie** na kanale Widget 3. Jeśli inicjalizacja rozwiązała `external_id`, kontakt jest powiązany z firmą o tym `web_code`. Firma właśnie utworzona przez widget ma nazwę i, jeśli wysłano, e-mail; istniejącej firmy `init()` nie zmienia nazwy 4. Operator obsługuje zgłoszenie i odpowiada z czatu 5. Klient widzi odpowiedzi w widgecie Wiadomości widgetu usuwa się tylko **dla wszystkich**. Dane przychodzą z przeglądarki i odwiedzający może je zmienić. Powiązanie z firmą nie dowodzi tożsamości i nie otwiera historii pozostałych kontaktów tej firmy. --- ## Od czego zacząć 1. Skonfiguruj wygląd, godziny i domeny w **Ustawienia → Kanały → Widget** 2. Strona publiczna albo portal, który wstępnie wypełnia profil: [Widget B2C](widget_b2c.md) 3. Historia tej samej osoby w innej przeglądarce: [Widget B2B](widget_b2b.md) 4. Pola, tworzenie firmy, CSP i lista kontrolna: [Integracja techniczna](widget_tecnico.md) --- # Widget B2C — gość i firma URL: https://wiki.quoting24.com/pl/content/widget_b2c/ Language: pl Updated: 2026-11-04 # Widget B2C — gość i firma Ta sekcja opisuje integracje, w których widget zostaje w **sesji gościa**: - strona publiczna, nieznany odwiedzający: tylko skrypt i formularz kontaktu - strona albo portal zna już konto: `init()` z profilem i danymi firmy, formularz pominięty, gdy danych wystarcza, kontakt powiązany z firmą Osobista historia w innej przeglądarce albo na innym urządzeniu to inna integracja. Zobacz [Widget B2B](widget_b2b.md). Pełny kontrakt pól, zmiana konta w SPA, CSP i provisioning: [Integracja techniczna](widget_tecnico.md). **Powiązanie firmy nie daje historii innej osoby.** Użytkownik zalogowany na stronie pozostaje gościem widgetu, dopóki nie wyślesz `external_user_id` razem z ważnym `restore_id`. --- ## Co dostajesz - Pływający przycisk albo czat osadzony w kontenerze strony - Formularz początkowy dla nieznanego, z etykietami Telefon i Imię. W `init()` pola to `phone` i `name` - Sesję gościa zapisaną przez loader w tej samej przeglądarce, osobno dla klucza widgetu. Gdy `localStorage` jest zablokowany, ciągłość może zostać na bieżącej stronie - Gdy wysyłasz `external_id`, Quoting24 szuka firmy z tym samym `web_code`. Z `company_name` może utworzyć brakującą firmę i powiązać kontakt - Zgłoszenia i odpowiedzi w Quoting24, jak na pozostałych kanałach Sesja gościa czyta swoją najnowszą rozmowę także po zamknięciu karty. Nie podąża za osobą do innej przeglądarki. --- ## 1. Wymagania w Quoting24 1. Kanał **Widget** aktywny w **Ustawienia → Kanały** 2. Logo, kolor, pozycja, powitanie, wiadomość powitalna i komunikat poza godzinami skonfigurowane 3. **Dozwolone domeny** aktualne, łącznie z testami i `localhost` 4. Kod osadzenia skopiowany z konfiguracji kanału: URL skryptu i klucz publiczny Użyj hosta i klucza **tego samego środowiska**. W przykładach zastąp `HOST_WIDGET` i `KLUCZ_PUBLICZNY_WIDGET`. Domeny to nazwy hostów, bez `https://`, portu, ścieżki i `*.`. `example.com` obejmuje subdomeny. Pusta lista: brak ograniczenia. Lokalnie serwuj stronę przez HTTP, nie jako `file://`. `company_name` w `init()` to nazwa firmy klienta. To nie tytuł widgetu i nie konfiguruje się go z tego payloadu. --- ## 2. Instalacja pływającego przycisku Wklej skrypt **raz**, przed ``: ```html ``` Przycisk pojawia się po załadowaniu ustawień graficznych. Nowy odwiedzający widzi formularz kontaktu. Kto wraca w tej samej przeglądarce, wznawia sesję gościa, jeśli pamięć jest dostępna. Skrypt udostępnia jedno `window.Quoting24Widget`. --- ## 3. Osadzenie czatu na stronie {#incorporare-la-chat-in-pagina} Utwórz kontener **przed** skryptem i nadaj mu jawną wysokość: ```html

Wsparcie

``` - `target` to ID elementu, bez `#` - Iframe wypełnia kontener - Nie ma pływającego przycisku - `open()`, `close()` i `toggle()` nie działają - W tym trybie strona decyduje o wysokości i szerokości. W trybie pływającym na telefonie czat może zająć viewport Sam tryb osadzony nie włącza przywracania historii. --- ## 4. Wysłanie profilu klienta {#inviare-il-profilo-del-cliente} Gdy strona zna konto, wysyła profil po załadowaniu loadera. Pola są **łańcuchami**. Pomiń nieznane: nie wysyłaj `null`, liczbowych ID ani pustego e-maila. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Dana na stronie albo w ERP | Pole | Znaczenie | | --- | --- | --- | | Stabilne odniesienie firmy, ta sama wartość zaimportowana do `web_code` | `external_id` | Dokładne porównanie z `companies.web_code`, w organizacji widgetu | | Nazwa firmy | `company_name` | Używana, gdy firmę trzeba utworzyć | | Imię osoby albo użytkownika | `name` | Imię pokazywane przy kontakcie | | E-mail konta | `email` | Zapisywany przy firmie tylko w chwili jej utworzenia | | Telefon, jeśli go znasz | `phone` | Numer kontaktu. Wolisz format międzynarodowy, na przykład `+393331234567` | Ten payload nie wysyła `external_user_id` ani `restore_id`. Trzymaj `name` i `company_name` osobno: nie doklejaj nazwy firmy do nazwy użytkownika, żeby uzyskać powiązanie. Publiczne pole to `external_id`. Nie wysyłaj `web_code`, wewnętrznego UUID Quoting24 ani `companies.code`. Formularz pokazuje **Imię** i **Telefon**. W `init()` te pola nazywają się `name` i `phone`. E-mail nazywa się `email`. `Imię`, `Telefon` i `Email` nie są kluczami: loader je odrzuca, tak jak odrzuca `web_code` zamiast `external_id`. ### Przykłady Imię i telefon, te same dane co w formularzu. Czat startuje i nie szuka firmy. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Profil z firmą. `name` to osoba, `phone` numer kontaktu, a `email` trafia do firmy tylko wtedy, gdy to wywołanie ją tworzy. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` Sam e-mail. Poprawny adres w `email` wystarcza, żeby otworzyć sesję. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Gdy pole przekracza limity albo e-mail jest źle zbudowany, żądanie jest odrzucane. Limity i zachowanie każdego pola: [Integracja techniczna](widget_tecnico.md#campi-di-init). ### Czekanie na loader Skrypt `async` może jeszcze nie być wykonany, gdy późniejszy kod woła `init()`. Przy danych wstępnych użyj modułu ładowania **zamiast** statycznego znacznika, importowanego raz w głównym układzie: ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=KLUCZ_PUBLICZNY_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API widgetu jest niedostępne")); } }; script.onerror = () => { script.remove(); reject(new Error("Nie udało się załadować widgetu")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Zaimportuj moduł z bundlera albo załaduj plik wejściowy przez ``. W trybie osadzonym dodaj `&mode=embedded&target=chat-wsparcia` do URL i najpierw zamontuj kontener. `loadWidget()` zgłasza tylko, że API JavaScript jest dostępne. `init()` zwraca `void`: kolejkuje profil, gdy iframe nie jest gotowy, i nie czeka na sesję. Wynik sprawdzaj przez `isReady()` i `hasSessionError()`. `init()` **zastępuje** zapisany profil. Nie scala go z poprzednim. Przekaż wszystkie pola, które mają zostać. Zmiana strony w SPA nie wymaga nowego skryptu ani `reset()`. Przy zmianie osoby albo konta i przy wylogowaniu wywołaj `reset()` przed nowym profilem: sama zmiana pól nie odłącza poprzedniej sesji gościa. Pełny wzorzec: [Logowanie, wylogowanie i zmiana konta](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Jak firma jest powiązywana albo tworzona Quoting24 wykonuje ten przebieg przy inicjalizacji, nawet gdy odwiedzający nie wysłał jeszcze wiadomości: 1. Przy niepustym `external_id` szuka firmy tej samej organizacji, której `web_code` jest równy tej wartości 2. Gdy ją znajdzie, wiąże kontakt. Nazwa i e-mail istniejącej firmy zostają 3. Gdy jej nie znajdzie i jest też niepuste `company_name`, tworzy firmę z `name = company_name`, `web_code = external_id` i e-mailem, jeśli jest, a potem wiąże kontakt 4. Gdy nie może znaleźć ani utworzyć firmy, idzie dalej z dostępnym profilem. Gdy to nie wystarcza nowemu gościowi, pokazuje formularz. Błędy bazy albo limit żądań kończą inicjalizację niepowodzeniem | Wysłane dane | Sytuacja w Quoting24 | Wynik | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Istnieje `web_code = "52"` | Używa istniejącej firmy i nie zmienia jej nazwy | | Te same dane plus ważny e-mail | Nie istnieje `web_code = "52"` | Tworzy firmę z kodem web `52`, nazwą i e-mailem oraz wiąże kontakt | | `external_id: "52"`, `name: "mario.rossi"` | Brak dopasowania | Uruchamia gościa bez nowego powiązania firmy | | `external_id: "52"`, bez innych danych | Jest dopasowanie | Uruchamia gościa powiązanego z firmą, z domyślnym imieniem `Visitatore` | | `external_id: "52"`, bez innych danych | Brak dopasowania | Pokazuje formularz kontaktu | | `company_name` bez `external_id`, plus `name` | Dowolna | Uruchamia odwiedzającego. Nie szuka i nie tworzy firmy | Wyszukiwanie nie używa nazwy firmy, e-maila, telefonu, NIP ani `companies.code`. `"052"` i `"52"` to różne wartości; spacje w `external_id` nie są usuwane. Jeśli najpierw importujesz kartotekę, wpisz w `web_code` tę samą wartość, którą strona wyśle w `external_id`. Zobacz też [Firmy → Kod web](companies.md#codice-web-web_code). Nowy gość startuje, gdy jest przynajmniej imię, telefon, ważny e-mail albo `external_user_id`, albo firma znaleziona albo utworzona przez `external_id`. `init({})` i samo `company_name` nie zaczynają sesji. Dla już powiązanego kontaktu nowy ważny kod może zmienić firmę. Pominięcie kodu albo wysłanie nierozwiązanego nie kasuje poprzedniego powiązania. Zmiana osoby albo konta wymaga `reset()`. ### Limity `web_code` nie jest unikalny. Przy kilku dopasowaniach publiczna inicjalizacja bierze pierwsze według rosnącej daty utworzenia. Równoczesne żądania, które jeszcze nie znajdują firmy, mogą utworzyć więcej niż jedną: tworzenie nie jest atomowe i nie zastępuje importu ani synchronizacji z ERP. Tworzenie niejawne jest ograniczone do 20 prób na okno 60 sekund i adres IP, w procesie backendu obsługującym żądanie. Powyżej limitu inicjalizacja kończy się `TOO_MANY_REQUESTS`: ponów z oczekiwaniem, bez ciągłych pętli `init()`. Dane wychodzą z przeglądarki i odwiedzający może je zmienić. Powiązanie nie dowodzi przynależności do firmy i nie daje historii firmy. Wysyłaj `company_name` tylko wtedy, gdy chcesz dopuścić to publiczne tworzenie. Istniejące firmy aktualizuj narzędziami Quoting24 albo autoryzowaną integracją ERP. E-mail publicznej inicjalizacji trafia tylko do nowej firmy. Nie jest zapisywany przy kontakcie i nie aktualizuje firmy już istniejącej. Telefon używany już przez inny kontakt nie scala kontaktów ani czatów. --- ## 6. Zachowanie na stronie | Sytuacja | Oczekiwane zachowanie | | --- | --- | | Pierwszy odwiedzający, tylko skrypt | Przycisk, potem formularz, potem czat | | `init()` z wystarczającym profilem | Formularz pominięty | | `external_id` już obecne jako `web_code` | Kontakt powiązany; nazwa i e-mail firmy bez zmian | | Nowe `external_id` z `company_name` | Firma utworzona i kontakt powiązany | | Nowy kod i imię, bez `company_name` | Czat bez nowej firmy | | Tylko nowy kod | Formularz kontaktu | | Tylko nazwa firmy i imię | Brak wyszukiwania i tworzenia po nazwie | | Przeładowanie w tej samej przeglądarce | Sesja gościa wznowiona, jeśli pamięć jest dostępna | | Inna przeglądarka albo urządzenie | Nowa sesja gościa | | Poza godzinami | Baner poza godzinami; pisanie zostaje użyteczne | | Telefon, pływający przycisk | Czat może zająć viewport | Załączniki: PDF, DOC, DOCX, JPG/JPEG, PNG. Najwyżej 10 MiB na plik i 100 MiB załączników wskazanych w rozmowie. --- ## 7. Przydatne sterowanie Gdy pływający przycisk jest widoczny, możesz podłączyć przycisk strony do `window.Quoting24Widget?.open()`. | Metoda | Użycie | | --- | --- | | `init(profile)` | Ustawia albo zastępuje bieżący profil | | `open()` / `close()` / `toggle()` | Tylko widget pływający. Zamknięcie nie jest wylogowaniem | | `isReady()` | Sesja odwiedzającego uruchomiona. Na formularzu kontaktu zostaje fałszem | | `hasSessionError()` | Błąd sesji zgłoszony przez iframe | | `reset()` | Czyści profil, sesję lokalną, zapisane poświadczenie gościa i nieprzeczytane tej instancji | | `dispose()` | Demontuje interfejs i nasłuchiwanie. Nie czyści zapisanego poświadczenia gościa ani globalnego obiektu API | Nie czekaj na `isReady()`, żeby nowy gość otworzył formularz. Nie ma publicznego zdarzenia gotowości. Te wskaźniki nie opisują całego stanu sieci. --- ## Lista kontrolna przed wdrożeniem - [ ] Host i klucz tego samego środowiska - [ ] Domeny strony i stagingu na liście, tylko jako nazwy hostów - [ ] Logo, kolor, powitanie, wiadomość powitalna i komunikat poza godzinami sprawdzone - [ ] Nowa przeglądarka, tylko skrypt: formularz, wiadomość, zgłoszenie w Quoting24 - [ ] `external_id` już w `web_code`: powiązanie, kartoteka firmy bez zmian - [ ] Nowy kod z `company_name`: firma utworzona z tym kodem web - [ ] Nowy kod bez `company_name`: żadna firma nie utworzona - [ ] Pusty e-mail, liczbowe ID albo za długa nazwa firmy: payload odrzucony, do poprawy - [ ] Przeładowanie i nawigacja SPA: jedna instancja, sesja gościa zachowana - [ ] Zmiana konta: natychmiast `reset()`, spóźnione odpowiedzi odrzucone - [ ] Telefon: pisanie użyteczne - [ ] Niedozwolona domena: widget odrzucony Częste problemy: [Rozwiązywanie problemów](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — historia na innych urządzeniach URL: https://wiki.quoting24.com/pl/content/widget_b2b/ Language: pl Updated: 2026-11-04 # Widget B2B — historia na innych urządzeniach Ta sekcja opisuje przywrócenie **osobistej historii** widgetu, gdy ta sama osoba otwiera stronę z innej przeglądarki albo innego urządzenia. Strona musi uwierzytelnić osobę. Jej backend pobiera i prywatnie przechowuje poświadczenie przywrócenia dla tego użytkownika i tego widgetu. Przeglądarka przekazuje je do `init()` razem z profilem. Sam skrypt albo wstępne wypełnienie profilu i firmy z pozostaniem w sesji gościa: [Widget B2C](widget_b2c.md). Endpointy, trwałość i współbieżność `restore_id`: [Integracja techniczna](widget_tecnico.md#provisioning-da-backend). --- ## Co dochodzi względem sesji gościa | | Gość | Przywrócenie | | --- | --- | --- | | Logowanie na stronie | Niewymagane | Wymagane, bo poświadczenie wychodzi z Twojego backendu | | Dane, które identyfikują czat | Poświadczenie gościa w przeglądarce albo profil przekazany do `init()` | `external_user_id` i `restore_id` razem | | Ciągłość | Ta sama przeglądarka | Inne przeglądarki i urządzenia, na uprawnionym kanale widget | | Kto wystawia poświadczenie | Loader | Backend strony, przez Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` i `external_user_id` same nie przywracają historii. `external_user_id` bez `restore_id` nie wystarcza. Pole nazywa się `restore_id`, w snake case: `restoreId` nie jest polem loadera. Przywrócenie nie scala starych sesji gościa i nie udostępnia historii współpracownikom tej samej firmy. Dotyczy tylko kanału widget. Pola firmy można wysłać w tym samym `init()`. Powiązanie albo utworzenie idzie według zasad [payloadu gościa](widget_b2c.md#inviare-il-profilo-del-cliente): jest niezależne od przywrócenia i nie dowodzi tożsamości. --- ## Przebieg 1. Klient loguje się w portalu 2. Uwierzytelniony backend prosi Quoting24 o poświadczenie (`provisionRestoreId`) albo używa już zapisanego 3. Strona wywołuje `init()` z tym samym `external_user_id`, `restore_id` i, gdy trzeba, danymi firmy 4. Quoting24 sprawdza poświadczenie i pokazuje rozmowy widgetu widoczne dla tej osoby, także już zamknięte 5. Przy wylogowaniu albo zmianie osoby strona wywołuje `reset()`, żeby poprzedni czat nie został w przeglądarce ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` to odpowiedź backendu dla uwierzytelnionego użytkownika. Użyj jej bez zmian. Najwyżej 200 znaków. Wymaga odpowiadającego `external_user_id`: stabilnego ID jednej osoby, niepustego, najwyżej 100 znaków po trim. To nie jest wspólne ID firmy. `external_id` jest porównywane z `web_code`. Razem z `company_name` może utworzyć brakującą firmę. Nie uwierzytelnia użytkownika i nie zastępuje `restore_id`. --- ## Wymagania Oprócz brandingu, domen i kodu osadzenia: - integracja backendu dopuszczona w Quoting24 - prywatny sekret integracji, tylko na serwerze - endpoint provisioningu, zwykle `widget.provisionRestoreId` - prywatny magazyn w bazie strony, jedno poświadczenie na użytkownika i widget Publiczny klucz w URL skryptu i sekret integracji to różne wartości. Zobacz [przegląd](widget.md#chiave-pubblica-e-segreti). --- ## Endpoint w backendzie strony `/api/widget/session` to przykład do wdrożenia w portalu. To nie jest publiczny URL Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - Tożsamość bierze się z sesji serwera, nie z ID wybranego przez przeglądarkę - `Cache-Control: no-store` - Nie loguj i nie zapisuj w pamięci podręcznej `restore_id` - Nie umieszczaj sekretów w URL skryptu ani w atrybutach `data-*` - Zapisz poświadczenie **zanim** odeślesz je do przeglądarki Kontrakt wobec Quoting24 (`attempt_id`, `saved_restore_id`, blokada, ponowne użycie klucza) jest w [integracji technicznej](widget_tecnico.md#provisioning-da-backend). Jeśli portal ma już uwierzytelniony endpoint, który dla bieżącego użytkownika zwraca `restore_id` tego widgetu, użyj tej odpowiedzi. Połącz ją z ID osoby i odniesieniem firmy w wywołaniu `init()`. --- ## Logowanie, przeładowanie, zmiana konta, wylogowanie Odróżnij przeładowanie strony od rzeczywistej zmiany osoby albo konta. - Przeładowanie przy nadal aktywnym logowaniu: `init()` **bez** `reset()`, żeby została zapisana sesja gościa, jeśli tylko ponownie podajesz profil. Przy przywróceniu użyj już utrwalonego poświadczenia: nie generuj nowego przy każdym wyświetleniu strony - Zmiana osoby, zmiana konta, wylogowanie: natychmiast `reset()`, potem nowy profil albo brak `init()`, jeśli użytkownik wyszedł - Odrzuć odpowiedzi przywrócenia, które dojdą po zmianie: stara odpowiedź nie jest nowym logowaniem - W SPA trzymaj jedną instancję w głównym układzie. Zmiana trasy nie uruchamia provisioningu ponownie Gdy przywrócenie jest niedostępne, możesz zaproponować czat gościa: `reset()`, potem `init()` bez `restore_id`. Ten czat pozostaje oddzielony od przywróconej historii. Poświadczenie nieważne, należące do innego użytkownika albo unieważnione jest odrzucane. Quoting24 nie zamienia go w sesję gościa. Przycisk «Riprova» widgetu sam nie prosi Twojego backendu o nowe `restore_id`. Bieżący interfejs jest po włosku, więc ta etykieta jest po włosku. Przykład `applyWidgetAuth` i demontażu: [Integracja techniczna](widget_tecnico.md#login-logout-e-cambio-account). `reset()` zapomina sesję gościa tej instancji i poświadczenie zapisane w przeglądarce. Nie unieważnia `restore_id` na serwerze i nie zamyka sesji na innych urządzeniach. Strona musi zaktualizować pozostałe otwarte karty. --- ## Poprzednie rozmowy W przywróconej historii zamknięte czaty mogą pojawić się jako poprzednia rozmowa. - Otwarcie ich do odczytu nie otwiera starej rozmowy na nowo - Nowe wiadomości zostają w aktywnej rozmowie --- ## Lista kontrolna przed wdrożeniem - [ ] Sekret integracji tylko na serwerze - [ ] `external_user_id` stabilne i na osobę, identyczne między provisioningiem a `init()` - [ ] `restore_id` utrwalone przed odpowiedzią do przeglądarki i używane ponownie przy kolejnych wizytach - [ ] Ten sam użytkownik w drugiej przeglądarce: ta sama historia - [ ] Dwóch użytkowników tej samej firmy: osobne historie - [ ] `external_id` i `company_name` sprawdzone w kartotece, bez oczekiwania, że przywrócą czat - [ ] Wylogowanie albo zmiana konta w trakcie pobierania: na ekranie nie zostaje czat poprzedniego użytkownika - [ ] Przejście gość ↔ przywrócenie z `reset()` pośrodku - [ ] Poświadczenie unieważnione albo nieważne: błąd, bez cichego powrotu do gościa Testy i objawy: [Sprawdzenie integracji](widget_tecnico.md#verificare-lintegrazione) · [Rozwiązywanie problemów](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Integracja techniczna URL: https://wiki.quoting24.com/pl/content/widget_tecnico/ Language: pl Updated: 2026-11-04 # Widget — Integracja techniczna Przewodnik dla programistów: skrypt, payload `init()`, powiązanie i tworzenie firmy, cykl życia, uwierzytelnione przywrócenie (`restore_id`), CSP i weryfikacja. Strony ścieżki: [Przegląd](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Wydanie odniesienia:** 26 października 2026. Przywrócenie między urządzeniami dochodzi do payloadu firmy. Zanim je włączysz, sprawdź, czy `provisionRestoreId` jest dostępne w Twojej instalacji. Interfejs działa w iframe. Strona gospodarza nie potrzebuje Angulara, klienta Supabase ani dostępu do bazy Quoting24. --- ## Wybór typu integracji | Przypadek | Implementacja | Ciągłość | | --- | --- | --- | | Strona publiczna, nieznany odwiedzający | Tylko skrypt. Formularz kontaktu | Sesja gościa w tej samej przeglądarce | | Strona z danymi klienta | Skrypt i `init()` z profilem i firmą | Wstępnie wypełniona sesja gościa i powiązanie firmy | | Portal z osobistą historią między urządzeniami | Także backend dla `external_user_id` i `restore_id` | Osobista historia na uprawnionym kanale widget | Powiązanie firmy i przywrócenie historii to osobne operacje. `external_id`, `company_name`, imię, e-mail i telefon nie dają rozmów innej osoby. Użytkownik zalogowany na stronie pozostaje gościem widgetu, dopóki nie podasz ważnego poświadczenia przywrócenia. --- ## 1. Konfiguracja z Quoting24 W **Ustawienia → Kanały** otwórz kanał widget i pobierz: - pełny URL skryptu i **klucz publiczny** - **dozwolone domeny**, łącznie z testami i rozwojem lokalnym - logo, kolor, pozycję, powitanie, wiadomość powitalną i godziny Użyj URL i klucza tego samego środowiska. W przykładach zastąp `HOST_WIDGET` i `KLUCZ_PUBLICZNY_WIDGET`. Klucz w URL jest publiczny i wybiera kanał: to nie poświadczenie osobiste ani sekret integracji backendu. Domeny to nazwy hostów (`shop.example.com`, `localhost`), bez `https://`, portu, ścieżki i prefiksu `*.`. `example.com` dopuszcza też swoje subdomeny. Pusta lista nie nakłada ograniczenia. Do testu lokalnego serwuj stronę przez HTTP, nie jako plik. | Wartość | Gdzie ją trzymać | Cel | | --- | --- | --- | | Klucz publiczny | URL skryptu | Wybiera kanał widget | | Prywatny sekret integracji | Tylko sekrety backendu | Pozwala tworzyć i ponownie używać `restore_id` | | `restore_id` | Prywatny magazyn na użytkownika; na stronie tylko przy sesji uwierzytelnionej | Wskazuje, którą historię przywrócić | | Poświadczenie sesji gościa | `localStorage` strony, według klucza widgetu, zarządzane przez loader | Ciągłość gościa w tej samej przeglądarce | Przywrócenie wymaga integracji backendu, prywatnego endpointu i sekretu, osobno od kodu publicznego. Zobacz [sekcję 6](#provisioning-da-backend). --- ## 2. Instalacja ### Pływający przycisk Raz, przed ``: ```html ``` Przycisk pojawia się po załadowaniu ustawień graficznych. Nowy odwiedzający otwiera formularz z telefonem i opcjonalnym imieniem. Loader przechowuje poświadczenie gościa w `localStorage`, osobno dla klucza. Gdy pamięć jest zablokowana, ciągłość może ograniczyć się do bieżącej strony. Loader udostępnia jedno `window.Quoting24Widget`. Drugi skrypt nie tworzy drugiego widgetu. ### Czat osadzony Kontener przed skryptem, jawna wysokość: ```html

Wsparcie

``` `target` to ID, bez `#`. Iframe wypełnia kontener. Nie ma pływającego przycisku. `open()`, `close()` i `toggle()` nie działają. ### Czekanie na loader Przy danych wstępnych użyj tego modułu **zamiast** statycznego znacznika, importowanego raz w głównym układzie. Przykłady to moduły JavaScript: bundler albo ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOST_WIDGET/assets/widget/script.js?key=KLUCZ_PUBLICZNY_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API widgetu jest niedostępne")); } }; script.onerror = () => { script.remove(); reject(new Error("Nie udało się załadować widgetu")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` W trybie osadzonym dodaj `&mode=embedded&target=chat-wsparcia` do URL i najpierw zamontuj kontener. Nie dubluj tego ładowania statycznym znacznikiem script. `loadWidget()` zgłasza, że API jest dostępne. `init()` zwraca `void`: kolejkuje profil, gdy iframe nie jest gotowy, i nie czeka na sesję. Wynik sprawdzaj przez `isReady()` i `hasSessionError()`. --- ## 3. Pola `init()` {#campi-di-init} Wszystkie wartości są **łańcuchami**. Pomiń nieznane. Nie wysyłaj `null`, liczbowych ID ani pustego e-maila. Gdy pole przekracza limity albo e-mail jest źle zbudowany, żądanie jest odrzucane. | Pole | Limit i zachowanie | | --- | --- | | `external_id` | Najwyżej 100 znaków. Odniesienie firmy porównywane dokładnie z `web_code`, w organizacji widgetu. Spacje nie są usuwane | | `company_name` | Najwyżej 250 znaków po usunięciu spacji na początku i na końcu. Tworzy brakującą firmę tylko razem z `external_id`. Pusty łańcuch albo same spacje nie włączają tworzenia | | `name` | Najwyżej 250 znaków. Imię kontaktu; może je zaktualizować w bieżącej sesji | | `email` | Ważny adres. Przy publicznej inicjalizacji jest zapisywany tylko przy nowej firmie. Nie jest zapisywany przy kontakcie ani przy firmie już istniejącej | | `phone` | Najwyżej 80 znaków. Numer kontaktu; wolisz format międzynarodowy, na przykład `+393331234567`. Konflikt z istniejącym numerem nie scala kontaktów ani czatów | | `external_user_id` | Opcjonalne w przypadku podstawowym. Stabilne ID osoby, niepuste, najwyżej 100 znaków po trim. Samo nie przywraca historii | | `restore_id` | Prywatne poświadczenie, najwyżej 200 znaków, uzyskane z backendu. Wymaga odpowiadającego `external_user_id`. Użyj zwróconej wartości bez zmian | Przykład, gdy strona zna konto. Nazwy pól w ERP mogą się różnić: odwzoruj odniesienie firmy na `external_id`, nazwę firmy na `company_name`, osobę na `name`, a e-mail konta na `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Etykiety Imię i Telefon z formularza wysyła się jako `name` i `phone`. E-mail to `email`. Nie wysyłaj `Imię`, `Telefon` ani `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Pierwsze wywołanie otwiera czat z imieniem i telefonem i nie szuka firmy. Drugie wystarcza z poprawnym e-mailem. W pełnym profilu powyżej `phone` to numer kontaktu, a `email` trafia do firmy tylko wtedy, gdy to wywołanie ją tworzy. Trzymaj `name` i `company_name` osobno. Nie doklejaj nazwy firmy do nazwy użytkownika, żeby uzyskać powiązanie. Nie wysyłaj pola `web_code`: publiczna nazwa to `external_id`. Nie używaj wewnętrznego UUID Quoting24 ani `companies.code` zamiast wartości w `web_code`. `init(profile)` zastępuje profil zapisany przez loader. Nie scala: przekaż pola, które mają zostać. Nowy gość może wystartować z przynajmniej imieniem, telefonem, ważnym e-mailem albo `external_user_id`, albo z firmą znalezioną albo utworzoną przez `external_id`. `init({})` i samo `company_name` nie zaczynają nowej sesji. Gdy wyślesz tylko nieznane `external_id`, bez `company_name`, widget prosi o dane przez formularz. `init({ restoreId: "..." })` nie przekazuje poświadczenia. Pole to `restore_id`. --- ## 4. Powiązanie albo utworzenie firmy {#associare-o-creare-lazienda} Przebieg startuje, gdy Quoting24 przetwarza inicjalizację, nawet bez wiadomości: 1. Gdy dostaje niepuste `external_id`, szuka firmy tej samej organizacji, której `web_code` jest równy tej wartości 2. Gdy ją znajdzie, wiąże kontakt. Nazwa i e-mail istniejącej firmy zostają 3. Gdy jej nie znajdzie i dostaje też niepuste `company_name`, tworzy firmę z `name = company_name`, `web_code = external_id` i e-mailem, jeśli jest, a potem wiąże kontakt 4. Gdy nie może znaleźć ani utworzyć firmy z braku danych, idzie dalej z dostępnym profilem. Gdy to nie wystarcza nowemu gościowi, prosi o formularz. Błędy bazy albo limit żądań kończą inicjalizację niepowodzeniem | Wysłane dane | Sytuacja w Quoting24 | Wynik | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | Istnieje `web_code = "52"` | Używa istniejącej firmy; nie zmienia jej nazwy | | Te same dane plus ważny e-mail | Nie istnieje `web_code = "52"` | Tworzy firmę z kodem web `52`, nazwą i e-mailem oraz wiąże kontakt | | `external_id: "52"`, `name: "mario.rossi"` | Brak dopasowania | Uruchamia gościa bez nowego powiązania firmy | | `external_id: "52"`, bez innych danych | Jest dopasowanie | Uruchamia powiązanego gościa, z domyślnym imieniem `Visitatore` | | `external_id: "52"`, bez innych danych | Brak dopasowania | Prosi o dane odwiedzającego | | `company_name` bez `external_id`, plus `name` | Dowolna | Uruchamia odwiedzającego. Nie szuka i nie tworzy firmy | Wyszukiwanie nie używa nazwy firmy, e-maila, telefonu, NIP ani `companies.code`. `"052"` i `"52"` to różne wartości. Jeśli najpierw importujesz kartotekę, wypełnij `web_code` tą samą wartością, którą strona wyśle w `external_id`. Powiązanie dotyczy kontaktu. Dla już powiązanego kontaktu nowy ważny kod może zmienić firmę. Pominięcie kodu albo wysłanie nierozwiązanego nie kasuje poprzedniego powiązania. Przy zmianie osoby albo konta wykonaj `reset()`: nie ograniczaj się do zmiany profilu. ### Limity `web_code` nie ma ograniczenia unikalności. Przy kilku dopasowaniach wybierane jest pierwsze, według rosnącej daty utworzenia. Unikaj duplikatów: równoczesne żądania, które jeszcze nie znajdują firmy, mogą utworzyć więcej niż jedną. Przebieg nie gwarantuje atomowego utworzenia i nie zastępuje importu ani synchronizacji z ERP. Tworzenie niejawne jest ograniczone do 20 prób na okno 60 sekund i adres IP, w procesie backendu obsługującym żądanie. Po przekroczeniu inicjalizacja kończy się `TOO_MANY_REQUESTS`. Ponów z oczekiwaniem. Unikaj ciągłych pętli `init()`. Dane przychodzą z przeglądarki i odwiedzający może je zmienić. Powiązanie nie dowodzi przynależności ani tożsamości i nie daje historii firmy. Wysyłaj `company_name`, gdy chcesz dopuścić to publiczne tworzenie. Istniejące firmy aktualizuj przez Quoting24 albo autoryzowaną integrację ERP. --- ## 5. Logowanie, wylogowanie i zmiana konta {#login-logout-e-cambio-account} Trzymaj jedną instancję w głównej strukturze SPA. Zmiana strony nie wymaga nowego skryptu ani resetu. Przy zmianie osoby albo konta i przy wylogowaniu wywołaj **`reset()` przed nowym profilem**. Przy przeładowaniu z nadal aktywnym logowaniem użyj `init()` bez resetu, jak przy starcie: tak zostaje zapisana sesja gościa. Strona musi odróżnić przeładowanie od rzeczywistej zmiany. Wywołanie przy zmianach uwierzytelnienia. `profile` to profil nowego użytkownika albo `null` przy wylogowaniu. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Obsłuż błąd ładowania w interfejsie strony, z ponowieniem. Jeśli profil pobierasz z backendu przed tą funkcją, unieważnij też te żądania przy zmianie użytkownika. W trakcie oczekiwania od razu wyczyść poprzedni profil przez `applyWidgetIdentity(null)`. Reset zapomina sesję gościa tej instancji, zapisane poświadczenie, profil i licznik nieprzeczytanych. To nie unieważnienie po stronie serwera i nie kończy sesji na innych urządzeniach. Zmiana uwierzytelnienia musi być zastosowana też w pozostałych otwartych kartach. ### Z przywróceniem historii Gdy profil zawiera `restore_id`, pobierz je z uwierzytelnionego endpointu strony po `reset()` i odrzuć odpowiedź, jeśli użytkownik się w międzyczasie zmienił. Przeładowanie z tym samym użytkownikiem używa już zapisanego poświadczenia i nie może wołać `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Tylko przy logowaniu, wylogowaniu i zmianie użytkownika. // Nie wołaj przy przeładowaniu z tym samym użytkownikiem: reset() porzuciłby trwającą sesję. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("Przywrócenie widgetu jest niedostępne"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Nieoczekiwana odpowiedź przywrócenia"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Czat wsparcia: przywrócenie nie powiodło się.", error); } } ``` Pętla kopiuje tylko pola obecne i niepuste. E-mail `""` albo liczbowe ID nie mogą być wysłane. ### API JavaScript | Metoda | Użycie | | --- | --- | | `init(profile)` | Podaje albo zastępuje bieżący profil. Loader nie scala pól z poprzednim profilem | | `open()` / `close()` / `toggle()` | Otwiera, zamyka albo przełącza pływający widget. Zamknięcie nie jest wylogowaniem. W trybie osadzonym nie działają | | `isReady()` | Inicjalizacja sesji odwiedzającego się udała. Na formularzu kontaktu zostaje fałszem | | `hasSessionError()` | Błąd sesji zgłoszony przez iframe | | `reset()` | Czyści profil, sesję lokalną, zapisane poświadczenie gościa i licznik nieprzeczytanych | | `dispose()` | Demontuje interfejs i nasłuchiwanie. Nie czyści zapisanego poświadczenia gościa ani globalnego obiektu API | Możesz podłączyć przycisk strony do `window.Quoting24Widget?.open()`, gdy pływający przycisk się pojawi. Nie czekaj na `isReady()`, żeby nowy gość otworzył formularz. Nie ma publicznego zdarzenia gotowości. Te wskaźniki nie opisują całego stanu sieci. Rozwiązane `loadWidget()` nie znaczy, że branding i sesja są gotowe. ### Pełny demontaż Gdy musisz usunąć widget, wykonaj `dispose()`. Gdy demontaż zbiega się z wylogowaniem, najpierw wykonaj `reset()`. Zanim załadujesz skrypt ponownie, usuń global i wyzeruj Promise loadera. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` to ta zdefiniowana w module loadera. Demontaż wykonaj po zakończeniu ładowania. Nie rób tego równolegle z nowym `loadWidget()`. Przy zmianach uwierzytelnienia użyj `applyWidgetIdentity()` albo `applyWidgetAuth()`, które czekają na loader. Lokalny reset nie unieważnia `restore_id` na serwerze. --- ## 6. Uwierzytelnione przywrócenie {#provisioning-da-backend} Sesja gościa czyta swoją najnowszą rozmowę także po zamknięciu. Rozmowy widoczne tej samej osoby w innej przeglądarce wymagają razem `external_user_id` i `restore_id`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` Przywrócenie nie scala starych sesji gościa i nie udostępnia historii współpracownikom tej samej firmy. ### Endpoint w backendzie strony Przykład do wdrożenia w portalu, nie URL Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Ustaw `Cache-Control: no-store`. Tożsamość i firma tylko z sesji serwera. Zastosuj auth i CSRF aplikacji. Nie loguj treści zawierających poświadczenie. Jeśli portal już udostępnia uwierzytelniony endpoint, który zwraca `restore_id` bieżącego użytkownika dla tego widgetu, użyj tej odpowiedzi i połącz ją z ID osoby oraz odniesieniem firmy. ### Provisioning serwer–serwer Typowa ścieżka: `/fastify/trpc/widget.provisionRestoreId` (albo `/trpc/widget.provisionRestoreId`, gdy backend jest wystawiony bezpośrednio). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Wygenerowane wartości zaczynają się od `q24-restore-v1:`. Nie wymyślaj ich i nie wyprowadzaj z publicznych ID. | Wejście | Wymaganie | | --- | --- | | `widget_api_key` | Obowiązkowy UUID, dopuszczony dla sekretu | | `external_user_id` | Stabilne ID osoby, równe temu w `init()` | | `attempt_id` | Ściśle rosnąca dodatnia liczba całkowita, jako łańcuch dziesiętny, najwyżej `9223372036854775807` | | `saved_restore_id` | Już zapisane poświadczenie. Pomiń je przy pierwszym provisioningu | | `external_id`, `name`, `email`, `phone` | Opcjonalne, z tymi samymi limitami co `init()` | Wzorzec **ensure**, pobierz albo utwórz: 1. Uwierzytelnij użytkownika i weź blokadę na wiersz przywrócenia, w transakcji 2. Przydziel nowe `attempt_id` z sekwencji **po** blokadzie (`CACHE 1`, niecykliczna; sekwencja przeżywa rollback) 3. Wywołaj Quoting24 z `attempt_id` i, jeśli jest, `saved_restore_id` 4. Zapisz `result.data.restore_id` i zrób commit 5. Dopiero po commicie zwróć poświadczenie do przeglądarki Ważne `saved_restore_id` trzeba **użyć ponownie**. Pominięcie go, gdy ważny klucz już istnieje, podmienia klucz i unieważnia przywrócone sesje. Nie generuj nowego klucza przy każdym wyświetleniu strony. Gdy zdalny provisioning się uda, a lokalny zapis nie, zwróć błąd. Nie zwracaj niezapisanego klucza. Ogranicz timeouty. `company_name` wysyła się w `init()`. Powyższe ciało provisioningu go nie zawiera: powiązanie i utworzenie firmy, opisane w [sekcji 4](#associare-o-creare-lazienda), zachodzą, gdy przeglądarka inicjalizuje sesję. E-mail publicznej inicjalizacji jest zapisywany tylko przy nowej firmie. ### Wynik po stronie widgetu Quoting24 sprawdza poświadczenie i ładuje widoczną historię widgetu tego użytkownika. Zamknięte czaty mogą pojawić się jako poprzednia rozmowa: ich odczyt nie otwiera starej rozmowy na nowo; wysyłka zostaje w bieżącej. Poświadczenie nieważne, należące do innego użytkownika albo unieważnione jest odrzucane, bez automatycznej zamiany na sesję gościa. Przycisk «Riprova» widgetu sam nie prosi o nowe `restore_id`. Bieżący interfejs jest po włosku. --- ## 7. Strona, sieć i wygląd - **Jedna instancja na stronę** - **CSP.** Zezwól na pochodzenie widgetu w `script-src` i `frame-src` oraz na pochodzenie API wskazane dla instalacji w `connect-src` (ładowanie ustawień graficznych). Zezwól na skonfigurowane obrazy w `img-src`. Loader wstawia style inline i nie udostępnia publicznej opcji nonce: sprawdź CSP strony. CSS strony nie zmienia wnętrza iframe z innego pochodzenia - **Połączenia iframe.** Musi dosięgnąć API, Realtime/WebSocket i magazynu własnej instalacji. Do filtrów sieci użyj rzeczywistych hostów środowiska - **Wygląd i język.** Logo, kolor, pozycję i komunikaty konfiguruje się w Quoting24. `company_name` to nazwa firmy klienta. Nie ma publicznego parametru `language` ani `locale`; bieżący interfejs jest po włosku - **Telefon.** Pływający czat może zająć viewport. W trybie osadzonym strona steruje wysokością i szerokością - **Załączniki i godziny.** PDF, DOC/DOCX, JPG/JPEG i PNG. Do 10 MiB na plik i 100 MiB załączników wskazanych w rozmowie. Poza godzinami widget pokazuje baner i zostawia pisanie dostępne --- ## 8. Sprawdzenie integracji {#verificare-lintegrazione} Użyj konta testowego i kanału testowego. Sprawdź kartotekę w Quoting24, nie tylko czat. | Próba | Oczekiwany wynik | | --- | --- | | Nowa przeglądarka, tylko skrypt | Formularz kontaktu, potem rozmowa | | Pełny payload z `external_id` już obecnym jako `web_code` | Kontakt powiązany z istniejącą firmą; nazwa i e-mail firmy bez zmian | | Pełny payload z nowym kodem | Firma utworzona z kodem web, nazwą i e-mailem; kontakt powiązany | | Nowy kod i imię, bez `company_name` | Czat uruchomiony, żadna firma nie utworzona | | Tylko nowy kod | Formularz kontaktu | | Tylko nazwa firmy i imię | Żadna firma nie szukana ani nie utworzona po nazwie | | Pusty e-mail, liczbowe ID albo za długa nazwa firmy | Payload odrzucony | | Drugie `init()` w tej samej sesji | Sesja gościa trwa. E-mail i telefon nie odzyskują czatu innej osoby | | Przeładowanie, nawigacja SPA, telefon | Jedna instancja; ciągłość gościa, gdy jest pamięć; użyteczny układ | | Wylogowanie albo zmiana konta w trakcie ładowania | Poprzednia sesja wyczyszczona; spóźnione wyniki nie przywracają starego profilu | | Ten sam uwierzytelniony użytkownik, inna przeglądarka, ważne `restore_id` | Historia tej osoby | | Dwóch użytkowników tej samej firmy | Osobne poświadczenia i historie | | Gość, potem przywrócenie | `reset()` pośrodku; sesje się nie scalają | | Nieważne albo unieważnione poświadczenie | Błąd, bez automatycznego powrotu do gościa | | Poprzednie rozmowy | Tylko odczyt; wysyłka zostaje w bieżącej | | Niedozwolona domena | Dostęp odrzucony | | Sieć przerwana | Ponowne połączenie; szkic zostaje, gdy wysyłka się nie uda | --- ## Rozwiązywanie problemów {#risoluzione-dei-problemi} | Objaw | Sprawdzenie | | --- | --- | | Przycisk się nie pojawia | URL, klucz, kanał włączony, domeny, CSP, żądanie `widget.getBranding`. Sam global JavaScript nie dowodzi, że przycisk istnieje. `open()` nie działa, dopóki branding się nie załaduje, i nie działa w trybie osadzonym | | `Quoting24Widget` jest niezdefiniowane | Poczekaj na załadowanie. Sprawdź parametr `key` | | Osadzony czat jest niewidoczny | Kontener przed loaderem, właściwe ID, wysokość większa od zera | | `Domain not allowed` | Nazwa hosta strony, bez schematu, portu i ścieżki. Sprawdź też testy. Strona musi być serwowana przez HTTP | | Formularz telefonu mimo profilu | Kolejność asynchroniczna, snake_case, puste wartości, poprzednie `reset()`, profil niewystarczający dla nowego gościa | | Firmy nie znaleziono | Porównaj `external_id` z `web_code` w tej samej organizacji, łącznie ze spacjami i zerami wiodącymi | | Brakująca firma nie jest tworzona | Potrzebne są niepuste `external_id` i `company_name`. Sprawdź walidację i limit tworzenia | | Nazwa albo e-mail firmy się nie zmienia | Zgodnie z kontraktem: `init()` tworzy brakujące firmy i nie aktualizuje istniejących | | E-mail nie pojawia się przy kontakcie | Zgodnie z kontraktem publicznej inicjalizacji: e-mail jest używany tylko przy tworzeniu firmy | | `TOO_MANY_REQUESTS` | Poczekaj i ponów. Unikaj powtarzanych wywołań albo masowego importu przez widget | | Brak historii na innym urządzeniu | Payload firmy jej nie przywraca. Potrzebne są `external_user_id` i `restore_id` | | Przywrócone sesje unieważnione | Wywołania ensure muszą odesłać `saved_restore_id`. Nie wystawiaj nowego klucza przy każdym wyświetleniu strony | | «Riprova» nie wystarcza | Nowe `restore_id` z Twojego endpointu, potem `reset()` i `init()` | | Po zmianie konta zostaje stary czat | `reset()` natychmiast przy zmianie tożsamości. Odrzuć poprzednie odpowiedzi asynchroniczne | | Po `dispose()` skrypt nie odtwarza widgetu | Usuń global i skrypt, wyzeruj Promise loadera, potem załaduj ponownie | | Interfejs zostaje po włosku | Brak publicznej opcji `language` albo `locale` w loaderze | --- ## Odniesienia implementacji - Loader i API JavaScript: `@frontend/src/public/widget/script.ts` - Inicjalizacja, powiązanie firmy i tworzenie niejawne: `@backend/fastify/routes/widget/initialize.ts` - Testy inicjalizacji i firm: `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Domena i kanał: `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning `restore_id`: `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Kontakty URL: https://wiki.quoting24.com/pl/content/contacts/ Language: pl Updated: 2026-11-04 # Kontakty W menu w prawym górnym rogu dostępna jest sekcja **“Kontakty”**. Ta strona pokazuje listę **kontaktów zarządzanych w Quoting24** od momentu podłączenia kanału WhatsApp. Ekran kontaktów --- ## Nawigacja po stronie ### Wyszukiwanie kontaktów W lewym górnym rogu znajduje się **pole wyszukiwania**, które pozwala szybko znaleźć kontakt: - wpisując **nazwę** - albo **numer telefonu** ### Główne akcje W prawym górnym rogu znajdują się następujące przyciski: - **Odśwież** Pozwala wykonać **ręczną aktualizację** danych kontaktowych między kanałem WhatsApp i Quoting24. - **Import/Export** Otwiera dialog do **pobrania szablonu Excel**, **eksportu** kontaktów lub **importu** pliku. Szczegóły w sekcji [Import/Export kontaktów przez Excel](#importexport-kontaktów-przez-excel). - **+ Dodaj** Pozwala utworzyć **nowy kontakt**. Otworzy się ekran, na którym można wprowadzić: - imię i nazwę - numer telefonu - firmę Po wypełnieniu pól można **zapisać kontakt**. Ekran dodawania użytkownika --- ## Przypisywanie firmy do kontaktu Z listy kontaktów można szybko przypisać firmę do kontaktu, klikając **“+ Przypisz firmę”**. Ekran dodawania firmy i użytkownika Zostanie pokazana lista **firm zapisanych** na własnym koncie\* Quoting24. Aby przypisać firmę do kontaktu, wystarczy kliknąć **“Wybierz”**. Ekran wyboru firmy > *Przez **konto** rozumie się **numer telefonu**: > każdy numer telefonu powiązany z Quoting24 ma własne **kontakty**, **firmy** i **[zmiany dostaw](delivery_shifts.md)**.* --- ## Przypisywanie firmy do kontaktu (druga metoda) Nieprzypisany użytkownik W momencie, gdy klient nie został jeszcze przypisany do żadnej [**firmy**](companies.md) albo nie jest oznaczony jako **Prywatny**, należy kliknąć zaznaczony element, aby otworzyć kolejne okno. Przypisz firmę W tym momencie występują 3 przypadki: - Kontakt jest **Prywatny**, czyli nie należy do konkretnej firmy; w takim przypadku należy użyć przycisku ***Przypisz jako prywatny*** - Kontakt **należy do firmy spośród wyeksportowanych**; w takim przypadku wystarczy wybrać firmę odpowiadającą klientowi - Kontakt **należy do firmy spoza wyeksportowanych**; w takim przypadku wystarczy nacisnąć przycisk ***Nowa firma*** i przypisać ją do klienta Przypisany użytkownik Po przypisaniu użytkownika do firmy w podglądzie listy ticketów w tagu obok nazwy pojawia się **kod firmy** (bez `#`). Jeśli klient został oznaczony jako **Prywatny**, pokazywana jest etykieta *Prywatny*. Na **liście ticketów**, po prawej stronie nazwy, jeden tag pokazuje też **priorytet** kontaktu i bierze kolor z **typu** (firmowego lub osobistego). Szczegóły w [Ekran główny](main_screen.md#podgląd-i-wskaźniki-na-liście). --- ## Otwórz nowe zgłoszenie Z Kontaktów możesz rozpocząć rozmowę bez użycia **+** na stronie głównej. * na **liście kontaktów** w każdym wierszu jest **Otwórz nowe zgłoszenie** * w **szczegółach kontaktu** ten sam przycisk jest u góry Otwiera to nowe zgłoszenie do tego kontaktu, z tymi samymi regułami [obsługi ticketów](gestione_ticket.md) co na stronie głównej. --- ## Priorytet kontaktu Każdy kontakt może mieć własny **priorytet**: **Wysoki**, **Średni** lub **Niski**. Zachowanie: * jeśli kontakt ma firmę i nie ustawiono priorytetu kontaktu, Quoting24 używa priorytetu **firmy** (*Dziedziczony z firmy*) * możesz ustawić priorytet na kontakcie **bez firmy** * możesz **nadpisać** dziedziczony priorytet bez zmiany priorytetu firmy Priorytetem można zarządzać: * z formularza tworzenia / edycji kontaktu * z zakładki **Informacje** ticketa * z importu Excel kontaktów, gdy kolumna jest obecna Na liście ticketów ikona priorytetu pojawia się w tagu obok nazwy. --- ## Typ kontaktu **Typ** (np. klient, dostawca, współpracownik) działa inaczej niż priorytet: * kontakt **bez firmy** → możesz przypisać typ osobisty * kontakt **z firmą** → typ jest **zawsze typem firmy**, nieedytowalny na kontakcie; zmień go na firmie W zakładce **Informacje** ticketa, jeśli typ jest dziedziczony, widać *Dziedziczony z firmy*. Efektywny typ koloruje tag na liście ticketów i może być używany jako filtr **Typ firmy** w lejku na stronie głównej. --- ## Synchronizacja nazw kontaktów Quoting24 jest **głównym źródłem odniesienia** dla nazw kontaktów. Oznacza to, że gdy kontakt ma już nazwę zapisaną w Quoting24, ta nazwa jest uznawana za poprawną i **nie jest już nadpisywana** przez automatyczne aktualizacje kanału WhatsApp. Synchronizacja kontaktów może odbywać się w różnych momentach, na przykład: - po uruchomieniu synchronizacji ręcznej - gdy przychodzi wiadomość z nowego numeru - podczas innych automatycznych procesów aktualizacji kontaktów Gdy aktualizacja przychodzi z WhatsApp, Quoting24 stosuje następującą logikę: - jeśli kontakt **jeszcze nie istnieje** w Quoting24, zostaje utworzony na podstawie numeru telefonu oraz nazwy dostępnej z kanału WhatsApp - jeśli kontakt **już istnieje**, uzupełniane są tylko brakujące dane - **nazwa** jest aktualizowana tylko wtedy, gdy w Quoting24 nadal jest pusta - jeśli kontakt ma już nazwę w Quoting24, automatyczne aktualizacje jej nie zmieniają W praktyce synchronizacja służy do **uzupełniania brakujących danych**, a nie do nadpisywania informacji poprawionych już przez operatorów w Quoting24. To ustawienie zapobiega utracie nazw ręcznie poprawionych przez operatorów po kolejnej aktualizacji WhatsApp i utrzymuje spójność danych zarządzanych w Quoting24. --- ## Ostrzeżenia dotyczące kontaktów Można skonfigurować **ostrzeżenia dotyczące kontaktów**, czyli ważne notatki pokazywane nad czatem po otwarciu rozmowy z danym kontaktem. Ostrzeżenia są przydatne do wyróżnienia informacji, które operator powinien zobaczyć od razu, na przykład: - szczególne instrukcje handlowe - warunki uzgodnione z klientem - zasady operacyjne, których należy przestrzegać - ważne notatki wprowadzone przez współpracowników --- ## Import/Export kontaktów przez Excel Z listy kontaktów można otworzyć dialog **Import/Export**, aby: - **pobrać szablon Excel** z prawidłową strukturą kolumn - **eksportować** wszystkie kontakty tenanta albo **tylko wybrane** - **importować** plik Excel i zapisać zmiany po podglądzie ### Export Eksport pobiera kontakty tenanta (wraz z odniesieniami do **firmy** i **location**) i generuje plik **`.xlsx`**. Możesz eksportować: - **wszystkie** kontakty - albo **tylko kontakty zaznaczone** na liście Wyeksportowany plik zawiera także kolumnę **`id`**: to identyfikator kontaktu Quoting24 i należy go zachować, jeśli chcesz zaktualizować te same kontakty w późniejszym imporcie. ### Import Aby zaimportować kontakty: 1. otwórz dialog **Import/Export** z listy kontaktów 2. wgraj plik Excel (możesz zacząć od pobieranego szablonu lub od wcześniejszego eksportu) 3. sprawdź **podgląd w tabeli** 4. zapisz, aby uruchomić import Backend wykonuje **upsert w partiach po 500** wierszy. #### Jak dopasowywany jest każdy kontakt Dla każdego wiersza pliku obowiązuje ta logika: 1. jeśli kolumna **`id`** jest wypełniona i id już istnieje **w bieżącym tenancie** → **aktualizuje** ten kontakt 2. jeśli nie ma `id` (lub nie pasuje w tenancie) → szuka po **telefonie** (także w formie znormalizowanej): jeśli znajdzie → **aktualizuje** istniejący kontakt, **bez tworzenia nowego** 3. dopiero gdy nie ma dopasowania ani po `id`, ani po telefonie → **tworzy** nowy kontakt 4. jeśli `id` istnieje, ale należy do **innego tenanta** → traktowane jest jako nowy kontakt (generowany jest nowy) #### Pola obowiązkowe i reguły - **`name`** i **`phone`** są **obowiązkowe** - numery telefonu **bez** prefiksu `+` lub `00` → Quoting24 przyjmuje prefiks **`+39`** - **`company_id`** i **`location_id`** są stosowane **tylko jeśli są prawidłowe i spójne względem siebie**; w przeciwnym razie są **ignorowane** --- ## Akcje dostępne dla kontaktów Na ekranie kontaktów, oprócz **Otwórz nowe zgłoszenie**, znajdziesz: - **Kosz** → usuwa kontakt - **Ołówek** → modyfikuje kontakt - **Czerwona strzałka** → otwiera **historię zapytań** kontaktu Ekran ikon kontaktów --- # Firmy URL: https://wiki.quoting24.com/pl/content/companies/ Language: pl Updated: 2026-11-04 # Firmy W menu w prawym górnym rogu dostępna jest również sekcja **“Firmy”**. Ta strona pokazuje listę **firm obecnych na własnym koncie\*** Quoting24. W odróżnieniu od **kontaktów** (które są tworzone lub aktualizowane przez kanał WhatsApp i operatorów), **firmy** tworzy operator, ręcznie lub z Excela, albo **kanał Widget**, gdy witryna wyśle razem `external_id` i `company_name`. > *Przez **konto** rozumie się **numer telefonu**: > każdy numer telefonu powiązany z Quoting24 ma własne **[kontakty](contacts.md)**, **firmy** i **[zmiany dostaw](delivery_shifts.md)**.* --- ## Tworzenie nowych firm Do tworzenia nowych firm dostępne są **dwie metody**, dostępne przez przyciski znajdujące się **w prawym górnym rogu** ekranu: - **Import z pliku Excel** Umożliwia jednoczesne wgranie wielu firm za pomocą ustrukturyzowanego pliku Excel. - **Dodawanie i edycja ręczna** (`+ Dodaj`) Pozwala wprowadzić pojedynczą firmę przez ręczne wypełnienie formularza. Obie metody umożliwiają pełne i niezależne zarządzanie firmami powiązanymi z własnym kontem Quoting24. Ekran listy firm --- Używając przycisku **“+ Dodaj”**, można utworzyć nową firmę, wypełniając dedykowany formularz. Ekran dodawania firm Ten sam ekran pozwala również edytować istniejące firmy (po kliknięciu ikony ołówka). --- ## Importowanie firm przez Excel Aby jednocześnie zaimportować wiele firm przez plik Excel: 1. kliknij przycisk **“Import/Export excel”** 2. na następnym ekranie kliknij czerwony przycisk **“Importuj”** 3. wgraj plik Excel ze swojego komputera Można również **pobrać przykładowy plik**, aby sprawdzić poprawne formatowanie, którego należy użyć w pliku do wgrania. Ekran dodawania firm z Excela Podczas importowania firm przez Excel **zaleca się wpisanie notatek** w pliku, aby ułatwić powiązanie [zmian dostaw](delivery_shifts.md). --- ## Priorytet i typ firmy Na firmie można ustawić: * **priorytet** (Wysoki, Średni, Niski) * **typ** (klient, dostawca, współpracownik, …) Te wartości wpływają na powiązane kontakty: * **priorytet** firmy jest dziedziczony przez kontakty bez własnego priorytetu; kontakt może go jednak nadpisać * **typ** firmy jest dziedziczony przez kontakty i **nie można go zmienić** na kontakcie, dopóki firma jest przypisana Na liście ticketów kolor tagu obok nazwy odzwierciedla efektywny typ (firmowy albo, dla kontaktów bez firmy, osobisty). Priorytet i typ firmy można też edytować w zakładce **Informacje** ticketa, w sekcji firmy na dole. Szczegóły kontaktu: [Kontakty → Priorytet](contacts.md#priorytet-kontaktu) i [Kontakty → Typ](contacts.md#typ-kontaktu). --- ## Kod web (`web_code`) {#codice-web-web_code} `web_code` to odniesienie, po którym widget rozpoznaje firmę. Witryna wysyła tę samą wartość w publicznym polu `external_id`. Payload widgetu nie ma pola `web_code`. Jeśli wgrywasz kartotekę przed podłączeniem witryny, wpisz w `web_code` **tę samą wartość**, którą witryna wyśle w `external_id`. Nie używaj wewnętrznego UUID Quoting24 ani kodu z systemu zarządzania `companies.code`. | Sytuacja | Wynik | | --- | --- | | `web_code` równe `external_id` | Kontakt widgetu zostaje powiązany. Nazwa i e-mail firmy pozostają już zapisane | | Brak dopasowania, a witryna wysyła też `company_name` | Quoting24 tworzy firmę (`name`, `web_code`, e-mail jeśli jest) i wiąże kontakt | | Kilka firm z tym samym `web_code` | Publiczna inicjalizacja bierze pierwszą, według rosnącej daty utworzenia | `"052"` i `"52"` to różne kody. Spacje wewnątrz `external_id` nie są usuwane. `web_code` nie ma ograniczenia unikalności: unikaj duplikatów, bo dwa równoczesne utworzenia mogą je wygenerować. Powiązanie zrobione przez widget nie aktualizuje istniejącej firmy i nie otwiera historii innych kontaktów. Pełny kontrakt: [Integracja techniczna widgetu](widget_tecnico.md#associare-o-creare-lazienda). --- ## Notatki firmy Firmy mogą mieć notatki operacyjne powiązane ze swoją kartoteką. Notatki pomagają operatorom szybko odzyskać przydatne informacje podczas obsługi ticketa, na przykład wskazówki handlowe, odniesienia wewnętrzne lub konkretne warunki pracy. Podczas pracy nad ticketem notatki firmy można szybko sprawdzać i zmieniać w zakładce **Informacje** zapytania (sekcja firmy na dole). --- # Przegląd AI URL: https://wiki.quoting24.com/pl/content/ai/ Language: pl Updated: 2026-11-04 # Przegląd AI **AI** w Quoting24 to moduł, który **czyta i interpretuje całą rozmowę** zgłoszenia (ticketu) i odpowiednio aktualizuje **prawą stronę** (pojazdy i części). Nie ogranicza się już do „rozumienia” jednej wiadomości naraz: uwzględnia **historię czatu**, **przebieg** rozmowy oraz **aktualny stan** sekcji pojazdy/części. Dzięki temu części trafiają pod właściwy pojazd nawet wtedy, gdy klient: * najpierw wypisuje części, a **potem** tablicę rejestracyjną * wysyła **zdjęcie dowodu rejestracyjnego** po liście części * odpowiada **cytując** wcześniejszą wiadomość * mówi o **kilku samochodach** w tym samym zgłoszeniu Ten przewodnik opisuje **rozpoznawanie AI** rozmowy. Tam, gdzie pomaga odróżnić je od asystenta konwersacyjnego na czacie (**AI Premium**), zaznaczamy to wyraźnie. --- ## Jak przetwarza wiadomości {#come-elabora-i-messaggi} Wiadomości **blisko siebie** są przetwarzane **razem**, a nie po kolei. * Quoting24 czeka około **15 sekund**, aby zgrupować kolejne wiadomości klienta. * Jeśli operator **otworzy zgłoszenie**, przetwarzanie zaczyna się **od razu**. * Grupa wiadomości tworzy **jedno pole** podsumowania na czacie. Dzięki temu AI widzi pełny kontekst tego „bloku” rozmowy i spójnie aktualizuje pojazdy oraz części. --- ## Zakładka AI po prawej W prawej sekcji jest **zakładka AI**, widoczna w prawej części ticketa. * gdy AI przetwarza zgłoszenie, pojawia się **spinner** * kliknięcie przypomina, że **asystent na czacie** należy do modułu **AI Premium** (inny produkt) --- ## W skrócie | Cel | Co robi AI | |---|---| | Zrozumieć czat | Czyta **całe zgłoszenie**, nie tylko ostatnią wiadomość | | Wypełnić prawą stronę | Tworzy/aktualizuje **pojazdy** i **części** automatycznie | | Multimedia | Interpretuje **zdjęcia**, **PDF-y** i **wiadomości głosowe** | | Kontrola | Pozwala **poprawiać** błędy i przechodzić do wyszukiwań | | Szacunek dla operatora | Nie nadpisuje **ręcznych** zmian po prawej | --- ## Pogłębienia | Sekcja | Zawartość | | --- | --- | | [Rozpoznawanie](ai_riconoscimento.md) | Pojazdy, części, etykiety, notatki wewnętrzne, słownik i automatyczne wyszukiwania | | [Zdjęcia, PDF i wiadomości głosowe](ai_media.md) | Odczyt mediów i panel „Odczyty AI” | | [Ramka i korekta](ai_riquadro.md) | Pole na czacie, kliknięcia, Popraw i tryby wyświetlania | | [Automatyzacje](automations.md) | Konwersja tablica → VIN, drzewo i automatyczne wyszukiwanie części | --- # Rozpoznawanie URL: https://wiki.quoting24.com/pl/content/ai_riconoscimento/ Language: pl Updated: 2026-11-04 # Rozpoznawanie AI potrafi rozpoznać i ustrukturyzować dane z rozmowy oraz zaktualizować prawą stronę zgłoszenia. Ogólne działanie opisuje [Przegląd AI](ai.md). --- ## Co rozpoznaje ### Pojazdy * tablica rejestracyjna * numer VIN (nadwozie) * marka i model * rok * kod silnika * inne typowe dane z **dowodu rejestracyjnego** ### Części * nazwę części **znormalizowaną po włosku**, nawet jeśli klient pisze w innym języku lub skrótami (np. `f olio`, `pf`, `fab`) * **kody** OE, aftermarket, EAN * **pozycję** i **ilość** ### Wiadomości „tylko tablica” lub „tylko kod” Wiadomość z **samą tablicą** lub **samym kodem** nie jest traktowana jako pusta: * **tablica** tworzy lub uzupełnia pojazd * **kod** uzupełnia oczekujące zapytanie albo tworzy nowe --- ## Etykiety przy każdej części Każdy wiersz pola może pokazywać informacje podane przez klienta **dla tej konkretnej części**: * **Oferta** / **Zamówienie** * pozycja * ilość * stan (nowa, używana, regenerowana) * jakość (oryginał, zamiennik) * preferowane marki (★) * wykreślone wykluczenia (np. „nie Brembo”) * termin (np. „do piątku”, „na jutro”) * **Pilne** * problemy i **kody diagnostyczne** (np. `P0401`) * dostawa lub odbiór (np. „wpadnę sam”) Etykiety dotyczą **tylko** części, do której klient się odnosi: **nie** są automatycznie kopiowane na inne części. Szczegóły o polu: [Ramka i korekta](ai_riquadro.md). --- ## Zachowanie przy niezdecydowanych lub roztargnionych klientach AI **aktualizuje**, **przenosi** i **usuwa** samodzielnie pojazdy oraz części po prawej stronie, podążając za rozmową. Typowe przykłady: * część napisana **przed** tablicą jest **przenoszona** na właściwy pojazd, gdy tablica nadejdzie * „filtr powietrza już nie potrzebuję” **usuwa tylko** ten filtr * „nie Brembo” staje się **wykluczeniem** * jeśli klient **edytuje lub usuwa** wiadomość na WhatsApp, prawa strona **nadąża** * kod wysłany później **uzupełnia** zapytanie bez kodu * zapytanie bez nazwy (goły kod, etykieta, zdjęcie) i nazwa podana **w innej wiadomości**, nawet dni później, stają się **jednym zapytaniem** * kilka zdjęć **tej samej części** → jedno zapytanie * „tarcze i klocki” → **dwa** zapytania; „zestaw rozrządu” → **jedno** zapytanie * jeśli nie wiadomo, o które auto chodzi, część zostaje w **„Bez pojazdu”** z **ostrzeżeniem**, bez zgadywania ### Czego nigdy się nie nadpisuje * tego, co **operator zmienia ręcznie** po prawej, AI **nie** nadpisuje * **usunięta zakładka** wraca tylko wtedy, gdy nadejdą **nowe części** dla tego pojazdu * części **odrzucone** przez operatora pozostają odrzucone --- ## Notatki wewnętrzne i odpowiedzi do klienta ### Notatki wewnętrzne **Notatka wewnętrzna** to **polecenie** dla AI: * jest stosowana **od razu** (pojazd, części, kody, usunięcia) * dostaje **własne pole** ### Odpowiedzi wysłane do klienta **Odpowiedź do klienta** to tylko **propozycja**: * **nie** zmienia pojazdów/części, dopóki klient nie potwierdzi (np. „ok”, „wyślij”, cytuje odpowiedź lub wymienia część) * pole pod potwierdzeniem **odsyła** do oryginalnej odpowiedzi * „Ok wyślij” po cenie może ustawić etykietę **Zamówienie** --- ## Odpowiedzi na wcześniejsze zapytania Jeśli klient odpowiada **cytując** wiadomość z **wcześniejszego zgłoszenia**: * AI przetwarza ją w **tamtym** zgłoszeniu * w aktualnie otwartym zgłoszeniu pojawia się tylko odsyłacz **„Przetworzono w innym zapytaniu”** z **„Przejdź do zapytania”** --- ## Automatyczne wyszukiwania Wyszukiwania podążają za regułami w **Ustawienia → Automatyzacje** (konwersja tablica → VIN, ładowanie drzewa, wyszukiwanie części). Szczegóły w [Automatyzacjach](automations.md#automazioni-disponibili). Zachowanie z AI: * każde zapytanie samo decyduje, **kiedy** szukać * **kody** szukają od razu po kodzie * **brak podwójnego wyszukiwania** tego samego tekstu * zapytania **bez nazwy i bez kodu** nie generują wyszukiwań * **zweryfikowana** tablica wzbogaca pojazd (marka, model, VIN, kod silnika), a AI to uwzględnia --- ## Słownik częściowy **Słownik częściowy** zawiera typowe frazy i skróty klientów, ze znaczeniem obowiązującym w danej **sali** (room). Przykład: „trzy filtry” = filtr oleju, filtr powietrza silnika, filtr kabinowy. * AI używa go jako **słownika** * **nie** przepisuje wiadomości klienta * zastępuje stare **„rozróżnienia”** (disambiguations) * konfiguruje się go w **backoffice Qricambi** --- ## Z zakładki pojazdu do wiadomości Po prawej stronie ponowne kliknięcie **już wybranej** zakładki pojazdu **przewija** czat do wiadomości, z której AI odczytała ten pojazd. Przydatne do szybkiego sprawdzenia źródła rozpoznania. Zdjęcia, PDF-y i wiadomości głosowe: [Zdjęcia, PDF i wiadomości głosowe](ai_media.md). --- # Zdjęcia, PDF i wiadomości głosowe URL: https://wiki.quoting24.com/pl/content/ai_media/ Language: pl Updated: 2026-11-04 # Zdjęcia, PDF i wiadomości głosowe AI interpretuje także **media** rozmowy, nie tylko tekst. Ogólne działanie opisuje [Przegląd AI](ai.md); co trafia do pojazdów i części — [Rozpoznawanie](ai_riconoscimento.md). --- ## Zdjęcia Obrazy są **odczytywane**, a dane trafiają do rozmowy jak tekst. Typowe rozpoznawane treści: * tablice rejestracyjne * dowody rejestracyjne * etykiety i opakowania * zrzuty katalogów lub diagnostyki * dokumenty * sfotografowane elementy **Zdjęcie i podpis** są traktowane jako **jedna wiadomość**. Jeśli zdjęcie nadal się **wgrywa**, AI **czeka**, aż będzie gotowe, zanim przetworzy kolejne wiadomości. --- ## PDF-y PDF-y (oferty, faktury, WZ, listy części, zeskanowane dowody) są czytane **strona po stronie**: * jeden **wiersz na część** * pojazd z **tablicą** i **VIN**, gdy są obecne * **bez** cen i **bez** danych osobowych --- ## Wiadomości głosowe Wiadomości głosowe są **transkrybowane** i interpretowane jako tekst. Tablice i kody wypowiedziane na głos są **odtwarzane**. --- ## Ostrożny odczyt Odczyt jest ostrożniejszy niż wcześniej: * **częściowe** tablice * VIN **niespójne** z marką nie są akceptowane po cichu: są oznaczane jako **„Niepewny odczyt”**. --- ## „Odczyty AI” w podglądzie {#letture-ai-nel-visualizzatore} Po otwarciu **zdjęcia** lub **PDF** na pełnym ekranie pojawia się panel **„Odczyty AI”**. Pokazuje: * co AI odczytała w tym pliku * co obecnie zawiera zapytanie * **ołówek** do poprawy tablicy, VIN lub kodu bezpośrednio stamtąd * **niepewne odczyty** * ile **stron** PDF zostało przeczytanych * ewentualne **nieprzeczytane pliki** Korekta stąd działa według tych samych reguł co w [Ramka i korekta](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Przełączniki transkrypcji głosowej, odczytu obrazów i rozpoznawania tekstu znajdziesz w **Ustawienia → Sztuczna inteligencja → Rozpoznawanie AI** (zobacz też [Tryby wyświetlania](ai_riquadro.md#modalità-di-visualizzazione)). --- # Ramka i korekta URL: https://wiki.quoting24.com/pl/content/ai_riquadro/ Language: pl Updated: 2026-11-04 # Ramka i korekta Dla każdej przetworzonej grupy wiadomości pojawia się **pole** pod ostatnią wiadomością grupy. Jak wiadomości są grupowane — zobacz [Przegląd AI](ai.md#come-elabora-i-messaggi). --- ## Pole AI na czacie ### Nagłówek i powiązane wiadomości * nagłówek w stylu **„Podsumowanie AI z N wiadomości”** * najechanie na pole **podświetla** podsumowane wiadomości ### Tylko to, co się zmieniło Pole pokazuje **co się zmieniło** dzięki tym wiadomościom, a nie całą historię: * **Nowe** * **Zaktualizowane** * **Przeniesione** * **Usunięte** Zmieniony szczegół jest **kolorowany**, aby od razu go zauważyć. ### Organizacja części * części są grupowane **według pojazdu** * albo pod **„Bez pojazdu”**, jeśli nie wiadomo jeszcze, do którego auta należą * przy więcej niż **trzech wierszach** na pojazd pojawia się **„Pokaż kolejne N komponentów”** * dodatkowe kody mogą być za **„+N”** * obcięty VIN widać **w całości** po najechaniu ### Strzałki i ostrzeżenia * strzałki **↑** prowadzą do wiadomości wskazującej pojazd lub do poprzedniego zapytania * **ostrzeżenia** (trójkąt) oznaczają wątpliwości AI, na przykład: * niepewne powiązanie * pozostała niejednoznaczność * niejednoznaczny skrót * konflikt źródeł * niespójność logiczna --- ## Lewy przycisk: z czatu na prawą stronę **Lewy klik** w pole (lub jego elementy) służy do **nawigacji**, nie do uruchamiania wyszukiwań: * klik w **komponent** → otwiera właściwą zakładkę pojazdu, a odpowiadające wyszukiwanie **miga** * klik w **kod** → podświetla wyszukiwanie tego kodu * klik w **tablicę** lub **VIN** → otwiera zakładkę tego pojazdu (jeśli zakładka została usunięta, jest **tworzona ponownie**) Lewy klik **nie uruchamia wyszukiwań** i **nie zużywa kredytów**. --- ## Prawy przycisk na czarnych „pigułkach” Na tablicy, VIN i kodzie (czarne pigułki) **prawy klik** otwiera menu z: * **Szukaj tablicy** — konwersja tablica → VIN * **Szukaj VIN** — drzewo / struktura z VIN * **Szukaj kodu** — nowe wyszukiwanie kodu * **Popraw** — poprawia wartość źle odczytaną przez AI --- ## Popraw: AI nie powtarza błędu {#correggi-lai-non-ripete-lerrore} Jeśli AI źle odczyta **tablicę**, **VIN** lub **kod**: 1. prawy klik → **Popraw** 2. wpisz właściwą wartość Quoting24 zastępuje wartość **wszędzie**: * we **wszystkich polach** czatu * w **wyszukiwaniach** po prawej * w **pamięci** AI Od tego momentu stara wartość jest traktowana jako **błąd**, nawet jeśli nowe zdjęcie lub wiadomość ją powtórzy. Inne ważne reguły: * jeśli poprawiona wartość pokrywa się z już obecnym pojazdem, oba są **łączone** * poprawa tablicy **kasuje** dane znalezione ze starą tablicą (VIN, marka, model) i **ponownie uruchamia** wyszukiwanie, jeśli [automatyzacje](automations.md) są aktywne * wymagane jest uprawnienie **wyszukiwania części** Możesz też poprawiać z panelu **„Odczyty AI”** po otwarciu zdjęcia lub PDF: zobacz [Zdjęcia, PDF i wiadomości głosowe](ai_media.md#letture-ai-nel-visualizzatore). --- ## Tryby wyświetlania {#modalità-di-visualizzazione} W **Ustawienia → Sztuczna inteligencja → Rozpoznawanie AI** możesz wybrać, jak pokazywać pola na czacie. W tym samym miejscu przeniesiono także trzy przełączniki: * transkrypcja **wiadomości głosowych** * odczyt w **obrazach** * rozpoznawanie w **wiadomościach tekstowych** ### Pełny Pokazuje **całe pole**. ### Tylko tablica, VIN i kody Pokazuje **zwartą pigułkę** z: * tablicą lub VIN (tylko gdy wiadomość dodała lub zaktualizowała pojazd) * paskiem **kodów** * **uchwytem** do otwarcia pełnego pola tej wiadomości To tryb najbliższy poprzedniemu wyświetlaniu. ### Ukryty Brak pól na czacie. ### Przycisk „AI” na czacie We **wszystkich** trybach każda wiadomość powiązana z polem ma przycisk **„AI”**: * pokazuje lub ukrywa **wszystkie** pola otwartego czatu * wybór **nie jest zapisywany** (obowiązuje tylko dla bieżącej sesji/widoku) Lewy klik, prawy klik i **Popraw** działają także na zwartej pigułce. --- # Automatyzacje URL: https://wiki.quoting24.com/pl/content/automations/ Language: pl Updated: 2026-11-04 # Automatyzacje Automatyzacje **Reguły automatyzacji** pozwalają uruchamiać działania automatyczne, które pracują na wyszukiwaniach i które można **dowolnie włączać lub wyłączać**. Te automatyzacje pozwalają pracować w sposób **bardziej bezpośredni i szybszy**: gdy tylko otrzymasz zapytanie o wycenę, system automatycznie zaczyna szukać, *za kulisami*: - numerów rejestracyjnych - numerów VIN - części zamiennych --- ## Ostrzeżenie dotyczące kredytów > **UWAGA** > Aktywne automatyzacje **automatycznie zużywają [kredyty](credits.md)** własnego konta. > Dlatego warto uwzględnić ten element kosztowy. > > Więcej szczegółów można znaleźć w sekcji **“[Kredyty](credits.md)”**. --- ## Dostępne automatyzacje {#automazioni-disponibili} Automatyzacje, które można **włączać lub wyłączać**, są następujące: - **Automatyczna konwersja numeru rejestracyjnego → VIN** Gdy tylko numer rejestracyjny zostanie rozpoznany, jest automatycznie konwertowany na **VIN**. - **Automatyczne ładowanie drzewa** Gdy tylko dostępny jest VIN, wykonywane jest wyszukiwanie VIN i automatycznie ładowane jest **drzewo ze schematami**. - **Automatyczne wyszukiwanie części zamiennych** Automatycznie uruchamia wyszukiwanie części (na przykład *filtr powietrza*) w schematach VIN. --- ## Kontrola zużycia Jeśli obszar roboczy musi ograniczać użycie kredytów, administratorzy mogą połączyć automatyzacje z ustawieniami blokad opisanymi na stronie [Kredyty](credits.md). W ten sposób można uniknąć wykonywania konwersji numeru rejestracyjnego na VIN lub wyszukiwania VIN wtedy, gdy nie powinny zużywać kredytów. --- # Integracja z Qricambi URL: https://wiki.quoting24.com/pl/content/qricambi_integration/ Language: pl Updated: 2026-11-04 # Integracja z Qricambi Z tej sekcji można **włączać lub wyłączać** **automatyczne wyszukiwanie kodów w Qricambi**. Integracja Qricambi Gdy kod jest wyszukiwany w Qricambi z poziomu Quoting24, a Qricambi jest już otwarte w innej karcie przeglądarki, wyszukiwanie zostaje wykonane w już otwartej karcie zamiast otwierać nową. Dzięki temu praca pozostaje bardziej uporządkowana, a liczba otwartych kart podczas obsługi zapytań jest mniejsza. --- ## Typy dostawców ### Dostawcy wewnętrzni Przez **dostawców wewnętrznych** rozumie się ['Listy'](https://qricambi.com/liste/) Qricambi. Są to **pliki Excel**, które zawierają na przykład: - stany własnego magazynu - spersonalizowane cenniki --- ### Dostawcy zewnętrzni Przez **dostawców zewnętrznych** rozumie się **sklepy e-commerce własnych dostawców**, w których można wykonywać automatyczne wyszukiwania kodów bezpośrednio z Quoting24. --- ## Wybór dostawców i flaga Grupy W **Ustawienia → Qricambi**, w wyborze dostawców do wyszukiwania, dostępna jest flaga **Grupy**. Po włączeniu **Grupy**: * pojawiają się **grupy dostawców** z powiązanego konta Qricambi * można **dodać hurtowo** dostawców z grupy, bez wybierania ich pojedynczo --- ## Wyszukiwanie tekstowe w wynikach Gdy Quoting24 pokazuje wyniki Qricambi lub powiązanych dostawców, można wykonać **wyszukiwanie tekstowe** wewnątrz wyników. Wyszukiwanie pomaga szybciej znaleźć: - kod produktu - markę - opis - dostawcę --- ## Ceny katalogowe W wynikach wyszukiwania może być pokazywana również **cena katalogowa**, gdy jest dostępna. Cena katalogowa uzupełnia istniejące informacje operacyjne, takie jak cena netto, dostępność i dostawca, oraz pomaga operatorowi lepiej ocenić wynik przed wstawieniem go do przepływu wyceny. --- # Wyszukiwanie z rozszerzeniem URL: https://wiki.quoting24.com/pl/content/search_with_extension/ Language: pl Updated: 2026-11-04 # Wyszukiwanie z rozszerzeniem ## Korzystanie z rozszerzenia do wyszukiwania w Eper i Partslink Po zainstalowaniu rozszerzenia Qricambi (Qricambi Assistant) możesz wykonywać wyszukiwania numerów VIN, których nie znaleziono na platformie Partslink ani na platformie Eper. [Kliknij tutaj, aby zainstalować Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Kliknij tutaj, aby zainstalować Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Instrukcja użytkowania Ekran wyszukiwania w E i w P ### Szukaj w P Aby wyszukać część pojazdu, mając VIN w Quoting24, po naciśnięciu przycisku "Szukaj w P" VIN zostanie wysłany do Partslink24, które automatycznie wybierze markę pojazdu, wyszuka VIN i na końcu wykona wyszukiwanie komponentu. Gdy karta Partslink jest już otwarta, wyszukiwanie nie otwiera nowej karty: Quoting24 używa istniejącej karty i wysyła tam nowe wyszukiwanie. Ścieżka użyta dla kodów wyszukanych w Partslink zostaje zapisana, aby ułatwić wznowienie lub odtworzenie kontekstu wyszukiwania. Po zidentyfikowaniu kodu produktu przez otwarcie schematów będzie można zobaczyć pod nim trzy nowe ikony, każdą z określoną funkcją. Zaczynając od lewej: * **Biała ikona z "Q"**: pozwala przenieść wybrany kod do wyszukiwania "ceny i dostępność" w Qricambi; * **Czerwona ikona**: pozwala wysłać kod do Quoting24; * **Biała ikona z "24"**: wysyła kod do Quoting24, ale zamyka kartę Partslink (niewskazane, jeśli chcesz wykonywać kolejne wyszukiwania). ### Szukaj w E Aby wyszukać część pojazdu, mając VIN w Quoting24, po naciśnięciu przycisku "Szukaj w E" VIN zostanie wysłany do Eper, które wyszuka sam VIN, a następnie komponent pojazdu. Zrzut ekranu Również w Eper, podobnie jak w Partslink, można korzystać z funkcji trzech ikon opisanych wcześniej (po wybraniu poprawnego kodu). --- # Kredyty URL: https://wiki.quoting24.com/pl/content/credits/ Language: pl Updated: 2026-11-04 # Kredyty **Kredyty** służą do wykonywania następujących działań w Quoting24: 1. **Konwersja numeru rejestracyjnego → VIN** 2. **Wyszukiwanie komponentów wewnątrz VIN**, przez otwarcie schematów Ekran użycia kredytów --- ## Koszt operacji Koszt tych operacji w kredytach jest widoczny w aplikacji [Qricambi](https://app.qricambi.com/), w sekcji **“Kredyty”** (czerwony przycisk w prawym górnym rogu -> Kredyty). Korzystanie z funkcji zużywających kredyty ma **ten sam koszt** zarówno w **Qricambi**, jak i w **Quoting24**. --- ## Blokada użycia kredytów dla pojazdów W sekcji przeznaczonej dla pojazdów dostępne są ustawienia pozwalające blokować użycie kredytów w Quoting24. Główne opcje to: - **Zablokuj transkodowanie numeru rejestracyjnego → VIN** Uniemożliwia użycie kredytów do automatycznej konwersji numeru rejestracyjnego na VIN. - **Zablokuj wyszukiwanie VIN** Uniemożliwia użycie kredytów do wyszukiwania VIN i dostępu do powiązanych informacji. Te ustawienia są przydatne, gdy chcesz uniknąć niezamierzonego zużycia kredytów przez operatorów lub ograniczyć niektóre automatyczne wyszukiwania. --- ## Użycie kredytów Qricambi ↔ Quoting24 Poniżej znajdują się ogólne informacje o kredytach Quoting24: - Kredyty konta **Quoting24** są **współdzielone** z własnym kontem **Qricambi** Liczba dostępnych kredytów jest widoczna: - w **prawym górnym rogu** aplikacji Wyświetl kredyty Zakup kredytów jest obsługiwany **bezpośrednio przez Qricambi** - kliknięcie licznika kredytów otwiera [dedykowaną stronę](https://app.qricambi.com/youraccount/BuyCredits) --- # Wyślij wycenę do systemu ERP URL: https://wiki.quoting24.com/pl/content/invia_preventivo_gestionale/ Language: pl Updated: 2026-11-04 # Wyślij wycenę do systemu ERP Wyślij do systemu ERP Ta funkcja stanowi serce integracji między Quoting24 a światem zewnętrznym. Cel jest prosty: **pozwolić Quoting24 "rozmawiać" z dowolnym oprogramowaniem zarządzającym (ERP)** obecnym w firmie. Niezależnie od tego, czy korzystasz ze znanego systemu ERP, czy z rozwiązania stworzonego na miarę, Quoting24 jest zaprojektowany tak, aby był **uniwersalnie kompatybilny**. Proces dzieli się na dwa kroki: 1. **Wysłanie częściowo przygotowanej wyceny z Quoting24 do systemu ERP** 2. **Wysłanie finalnej wyceny z systemu ERP do klienta** --- ## 1. Wysłanie częściowo przygotowanej wyceny z Quoting24 do systemu ERP Ta sekcja wyjaśnia, jak połączyć Quoting24 z dowolnym zewnętrznym systemem ERP w celu automatycznego tworzenia wycen. Logiczny przepływ danych zawsze zaczyna się od **Ticketa (Czatu)** i ma następującą strukturę: `Ticket` → `Pojazd` → `Wyszukiwanie ("Część")` → `Właściwy kod (Kod OE)` → `Wybrane produkty` Gdy operator zdecyduje się utworzyć wycenę, Quoting24 wysyła "wywołanie" (żądanie) do Twojego systemu ERP, na spersonalizowany adres specyficzny dla Twojej firmy. Wycena w trakcie pracy Co dzieje się na tym etapie: - **Dopasowanie klienta**: system próbuje rozpoznać klienta, wysyłając poprawny **kod firmy** do systemu ERP (lub ewentualne inne pola, takie jak NIP albo numer telefonu). - **Dostosowanie zapytania**: dane zebrane w czacie (numer rejestracyjny, kody części, opisy) są "tłumaczone" na format oczekiwany przez Twój system ERP; dostosowanie wywołania należy zamówić w obsłudze klienta Quoting24. - **Zapisywanie odniesień**: Quoting24 zapamiętuje ID lub adres wyceny, która właśnie została utworzona w systemie ERP, aby można było odwołać się do niej w przyszłości. Podsumowując: **Quoting24 wypełnia za Ciebie szkic wyceny bezpośrednio w Twoim systemie.** ## 2. Wysłanie finalnej wyceny z systemu ERP do klienta Gdy wycena jest gotowa lub potwierdzona w Twoim systemie ERP, można wysłać powiadomienie zwrotne do Quoting24 (na nasz dedykowany adres API), przekazując wycenę w formacie PDF oraz odniesienie do ID wyceny lub ticketa źródłowego. Potwierdzona wycena Po otrzymaniu przez Quoting24 wyceny z systemu ERP znajdujemy się na tym etapie: wycena jest ukończona i możemy wykonać następujące akcje: - za pomocą **Strzałki** możemy otworzyć wycenę w systemie ERP - za pomocą **Oka** możemy wyświetlić wycenę - za pomocą **Strzałki pobierania** możemy pobrać wycenę w formacie **PDF** - za pomocą **Strzałki wysyłania** możemy wysłać wycenę klientowi Można sprawić, aby za pomocą parametru wywołania wycena została wysłana bezpośrednio do klienta przez WhatsApp, bez żadnego kroku potwierdzającego w Quoting24 (bez konieczności klikania ikony wysyłania). W przypadku używania oficjalnych API WhatsApp można również wysłać przycisk akceptacji razem z załącznikiem PDF, a jeśli ten przycisk zostanie naciśnięty, wycena zostanie automatycznie wysłana do systemu ERP jako zaakceptowana. ### Nazwa pliku wyceny Nazwa pliku PDF wyceny jest generowana z uwzględnieniem, gdy są dostępne, informacji przydatnych do rozpoznania dokumentu, takich jak: - numer rejestracyjny - VIN - numer wyceny Dzięki temu łatwiej zidentyfikować plik po pobraniu lub po wysłaniu go klientowi. Nazwa pliku wyceny z numerem rejestracyjnym VIN i numerem --- ## PRZYKŁAD INTEGRACJI: Wyceny Qricambi Dla osób korzystających z **Qricambi** integrację z systemem ERP można łatwo odtworzyć, używając Wycen Qricambi jako przykładowej platformy zarządzania. ### Zapytanie o wycenę Wyceny Qricambi System automatycznie tworzy wycenę w Qricambi zgodnie z inteligentnymi logikami: - **Rozpoznanie klienta**: jeśli kontakt Quoting24 odpowiada klientowi Qricambi (dopasowanie kodu klienta), wycena zostaje wystawiona na niego. W przeciwnym razie używane są ogólne informacje operatora Quoting24. - **Przesyłane dane**: automatycznie wysyłane są numer rejestracyjny/VIN, pojazd, link do ticketa źródłowego oraz użytkownik wykonujący operację. **Jak wypełniane są wiersze wyceny?** System potrafi obsługiwać różne przypadki, aby nie utracić żadnej informacji: 1. **Wybrane wiersze**: jeśli wybrano części z wyszukiwania Qricambi, zostają one wstawione ze wszystkimi szczegółami (kod, cena itd.). Produkt 2. **Z wyszukiwania (Kod OE)**: jeśli nie wybrano konkretnych wierszy lub nie znaleziono wyników w Qricambi, ale istnieje oryginalny kod (OE) z VIN, system tworzy wiersz z tym kodem i notatką "Z WYSZUKIWANIA". Brak wyników 3. **Opis ogólny**: jeśli nie ma żadnego VIN ani wyszukiwania technicznego, a jedynie zapytanie tekstowe (np. "prawe lusterko"), tworzony jest pusty wiersz zawierający tylko opis wymaganej części. Brak wyszukiwania ### Odbiór wyceny Po opracowaniu i ukończeniu wyceny w Qricambi: - Wystarczy kliknąć przycisk **"Wyślij do Quoting24"**. - System natychmiast wysyła **PDF** do czatu. - Wycena zostaje oznaczona jako **ukończona**. Operator może następnie wyświetlić PDF, pobrać go lub wysłać bezpośrednio klientowi na WhatsApp bez wychodzenia z przepływu pracy. --- # Pisz na WhatsApp przez nasze API URL: https://wiki.quoting24.com/pl/content/invia_whatsapp_api/ Language: pl Updated: 2026-11-04 # Pisz na WhatsApp przez nasze API Ta funkcja pozwala Twojemu systemowi ERP lub dowolnemu innemu zewnętrznemu oprogramowaniu **komunikować się bezpośrednio z Twoimi klientami na WhatsApp**, używając Quoting24 jako pomostu. Mówiąc prosto, dzięki tej integracji można **wysyłać wiadomości i dokumenty automatycznie**, bez otwierania aplikacji Quoting24 i bez ręcznego kopiowania oraz wklejania danych. --- ## Co można zrobić? Korzystając z tego połączenia, Twój system ERP może wykonać trzy główne akcje za jednym razem: 1. **Wysłać wiadomość tekstową** Możesz napisać do klienta dowolną informację: powiadomienie o gotowym towarze, potwierdzenie zamówienia albo zwykłe powitanie. 2. **Wysłać pliki i dokumenty (PDF, obrazy itd.)** Razem z tekstem możesz załączyć pliki. Jest to bardzo przydatne na przykład do **wysłania PDF wyceny** lub faktury bezpośrednio w czacie WhatsApp klienta. 3. **Automatycznie zamknąć zapytanie (Ticket)** Często po wysłaniu wyceny lub potwierdzenia operację można uznać za zakończoną. Można polecić systemowi, aby **od razu "zarchiwizował" (zamknął) rozmowę** po wysłaniu wiadomości, utrzymując czystą listę otwartych zapytań w Quoting24 bez ręcznego działania. --- ## Szczegóły techniczne integracji Dostępny jest jeden endpoint do wysyłania wiadomości do **pojedynczego kontaktu** przez WhatsApp Business API. Uwierzytelnianie odbywa się przez header `X-API-Key` przy użyciu klucza API Twojego tenanta, dostępnego w ustawieniach konta. --- ### Wyślij wiadomość do kontaktu **Endpoint:** `https://api.quoting24.com/webhook/sendmessage` **Wiadomość tekstowa:** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Wiadomość z obrazem lub dokumentem (publiczny URL):** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Parametry `message_content`:** | Pole | Typ | Obowiązkowe | Opis | | ---------------- | --------------------------------------------- | --------------------------------- | --------------------------------------------------------- | | `type` | `text` / `image` / `video` / `audio` / `file` | Nie, domyślnie `text` | Typ wiadomości | | `text` | string | Nie | Tekst wiadomości lub podpis pliku | | `file.url` | string URL | Tak, jeśli `type` różni się od `text` | Publiczny URL pliku do wysłania | | `file.name` | string | Tak, jeśli `type` różni się od `text` | Nazwa pliku z rozszerzeniem, na przykład `preventivo.pdf` | | `file.mime_type` | string | Tak, jeśli `type` różni się od `text` | Typ MIME, na przykład `application/pdf` lub `image/jpeg` | **Główne parametry:** | Pole | Opis | | ------------------- | ------------------------------------------------------------------------------------- | | `tenant_id` | ID Twojego tenanta, dostępne w ustawieniach | | `phone_number` | Numer telefonu klienta z prefiksem międzynarodowym, na przykład `+39123456789` | | `channel` | `whatsapp-api` dla WhatsApp Business API | | `auto_close_ticket` | `true`, aby automatycznie zamknąć ticket po wysłaniu | --- > **Uwaga:** plik do załączenia musi być dostępny przez publiczny URL. Jeśli plik pochodzi z systemu ERP lub systemu wewnętrznego, upewnij się, że jest dostępny z internetu, zanim przekażesz jego link do API. > **Uwaga operacyjna:** wysyłanie wiadomości podlega regułom Meta. Aby rozpocząć rozmowy poza 24-godzinnym oknem obsługi, mogą być wymagane wstępnie zatwierdzone szablony. --- # Precyzyjne wyszukiwanie kodów OE / AM we własnym systemie ERP URL: https://wiki.quoting24.com/pl/content/management_research/ Language: pl Updated: 2026-11-04 # Precyzyjne wyszukiwanie kodów OE / AM we własnym systemie ERP ## Przegląd ogólny Integrując własny system ERP z Quoting24, można w czasie rzeczywistym zwracać spersonalizowane ceny i dostępność dla konkretnego klienta, z którym prowadzona jest rozmowa podczas wyszukiwania kodów. W ten sposób szybko uzyskuje się **konkretne warunki handlowe** klienta, z którym aktualnie rozmawiasz. Celem jest umożliwienie Quoting24, po zidentyfikowaniu kodu produktu, automatycznego pobrania: - dostępności i ceny netto konkretnego klienta - metadanych produktu: informacji opisowych, brandu, ewentualnych aktywnych promocji i innych powiązanych atrybutów. - przepływ jest zaprojektowany tak, aby w sposób przejrzysty integrować się z API ERP systemu zarządzania Dostawcy. --- ## Parametry wyszukiwania **Od Quoting24 do Dostawcy** ### Parametry obowiązkowe - **Token uwierzytelniania** Unikalny token, który jednoznacznie identyfikuje serwery Quoting24. - **Kod wyszukiwania** Preferowany jest **kod AM lub OE**. Wyszukiwanie **nie powinno ograniczać się wyłącznie do dokładnych kodów produktu**, ale powinno również: - Szukać kodów alternatywnych - Szukać w zewnętrznych bazach ⚠️ Jeśli takie zachowanie **nie jest obsługiwane**, należy to jasno zakomunikować. Jako minimum wyszukiwanie musi obejmować dane kartotekowe produktu, a nie tylko dokładne kody wewnętrzne. --- ### Identyfikacja klienta **Należy podać co najmniej jeden z poniższych elementów** - **ID (zgodnie z kartoteką w systemie ERP)** oddziału Waszego klienta - **ID (zgodnie z kartoteką w systemie ERP)** firmy Waszego klienta - **NIP klienta** - **ID kategorii rabatowej** Używany dla: - klientów niezarejestrowanych - umożliwienia operatorowi dynamicznej zmiany reguł rabatowych --- ### Parametry opcjonalne - **ID operatora** *(opcjonalne, ale zalecane)* Używane do śledzenia, kto wygenerował wycenę. - **Ilość** Może być uwzględniona w żądaniu, jeśli jest ściśle wymagana. Preferowane podejście: obsługa ilości w **odpowiedzi**, a nie w żądaniu. - **Brand / Producent** Aby umożliwić bardziej precyzyjne wyszukiwania. - **Tryb wyszukiwania** Parametr opcji dokładnego wyszukiwania punktowego lub wyszukiwania z zamiennikami (które zwraca także wyniki produktów alternatywnych). --- ## Parametry odpowiedzi **Od dostawcy do Quoting24** Odpowiedź musi zawierać **listę produktów**, każdy z poniższymi polami. ### Pola obowiązkowe (dla produktu) - **Kod produktu dostawcy** Wewnętrzny kod zamówieniowy, z prefiksami, dokładnie taki, jak używany w systemach Dostawcy. - **Producent** Nazwa producenta (np. *LUK, Magneti Marelli, Brembo*). Może być ustrukturyzowana w 2 polach: - wersja skrócona / prekod (np. `MAR`) - pełna nazwa (np. `Magneti Marelli`) - **Cena sprzedaży netto dla klienta** - Cena netto (bez VAT) - Koszty wysyłki wyłączone - Koszty wysyłki mogą być zwrócone oddzielnie, jeśli dotyczy - **Dostępność** Wartość numeryczna reprezentująca ilość dostępną w magazynie. - **Magazyn** Nazwa magazynu, półka lub odniesienie do lokalizacji wewnętrznej. --- ### Pola opcjonalne - **Opis produktu** Tekst swobodny (np. *Klocki hamulcowe*) i/lub kategoria towarowa. - **Kod identyfikacyjny Producenta** Obowiązkowy, gdy kod produktu ERP różni się od kodu producenta. - **Cena katalogowa** Nie jest konieczna, ale można ją odtworzyć, jeśli jest potrzebna. - **Promocje** - Obecność promocji (wartość binarna) - Tekst promocji (opcjonalny) - Jeśli tekst jest pusty → promocja nieaktywna - **Obraz produktu** - URL obrazu - Albo obraz Base64 - **URL karty produktu** Link do strony szczegółów produktu w e-commerce lub na stronie zewnętrznej. Jeśli bezpośrednie połączenie nie jest możliwe: - Podaj reguły składni URL - Albo zwróć ogólny URL strony logowania - **Ceny zależne od ilości / Rabaty** Jeśli istnieją rabaty ilościowe, zwróć progi w dowolnym **parsowalnym formacie**, na przykład: ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Profil URL: https://wiki.quoting24.com/pl/content/profilo/ Language: pl Updated: 2026-11-04 # Profil Klikając **kreski w prawym górnym rogu** w Quoting24 i przechodząc do sekcji **Ustawienia → Profil**, można zmienić kilka ważnych aspektów korzystania z platformy. Profil --- ## Personalizacja profilu W tej sekcji można spersonalizować swój profil, zmieniając: - **avatar**, wstawiając: - własne inicjały imienia - *logo artystyczne* - albo przesyłając **obraz** Edycja profilu --- ## Pseudonim **Pseudonim**: - początkowo pokrywa się z **nazwą użytkownika używaną do logowania w Qricambi** - jest **obowiązkowy** - może być dowolnie zmieniany Pseudonim reprezentuje Twoją **wewnętrzną nazwę** w Quoting24 i jest tym, co: - widzą współpracownicy - jest używane do **przypisywania ticketów** Zmiana pseudonimu: - **nie zmienia** nazwy użytkownika logowania - **nie wpływa** na dane logowania do Quoting24 i Qricambi --- ## Zapisywanie zmian Zapisywanie zmian Po spersonalizowaniu ustawień profilu trzeba **zapisać zmiany** przed opuszczeniem strony. Wyświetlenie zmian w czacie może wymagać: - zapisania ustawień - **odświeżenia strony ticketów (F5)** --- ## Podpis, nagłówek i wiadomości automatyczne Można ustawić **podpis osobisty** i **automatyczny nagłówek**. Dla podpisu i nagłówka wybiera się, kiedy wstawiać je do wiadomości wysyłanych z Quoting24: * **Zawsze** — trafiają do każdej wiadomości * **Tylko przy pierwszej wiadomości ticketa i przy Wyślij i zamknij** — są dodawane tylko do pierwszej wiadomości tego ticketa oraz przy wysyłce przyciskiem **Wyślij i zamknij** (wysyła wiadomość i zamyka ticket) Podpis jest wstawiany **na końcu** wiadomości. Nagłówek, podobnie jak podpis, jest wstawiany **przed** wiadomością. Podpis Można też skonfigurować **wiadomość przejęcia obsługi**, wysyłaną automatycznie po kliknięciu przycisku przypisania ticketa, który nie jest jeszcze przypisany. --- ## Wysyłanie bez nagłówka lub podpisu Nawet gdy nagłówek i podpis są ustawione na **zawsze** albo **tylko przy pierwszej wiadomości ticketa i przy Wyślij i zamknij**, można wysłać pojedynczą wiadomość **bez nagłówka i bez podpisu**. Ta opcja jest przydatna, gdy wiadomość powinna być bardziej bezpośrednia, na przykład przy krótkich potwierdzeniach lub odpowiedziach operacyjnych już osadzonych w kontekście rozmowy. --- # Obszar roboczy URL: https://wiki.quoting24.com/pl/content/activities/ Language: pl Updated: 2026-11-04 # Obszar roboczy Ta sekcja jest widoczna **tylko dla [administratorów](user.md)**, a nie dla **[członków](user.md)** (użytkowników). Klikając **kreski w prawym górnym rogu** w Quoting24 i przechodząc do sekcji **Ustawienia → Obszar roboczy**, można zarządzać niektórymi **podstawowymi opcjami** korzystania z platformy. Obszar roboczy --- ## Nazwa obszaru roboczego Można zmienić **nazwę obszaru roboczego**, ustawiając dowolną nazwę. Każdy **numer telefonu** połączony z Quoting24 ma własną **nazwę obszaru roboczego**, która pozwala użytkownikom podczas logowania łatwo rozpoznać, **w którym “pokoju”** będą pracować. --- ## Komentarze wewnętrzne Z tej sekcji można **włączać lub wyłączać** **komentarze wewnętrzne** w czatach. Komentarze wewnętrzne pozwalają operatorom: - komunikować się ze współpracownikami - wstawiać notatki niewidoczne dla klienta --- ## Komunikaty serwisowe Sekcja **Komunikaty serwisowe** pozwala zarządzać wiadomościami lub wewnętrznymi ostrzeżeniami związanymi z obszarem roboczym. Te komunikaty służą do informowania operatorów o wskazówkach operacyjnych, aktualizacjach lub ważnych notatkach, o których należy pamiętać podczas codziennej pracy w Quoting24. Komunikaty serwisowe --- ## Wyodrębnianie danych AI Quoting24 może automatycznie wyodrębniać przydatne informacje z: - obrazów - wiadomości głosowych - tekstu wiadomości Z tej sekcji można **ukryć wyodrębnianie danych przez AI** w sekcji obszaru roboczego. Ustawienie jest przydatne, gdy chcesz zachować czystszy interfejs lub uniknąć pokazywania operatorom szczegółów automatycznego przetwarzania. --- # Użytkownicy URL: https://wiki.quoting24.com/pl/content/user/ Language: pl Updated: 2026-11-04 # Użytkownicy Ta sekcja jest widoczna **tylko dla administratorów**, a nie dla **członków** (użytkowników). W sekcji **Ustawienia → Użytkownicy** można wyświetlać i zarządzać listą **użytkowników powiązanych z własnym profilem Quoting24**. Strona użytkowników --- ## Status użytkowników Każdy użytkownik może znajdować się w jednym z poniższych statusów: 1. **Aktywny** Użytkownik wykonał już co najmniej jedno logowanie do Quoting24. 2. **Oczekujący** Użytkownik został zaproszony do Quoting24, ale **nie wykonał jeszcze pierwszego logowania**. 3. **Nieaktywny** Użytkownik przez 5 minut **nie wszedł do Quoting24**. 4. **Offline** Użytkownik przez ponad 15 minut **nie wszedł do Quoting24**. Można również wyświetlić status: - **Online** - **Offline** Status użytkownika jest używany przez platformę do określania możliwości wykonania [“automatycznego przypisania”](assegnazioni.md). Jeśli użytkownicy, którzy potencjalnie są celem **"automatycznego przypisania"**, są wszyscy offline, automatyczne przypisanie nie nastąpi (a ticket pozostanie **nieprzypisany** i będzie widoczny dla wszystkich uprawnionych). --- ## Role użytkowników Użytkownicy mogą mieć jedną z poniższych ról: - **Administrator** Ma dostęp do **wszystkich funkcji i sekcji** aplikacji. - **Członek** Ma ograniczony dostęp. Niektóre sekcje, takie jak **Użytkownicy**, **WhatsApp** i **Obszar roboczy**, **nie są widoczne**. --- ## Zaawansowane zarządzanie użytkownikami (administratorzy) Użytkownik z rolą **administrator** może kliknąć **ikonę koła zębatego** po prawej stronie każdego użytkownika, aby zmienić niektóre ustawienia. W szczególności można: - **Zmienić rolę** użytkownika (administrator / członek) - Zarządzać **widocznością zapytań** Domyślnie *członek* może widzieć tylko zapytania przypisane do niego, ale można włączyć: - wyświetlanie zapytań nieprzypisanych - wyświetlanie zapytań przypisanych do innych użytkowników - Skonfigurować **włączone moduły** Można szczegółowo wybrać, które moduły każdy członek może: - wyświetlać - modyfikować Na przykład dla modułu **“wyszukiwanie aut i części”**: - członek może tylko wyświetlać kody wybrane przez innych operatorów - albo może wejść do schematów oraz wykonywać wyszukiwania i zmiany tak jak administrator Uprawnienia użytkownika --- ## Dodawanie nowych użytkowników Administrator może **zapraszać lub dodawać nowych użytkowników** do Quoting24, klikając czerwony przycisk **“Dodaj”**. Otworzy się lista dostępnych użytkowników; aby zaprosić użytkownika, wystarczy kliknąć **czerwoną strzałkę** obok wybranej nazwy. Dodaj użytkownika Podczas tworzenia lub zapraszania nowego użytkownika można wstępnie ustawić jego **pseudonim**. Pseudonim jest wewnętrzną nazwą używaną w Quoting24 do: - wyświetlania użytkownika w przypisaniach - oznaczania go w notatkach wewnętrznych - szybszego rozpoznawania go podczas współpracy między operatorami --- ## Zmiana hasła i zarządzanie kontem Kliknięcie **“Zmień hasło”** w prawym górnym rogu przekierowuje do sekcji [**Konto → Zarządzanie użytkownikami**](https://app.qricambi.com/youraccount/UsersManager) w Qricambi (Account Admin): Jeśli Twój użytkownik jest **administratorem Qricambi**, z tej sekcji można: - zmienić **nazwę użytkownika** - zmienić **hasło** - szybko zmienić **pseudonim** i **podpis** wybranego użytkownika za pomocą **ikony ołówka** Dane logowania są **takie same** dla **Qricambi** i **Quoting24**. --- # Powiadomienia URL: https://wiki.quoting24.com/pl/content/notifications/ Language: pl Updated: 2026-11-04 # Powiadomienia Quoting24 pozwala każdemu użytkownikowi konfigurować własne **powiadomienia osobiste**, aby pozostawać na bieżąco z zapytaniami do obsługi także podczas pracy na wielu numerach telefonu. Powiadomienia pomagają operatorowi śledzić: - nowe zapytania - otrzymane wiadomości - tickety przypisane lub odpięte - notatki wewnętrzne i oznaczenia współpracowników - reakcje na wiadomości --- ## Gdzie konfiguruje się powiadomienia Powiadomienia konfiguruje się w **Ustawienia → Powiadomienia**. Z tej sekcji można: - wybrać **dźwięk** powiadomienia (z podglądem) - ustawić **poziom powiadomień o wiadomościach** dla bieżącego obszaru roboczego - włączyć **powiadomienia desktopowe** Impostazioni Notifiche --- ## Ujednolicone powiadomienia Powiadomienia Quoting24 są **ujednolicone**: jeśli użytkownik pracuje na wielu połączonych numerach telefonu, otrzymuje powiadomienia ze wszystkich numerów, do których ma uprawnienia, niezależnie od numeru otwartego w danym momencie. Dzięki temu nie trzeba mieć otwartej karty przeglądarki dla każdego obszaru roboczego tylko po to, aby sprawdzać powiadomienia. Powiadomienia są pokazywane w **dzwonku** Quoting24 i działają zgodnie z osobistymi ustawieniami użytkownika. --- ## Powiadomienia desktopowe Aby otrzymywać alerty także poza oknem Quoting24, można włączyć **powiadomienia desktopowe**. Aby je włączyć: 1. wejdź w **Ustawienia → Powiadomienia** 2. kliknij **Włącz powiadomienia desktopowe** 3. potwierdź uprawnienie wymagane przez przeglądarkę Po włączeniu przeglądarka może pokazywać powiadomienie także wtedy, gdy Quoting24 nie jest aktywną kartą. --- ## Dźwięk powiadomień W ustawieniach można wybrać **dźwięk** powiadomienia, z podglądem odsłuchu. Dostępne opcje obejmują dźwięki takie jak Default, Chime, Pop, Pulse, Ring, Bloom i Runaway, a także opcję **Brak**. Przy **Brak** powiadomienia wizualne pozostają aktywne zgodnie ze skonfigurowanymi regułami, ale alert dźwiękowy jest całkowicie wyciszony. Wzmianki, przypisania i dźwięk pozostają **ustawieniami użytkownika**. Scelta suono notifica --- ## Poziomy powiadomień według obszaru roboczego Poziom **powiadomień o wiadomościach** nie jest już globalny dla użytkownika: można go ustawić **dla każdego obszaru roboczego**. Jeśli pracujesz na wielu tenantach, każdy obszar roboczy ma własną preferencję; edytowana jest ta z **bieżącego workspace**. Dostępne poziomy pozwalają otrzymywać powiadomienia: - brak - tylko moje - moje i nowe - wszystkie Wybór zależy od roli operatora i przepływu pracy firmy. Livello notifiche messaggi per attività --- ## Powiadomienia dla nowych zapytań i wiadomości Gdy od klienta przychodzi nowe zapytanie, Quoting24 może powiadomić operatorów zgodnie z konfiguracją wybraną dla obszaru roboczego. Jest to przydatne zwłaszcza wtedy, gdy: - wielu operatorów pracuje na tym samym numerze - zapytania muszą być szybko przejmowane - firma chce uniknąć sytuacji, w której nowy ticket pozostaje nieobsłużony Powiadomienia mogą być generowane również przez wiadomości otrzymane w już otwartych ticketach, zgodnie z poziomem wybranym dla obszaru roboczego. --- ## Powiadomienia dla ticketów przypisanych lub odpiętych Gdy otwarty ticket zostaje **przypisany** do operatora, powiadomienie pozwala szybko dowiedzieć się, że zapytanie wymaga obsługi. Powiadomienie jest generowane również wtedy, gdy otwarty ticket zostaje **odpięty**, dzięki czemu operator wie, że zapytanie nie jest już pod jego odpowiedzialnością. Przypisanie może nastąpić: - ręcznie - przez reguły automatyczne - zgodnie z konfiguracją przypisań Więcej szczegółów znajdziesz na stronie [Przypisania](assegnazioni.md). --- ## Powiadomienia dla notatek wewnętrznych i oznaczeń W rozmowach można tworzyć **notatki wewnętrzne** widoczne tylko dla współpracowników. Gdy współpracownik zostanie oznaczony jako `@pseudonim`, otrzyma konkretne powiadomienie. Można również użyć `@wszyscy`, aby zwrócić uwagę wszystkich uprawnionych operatorów. Powiadomienia wygenerowane przez oznaczenie w notatce wewnętrznej są wyróżniane na **pomarańczowo**, aby odróżnić je od zwykłych powiadomień o wiadomościach. Obok znaczników wyświetlenia pokazywana jest ikona notatki wewnętrznej, aby wskazać, że ta treść nie została wysłana do klienta. --- ## Powiadomienia dla reakcji Reakcje na wiadomości generują powiadomienia w Quoting24. Powiadomienia o reakcjach są pokazywane: - w **dzwonku** - w **powiadomieniach desktopowych**, jeśli są włączone - w podglądzie wiadomości w lewej kolumnie Po otwarciu wiadomości można również zobaczyć **kto dodał reakcję**. --- ## Wskazówki operacyjne Aby prawidłowo korzystać z powiadomień: - wybierz poziom zgodny ze swoją rolą dla każdego obszaru roboczego - włącz szersze powiadomienia, jeśli musisz monitorować nowe zapytania - używaj węższych powiadomień, jeśli pracujesz tylko na przypisanych ticketach - użyj **Brak** jako dźwięku, jeśli preferujesz tylko alerty wizualne - włącz powiadomienia desktopowe, jeśli nie trzymasz Quoting24 zawsze na pierwszym planie - używaj oznaczeń w notatkach wewnętrznych, aby przywoływać konkretnych współpracowników - okresowo sprawdzaj konfigurację, jeśli zmieniasz rolę, obszar roboczy lub numer telefonu --- # Centre d'aide Quoting24 URL: https://wiki.quoting24.com/fr/ Language: fr Updated: 2026-11-04 # Centre d'aide Quoting24 Bienvenue dans le **Centre d'aide de Quoting24**. Cette documentation vous guidera pas a pas dans l'utilisation de Quoting24, en expliquant **ce que fait la plateforme**, **a qui elle s'adresse** et **comment l'exploiter au mieux** dans les activites quotidiennes. --- ## Qu'est-ce que Quoting24 **Quoting24** est une plateforme concue pour **gerer, organiser et automatiser les demandes de devis recues via WhatsApp**, en transformant les conversations avec les clients en un flux de travail structure et efficace. Quoting24 est particulierement utile lorsque : - plusieurs operateurs travaillent sur le meme numero et le volume de demandes est eleve - il faut reduire le temps de preparation des devis grace a une serie d'automatismes concus pour la vente de pieces detachees automobiles. Contrairement a WhatsApp traditionnel, Quoting24 : - divise les conversations en **tickets** - permet de travailler en **equipe** sans limite de numeros ni d'operateurs connectes - se connecte directement a **Qricambi** et a votre **logiciel de gestion** Quoting24 sert a : - gerer **de nombreuses demandes simultanement** sans perdre de messages - automatiser les recherches de **plaques, chassis et pieces detachees** - collaborer entre collegues avec des notes internes, des reactions et des notifications unifiees - creer un flux continu entre **demande → recherche → devis → reponse** --- ## Index de la documentation ### 🚀 Commencer avec Quoting24 - [Acces a Quoting24](content/login.md) Comment se connecter et acceder a la plateforme. - [Vue d'ensemble generale](content/general_overview.md) Vue d'ensemble de l'interface et du flux de travail. --- ### 🧾 Gestion des demandes - [Ecran principal](content/main_screen.md) Vue principale avec tickets, chat et recherche de pieces detachees. - [Gestion des tickets](content/gestione_ticket.md) Un ticket accessible en ecriture par conversation, reponses, reouverture et messages programmes. - [Liste des demandes](content/requested_list.md) Historique, recherche et filtres des demandes recues. - [Étiquettes](content/type_of_request.md) Étiquettes des tickets, catégorisation automatique et urgence. - [Reponses enregistrees](content/save_response.md) Messages predefinis pour repondre plus rapidement. - [Affectations](content/assegnazioni.md) Affectation automatique et gestion intelligente des tickets. - [Creneaux de livraison](content/delivery_shifts.md) Gestion et affectation des creneaux aux entreprises. - [Rapport quotidien d'activité](content/daily_activity_report.md) Rapport e-mail avec KPI tickets, opérateurs et évolution quotidienne. - [Quoting News](content/quoting_news.md) Canal en lecture seule pour les communications produit de Quoting. --- ### 💬 Canal WhatsApp - [Vue d'ensemble WhatsApp](content/whatsapp.md) Connexion du numero WhatsApp via les API officielles. - [Migration de l'API WhatsApp](content/migrazione_whatsapp_api.md) Relier à Quoting24 un numéro déjà sur les API d'un autre fournisseur, sans le changer. - [WhatsApp Coexistence](content/whatsapp_coexistence.md) Utiliser en même temps l'app WhatsApp Business et les API officielles sur le même numéro. - [Broadcast API](content/broadcast_api.md) Campagnes de modèles Meta vers de nombreux numéros, destinataires importés depuis Excel. --- ### 🌐 Canal Widget - [Vue d'ensemble Widget](content/widget.md) — Chat sur le site : invité, association d'entreprise et restauration de l'historique. - [Widget B2C](content/widget_b2c.md) — Script, visiteur inconnu et payload avec `external_id` / `company_name`. - [Widget B2B](content/widget_b2b.md) — Historique entre appareils avec `external_user_id` et `restore_id`. - [Intégration technique](content/widget_tecnico.md) — Contrat de `init()`, création d'entreprise, CSP et dépannage. --- ### 👥 Contacts et entreprises - [Contacts](content/contacts.md) Gestion des contacts synchronises depuis WhatsApp. - [Entreprises](content/companies.md) Creation et gestion des entreprises clientes. --- ### Intelligence artificielle - [Vue d'ensemble IA](content/ai.md) - [Reconnaissance](content/ai_riconoscimento.md) - [Photos, PDF et messages vocaux](content/ai_media.md) - [Cadre et correction](content/ai_riquadro.md) - [Automatisations](content/automations.md) --- ### 🔌 Integrations - [Recherche fournisseurs Qricambi](content/qricambi_integration.md) Connexion avec Qricambi et gestion des fournisseurs. - [Recherche avec extension](content/search_with_extension.md) Rechercher sur Partslink ou Eper les châssis introuvables, avec Qricambi Assistant. - [Credits Qricambi](content/credits.md) Utilisation et gestion des credits partages avec Qricambi. - [Envoyer un devis au logiciel de gestion](content/invia_preventivo_gestionale.md) Envoyez les donnees du devis a votre logiciel de gestion. - [Ecrire sur WhatsApp via nos API](content/invia_whatsapp_api.md) Envoyez des messages via les API officielles de WhatsApp. - [Recherche d'un code dans votre logiciel de gestion](content/management_research.md) Recherche dans le logiciel de gestion pour obtenir les prix et disponibilites par client. --- ### 👤 Parametres du compte - [Profil utilisateur](content/profilo.md) Personnalisation du profil et messages automatiques. - [Activite](content/activities.md) Parametres de l'activite et comportement general. - [Utilisateurs et autorisations](content/user.md) Gestion des utilisateurs, roles et autorisations. - [Notifications](content/notifications.md) Configuration des notifications personnelles, unifiees et de bureau. --- --- ## Par ou commencer Si c'est votre premiere fois sur Quoting24, nous vous conseillons ce parcours : 1. [Acces a Quoting24](content/login.md) 2. [Vue d'ensemble generale](content/general_overview.md) 3. [Ecran principal](content/main_screen.md) 4. [Vue d'ensemble WhatsApp](content/whatsapp.md) 5. [Activite](content/activities.md) et [Automatisations](content/automations.md) Cela vous permettra d'avoir une vision complete du fonctionnement avant d'entrer dans les details. --- # Acces a Quoting24 URL: https://wiki.quoting24.com/fr/content/login/ Language: fr Updated: 2026-11-04 # Acces a Quoting24 Pour acceder a **Quoting24**, vous devez etre inscrit (plus d'informations [ici](https://welcome.quoting24.com/registrazione)) et disposer d'un identifiant permettant d'acceder au lien suivant : [https://beta.quoting24.com/auth/login](https://beta.quoting24.com/auth/login) Le **nom d'utilisateur** et le **mot de passe** sont les memes que ceux utilises pour acceder a [**Qricambi**](https://qricambi.com/). Ecran de connexion --- ## Gestion du mot de passe Pour le moment, pour modifier ou recuperer le mot de passe, il est necessaire d'utiliser Qricambi via l'une des options suivantes : - Page de [recuperation du mot de passe](https://app.qricambi.com/Authentication/RequestRecover?user=) - Section [Gestion des utilisateurs](https://app.qricambi.com/youraccount/UsersManager) --- ## Premier acces et selection de l'activite Lors du premier acces a la plateforme, l'utilisateur a **deja ete cree et configure** par des collegues ayant un role administratif. Apres la connexion, le comportement depend des **numeros de telephone/activites** associes a l'utilisateur. ### Utilisateur associe a plusieurs numeros de telephone Si l'utilisateur est affecte a **plusieurs numeros de telephone**, il lui sera demande de choisir **dans quelle activite entrer**. Ecran de selection de l'activite ### Utilisateur associe a un seul numero de telephone Si l'utilisateur est affecte a **un seul numero de telephone**, l'acces se fera automatiquement, sans aucune selection. --- ## Apres l'acces Une fois connecte, l'[**ecran principal de Quoting24**](main_screen.md) s'affiche. Vous pouvez alors commencer a travailler sur les demandes. --- # Vue d'ensemble générale URL: https://wiki.quoting24.com/fr/content/general_overview/ Language: fr Updated: 2026-11-04 # Vue d'ensemble générale Quoting24 est une plateforme conçue pour **gérer de manière centralisée et intelligente les demandes de devis reçues via WhatsApp**, en intégrant automatisation, recherche de pièces détachées et collaboration entre opérateurs. Cette vue d'ensemble vous aidera à comprendre : - comment l'interface est organisée - comment fonctionne le flux de travail - quelles sont les principales fonctionnalités disponibles --- ## L'écran principal Une fois connecté, l'utilisateur est dirigé vers l'**[écran principal](main_screen.md)** de Quoting24. Écran principal Quoting24 L'écran est divisé en **trois zones principales**, qui fonctionnent ensemble pour transformer une conversation WhatsApp en un devis structuré. --- ## 1. Gestion des demandes (chat et tickets) Liste des tickets Chaque demande reçue d'un client est gérée comme un **ticket**. Contrairement à WhatsApp traditionnel : - chaque nouvelle demande de devis génère un ticket distinct - les tickets peuvent être **affectés**, mis **en pause**, marqués **à lire**, **fermés** ou **repris** - le travail est réparti entre plusieurs opérateurs de manière ordonnée Depuis cette section, il est possible de : - trier et filtrer les tickets (assigné à l'extérieur, autres filtres dans l'entonnoir) - ouvrir de nouvelles demandes depuis l'accueil ou depuis **Contacts** - surveiller l'état du travail de l'équipe Pour chaque conversation, il n'existe **qu'un seul ticket accessible en écriture** : un ticket fermé ne se rouvre pas à la main. Détails dans **[Gestion des tickets](gestione_ticket.md)**. 👉 Pour approfondir : - **[Gestion des tickets](gestione_ticket.md)** - **[Liste des demandes](requested_list.md)** - **[Affectations automatiques](assegnazioni.md)** - **[Étiquettes](type_of_request.md)** - **[Quoting News](quoting_news.md)** --- ## 2. Conversation avec le client Chat Quoting24 C'est la zone dédiée à la **communication directe avec le client**. Depuis ici, il est possible de : - envoyer et recevoir des messages - joindre des photos, vidéos et documents - insérer des **notes internes** visibles uniquement par les collègues - utiliser des **réponses enregistrées** pour accélérer les communications Quoting24 analyse automatiquement les messages : - transcrit les messages vocaux - reconnaît les plaques, châssis et références aux pièces détachées - prépare les données nécessaires à la phase de devis 👉 Pour approfondir : - **[Réponses enregistrées](save_response.md)** - **[Notifications](notifications.md)** --- ## 3. Recherche véhicule et pièces détachées Recherche plaque et châssis La section de droite est dédiée à la **recherche technique**. Ici sont affichés automatiquement : - plaques - châssis - informations sur le véhicule - composants identifiés dans la conversation Grâce aux **vues éclatées**, il est possible de : - identifier le bon code de la pièce détachée - le rechercher sur Qricambi - lancer rapidement la création du devis Vues éclatées du véhicule 👉 Pour approfondir : - **[Intégration avec Qricambi](qricambi_integration.md)** - **[Automatisations](automations.md)** --- ## Automatisations et affectations intelligentes Quoting24 inclut des fonctionnalités avancées pour **réduire le travail manuel** : - **Automatisations** Recherche automatique de plaques, châssis et pièces détachées 👉 **[Aller aux Automatisations](automations.md)** - **Affectation automatique des tickets** Affectation intelligente selon : - [étiquette](type_of_request.md) - [entreprise](companies.md) - [contact](contacts.md) 👉 **[Aller aux Affectations automatiques](assegnazioni.md)** Cela permet de : - réduire les temps de réponse - éviter les erreurs de distribution - travailler de manière structurée même avec de nombreux opérateurs --- ## Collaboration entre opérateurs Quoting24 est conçu pour le travail d'équipe. Sont disponibles : - rôles (**administrateurs** et **membres**) - affectations des tickets - notes internes - notifications personnalisables - notifications unifiées également sur plusieurs numéros de téléphone - créneaux de livraison associables aux entreprises 👉 Pour approfondir : - **[Utilisateurs et autorisations](user.md)** - **[Profil utilisateur](profilo.md)** - **[Créneaux de livraison](delivery_shifts.md)** --- ## Intégration avec Qricambi Quoting24 est profondément intégré à **Qricambi**. Cela permet de : - utiliser les mêmes **crédits** - rechercher des pièces détachées auprès de fournisseurs internes et externes - créer des devis sur Qricambi - les envoyer au client directement depuis le chat 👉 Pour approfondir : - **[Crédits](credits.md)** - **[Intégration Qricambi](qricambi_integration.md)** - **[Envoyer un devis au logiciel de gestion](invia_preventivo_gestionale.md)** - **[Écrire sur WhatsApp via nos API](invia_whatsapp_api.md)** Le flux de travail devient ainsi continu : **demande → recherche → devis → réponse au client** --- ## Par où commencer Le Wiki de Quoting24 est également accessible depuis l'application, dans les **Paramètres** en bas à gauche. Lien Wiki dans les paramètres Si vous débutez sur Quoting24, nous vous conseillons ce parcours : 1. **[Accès à Quoting24](login.md)** 2. **[Écran principal](main_screen.md)** 3. **[Liste des demandes](requested_list.md)** 4. **[Vue d'ensemble WhatsApp](whatsapp.md)** 5. **[Activité](activities.md)** et **[Automatisations](automations.md)** Cela vous permettra d'avoir une vision complète du fonctionnement de la plateforme avant d'entrer dans les détails. --- # Écran principal URL: https://wiki.quoting24.com/fr/content/main_screen/ Language: fr Updated: 2026-11-04 # Écran principal L'écran principal de **Quoting24** se divise en **trois sections principales**, présentées ci-dessous de gauche à droite. Écran principal - - - ## 1. Liste des chats / tickets (partie gauche) Partie gauche Cette section contient la liste des **chats / tickets**. Contrairement à WhatsApp, où les conversations sont des flux uniques et continus, sur **Quoting24** la conversation est divisée en **tickets** : chaque demande de devis doit être considérée comme un **ticket séparé**. Pour chaque contact, il n'existe **qu'un seul ticket dans lequel on peut écrire**. Un ticket fermé ne se rouvre pas à la main : voir le flux dans [Gestion des tickets](gestione_ticket.md). Dans la même zone de la barre latérale se trouve aussi **[Quoting News](quoting_news.md)** : le canal en lecture seule pour les communications produit publiées par Quoting. Lorsque vous avez terminé de travailler sur un devis, il est recommandé de **fermer le ticket**. Tickets fermés ### États du ticket Un ticket peut se trouver dans différents états, selon l'étape du flux de travail où il se trouve : * **Ouvert** : la demande est encore à gérer ou en cours de traitement. * **À lire** : le ticket doit être repris par l'équipe. Lorsqu'un ticket est marqué comme *À lire*, les personnes affectées sont supprimées et la demande redevient disponible pour les opérateurs autorisés. * **En pause** : la demande n'est pas fermée, mais une réponse ou une information du client est attendue. * **Fermé** : la demande est terminée et ne doit plus apparaître parmi les tickets à traiter. L'état **En pause** est utile lorsque l'on ne veut pas fermer définitivement la demande. Si le client réécrit sur un ticket en pause, le ticket redevient automatiquement **ouvert**, reste affecté à l'opérateur d'origine et affiche par défaut les messages précédents. État en pause du ticket ### Trier par Au-dessus de la liste, **Trier par** propose : * **Dernier message** (par défaut) — dernier message du chat, de n'importe quel expéditeur * **Dernier reçu** — dernier message **du client** * **Priorité décroissante** — priorité effective du contact (personnelle ou héritée de l'entreprise) * **Prochains créneaux** — prochain créneau de livraison * **Message le plus ancien** ### Filtres des tickets Les filtres d'**affectation / état** restent toujours visibles (ex. non affecté, affecté à moi, à d'autres, à lire, en pause, fermé). Le filtre **Assigné** reste **à l'extérieur**, sur la ligne principale. Tous les autres filtres sont regroupés dans le bouton **entonnoir** (comme sur mobile). Lorsqu'un filtre de l'entonnoir est actif, il apparaît aussi **à l'extérieur** sous forme de chip amovible. Dans l'entonnoir vous trouvez : * **Étiquettes** — étiquettes du ticket * **Utilisateurs** — opérateurs affectés * **Type d'entreprise** — type du contact / de l'entreprise (client, fournisseur, collaborateur, …) * **Période du ticket** — raccourcis **7 derniers jours** ou **30 derniers jours** * plage manuelle **Du** / **Au** Un ticket affecté présente une **icône avec les initiales de l'opérateur** à gauche de l'aperçu du message. L'affectation des tickets permet une meilleure **répartition du travail** et une **optimisation du flux opérationnel** entre collègues. ### Aperçu et indicateurs dans la liste En passant la souris sur un chat dans la partie gauche, il est possible d'afficher un **aperçu de la conversation**, sans devoir ouvrir immédiatement le ticket. Dans la liste des tickets, à droite du **nom du contact**, un **tag unique** affiche : * l'**icône de priorité** du contact (personnelle ou héritée de l'entreprise) : * triangle vers le haut → priorité **haute** * point / tiret → priorité **moyenne** * triangle vers le bas → priorité **basse** * juste après, le **code entreprise** (sans le `#` utiliséé auparavant) * la **couleur du tag** reflète le type de l'entreprise liée ou, le cas échéant, le type personnel du contact En survolant le tag, un court résumé s'affiche (entreprise, priorité, type). Les aperçus montrent aussi encore des indicateurs utiles tels que : * les **réactions** ajoutées par le client ou par les opérateurs * l'icône de l'opérateur affecté * l'état du ticket et les éventuelles [étiquettes](type_of_request.md) de la demande * le prochain créneau de livraison, lorsqu'il est disponible Aperçu du chat dans la partie gauche ### Recherche dans la liste des tickets Dans la partie gauche, un champ de **recherche** est disponible, divisé en sections, avec le nombre de résultats pour chacune : * **Toutes** * **Conversations** * **Messages** * **Pièces** Les chips des sections se compressent si l'espace est réduit. Les contacts se trouvent aussi par **nom d'entreprise** et **code entreprise**. Si la correspondance porte sur l'entreprise, une étiquette avec le nom ou le code apparaît. ### Création rapide d'un ticket L'opérateur peut écrire à l'un de ses contacts en cliquant sur le bouton **‘+’** dans la liste des tickets (action *« Ouvrir une nouvelle demande »*). La même action est aussi disponible depuis **[Contacts](contacts.md#ouvrir-une-nouvelle-demande)** (liste et fiche du contact). Ouvrir un ticket En cliquant sur les **trois points** en haut à droite, il est possible de : * fermer **tous les tickets** * ou fermer **tous les tickets jusqu'à hier** Trois points ### Détails pour un chat individuel Chat utilisateur individuel Voici le détail des composants présents dans les chats individuels : * Les icônes à côté de l'état sont les [étiquettes](type_of_request.md) de la demande * À côté du nom du contact, le **tag unique** affiche la priorité et le code [entreprise](companies.md) (sans `#`), coloré selon le type contact/entreprise * La valeur présente dans l'ovale bleu, dans cet exemple 'Demain 08:00', correspond au premier cutoff / créneau disponible - - - ## 2. Chat et gestion de la conversation Chat Cette section permet de : * envoyer des messages * joindre des **photos, vidéos et autres fichiers** * gérer la conversation avec le client * consulter l'historique des tickets liés au même chat ### Identification automatique des données Les éléments utiles à la création d'un devis (ex. **plaque**, **châssis**, description du véhicule ou de la pièce demandée) sont **automatiquement identifiés** à partir de la conversation avec le client, **tagués** et reportés dans la section de droite (voir point **3**). ### Ouverture, pause et continuité des tickets Le comportement d'écriture et de réouverture est expliqué en détail dans **[Gestion des tickets](gestione_ticket.md)**. En résumé : * si le ticket courant est **ouvert**, le message reste sur la demande en cours * s'il est **en pause**, il redevient automatiquement **ouvert** et reste affecté à l'opérateur d'origine * s'il est **fermé** : * avec un ticket **déjà ouvert** sur le même contact → la réponse va sur le ticket ouvert (le fermé reste lié) * si le ticket fermé **n'est pas le dernier** → la réponse ouvre une **nouvelle demande** (le fermé reste lié) * si le ticket fermé **est le dernier** → le ticket est **rouvert** Un ticket fermé **ne peut pas être rouvert en changeant son état à la main**. Sur les tickets fermés, vous disposez de **Aller au ticket ouvert**, **Aller au dernier ticket fermé** et **Ouvrir une nouvelle demande**. Lorsque c'est utile, il reste possible de : * afficher toute la conversation * **fusionner** les tickets liés pour récupérer le travail déjà effectué Les messages programmés sont acheminés **au moment de l'envoi**. Si vous fermez un ticket qui a encore des messages programmés, Quoting24 demande une confirmation. ### Affichage des tickets dans le chat Le chat principal affiche les tickets avec le même format que le chat complet : des lignes et des **bandeaux** indiquent où chaque ticket **commence** et où il **se termine**. Sur les bandeaux de séparation entre tickets (y compris avec **Voir précédent**) sont affichés : * la **date** et l'**heure** de fermeture du ticket * **qui a fermé** le ticket Banner ticket con data/ora e utente di chiusura Lorsque plusieurs tickets sont liés à la même conversation, des actions dédiées sont disponibles : * **Fusionner** : lie le ticket actuel à un ticket précédent, en récupérant le contexte déjà traité. * **Détacher la demande** : sépare une demande liée pour la gérer comme ticket indépendant. L'action est indiquée par l'icône avec l'**œil barré**. * **Ouvrir la conversation complète** : s'il y a d'autres tickets ou messages intermédiaires entre deux tickets liés, un bouton apparaît pour ouvrir la conversation complète à cet endroit et tous les voir. Lignes de début et de fin de ticket avec Fusionner et Voir ensemble ### Bandeau « N messages à lire » En ouvrant un ticket avec des messages non lus du client, un indicateur apparaît dans le chat entre les messages déjà lus et ceux à lire, par exemple **« 1 message à lire »** ou **« N messages à lire »**. Le compteur se met à jour si d'autres messages du client arrivent pendant que le bandeau est visible. Il ne compte pas les **notes internes** ni les messages **envoyés**. Banner messaggi da leggere ### Transcription automatique des messages vocaux et des images Quoting24 transcrit automatiquement : * les **messages vocaux** reçus des clients * le contenu des **images**, par exemple : * photo d'une **plaque**, qui est reconnue et transcrite automatiquement À partir du texte transcrit, toutes les informations utiles sont extraites (plaques, châssis, composants du devis). Si l'extraction automatique des données par l'IA a été masquée dans les paramètres de l'activité, les informations techniques peuvent tout de même être disponibles dans la section de droite, mais elles ne sont pas affichées comme détail opérationnel dans la conversation. ### Pièces jointes En cliquant sur l'icône du **trombone**, il est possible de joindre : * photos * vidéos * PDF * autres fichiers Les pièces jointes peuvent aussi être **glissées directement dans le chat**. ### Aperçu PDF dans le chat Les **PDF** reçus ou envoyés dans le chat affichent l'**aperçu de la première page** dans le message (miniature en haut, nom et taille en dessous). En cliquant sur le fichier, le visualiseur du document s'ouvre. Si l'aperçu n'est pas disponible, la fiche fichier classique reste affichée. Anteprima PDF in chat ### Éditeur d'images avant l'envoi Lorsqu'une image est jointe à un message, via l'icône du trombone ou par glisser-déposer dans le chat, Quoting24 affiche un aperçu de la pièce jointe avant l'envoi. En cliquant sur l'image dans l'aperçu, l'**éditeur d'images plein écran** s'ouvre et permet de modifier l'image avant de l'envoyer au client. L'éditeur est disponible uniquement pour les images encore en file d'envoi. Il ne s'applique pas aux vidéos, fichiers génériques ou messages déjà envoyés. Les outils disponibles sont : * **Rogner** : permet de sélectionner la zone de l'image à conserver en faisant glisser le cadre * **Tourner à gauche / droite** : fait pivoter l'image dans la direction choisie * **Miroir horizontal / vertical** : retourne l'image sur l'axe sélectionné * **Stylo et couleurs** : permet de dessiner sur l'image * **Gomme** : supprime les traits dessinés * **Flou** : couvre une zone avec un rectangle pixellisé, déplaçable et redimensionnable. Un autre clic sur la photo en ajoute un autre * **Annuler** : annule la dernière action effectuée Lorsque la modification est terminée : * en cliquant sur **Terminé**, la pièce jointe originale est remplacée par l'image modifiée * en cliquant sur **Annuler**, l'image originale reste inchangée Après la modification, le message peut être envoyé normalement. Éditeur d'images avant l'envoi Le **flou** sert à masquer des données visibles sur la photo, par exemple une plaque, avant de l'envoyer au client. Chaque rectangle se déplace et se redimensionne ; un autre clic sur la photo ajoute un rectangle de plus. Plaque masquée avec des rectangles pixellisés ### Messages vocaux, audio et médias Quoting24 prend en charge les **messages vocaux** et les fichiers audio reçus dans le chat. Les messages vocaux peuvent être écoutés, transcrits automatiquement et, lorsque disponible, téléchargés comme fichiers audio. Pendant le traitement, l'état **« Transcription en cours… »** s'affiche. Le bouton **Réessayer** est également disponible pour relancer la transcription si nécessaire. Les photos et vidéos envoyées dans la conversation peuvent être ouvertes dans le **carrousel des médias**, qui permet de parcourir rapidement les contenus multimédias reçus ou envoyés dans le chat. Carrousel média et téléchargement audio Trascrizione in corso e Riprova ### Dictée vocale Sous le champ de saisie, l'icône **Dictée** est disponible. Avec l'autorisation du microphone, la voix est transcrite en temps réel dans le message. Dettatura vocale ### Indicateur "est en train d'écrire" Lorsqu'un autre utilisateur est en train de saisir dans le chat actif, Quoting24 affiche l'indicateur **est en train d'écrire**. Cela aide les opérateurs à éviter les réponses superposées lorsqu'un collègue prépare déjà un message. Indicateur est en train d'écrire ### Envoi sans en-tête ni signature Si un en-tête ou une signature a été configuré dans votre [profil](profilo.md), Quoting24 les ajoute selon l'option choisie : **toujours**, ou **uniquement au premier message du ticket et avec Envoyer et fermer**. Il est tout de même possible d'envoyer un message individuel **sans en-tête et sans signature**. Cette option est utile pour des réponses rapides, des messages très courts ou des communications qui ne doivent pas inclure le texte automatique configuré par l'opérateur. Envoi sans en-tête ni signature ### Actions sur les messages Les actions disponibles sur un message peuvent être ouvertes de deux manières : * en faisant un **clic droit** sur le message * en cliquant sur la **flèche** à droite du message Depuis ce menu, il est possible d'effectuer des opérations comme répondre, transférer ou supprimer des messages. Lorsque la sélection le prévoit, il est aussi possible d'effectuer un **transfert** et une **suppression multiple**. Actions message avec clic droit et flèche ### Réactions aux messages Les réactions permettent aux clients et aux opérateurs de réagir aux messages de la conversation. Quoting24 affiche : * la réaction appliquée au message * qui a ajouté la réaction * la réaction dans l'aperçu des messages dans la colonne de gauche Les réactions reçues génèrent des notifications sur Quoting24, dans la **cloche** et, si elles sont activées, aussi comme **notifications de bureau**. Si un client ajoute une réaction à un message appartenant à un ticket déjà fermé, Quoting24 crée une référence au message via **réponse**, afin que la réaction reste visible dans le ticket actuellement ouvert. ### Notes internes Dans le chat, il est possible d'insérer une **note interne** pour les collègues : * en cliquant sur l'icône dédiée * ou en tapant **@ + ESPACE** Lors de la rédaction d'une note interne : * l'arrière-plan devient **jaune** * la note **N'EST PAS envoyée au client** * elle est visible uniquement par les utilisateurs de Quoting24 Dans les notes, il est possible de **taguer un collègue** (en écrivant `@surnom`) et ce collègue recevra une notification. Il est également possible de taguer **tous les collègues** en écrivant `@tous`. Lorsqu'un utilisateur est tagué dans une note interne, la notification générée par Quoting24 est mise en évidence en **orange**. À côté des coches de visualisation du message, l'icône de la note interne est également affichée afin de distinguer immédiatement les messages visibles uniquement par les opérateurs. Les notes internes de **texte** peuvent être **modifiées dans les 15 minutes**, uniquement par l'**auteur**. En répondant à une note interne : * la réponse reste une **note interne** * l'auteur de la note d'origine est **réaffecté** au ticket Créer une note interne Envoyer une note interne Modifica nota interna ### Informations du ticket Dans l'onglet **Informations** du ticket (icône **i**), il est possible de consulter et modifier rapidement les données liées à la demande. La section est organisée comme suit : 1. **En haut — Contact** Notes, alertes, assignés du contact, **priorité** du contact et **type** du contact (le type n'est modifiable que si le contact n'a pas d'entreprise). 2. **En bas — Entreprise** (lorsqu'elle est présente) Nom, notes, emplacement, **priorité de l'entreprise** et **type de l'entreprise**. Sur la priorité du contact : * si elle n'est pas définie, elle est **héritée de l'entreprise** (libellé *Héritée de l'entreprise*) * vous pouvez tout de même définir une priorité personnelle, même si l'entreprise en a déjà une Sur le type du contact : * **sans entreprise** → vous pouvez le définir sur le contact * **avec une entreprise** → il est hérité et **non modifiable** sur le contact ; modifiez-le sur l'entreprise Dans la liste des personnes affectées, l'option **Aucun** est également disponible : elle **retire tous les assignés** du ticket. Détails dans [Attributions](assegnazioni.md#affectation-manuelle-et-affectation-à-tous). Si le contact contient des **alertes importantes**, elles sont affichées au-dessus du chat pour attirer immédiatement l'attention de l'opérateur. ### Exportation du chat Depuis le chat, il est possible d'**exporter** la conversation. Au démarrage de l'export, on peut choisir : * export **sans médias** * export **avec médias** Si les médias sont inclus, ils sont enregistrés dans un **zip séparé**, avec le fichier du chat. ### Historique du ticket Depuis le panneau latéral droit du ticket, il est possible d'ouvrir l'onglet **Historique**, indiqué par l'icône en forme d'**horloge**. Cet onglet affiche une timeline en **lecture seule** des événements liés au ticket. Il sert à consulter ce qui s'est passé sur la demande, qui a effectué l'action et à quel moment. L'historique peut inclure des événements comme : * changement d'état du ticket * première visualisation du ticket * lecture des messages non lus * affectation ou suppression des personnes affectées au ticket * auto-affectation de l'opérateur, indiquée comme action de prise en charge automatique * affectation des recherches liées au ticket * changement d'état des recherches, par exemple ouverte, en pause ou fermée Lorsque l'événement concerne une recherche véhicule, Quoting24 affiche aussi les données disponibles pour la reconnaître plus facilement, comme **plaque**, **VIN** ou **véhicule**. L'historique se met à jour en temps réel et n'est pas modifiable depuis cet onglet : il est conçu exclusivement pour la consultation et la traçabilité opérationnelle. Historique du ticket - - - ## 3. Section recherche châssis et codes Conversion plaque-châssis La section de droite peut être **réduite** en cliquant sur l'icône de l'onglet actif. Cela permet de laisser plus d'espace à la conversation lorsqu'il n'est pas nécessaire de travailler sur les données techniques. Onglet droit réductible Dans cette section sont reportés : * **plaques** * **châssis** * **descriptions des pièces détachées** identifiés directement depuis le chat avec le client. La *plaque* est convertie automatiquement en *châssis* et des informations sur le véhicule sont affichées (ex. **marque**, **modèle**, etc.). ### Sous-affectations Les **sous-affectations** permettent d’affecter non pas le ticket entier, mais la **recherche véhicule individuelle** à l’intérieur du chat. Un ticket peut contenir **plusieurs recherches** en même temps (par exemple deux plaques différentes ou deux véhicules du même client). Chaque recherche a : * son propre **état** (par exemple *Ouvert*, *En pause*, *Fermé*) * un ou plusieurs **opérateurs affectés** Ainsi le travail peut être réparti par véhicule : un collègue gère un véhicule, un autre collègue un second, sans diviser la conversation en tickets distincts. #### Différence par rapport à l’affectation du ticket * **Affectation du ticket** : concerne tout le chat / la demande et indique qui est responsable de la conversation. * **Sous-affectation** : concerne la recherche véhicule individuelle et indique qui travaille sur ce véhicule précis. * **Où la gérer** : l’affectation du ticket sur le chat ; la sous-affectation sur le panneau de recherche, en haut à droite. L’affectation du ticket et les sous-affectations peuvent coexister : le ticket peut rester affecté à un opérateur, tandis que les recherches internes sont distribuées à d’autres collaborateurs. #### Comment affecter une recherche 1. Ouvrez la recherche véhicule dans la section de droite. 2. Cliquez sur l’icône de la **personne** (ou l’avatar de l’assigné) en haut à droite sur la ligne du véhicule. 3. Recherchez l’opérateur et sélectionnez-le, ou choisissez **Tous** pour impliquer tous les collaborateurs. Sur la même ligne, vous pouvez aussi changer l’**état** de cette recherche seule, indépendamment de l’état du ticket. Sous-affectations des recherches véhicule État et affectation d'un véhicule individuel Les changements d’affectation et d’état des recherches sont aussi enregistrés dans l’[historique du ticket](#historique-du-ticket), avec la plaque, le VIN ou le véhicule lorsqu’ils sont disponibles. Pour l’affectation automatique et manuelle au niveau du ticket, consultez la page [Affectations](assegnazioni.md). ### Recherche de la pièce via les vues éclatées Un modèle d'intelligence artificielle propose une sélection de vues éclatées pouvant inclure la description recherchée. L'extraction des données depuis les images, les messages vocaux et le texte peut être masquée dans les paramètres de l'activité si l'administrateur préfère ne pas afficher le détail du traitement IA aux opérateurs. L'opérateur doit : * entrer dans les vues éclatées * sélectionner manuellement le **bon code** Ouverture de la vue éclatée En cliquant sur l'aperçu d'une vue éclatée, la page de navigation complète des vues éclatées disponibles s'ouvre. L'opérateur : * recherche la pièce souhaitée * sélectionne le code en cochant la case à gauche * ferme la page via le **‘X’** en haut à droite Si l'opérateur souhaite afficher l'arborescence complète du châssis, il peut cliquer sur le **‘Q’** de Qricambi. ### Envoi de la vue éclatée dans le chat Depuis l'affichage des vues éclatées, il est possible d'envoyer directement dans le chat la **photo de la vue éclatée** liée à la pièce sélectionnée. Cette fonction est utile lorsque l'on veut demander confirmation au client en montrant le détail technique de la pièce. Envoi de la photo de la vue éclatée dans le chat ### Actions disponibles sur les codes À droite de chaque code sont disponibles : * un **‘i’** avec des informations supplémentaires sur la pièce * un **‘Q’** rouge pour rechercher le code sur Qricambi * l'icône pour **copier le code** Pièce détachée sélectionnée Le code sélectionné est reporté dans l'écran précédent et il est possible de : * le rechercher sur **[Qricambi](https://app.qricambi.com/)** * créer un **[devis](invia_preventivo_gestionale.md)** * l'envoyer au client via **Quoting24** ### Recherche directe chez les fournisseurs En alternative, il est possible de rechercher les codes directement chez certains fournisseurs depuis **Quoting24**. Pour cela, depuis la section **[Paramètres → Qricambi](qricambi_integration.md)**, il est possible de sélectionner : * fournisseurs **internes** (ex. vos propres listes) * fournisseurs **externes** Recherche de pièce détachée La recherche chez les fournisseurs : * est plus synthétique que Qricambi * suit la même logique Les résultats sont triés par : * **prix** * **disponibilité** En haut sont affichés les produits : * les moins chers * immédiatement disponibles (**vert**) En faisant défiler les résultats : * la disponibilité passe de **jaune** à **rouge** * le prix augmente Sont affichés : * code * marque * fournisseur * description * prix net * prix catalogue, si disponible * disponibilité Produit À côté de chaque résultat se trouvent deux icônes : * ajout au **[panier Qricambi](https://app.qricambi.com/?next=%2F&activetab=orders)** * lien vers le site e-commerce du fournisseur > **NB** > La recherche automatique chez les fournisseurs de Qricambi peut être désactivée à tout moment > depuis la section **[Paramètres → Qricambi](qricambi_integration.md)** ### Recherche dans les résultats Qricambi Lorsque de nombreux résultats sont présents, il est possible d'effectuer une **recherche par texte** dans les résultats Qricambi, afin d'identifier plus rapidement le code, la marque ou la description souhaitée. Recherche textuelle dans les résultats Qricambi --- # Gestion des tickets URL: https://wiki.quoting24.com/fr/content/gestione_ticket/ Language: fr Updated: 2026-11-04 # Gestion des tickets Quoting24 organise chaque conversation WhatsApp en **tickets**. Le flux est **ordonné** : pour chaque contact, il n’existe **qu’un seul ticket dans lequel on peut écrire** librement. Cette page explique les règles d’écriture, de réouverture, de réponse (reply) et des messages programmés. --- ## Concepts de base | Concept | Signification | | --- | --- | | **Thread** | Tous les tickets du même contact | | **Ticket accessible en écriture** | Le seul ticket du thread dans lequel tu peux saisir librement (en général celui qui est ouvert, ou le dernier fermé selon les conditions ci-dessous) | | **Reply** | Réponse à un message précis : peut diriger le texte vers un autre ticket du thread | Règle pratique : **tu ne peux pas rouvrir à la main un ticket fermé** (en changeant le statut). Pour reprendre le travail, tu envoies un message, tu réponds à un message, ou tu utilises les boutons dédiés dans les tickets fermés. --- ## Que se passe-t-il quand tu écris ### Un ticket ouvert existe déjà Si le client (ou toi) répondez alors qu’un ticket **ouvert** existe (ou **en pause** qui repasse en ouvert), les messages vont sur ce ticket. ### Tu écris depuis un ticket fermé Cela dépend de la position du ticket fermé dans le thread : 1. **Un ticket ouvert existe déjà** La réponse est envoyée sur le ticket ouvert. Le ticket fermé depuis lequel tu répondais reste fermé et est **lié** au ticket qui a reçu le message. 2. **Le ticket fermé n’est pas le dernier du thread** La réponse **ouvre une nouvelle demande**. Dans ce cas aussi, le ticket fermé de départ reste lié au ticket de destination. 3. **Le ticket fermé est le dernier du thread** Seulement dans ce cas, le message **rouvre** ce ticket. Pour écrire depuis un ticket fermé qui n’est pas celui accessible en écriture, Quoting24 demande de **répondre à un message** (reply) : sans reply, la composition reste bloquée avec l’indication de sélectionner un message. --- ## Boutons dans les tickets fermés Quand tu ouvres un ticket fermé, des actions apparaissent en bas, selon les mêmes règles du flux : - **Aller au ticket ouvert** — s’il y a déjà une demande ouverte dans le thread - **Aller au dernier ticket fermé** — s’il n’y en a pas d’ouvert (et que le dernier fermé n’est pas celui que tu consultes) - **Ouvrir une nouvelle demande** — crée une nouvelle demande dans le thread quand il n’y a pas de ticket ouvert Ces boutons évitent de travailler sur le mauvais ticket et t’amènent au bon point du flux. Quand tu fais un reply depuis un ticket fermé, Quoting24 indique aussi où ira le message, par exemple : - *La réponse sera envoyée dans le ticket ouvert.* - *La réponse ouvrira un nouveau ticket.* --- ## Messages programmés Les messages programmés **ne fixent pas tout de suite** le ticket définitif : ils sont **routés au moment de l’envoi**, selon les règles du thread en vigueur à cet instant. Conséquence : si tu fermes un ticket qui a encore des messages programmés en attente, Quoting24 demande confirmation. À l’envoi, le message pourrait : - rouvrir le ticket (s’il est encore le dernier fermé) - ou aboutir dans une autre demande ouverte / nouvelle --- ## Ce que tu ne peux plus faire - **Rouvrir manuellement** un ticket fermé en changeant son statut Le système bloque l’action et invite à écrire un message (dans les bonnes conditions) ou à utiliser les boutons du flux. - Avoir **deux tickets ouverts** sur le même contact S’il en existe déjà un ouvert, un second n’est pas créé. --- ## Statuts du ticket (rappel) - **Ouvert** — en cours de traitement - **À lire** — à reprendre ; les assignés sont retirés - **En pause** — en attente du client ; si le client réécrit, il repasse **ouvert** et reste assigné à l’opérateur d’origine - **Fermé** — terminé ; n’apparaît plus parmi les tickets à traiter, mais reste consultable selon les règles de reply / réouverture ci-dessus La **pause** n’est pas une fermeture : les règles des tickets fermés ne s’appliquent pas. --- ## Où ouvrir une nouvelle demande Tu peux démarrer une conversation / nouvelle demande depuis : - le bouton **+** dans la liste des tickets de l’accueil (*Ouvrir une nouvelle demande*) - la section **[Contacts](contacts.md#ouvrir-une-nouvelle-demande)** (liste et fiche contact) - le bouton **Ouvrir une nouvelle demande** dans un ticket fermé, lorsque le flux le prévoit --- ## Liens utiles - [Écran principal](main_screen.md) — liste, filtres, aperçu, chat - [Liste des demandes](requested_list.md) — historique et filtres d’état - [Contacts](contacts.md) — ouvrir une demande, priorité et type du contact --- # Liste des demandes URL: https://wiki.quoting24.com/fr/content/requested_list/ Language: fr Updated: 2026-11-04 # Liste des demandes En cliquant sur le **menu en haut à droite** puis en sélectionnant **"Liste des demandes"**, l'**historique des demandes** créées par les différents contacts sur Quoting24 s'ouvre. Écran des listes de demandes --- ## Affichage des demandes Par défaut, **seules les demandes ouvertes** sont affichées. Grâce au **filtre en haut à droite**, il est possible de : - afficher les demandes **en pause** - afficher les demandes **à lire** - afficher les demandes **fermées** - appliquer **d'autres filtres** pour affiner la recherche Filtres des demandes ouvertes, en pause et fermées --- ## Recherche parmi les demandes La liste des demandes permet de chercher rapidement parmi les tickets présents dans l'historique. La recherche peut être utilisée pour retrouver une demande à partir d'informations comme : - nom ou numéro du contact - entreprise liée - contenu de la demande - état du ticket - données techniques reconnues, par exemple plaque ou châssis Les filtres peuvent être combinés avec la recherche textuelle pour restreindre la liste et trouver plus rapidement le ticket correct. --- ## Demandes en pause Les demandes **en pause** sont des tickets qui ne sont pas définitivement fermés, mais temporairement suspendus parce qu'une réponse ou une confirmation du client est attendue. Lorsque le client réécrit sur un ticket en pause : - le ticket redevient automatiquement **ouvert** - il reste affecté à l'opérateur d'origine - les messages précédents sont également affichés par défaut Ce comportement est différent des tickets **fermés** : sur un ticket fermé s'appliquent les règles du flux ordonné (réponse, réouverture uniquement s'il s'agit du dernier, sinon nouvelle demande ou acheminement vers un ticket déjà ouvert). Détails dans [Gestion des tickets](gestione_ticket.md). --- ## Ouverture d'une demande En cliquant sur la **flèche rouge** tout à droite d'une ligne, il est possible d'ouvrir la **demande spécifique** et d'accéder au ticket correspondant. Lorsqu'une demande est ouverte, Quoting24 affiche le contexte lié au ticket, y compris les éventuels messages précédents si la demande avait été mise en pause ou liée à d'autres tickets. --- # Étiquettes URL: https://wiki.quoting24.com/fr/content/type_of_request/ Language: fr Updated: 2026-11-04 # Étiquettes Un ticket peut avoir **plusieurs étiquettes**. Elles classent la demande et, si l’[affectation automatique](assegnazioni.md) est active, l’envoient aux opérateurs liés à ces étiquettes. Dans la liste des tickets, jusqu’à **3** s’affichent en icônes. Les autres apparaissent en **+N**. Si le nom ne tient pas, il reste l’icône et le nom se lit dans l’infobulle. Étiquettes prédéfinies --- ## Trois sortes d’étiquettes | Sorte | Qui la crée | Qui peut l’attribuer | | --- | --- | --- | | **Personnalisée** | La salle | Les opérateurs | | **AI** | La salle, avec « attribuer avec l’AI » (AI Premium seulement) | Les opérateurs et l’agent premium | | **Prédéfinie** | Déjà présente dans chaque salle | Les opérateurs et le classificateur | Les étiquettes posées par un opérateur ne sont **jamais retirées automatiquement**. Le classificateur et l’agent ne font qu’**ajouter**. --- ## Étiquettes prédéfinies Il y en a **11**, les mêmes dans toutes les salles : * Informations * Commercial * Commandes et logistique * Achats * Garanties, retours et réclamations * Support * Administration * IT * Services * Auth * Autre On ne peut ni les **renommer** ni les **supprimer**. On peut changer la **couleur** et les **assignés**. Elles sont dans **Paramètres → Tickets et automatisations → Étiquettes**, onglet **Étiquettes prédéfinies**. Modifier la couleur d’une étiquette prédéfinie Avec **AI lite**, pas de catégorisation automatique : les prédéfinies peuvent quand même être posées à la main. Dans ce module, l’onglet des prédéfinies n’apparaît pas. --- ## Étiquettes personnalisées Dans l’onglet **Étiquettes personnalisées**, **Ajouter** crée une étiquette de la salle : nom, couleur, icône et description. Étiquettes personnalisées Avec **AI Premium**, on peut activer **Attribuer automatiquement cette étiquette aux tickets avec l’intelligence artificielle**. L’agent ne l’utilise que si la description dit clairement quand l’appliquer. Dans la liste, ces étiquettes ont le badge **AI**. Nouvelle étiquette avec attribution AI Les assignés se règlent dans la colonne **Assigné à**. Si l’[affectation automatique](assegnazioni.md) est active, une demande avec cette étiquette leur est envoyée. --- ## Catégorisation automatique Chaque salle choisit qui pose les étiquettes automatiquement dans **Paramètres → Tickets et automatisations → Classificateur de tickets**. L’enregistrement se fait avec **Enregistrer les modifications**. Classificateur de tickets | Option | Ce qui se passe | Pour qui | | --- | --- | --- | | **Désactivée** | Aucune étiquette automatique, seulement à la main | Tout le monde | | **Étiquettes prédéfinies (AI économique)** | Le classificateur pose les étiquettes prédéfinies | AI économique seulement | | **AI Premium** | L’agent premium pose les étiquettes AI de la salle | AI Premium seulement | Quand le module AI de la salle change, l’option suit : * **Premium** → AI Premium * **Lite** → Désactivée * **Économique**, si elle était Premium ou Lite → Étiquettes prédéfinies. Si elle était déjà économique et désactivée, elle le reste Le classificateur n’étiquette que les **premiers messages du client**. Il s’arrête dès qu’un opérateur répond, écrit une note interne ou pose une étiquette. --- ## Urgence Trois niveaux : * **Basse** — salutations, remerciements, spam * **Normale** — devis, commandes, factures * **Haute** — pièce nécessaire aujourd’hui, véhicule à l’arrêt à l’atelier, livraison en retard ou erronée, paiement à échéance Les tickets d’urgence **haute** ont une icône d’alerte dans la liste. Avec l’**AI économique**, le classificateur la pose à chaque nouveau groupe de messages du client. Avec l’**AI Premium**, c’est l’agent. --- ## Messages simples Beaucoup de messages client sont des échanges ou des accords pratiques (« merci », « ok », horaires, retrait) et n’ont pas besoin de la reconnaissance des pièces. Avec l’**AI économique**, si le classificateur est assez sûr et que le message est **uniquement du texte ou un vocal**, la reconnaissance des pièces ne démarre pas. Les **images et les fichiers** passent toujours par la reconnaissance. --- ## Lien avec les tickets précédents Sur la même page **Classificateur de tickets**, l’interrupteur **Liaison automatique des tickets** est **éteint** par défaut. Il ne vaut que pour l’**AI économique**. Quand un contact écrit dans un nouveau ticket, avant qu’un opérateur réponde, l’AI le compare aux **deux derniers tickets fermés** du contact. S’il prolonge l’un d’eux (même véhicule, ou un ticket sans véhicule), elle relie le nouveau ticket à celui-là et l’ancienne conversation apparaît dans le chat. Elle ne relie que lorsqu’elle est très sûre : parfois elle ne relie pas alors qu’elle aurait raison. Elle ne travaille pas sur un ticket **déjà relié**. --- ## Quand ils travaillent | Fonction | Ne travaille que si… | | --- | --- | | **Classificateur** | la salle a l’**AI économique**, de **nouveaux messages client** arrivent et le classificateur est configuré | | **Urgence** | à chaque nouveau groupe de messages du client | | **Messages simples** | les nouveaux messages sont **uniquement du texte ou des vocaux** | | **Étiquettes automatiques** | la salle est sur « Étiquettes prédéfinies », **aucun opérateur n’a encore écrit** dans le ticket et **aucun opérateur n’a posé d’étiquette** | | **Liaison** | elle est **active**, **aucun opérateur n’a encore écrit** dans le ticket, le contact a des **tickets fermés** (seulement les deux derniers) et le ticket **n’est pas déjà relié** | Si le classificateur n’est pas configuré, Quoting24 fonctionne quand même : il ne classe simplement pas. --- ## Comment les utiliser * **À la main** : dans le ticket, le champ **Étiquette** accepte une ou plusieurs étiquettes (personnalisées et prédéfinies). * **Étiquettes automatiques** : dans le classificateur, choisir « Étiquettes prédéfinies (AI économique) », puis définir les **assignés** de chaque étiquette prédéfinie. * **Agent premium** : créer les étiquettes avec l’attribution AI et écrire une **description claire**. * **Liaison** : l’activer si les clients ont tendance à réécrire sur des demandes déjà fermées. * **Urgences** : surveiller l’icône d’alerte dans la liste des tickets. Les réglages de la salle sont visibles par les admins, les owners et les superadmins. --- # Réponses enregistrées URL: https://wiki.quoting24.com/fr/content/save_response/ Language: fr Updated: 2026-11-04 # Réponses enregistrées Réponses enregistrées Depuis la section **"Réponses enregistrées"**, il est possible de créer des **réponses prédéfinies** à envoyer rapidement aux clients. --- ## Création d'une nouvelle réponse enregistrée Pour créer une nouvelle **Réponse enregistrée**, cliquez sur le bouton rouge en haut **"+ Ajouter une réponse"**. Modification des réponses enregistrées Il faut saisir : - un **nom** - le **contenu** de la réponse Il est possible d'ajouter un **fichier en pièce jointe**. --- ## Types de réponses enregistrées Les réponses enregistrées peuvent être gérées selon **deux modes** : - **Seulement pour moi** Conçu pour des réponses personnelles (ex. *"Je suis Antonio..."*). Cette réponse ne sera utilisable **que par l'utilisateur qui la crée**. Les [utilisateurs](user.md) **non administrateurs** peuvent afficher et définir **uniquement** des réponses enregistrées de type *"seulement pour moi"*. - **Pour toute l'activité** Tous les utilisateurs du compte verront la réponse enregistrée. **Seuls les [utilisateurs administrateurs](user.md)** peuvent créer et modifier ce type de réponses. --- ## Gestion des réponses enregistrées Les réponses enregistrées peuvent être : - **activées ou désactivées** via la case prévue à cet effet - **modifiées** en cliquant sur l'icône en forme de **crayon** à droite de chaque réponse --- ## Utilisation des réponses enregistrées dans le chat L'insertion d'une réponse enregistrée se fait directement depuis la **barre de rédaction du message**. Pour l'utiliser : 1. tapez le caractère **`/`** 2. écrivez le **nom** de la réponse enregistrée (même partiellement) Exemple de réponse enregistrée Il est possible d'insérer la réponse : - **sans compléter le nom** - en appuyant sur **Entrée** sur la réponse mise en évidence (il n'est pas nécessaire d'utiliser la souris) --- ## Tri des suggestions Lorsque le texte saisi est **partiel ou ambigu** (ex. `/h`), les suggestions des réponses enregistrées sont triées comme suit : Exemple d'utilisation d'une réponse enregistrée 1. **Ordre alphabétique** des noms qui commencent par le texte saisi (ex. `/h` → *heure*, *horaire*) 2. Ensuite, les résultats où le texte saisi est contenu **dans le nom ou dans le contenu** sont affichés, eux aussi par ordre alphabétique --- # Affectation automatique URL: https://wiki.quoting24.com/fr/content/assegnazioni/ Language: fr Updated: 2026-11-04 # Affectation automatique Le système d'**Affectation automatique** a pour objectif de rendre la gestion des tickets plus **rapide**, **efficace** et **précise**, surtout dans les contextes où plusieurs opérateurs travaillent sur un seul numéro WhatsApp. Cette fonctionnalité affecte automatiquement les **nouveaux tickets** à l'opérateur ou à l'équipe la plus adaptée, sur la base de **règles prédéfinies**. L'objectif est de : - éliminer l'affectation manuelle - réduire les temps d'attente pour les clients - garantir que chaque demande arrive immédiatement à la bonne personne --- ## Quand l'affectation automatique entre en fonction Le système entre en action **lorsque le premier message d'un nouveau ticket arrive**. Il analyse les informations du ticket et les compare avec : - compétences - responsabilités - configurations des opérateurs L'affectation repose sur **trois critères de correspondance** : 1. **[Étiquette](type_of_request.md)** (voir section *Étiquettes*) 2. **[Entreprise](companies.md) affectée au contact** S'il existe des opérateurs dédiés à une entreprise cliente spécifique 3. **[Contact](contacts.md)** S'il existe un référent de confiance pour un contact spécifique Pour chaque nouveau ticket, le système : - calcule combien de correspondances possède chaque opérateur - procède à l'affectation selon la règle choisie ⚠️ L'auto-affectation **s'applique uniquement aux premiers messages du client** et cesse de fonctionner lorsqu'il y a une activité de l'opérateur sur le ticket. ### Auto-affectation à l'ouverture Si un ticket est encore **à lire** et n'est affecté à aucun opérateur, l'ouverture du ticket peut l'affecter automatiquement à l'opérateur qui le prend en charge. Ce comportement évite que deux opérateurs commencent à travailler simultanément sur la même demande et rend plus clair qui est responsable du ticket. Auto-affectation du ticket à l'ouverture --- ## Disponibilité des opérateurs Le système est conçu pour travailler **uniquement avec des opérateurs réellement disponibles**. L'affectation automatique a lieu **uniquement si au moins un opérateur éligible est en ligne**. - **Si aucun opérateur qualifié n'est en ligne** Le ticket **n'est pas affecté automatiquement** et reste disponible pour une prise en charge manuelle. - **Si au moins un opérateur qualifié est en ligne** Le système procède à l'affectation automatique. --- ## Règles d'affectation Vous pouvez configurer le système afin qu'il utilise l'une des **logiques d'affectation** suivantes : Affectation --- ### Meilleure correspondance Avec cette règle, le ticket est affecté **uniquement à l'opérateur (ou aux opérateurs)** ayant le **score de correspondance le plus élevé**. Elle est idéale pour orienter les demandes vers un expert spécifique. #### Exemple pratique Un ticket arrive de l'entreprise **"ACME Corp"** et est de type **"Commercial"** : - **Anna** → responsable du type *Commercial* (1 correspondance) - **Marco** → responsable de l'entreprise *ACME Corp* (1 correspondance) - **Lucia** → responsable à la fois du type *Commercial* et de *ACME Corp* (2 correspondances) ➡️ Avec la règle **Meilleure correspondance**, le ticket est affecté **uniquement à Lucia**. --- ### Toutes les correspondances Avec cette règle, le ticket est affecté à **tous les opérateurs** qui ont **au moins une correspondance**. Elle est adaptée aux équipes où plusieurs personnes peuvent gérer le même type de demande. #### Exemple pratique En utilisant le même scénario que précédemment : ➡️ Avec la règle **Toutes les correspondances**, le ticket est affecté à **Anna, Marco et Lucia**. --- ## Gestion du cycle de vie d'un ticket auto-affecté ### Affectation manuelle et affectation à tous En plus de l'affectation automatique, un ticket peut être affecté manuellement à un ou plusieurs opérateurs. Dans la liste des **personnes affectées**, l'option **Aucun** est disponible. En la sélectionnant, on **retire tous les assignés** du ticket. Select assegnatari – opzione Nessuno Lorsqu'il faut impliquer toute l'équipe, il est possible d'affecter le ticket à **tous les collaborateurs** autorisés. Cette fonction est utile pour les demandes urgentes ou pour les tickets qui peuvent être gérés par le premier opérateur disponible. Affecter tous les collaborateurs au ticket ### Ticket marqué comme "À lire" Un ticket peut être marqué comme **À lire** pour le remettre dans le flux de prise en charge de l'équipe. Lorsqu'un ticket est marqué comme *À lire* : - les personnes affectées présentes sont supprimées - la demande redevient visible aux opérateurs qui peuvent prendre en charge les tickets non affectés - le ticket peut être réaffecté manuellement ou via le flux opérationnel normal ### Ticket sans réponse (délai de sécurité) Pour éviter qu'un ticket auto-affecté reste ignoré, un **délai de sécurité configurable** est prévu. Si un ticket : - a été auto-affecté - **ne reçoit pas de réponse** dans le délai défini l'affectation automatique est **supprimée**. Le ticket redevient : - **non affecté** - visible par toute l'équipe Ce mécanisme évite que les demandes soient perdues. --- ### La première réponse "revendique" le ticket Lorsqu'un ticket est affecté automatiquement à **plusieurs opérateurs** : 1. le **premier opérateur qui répond** revendique le ticket 2. tous les autres opérateurs sont supprimés de l'affectation 3. l'opérateur qui a répondu devient l'**unique responsable** Cela garantit : - aucune superposition - une responsabilité toujours claire --- ## Configuration de l'affectation automatique L'administrateur peut configurer le système en suivant ces étapes : 1. **Activer la fonction** Activez l'option *"Activer l'affectation automatique"* dans les paramètres. 2. **Choisir la règle d'affectation** - Meilleure correspondance - Toutes les correspondances 3. **Définir le délai de sécurité** Définissez après combien de minutes un ticket non traité doit redevenir non affecté (par défaut **15 minutes**). 4. **Définir les responsabilités des opérateurs** Associez les opérateurs à leurs domaines de compétence : - **Types de tickets** - **Entreprises** - **Contacts** Affectation automatique --- ## Exemple pratique avancé - **Matteo** est expert en *Jeep* et *carrosserie* - **Alessandro** est expert en *carrosserie* Une demande arrive pour une **porte de Jeep Renegade**. - Avec **Meilleure correspondance** ➜ le ticket est affecté **uniquement à Matteo** - Avec **Toutes les correspondances** ➜ le ticket est affecté **à Matteo et Alessandro** --- # Creneaux de livraison URL: https://wiki.quoting24.com/fr/content/delivery_shifts/ Language: fr Updated: 2026-11-04 # Creneaux de livraison Il est possible de creer et gerer les **creneaux de livraison** depuis l'entree dediee du menu. En cliquant sur le menu, la liste des **creneaux de livraison deja existants** s'affiche. Pour creer un nouveau creneau, il suffit de cliquer sur le bouton rouge en haut a droite **"+ ajouter"**. Ecran d'ajout des creneaux de livraison --- ## Affectation des creneaux aux entreprises Une fois un creneau de livraison cree, il est possible de **l'affecter a une ou plusieurs [entreprises](companies.md)**. L'affectation peut etre effectuee depuis differents points de l'application (dans la gestion de l'entreprise), mais la methode **recommandee** consiste a proceder **de maniere massive**. Pour cela : 1. entrez dans le **creneau de livraison** auquel vous voulez affecter les entreprises 2. utilisez l'ecran de modification du creneau Ecran de modification des creneaux de livraison --- ## Affectation massive via les filtres Depuis cet ecran, il est possible de : - filtrer les entreprises - selectionner plusieurs entreprises simultanement - affecter le creneau de maniere massive - enregistrer les modifications Les filtres peuvent aussi utiliser des **donnees de fiche entreprise**, par exemple : - ville - notes - notes administrateur --- # Rapport quotidien d'activité URL: https://wiki.quoting24.com/fr/content/daily_activity_report/ Language: fr Updated: 2026-11-04 # Rapport quotidien d'activité Un **rapport quotidien automatique** est disponible par e-mail. Il fournit une vue d'ensemble de l'activité de gestion des tickets de support. Les KPI portent sur la **journée précédente** et sont comparés au **même jour de la semaine précédente**. Tous les temps sont exprimés en **minutes**. --- ## Prérequis Pour configurer les destinataires du rapport, il faut être **[administrateur](user.md)**. Si votre utilisateur est un **membre**, demandez à un administrateur de la salle le **changement de type d'utilisateur** (de membre à administrateur), ou contactez le support Quoting24. --- ## Comment configurer le rapport 1. Ouvrir **Settings → General settings → Business** 2. Dans la section **Statistics report emails**, cliquer sur **Edit recipients** 3. Ajouter un **nouveau destinataire** et renseigner : - **Email** de l'adresse qui doit recevoir le rapport - **Active** : si désactivé, cette adresse ne reçoit pas le rapport - **Frequency** (par exemple **Daily**) - **Send time** 4. Cliquer sur **Save** Paramètres Business - Statistics report emails Modal nouveau destinataire du rapport --- ## Contenu du rapport ### KPI d'hier Indicateurs principaux de la journée précédente, avec comparaison au même jour de la semaine précédente : - tickets créés et tickets fermés - pourcentage de fermeture - réponses envoyées par les opérateurs - messages reçus - temps médian de réponse - temps médian d'ouverture des tickets - opérateurs actifs - contacts actifs - véhicules recherchés - demandes de pièces effectuées ### Performance des opérateurs Détail pour chaque opérateur sur : - réponses envoyées - notes internes - tickets affectés et fermés - pourcentage de fermeture - temps médian de réponse et d'ouverture ### Messages par plage horaire Répartition des **messages reçus et envoyés** au cours de la journée, par plage horaire (heure locale). Les notes internes et les messages supprimés sont exclus. ### Utilisateurs en ligne Nombre d'**opérateurs distincts** ayant travaillé dans chaque plage horaire (événements ticket, messages ou notes envoyés). ### Tickets ouverts Évolution des tickets **en état ouvert** au cours de la journée (échantillons périodiques), y compris le pic et combien restent ouverts en fin de journée. Compte aussi les tickets créés les jours précédents s'ils sont encore ouverts. ### Top clients Liste des clients avec le plus d'activité le jour concerné, triés par messages reçus, avec détail sur les véhicules, recherches, messages et opérateurs impliqués. ### Évolution quotidienne Comparaison entre la **semaine en cours et la précédente** : tickets créés et réponses des opérateurs jour par jour. ### Statistiques des 7 derniers jours - **Performance des opérateurs** agrégée sur les 7 derniers jours - **Carte thermique d'activité**, qui met en évidence les réponses de chaque opérateur jour par jour Ce rapport permet de **surveiller l'efficacité du service client**, d'analyser les charges de travail et d'évaluer l'évolution des performances dans le temps. --- # Quoting News URL: https://wiki.quoting24.com/fr/content/quoting_news/ Language: fr Updated: 2026-11-04 # Quoting News **Quoting News** est le canal où Quoting publie les mises à jour et avis produit. Il apparaît dans la barre latérale des chats, à côté des demandes. Ce n’est pas un ticket : c’est un chat en **lecture seule**. Seul Quoting peut envoyer ces messages : les opérateurs les lisent, ils ne les créent pas et n’y répondent pas. --- ## Comment ça marche 1. Ouvre **Quoting News** depuis la barre latérale gauche. 2. Lis l’historique des communications, classées par date. 3. Quand tu as terminé, clique sur **J’ai lu** : le badge des nouveautés non lues disparaît, sans fermer le chat. Tu ne peux ni écrire ni répondre. S’il n’y a pas de messages, tu vois l’état vide *Aucune nouveauté*. --- # WhatsApp URL: https://wiki.quoting24.com/fr/content/whatsapp/ Language: fr Updated: 2026-11-04 # WhatsApp Cette section est visible **uniquement par les administrateurs** et non par les membres (utilisateurs). Depuis ici, il est possible de connecter **Quoting24** à **WhatsApp** via les **API officielles de Meta** (WhatsApp Business Platform), en activant : - la gestion des chats - la gestion des contacts - l'envoi et la réception des messages depuis Quoting24 La connexion via les API officielles est le mode prévu pour cette version de la wiki. --- ## Connexion via les API officielles Meta Les API officielles permettent à Quoting24 de gérer les conversations WhatsApp de façon stable, traçable et prise en charge par Meta. ### Avantages - Possibilité d'utiliser des **boutons interactifs** dans les messages (ex. "Approuver le devis"), pouvant être reliés à des systèmes ERP - **Haute stabilité** et support technique officiel - Gestion centralisée des demandes dans Quoting24, avec tickets, affectations et automatisations ### Règles opérationnelles - Les messages sortants vers de **nouveaux contacts** (de qui nous n'avons pas reçu de messages au cours des dernières 24 heures) sont limités aux **modèles préapprouvés par Meta** Ce n'est qu'après une réponse du client qu'il est possible de communiquer librement. Après l'envoi d'un message préapprouvé, il est possible d'écrire des messages normaux, mais ils ne seront remis au client **qu'après une action de sa part** (ex. clic sur le bouton "dites-m'en plus" ou réponse). - Le client doit **approuver l'ouverture du canal de communication** et doit être sur un **appareil mobile** pour mener correctement à bien l'interaction avec les modèles. - Selon la configuration choisie, l'utilisation manuelle de l'app WhatsApp Business sur le même numéro peut nécessiter la fonction [WhatsApp Coexistence](whatsapp_coexistence.md). - Les groupes WhatsApp et les listes de diffusion de l'app ne sont pas pris en charge via les API Meta ; pour les campagnes avec modèles, utilisez la section [Broadcast API](broadcast_api.md). Si le numéro est déjà sur les API d'un autre fournisseur et que vous voulez le relier à Quoting24 sans le changer, suivez [Migration de l'API WhatsApp](migrazione_whatsapp_api.md). --- ## Fonctionnalités disponibles avec Quoting24 Une fois le canal officiel connecté, Quoting24 permet de travailler sur les demandes WhatsApp avec ses fonctions opérationnelles : - découpage des conversations en **tickets** - affectation manuelle ou automatique aux opérateurs - reconnaissance des plaques, châssis et pièces détachées dans les messages - envoi de messages, images et documents - envoi de devis et PDF depuis le logiciel de gestion - utilisation de boutons interactifs lorsque le flux API le prévoit Les fonctionnalités internes de Quoting24 restent gérées par la plateforme ; l'envoi des messages vers le client suit en revanche les règles opérationnelles des API officielles Meta. --- # WhatsApp Coexistence URL: https://wiki.quoting24.com/fr/content/whatsapp_coexistence/ Language: fr Updated: 2026-11-04 # WhatsApp Coexistence La fonction **WhatsApp Coexistence** (coexistence) permet aux entreprises d'utiliser en même temps l'**App WhatsApp Business** (sur téléphone) et les **API WhatsApp Business** (via Quoting24 ou d'autres logiciels) sur le même numéro de téléphone. C'est une **avancée importante**, car auparavant l'activation des API exigeait la suppression du compte WhatsApp Business sur le téléphone, empêchant l'usage manuel de l'application. --- ## Avantages de la coexistence En activant la coexistence, vous pouvez tirer le meilleur des deux mondes : 1. **Interaction humaine et personnelle (App Business)** : - Continuez à utiliser WhatsApp sur votre smartphone comme vous l'avez toujours fait. - Répondez manuellement aux clients lorsque c'est nécessaire. - Intervenez manuellement depuis le téléphone lorsqu'une gestion directe du client est requise. 2. **Puissance et automatisation (API Business)** : - Connectez Quoting24 pour gérer des volumes élevés de demandes. - Utilisez des bots pour les réponses automatiques et la qualification des contacts. - Envoyez des devis structurés directement depuis le logiciel de gestion. - Gérez les chats en équipe multi-utilisateurs via la plateforme web. En résumé : **vous pouvez automatiser le travail lourd avec les API, tout en gardant la possibilité d'intervenir personnellement depuis le téléphone pour les cas particuliers.** --- ## Prérequis Pour activer la coexistence, certains prérequis techniques doivent être remplis : - **Application à jour** : Assurez-vous d'avoir la dernière version de WhatsApp Business installée sur votre appareil. - **Compte Business vérifié** : Il peut être nécessaire de terminer la vérification de l'entreprise dans le Business Manager de Meta. --- ## Comment activer la coexistence Le processus suit le flux "Embedded Signup" (inscription intégrée) utilisé pour l'activation des API officielles. 1. **Démarrer la connexion** : Lancez le processus de connexion du numéro depuis Quoting24 : votre BSP (Business Solution Provider). 2. **Choisir le numéro** : Sélectionnez le numéro de téléphone déjà **actif** sur l'App WhatsApp Business. 3. **Vérification d'éligibilité** : Le système contrôle que le numéro et le compte respectent les exigences prévues par Meta. 4. **Confirmation guidée** : Complétez les étapes demandées par le flux Meta et Quoting24. 5. **Activation** : Une fois le processus terminé, les API sont activées sur le numéro existant et peuvent fonctionner en parallèle avec l'application. --- ## Notes importantes - **Synchronisation** : Les messages envoyés depuis l'application et ceux envoyés via les API seront visibles sur les deux plateformes dans les limites techniques prévues par Meta. - **Coûts** : Les messages initiés via API (ex. envoi de devis, modèles) suivent la grille tarifaire de Meta. Les réponses manuelles depuis l'application restent gratuites. - **Limitations** : Certaines activités réalisées depuis l'application peuvent ne pas être automatisables par Quoting24 et restent gérées directement depuis l'App WhatsApp Business. --- ## Limitation importante : "Cold Chat" (conversations spontanées) Il est possible de démarrer une nouvelle conversation vers un client directement depuis l'App WhatsApp Business. **Cependant, cette conversation ne pourra pas être poursuivie sur Quoting24.** La raison est technique et concerne les règles de Meta : 1. Un message envoyé manuellement depuis l'App **n'ouvre pas la fenêtre d'assistance de 24 heures** pour les API (contrairement à un message du client). 2. N'étant pas un "Message Template" payant approuvé par Meta, il ne crée pas de session valide pour le logiciel. **Conséquence** : Vous verrez le message sur Quoting24 grâce à la synchronisation, mais **vous ne pourrez pas répondre ni envoyer d'autres messages depuis Quoting24** dans ce chat tant que le client n'aura pas répondu à votre message. Seule la réponse du client débloque la conversation et permet à Quoting24 d'intervenir. --- ## Numéro déjà en coexistence chez un autre fournisseur Si le numéro est déjà en coexistence chez un autre fournisseur et doit être relié à Quoting24, suivez [Migration de l'API WhatsApp](migrazione_whatsapp_api.md). --- # Broadcast API URL: https://wiki.quoting24.com/fr/content/broadcast_api/ Language: fr Updated: 2026-11-04 # Broadcast API La section **Broadcast** permet de créer et gérer des **campagnes de messagerie broadcast** sur les numéros connectés à Quoting24 via les **API officielles Meta** (WhatsApp Business Platform). En pratique, vous pouvez **envoyer le même message modèle à de nombreux numéros WhatsApp**, importer les destinataires depuis un fichier Excel, choisir la date et l’heure d’envoi et suivre le statut de chaque message. > **Attention :** les Campagnes Broadcast de Quoting24 **ne sont pas** les « listes de diffusion » de l’application WhatsApp. > Elles fonctionnent uniquement avec une connexion **WhatsApp Business / API Meta** en statut **connected** et utilisent des **modèles WhatsApp** déjà disponibles dans Quoting24 (synchronisés / approuvés par Meta). --- ## Prérequis 1. **Connexion WhatsApp Business active** L’entrée de menu **Broadcast** n’apparaît que si le statut de la connexion API Meta est **connected**. Voir [WhatsApp](whatsapp.md) et, si vous utilisez aussi le même numéro sur le téléphone, [WhatsApp Coexistence](whatsapp_coexistence.md). 2. **Permissions** Tous les membres de la salle peuvent **voir** les campagnes. Seuls **owner** et **admin** peuvent **créer**, modifier ou supprimer des campagnes et des messages en file d’attente. 3. **Modèles WhatsApp** Au moins un modèle doit être disponible dans Quoting24 (ceux sélectionnables dans l’assistant). Si le modèle a un **en-tête image, vidéo ou document**, le fichier média est obligatoire à la création de la campagne : Meta ne réutilise pas automatiquement l’aperçu du modèle. 4. **Fichier des destinataires** Les destinataires sont chargés depuis un **fichier XLSX** (pas depuis l’annuaire Contacts). Maximum **1000** destinataires par campagne. 5. **Paiement Meta** Les messages modèles suivent la grille tarifaire Meta (catégories Marketing / Utility / Authentication, etc.). --- ## Ouvrir la section Broadcast 1. Ouvrez le **menu** Quoting24 (icône en haut à droite). 2. Sélectionnez **Broadcast**. Entrée Broadcast dans le menu Quoting24 La page **Campagnes Broadcast** s’ouvre, avec le sous-titre *Gérez les campagnes de messagerie broadcast WhatsApp.* --- ## Liste des campagnes | Colonne | Description | | ------- | ----------- | | **Nom** | Nom de la campagne (cliquable pour le détail) | | **Planification** | Date et heure d’envoi programmées | | **Progression** | `envoyés / total (pourcentage)` — le pourcentage compte les messages **envoyés + échoués** sur le total | | **Statut** | Statut de la campagne (voir ci-dessous) | En haut à droite : **+ Nouvelle campagne**. Sur chaque ligne, vous pouvez supprimer la campagne ou ouvrir son détail. Liste des campagnes Broadcast ### Statuts de campagne | Statut | Signification | | ------ | ------------- | | **Brouillon** | Brouillon (non utilisé dans le flux standard de création) | | **Active** | Campagne créée et en file / en attente de l’heure programmée | | **En cours d'envoi** | Envoi en cours | | **Terminée** | Tous les messages ont été traités (envoyés ou échoués) | | **Échouée** | Campagne échouée | | **Annulée** | Arrêtée par l’utilisateur : les messages non encore envoyés ne sont plus expédiés | | **Archivée** | Archivage automatique après environ 30 jours | --- ## Créer une nouvelle campagne L’assistant comporte **trois étapes** : 1. **Configuration** 2. **Destinataires (XLS)** 3. **Aperçu et confirmation** ### Étape 1 — Configuration Depuis la liste, cliquez sur **+ Nouvelle campagne** et renseignez : | Champ | Que saisir | | ----- | ---------- | | **Nom de la campagne** | Nom pour la reconnaître dans la liste | | **Modèle** | Modèle WhatsApp à envoyer | | **Image / vidéo / document d’en-tête** | Apparaît **uniquement** si le modèle sélectionné l’exige ; le fichier est alors obligatoire | | **Date** | Jour de début d’envoi | | **Heure** | Heure de début d’envoi | Sur le même écran, vous voyez l’**aperçu** du modèle (texte, pied de page, boutons et média s’il est chargé). Puis cliquez sur **Suivant**. Écran Créer une campagne — configuration #### Média d’en-tête (uniquement si le modèle le permet) Le champ d’upload pour le média d’en-tête **n’est pas toujours affiché**. Il apparaît **uniquement** après avoir choisi un modèle dont l’en-tête Meta est de type : - **image** → formats `JPG`, `JPEG`, `PNG` - **vidéo** → format `MP4` - **document** → format `PDF` Si le modèle n’a pas de média d’en-tête, le champ reste masqué et vous pouvez continuer sans pièce jointe. S’il l’exige, vous ne pouvez pas avancer sans fichier : Meta ne réutilise pas automatiquement l’aperçu du modèle. Dans l’exemple ci-dessous, en sélectionnant un modèle avec en-tête image apparaît la zone **Image header** (clic ou glisser-déposer). Chargement d’une image d’en-tête lors de la création d’une campagne Broadcast ### Étape 2 — Destinataires (XLS) 1. Cliquez sur **Télécharger le modèle XLSX** pour obtenir le fichier d’exemple. 2. Remplissez la feuille avec ces colonnes : | Colonne | Obligatoire | Description | | ------- | ----------- | ----------- | | `recipient_name` | Non | Nom du destinataire (libellé uniquement dans Quoting24) | | `recipient_address` | **Oui** | Numéro WhatsApp (avec ou sans `+` ; espaces et préfixe `00` normalisés à l’envoi) | | `var1`, `var2`, `var3`, … | Si le modèle a des variables | Valeurs des variables du modèle, dans l’ordre | 3. Téléversez le fichier complété (**Téléverser le fichier complété**, format `.xlsx`). 4. Lorsqu’au moins un destinataire valide apparaît, cliquez sur **Suivant**. Limite : **maximum 1000 destinataires** par campagne. ### Étape 3 — Aperçu et confirmation Vérifiez : - l’aperçu du modèle - la liste des destinataires (vous pouvez **modifier** ou **supprimer** des lignes) Puis cliquez sur **Confirmer et envoyer**. La campagne est créée au statut **Active** et les messages entrent en file comme **En attente**, programmés pour la date/heure choisies. Vous êtes redirigé vers le **détail de la campagne**. --- ## Détail de campagne et messages Dans le détail, vous voyez : - le statut et la planification de la campagne - la liste de chaque message avec : - nom et numéro - prochain envoi (s’il est encore en file) - statut du message - tentatives (`retry / max`) - éventuelle erreur - aperçu du texte rendu (variables remplacées) ### Statuts des messages | Statut | Signification | | ------ | ------------- | | **En attente** | En file, pas encore envoyé | | **Planifié** | Planifié | | **En cours d'envoi** | Envoi vers Meta en cours | | **Envoyé** | Envoyé avec succès | | **Échoué** | Échoué après les tentatives prévues | | **Annulé** | Annulé | | **Archivé** | Archivé (anciens messages) | Si un envoi échoue, le système peut **réessayer** automatiquement (jusqu’à 10 tentatives, avec une attente entre chaque). Vous pouvez aussi modifier ou retirer de la file les messages non encore envoyés (owner/admin uniquement). ### Annuler une campagne Tant que le statut est **Active** (ou **Brouillon**), vous pouvez utiliser **Annuler la campagne**. Les messages déjà envoyés restent envoyés ; ceux encore en file **ne sont plus expédiés**. --- ## Comment se déroule l’envoi - L’envoi démarre à la **date/heure programmées** (ou peu après, si cette heure est déjà passée). - Les messages sont envoyés **un par un**, avec une courte pause entre chaque envoi. - Chaque message est un **modèle WhatsApp** envoyé via l’API Meta sur la connexion de la salle. - Lorsque tous les messages sont **envoyés** ou **échoués**, la campagne passe à **Terminée**. --- ## Notes importantes - **API Meta uniquement :** la section est disponible lorsque le numéro est relié via les API officielles WhatsApp Business. - **Menu masqué sans Business connecté :** si vous ne voyez pas **Broadcast**, vérifiez que WhatsApp Business est lié et en statut connected. - **N’utilise pas l’annuaire Contacts :** les numéros viennent du fichier XLSX (ou des modifications faites dans l’aperçu). - **Coûts Meta :** chaque modèle livrable peut générer une facturation selon la catégorie et les règles Meta. Voir aussi [WhatsApp Coexistence](whatsapp_coexistence.md) pour les coûts en coexistence. - **Consentement et conformité :** pour les campagnes marketing, assurez-vous d’avoir le consentement des destinataires et de respecter les politiques WhatsApp / Meta. - **Envoi 1:1 depuis l’ERP :** pour envoyer un message à un seul contact depuis un logiciel externe, utilisez [Écrire sur WhatsApp via nos API](invia_whatsapp_api.md). Cette intégration ne remplace pas les campagnes Broadcast de masse. --- ## Récapitulatif opérationnel 1. Connectez le numéro avec l’**API Meta** (statut connected). 2. Assurez-vous d’être **owner** ou **admin**. 3. Préparez les **modèles** WhatsApp dans Quoting24. 4. Ouvrez **Broadcast** → **+ Nouvelle campagne**. 5. Configurez nom, modèle, date/heure (et média d’en-tête si requis). 6. Téléchargez le modèle XLSX, remplissez-le et téléversez-le. 7. Vérifiez l’aperçu et confirmez. 8. Surveillez la progression, le statut de la campagne et le détail des messages. --- # Migration de l'API WhatsApp URL: https://wiki.quoting24.com/fr/content/migrazione_whatsapp_api/ Language: fr Updated: 2026-11-04 # Migration de l'API WhatsApp Ce guide explique comment relier à **Quoting24** un numéro déjà actif sur les **API officielles de WhatsApp** (WhatsApp Business Platform) chez un autre fournisseur, **sans changer le numéro**. La section **WhatsApp** est visible **uniquement par les administrateurs**. La connexion part toujours du même endroit dans Quoting24 : **Paramètres → WhatsApp → WhatsApp Business → Connecter**. Le bouton **Connecter** ouvre l'inscription intégrée de Meta (Embedded Signup). Ensuite, Quoting24 devient le fournisseur qui reçoit et envoie les messages de ce numéro. Le mode prévu est la connexion aux API officielles, décrite dans [Vue d'ensemble WhatsApp](whatsapp.md). --- ## Quelle procédure suivre Meta propose deux façons de connecter un numéro déjà utilisé par un autre fournisseur. Avant de cliquer sur **Connecter**, vérifiez le portfolio dans **Meta Business Suite → Paramètres → Comptes**. | Ce que vous voyez dans Meta Business Suite | Que faire | | --- | --- | | **Comptes WhatsApp** et **Comptes de messagerie** (Messaging Accounts) séparés | Modèle actuel : **partagez** le compte WhatsApp avec Quoting24. Le numéro reste où il est. | | **Comptes WhatsApp** seulement | Modèle précédent : **migrez** le numéro avec un code SMS ou vocal. | Sur le modèle actuel, Meta refuse le déplacement du numéro d'un compte à un autre. Le déconnecter de l'ancien fournisseur ne le libère pas. --- ## À préparer - Un accès **administrateur** à Quoting24. - Un accès **administrateur** au portfolio Meta (Business Manager) qui possède le numéro, avec l'utilisateur Facebook que vous utiliserez dans la fenêtre **Connecter**. - Le numéro déjà enregistré sur les API officielles. Les numéros d'essai gratuits attribués par Meta ne peuvent pas être migrés. - La possibilité de recevoir un SMS ou un appel vocal sur ce numéro, si Meta demande un code. La migration du modèle précédent exige aussi : - un nom d'affichage **déjà approuvé**, sans demande de changement de nom encore ouverte ; - la validation en deux étapes (PIN) **désactivée** sur le numéro, sans supprimer le numéro ni fermer le compte. Si vous n'avez pas accès au compte WhatsApp, demandez la désactivation au fournisseur actuel. --- ## Modèle actuel : partager le numéro avec Quoting24 Suivez cette procédure si Meta Business Suite affiche à la fois **Comptes WhatsApp** et **Comptes de messagerie**. Laissez le numéro actif chez le fournisseur actuel jusqu'à la fin. Le retirer plus tôt, alors que des messages clients arrivent, interrompt la réception. 1. Dans Quoting24, ouvrez **Paramètres → WhatsApp**. 2. Sur la ligne **WhatsApp Business**, cliquez sur **Connecter** et connectez-vous avec l'administrateur du portfolio Meta. 3. Sélectionnez le numéro déjà enregistré chez l'autre fournisseur. Meta l'affiche dans la liste et ne demande pas un nouveau code : le numéro est déjà enregistré. 4. Meta propose le portfolio et le compte WhatsApp de ce numéro. Confirmez le partage avec Quoting24. 5. Saisissez le nom d'affichage du numéro et continuez. Meta peut le réexaminer après l'activation. 6. Vérifiez les autorisations demandées (compte WhatsApp, compte de messagerie et ressources liées) et confirmez. 7. Fermez la fenêtre Meta. Dans Quoting24, la ligne **WhatsApp Business** est **connectée**. Meta crée un nouveau compte de messagerie pour Quoting24, sous le même compte WhatsApp. L'ancien fournisseur reste connecté tant que vous ne le retirez pas. ### Faire arriver les messages dans Quoting24 Le partage seul ne déplace pas les messages entrants. Tant que l'ancien fournisseur reste partenaire, Meta peut continuer à les lui remettre. Lorsque la ligne **WhatsApp Business** est connectée dans Quoting24 : 1. Dans **Meta Business Suite**, ouvrez **Paramètres → Comptes → Comptes de messagerie**, sélectionnez le compte, allez dans **Partenaires** et retirez l'accès de l'application de l'ancien fournisseur. 2. Ouvrez **Paramètres → Comptes → Comptes WhatsApp**, sélectionnez le compte du numéro, allez dans **Partenaires** et retirez aussi l'accès du même fournisseur. 3. Dans le même compte WhatsApp, ouvrez **Routage des conversations** (Conversation routing) et attribuez chaque type de conversation à Quoting24. La liste des partenaires peut afficher le nom de l'application Meta liée à Quoting24, et non le texte « Quoting24 ». Si l'accès à retirer n'est pas clair, arrêtez-vous et demandez au support Quoting24 avant de retirer un partenaire. Lorsqu'il ne reste qu'un partenaire, Meta désactive le routage et remet les messages à ce partenaire. ### Ce qui reste sur ce modèle Ces éléments restent sur le numéro, parce que le compte WhatsApp ne change pas : - numéro de téléphone - nom d'affichage - évaluation de la qualité - limites de messagerie - statut Official Business Account, s'il était déjà actif Les **modèles** appartiennent au compte de messagerie, pas au numéro. Le compte créé pour Quoting24 démarre vide : les modèles de l'ancien fournisseur doivent être **recréés dans Quoting24** et approuvés de nouveau par Meta. Tant qu'ils ne sont pas approuvés : - depuis Quoting24, vous ne répondez librement que dans les **24 heures** qui suivent le dernier message du client ; - [Broadcast API](broadcast_api.md) n'a pas de modèles à sélectionner. Les conversations enregistrées dans l'ancien logiciel **ne** deviennent **pas** des tickets Quoting24. Les messages qui arrivent après la connexion deviennent des tickets. Les conversations déjà présentes sur le téléphone du client restent dans l'application WhatsApp du client. --- ## Modèle précédent : migrer le numéro Suivez cette procédure seulement si Meta Business Suite n'affiche **que Comptes WhatsApp**. ### Désactivez la validation en deux étapes Demandez au fournisseur actuel de désactiver le PIN du numéro, ou faites-le vous-même depuis le portfolio Meta si vous y avez accès. Le numéro et le compte doivent rester actifs. Seule la validation en deux étapes est retirée. ### Connectez le numéro depuis Quoting24 1. Dans Quoting24, ouvrez **Paramètres → WhatsApp**. 2. Sur la ligne **WhatsApp Business**, cliquez sur **Connecter** et connectez-vous en tant qu'administrateur du portfolio Meta. 3. Choisissez **créer un nouveau compte WhatsApp**. C'est l'étape par laquelle Meta déplace le numéro déjà existant : ce n'est pas un second numéro. 4. Saisissez **le même nom d'affichage** déjà approuvé pour ce numéro. 5. Saisissez **le même numéro**. Meta signale qu'il est déjà enregistré sur un compte WhatsApp Business ou chez un autre fournisseur. 6. Demandez le code par **SMS** ou **appel vocal** et saisissez-le. 7. Terminez les étapes restantes dans la fenêtre Meta. Le déplacement se termine en général en quelques minutes. Dans Quoting24, la ligne **WhatsApp Business** passe à **connectée**. Pendant le passage, la réception peut s'interrompre quelques minutes. ### Ce qui reste et ce qu'il faut refaire Restent sur le numéro : - nom d'affichage - évaluation de la qualité - statut Official Business Account - limites de messagerie À refaire dans Quoting24 : - les **modèles**, à renvoyer et à faire réapprouver par Meta avant d'écrire hors de la fenêtre de 24 heures et avant d'utiliser [Broadcast API](broadcast_api.md) ; - les campagnes de l'ancien fournisseur ; - l'historique de conversation de ce logiciel, qui n'est pas importé. Les nouveaux messages arrivent comme tickets. --- ## Numéro déjà en coexistence chez un autre fournisseur Si le même numéro est utilisé **en même temps** par l'application WhatsApp Business et par les API chez un autre fournisseur, la connexion API ne rattache pas seule l'application sur le téléphone. 1. Faites une **sauvegarde des conversations** dans l'application WhatsApp Business. 2. Enregistrez le même numéro sur l'application **WhatsApp personnel** : le numéro quitte l'application Business. 3. Enregistrez-le de nouveau sur l'application **WhatsApp Business**. 4. Dans Quoting24, cliquez sur **Connecter** dans **WhatsApp Business** et terminez la coexistence décrite dans [WhatsApp Coexistence](whatsapp_coexistence.md) : dans l'application, **Paramètres → Appareils connectés → Connecter un appareil**, puis scannez le QR affiché par Quoting24. Pour passer le numéro uniquement sur les API, sans application sur le téléphone, suivez la procédure du modèle Meta vérifié plus haut. --- ## Après la connexion - Les nouveaux messages du numéro deviennent des **tickets** dans Quoting24. - Au-delà de 24 heures après le dernier message du client, on écrit avec un **modèle approuvé**. Les règles du canal officiel sont dans [Vue d'ensemble WhatsApp](whatsapp.md). - Les campagnes se créent dans [Broadcast API](broadcast_api.md) lorsque les modèles sont disponibles dans Quoting24. - Pour utiliser aussi l'application WhatsApp Business sur le même numéro, il faut [WhatsApp Coexistence](whatsapp_coexistence.md). - Les groupes et les listes de diffusion de l'application ne passent pas sur les API. --- ## Si la procédure s'arrête - **Meta refuse le déplacement du numéro.** Le portfolio est sur le modèle actuel : revenez au partage et laissez le numéro enregistré chez l'ancien fournisseur jusqu'à ce que Quoting24 affiche connecté. - **Le code SMS ou vocal n'arrive pas.** Sur le modèle précédent, la validation en deux étapes est encore active. Désactivez-la et recommencez **Connecter**. - **Le nom d'affichage bloque la migration précédente.** Meta n'accepte le passage qu'avec un nom approuvé et sans changement de nom en attente. - **Quoting24 est connecté mais les messages n'arrivent pas.** Sur le modèle actuel, le routage pointe encore vers l'ancien fournisseur. Vérifiez **Partenaires** et **Routage des conversations** avant de déconnecter le numéro. - Si le partenaire à retirer n'est pas reconnaissable, contactez le support Quoting24 avec le numéro et l'ID du portfolio Meta. --- # Canal Widget — Vue d'ensemble URL: https://wiki.quoting24.com/fr/content/widget/ Language: fr Updated: 2026-11-04 # Canal Widget — Vue d'ensemble Le **canal Widget** reçoit les demandes d'assistance et de devis depuis le **site web**. Les visiteurs ouvrent une conversation sur le site ; les messages arrivent dans Quoting24 comme des tickets et les opérateurs répondent depuis l'interface habituelle, avec la même logique que les autres canaux. L'interface est dans un **iframe**. Le site hôte a besoin d'un script et, lorsque les données sont déjà connues, d'un appel à `init()`. Angular, un client Supabase ou un accès direct à la base Quoting24 ne sont pas nécessaires. --- ## Quelle intégration choisir Associer une entreprise et restaurer l'historique sont deux opérations distinctes. `external_id`, `company_name`, `name`, `phone` et `email` n'autorisent pas l'accès aux conversations d'une autre personne. Un utilisateur déjà authentifié sur le site reste un invité du widget tant que le site ne transmet pas un credential de restauration valide. | Cas | À implémenter | Continuité | Section | | --- | --- | --- | --- | | Site public, visiteur inconnu | Script seul. Le visiteur remplit le formulaire de contact. | Session invité dans le même navigateur | [Widget B2C](widget_b2c.md) | | Site qui connaît déjà le profil et l'entreprise | Script et `init()` avec le profil et les données de l'entreprise | Session invité préremplie et association d'entreprise | [Widget B2C](widget_b2c.md#inviare-il-profilo-del-cliente) | | Portail avec historique personnel entre appareils | Aussi une intégration backend pour `external_user_id` et `restore_id` | Historique personnel sur le canal widget autorisé | [Widget B2B](widget_b2b.md) | | Contrat des champs, CSP, login/logout, provisioning | Guide pour développeurs | — | [Intégration technique](widget_tecnico.md) | --- ## Ce que fait le widget - Affiche un **bouton flottant** ou une conversation **intégrée** dans la page - Pour un nouveau visiteur, ouvre le formulaire avec les libellés Téléphone et Nom. Dans `init()` les champs s'appellent `phone` et `name` ; l'e-mail, si le site le connaît, s'appelle `email` - Si le site appelle `init()`, utilise les données déjà disponibles et peut lier le contact à une entreprise via `external_id` (`web_code`). Si l'entreprise manque et que `company_name` est aussi envoyé, il peut la créer - Ouvre une conversation gérée dans Quoting24 comme les autres canaux - Accepte les pièces jointes PDF, DOC/DOCX, JPG/JPEG et PNG, jusqu'à 10 MiB par fichier et 100 MiB de pièces référencées par conversation - Affiche le message d'accueil, le message de bienvenue et, hors horaires, la bannière configurée. La saisie des messages reste disponible Le loader conserve le credential invité dans le `localStorage` du site, séparée par clé de widget. Si le stockage est bloqué, la continuité peut se limiter à la page courante. La session invité permet de relire la conversation la plus récente après la fermeture, dans le même navigateur. Un autre appareil exige la [restauration authentifiée](widget_b2b.md). --- ## Où le configurer dans Quoting24 1. Ouvrez **Paramètres → Canaux** 2. Sélectionnez le canal **Widget** 3. Ouvrez la configuration On y règle : - logo, couleur principale, position du bouton - message d'accueil, message de bienvenue, message hors horaires - **domaines autorisés** - **code d'intégration** (URL complète du script et clé publique du widget) Les horaires du canal déterminent la bannière hors horaires. Demandez à l'administrateur le code d'intégration et les domaines autorisés, y compris le recettage et le développement local. Utilisez l'URL et la clé du même environnement. Dans les exemples, remplacez `HOTE_WIDGET` et `CLE_PUBLIQUE_WIDGET` par les valeurs reçues. Les domaines autorisés sont des noms d'hôte, par exemple `shop.example.com` ou `localhost`, sans `https://`, port, chemin ni préfixe `*.`. `example.com` autorise aussi ses sous-domaines. Une liste vide n'applique aucune restriction de domaine. Pour l'essai local, servez la page en HTTP : l'ouvrir comme fichier ne suffit pas. Le logo, la couleur, la position et les messages se configurent dans Quoting24. Le `company_name` passé à `init()` est la raison sociale du client, pas le titre du widget. Il n'existe pas de paramètre public `language` ou `locale` : l'interface actuelle est en italien. --- ## Deux façons de l'afficher sur le site ### Bouton flottant Le script ajoute le bouton après le chargement des réglages graphiques. Un clic ouvre la conversation. Sur mobile, la conversation flottante s'étend jusqu'à occuper le viewport. Voir [Widget B2C](widget_b2c.md). ### Conversation intégrée La conversation occupe un conteneur de la page, avec une hauteur explicite. Il n'y a pas de bouton flottant : la mise en page et le titre viennent du site. Dans ce mode, `open()`, `close()` et `toggle()` n'ont pas d'effet. Le site contrôle la hauteur et la largeur du conteneur. Voir [Widget B2C](widget_b2c.md#incorporare-la-chat-in-pagina). Une seule instance par page : le loader expose un unique `window.Quoting24Widget`. Un second script ne crée pas un second widget. --- ## Clé publique et secrets {#chiave-pubblica-e-segreti} | Valeur | Où elle se trouve | À quoi elle sert | | --- | --- | --- | | Clé publique du widget | URL du script | Sélectionne le canal. Elle est publique : ce n'est ni un credential personnel ni un secret d'intégration backend | | Secret privé de l'intégration | Uniquement dans le backend du site | Autorise la création et la réutilisation de `restore_id` | | `restore_id` | Stockage privé par utilisateur, dans le backend | Credential qui restaure l'historique de cette personne sur ce widget | | Credential de session invité | `localStorage` du site, géré par le loader | Continuité invité dans le même navigateur, par clé de widget | --- ## Flux pour l'opérateur 1. Le visiteur ouvre la conversation sur le site et envoie un message 2. Quoting24 crée ou poursuit un **ticket** sur le canal Widget 3. Si l'initialisation a résolu un `external_id`, le contact est lié à l'entreprise qui a ce `web_code`. Une entreprise vient d'être créée par le widget a la raison sociale et, si elle a été envoyée, l'e-mail ; une entreprise déjà présente n'est pas renommée par `init()` 4. L'opérateur traite la demande et répond depuis la conversation 5. Le client voit les réponses dans le widget Les messages du widget ne se suppriment que **pour tout le monde**. La donnée vient du navigateur et le visiteur peut la modifier. Le lien à l'entreprise ne prouve pas l'identité et n'ouvre pas l'historique des autres contacts de cette entreprise. --- ## Par où commencer 1. Configurez l'apparence, les horaires et les domaines dans **Paramètres → Canaux → Widget** 2. Site public ou portail qui préremplit le profil : [Widget B2C](widget_b2c.md) 3. Historique de la même personne sur un autre navigateur : [Widget B2B](widget_b2b.md) 4. Champs, création d'entreprise, CSP et liste de contrôle : [Intégration technique](widget_tecnico.md) --- # Widget B2C — visiteur invité et entreprise URL: https://wiki.quoting24.com/fr/content/widget_b2c/ Language: fr Updated: 2026-11-04 # Widget B2C — visiteur invité et entreprise Cette section couvre les intégrations où le widget reste en **session invité** : - site public, visiteur inconnu : script et formulaire de contact seulement - site ou portail qui connaît déjà le compte : `init()` avec le profil et les données d'entreprise, formulaire sauté lorsque les données suffisent, contact lié à l'entreprise L'historique personnel sur un autre navigateur ou appareil est une autre intégration. Voir [Widget B2B](widget_b2b.md). Contrat complet des champs, changement de compte dans une SPA, CSP et provisioning : [Intégration technique](widget_tecnico.md). **Associer une entreprise n'autorise pas l'historique d'une autre personne.** Un utilisateur authentifié sur le site reste un invité du widget tant que vous n'envoyez pas `external_user_id` avec un `restore_id` valide. --- ## Ce que vous obtenez - Un bouton flottant, ou une conversation intégrée dans un conteneur de la page - Un formulaire initial pour les inconnus, avec les libellés Téléphone et Nom. Dans `init()` les champs sont `phone` et `name` - Une session invité enregistrée par le loader dans le même navigateur, séparée par clé de widget. Si `localStorage` est bloqué, la continuité peut rester sur la page courante - Si vous envoyez `external_id`, Quoting24 cherche une entreprise avec le même `web_code`. Avec `company_name` en plus, il peut créer l'entreprise manquante et y lier le contact - Tickets et réponses dans Quoting24, comme sur les autres canaux La session invité relit sa conversation la plus récente même après la fermeture de l'onglet. Elle ne suit pas la personne sur un autre navigateur. --- ## 1. Prérequis dans Quoting24 1. Canal **Widget** actif dans **Paramètres → Canaux** 2. Logo, couleur, position, accueil, bienvenue et hors horaires configurés 3. **Domaines autorisés** à jour, y compris le recettage et `localhost` 4. Code d'intégration copié depuis la configuration du canal : URL du script et clé publique Utilisez l'hôte et la clé du **même environnement**. Dans les exemples, remplacez `HOTE_WIDGET` et `CLE_PUBLIQUE_WIDGET`. Les domaines sont des noms d'hôte, sans `https://`, port, chemin ni `*.`. `example.com` inclut les sous-domaines. Liste vide : aucune restriction. En local, servez la page en HTTP, pas en `file://`. Le `company_name` de `init()` est la raison sociale du client. Ce n'est pas le titre du widget et il ne se configure pas depuis ce payload. --- ## 2. Installer le bouton flottant Collez le script **une seule fois**, avant `` : ```html ``` Le bouton apparaît après le chargement des réglages graphiques. Un nouveau visiteur voit le formulaire de contact. Celui qui revient dans le même navigateur reprend la session invité, si le stockage est disponible. Le script expose un unique `window.Quoting24Widget`. --- ## 3. Intégrer la conversation dans la page {#incorporare-la-chat-in-pagina} Créez le conteneur **avant** le script et donnez-lui une hauteur explicite : ```html

Assistance

``` - `target` est l'ID de l'élément, sans `#` - L'iframe remplit le conteneur - Il n'y a pas de bouton flottant - `open()`, `close()` et `toggle()` n'ont pas d'effet - Dans ce mode, le site décide de la hauteur et de la largeur. En mode flottant, sur mobile, la conversation peut occuper le viewport Le mode intégré, à lui seul, n'active pas la restauration de l'historique. --- ## 4. Envoyer le profil du client {#inviare-il-profilo-del-cliente} Lorsque le site connaît le compte, envoyez le profil après le chargement du loader. Les champs sont des **chaînes**. Omettez ceux qui sont inconnus : n'envoyez pas `null`, des ID numériques ni un e-mail vide. ```js window.Quoting24Widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` | Donnée dans le site ou le logiciel de gestion | Champ | Signification | | --- | --- | --- | | Référence stable de l'entreprise, la même valeur importée dans `web_code` | `external_id` | Comparaison exacte avec `companies.web_code`, dans l'organisation du widget | | Raison sociale | `company_name` | Utilisée s'il faut créer l'entreprise | | Nom de la personne ou de l'utilisateur | `name` | Nom affiché sur le contact | | E-mail du compte | `email` | Enregistré sur l'entreprise seulement lorsque l'entreprise est créée | | Téléphone, si vous le connaissez | `phone` | Numéro du contact. Préférez le format international, par exemple `+393331234567` | Ce payload n'envoie ni `external_user_id` ni `restore_id`. Gardez `name` et `company_name` séparés : ne concaténez pas la raison sociale au nom d'utilisateur pour obtenir l'association. Le champ public est `external_id`. N'envoyez pas `web_code`, l'UUID interne de Quoting24 ni `companies.code`. Le formulaire affiche **Nom** et **Téléphone**. Dans `init()` ces champs s'appellent `name` et `phone`. L'e-mail s'appelle `email`. `Nom`, `Téléphone` et `Email` ne sont pas des clés : le loader les ignore, comme il ignore `web_code` à la place de `external_id`. ### Exemples Nom et téléphone, les mêmes données que le formulaire. La conversation démarre et ne cherche pas d'entreprise. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` Profil avec entreprise. `name` est la personne, `phone` le numéro du contact, `email` est écrit sur l'entreprise seulement si cet appel la crée. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", }); ``` E-mail seul. Une adresse valide dans `email` suffit pour ouvrir la session. ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Si un champ dépasse les limites ou si l'e-mail est mal formé, la requête est refusée. Limites et comportement de chaque champ : [Intégration technique](widget_tecnico.md#campi-di-init). ### Attendre le loader Un script `async` peut ne pas encore être exécuté lorsque le code suivant appelle `init()`. Pour les données préremplies, utilisez un module de chargement **à la place** de la balise statique, importé une seule fois dans la structure principale : ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOTE_WIDGET/assets/widget/script.js?key=CLE_PUBLIQUE_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API du widget indisponible")); } }; script.onerror = () => { script.remove(); reject(new Error("Échec du chargement du widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Importez le module depuis le bundler, ou chargez le fichier d'entrée avec ``. Pour le mode intégré, ajoutez `&mode=embedded&target=chat-assistance` à l'URL et montez d'abord le conteneur. `loadWidget()` signale seulement que l'API JavaScript est disponible. `init()` renvoie `void` : il met le profil en file si l'iframe n'est pas prêt et n'attend pas la session. Pour le résultat, utilisez `isReady()` et `hasSessionError()`. `init()` **remplace** le profil mémorisé. Il ne le fusionne pas avec le précédent. Passez tous les champs qui doivent rester. Un changement de page dans une SPA ne demande ni un nouveau script ni un `reset()`. Au changement de personne ou de compte, et à la déconnexion, appelez `reset()` avant le nouveau profil : changer seulement les champs ne détache pas la session invité précédente. Schéma complet : [Connexion, déconnexion et changement de compte](widget_tecnico.md#login-logout-e-cambio-account). --- ## 5. Comment l'entreprise est associée ou créée Quoting24 exécute ce flux à l'initialisation, même si le visiteur n'a pas encore envoyé de message : 1. Avec un `external_id` non vide, il cherche une entreprise de la même organisation dont le `web_code` est égal à cette valeur 2. S'il la trouve, il lie le contact. Le nom et l'e-mail de l'entreprise existante restent inchangés 3. S'il ne la trouve pas et qu'un `company_name` non vide est aussi présent, il crée l'entreprise avec `name = company_name`, `web_code = external_id` et l'e-mail éventuel, puis lie le contact 4. S'il ne peut ni trouver ni créer l'entreprise, il continue avec le profil disponible. Si cela ne suffit pas pour un nouvel invité, il affiche le formulaire. Les erreurs de base ou la limite de requêtes font échouer l'initialisation | Données envoyées | Situation dans Quoting24 | Résultat | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` existe | Utilise l'entreprise existante et n'en modifie pas le nom | | Mêmes données, plus un e-mail valide | `web_code = "52"` n'existe pas | Crée l'entreprise avec le code web `52`, la raison sociale et l'e-mail, et associe le contact | | `external_id: "52"`, `name: "mario.rossi"` | Aucune correspondance | Démarre l'invité sans nouvelle association d'entreprise | | `external_id: "52"`, sans autres données | Une correspondance existe | Démarre l'invité associé à l'entreprise, avec le nom par défaut `Visitatore` | | `external_id: "52"`, sans autres données | Aucune correspondance | Affiche le formulaire de contact | | `company_name` sans `external_id`, plus `name` | Quelconque | Démarre le visiteur. Ne cherche pas et ne crée pas d'entreprise | La recherche n'utilise pas la raison sociale, l'e-mail, le téléphone, le numéro de TVA ni `companies.code`. `"052"` et `"52"` sont des valeurs différentes ; les espaces dans `external_id` ne sont pas retirés. Si vous importez le fichier clients avant, écrivez dans `web_code` la même valeur que le site enverra dans `external_id`. Voir aussi [Entreprises → Code web](companies.md#codice-web-web_code). Un nouvel invité démarre s'il y a au moins un nom, un téléphone, un e-mail valide ou un `external_user_id`, ou une entreprise trouvée ou créée via `external_id`. `init({})` et `company_name` seul ne démarrent pas de session. Pour un contact déjà lié, un nouveau code valide peut changer son entreprise. Omettre le code, ou en envoyer un qui ne se résout pas, n'efface pas l'association précédente. Le changement de personne ou de compte exige `reset()`. ### Limites `web_code` n'est pas unique. Avec plusieurs correspondances, l'initialisation publique prend la première par date de création croissante. Des requêtes simultanées qui ne trouvent pas encore l'entreprise peuvent en créer plusieurs : la création n'est pas atomique et ne remplace pas un import ou une synchronisation depuis le logiciel de gestion. La création implicite est limitée à 20 tentatives par fenêtre de 60 secondes et par adresse IP, dans le processus backend qui traite la requête. Au-delà, l'initialisation échoue avec `TOO_MANY_REQUESTS` : réessayez avec une attente, sans boucles continues de `init()`. Les données partent du navigateur et le visiteur peut les altérer. Le lien ne prouve pas l'appartenance à l'entreprise et n'accorde pas l'historique de l'entreprise. Envoyez `company_name` seulement si vous voulez autoriser cette création publique. Pour mettre à jour des entreprises déjà présentes, utilisez les outils de Quoting24 ou une intégration de gestion autorisée. L'e-mail de l'initialisation publique n'est enregistré que sur la nouvelle entreprise. Il n'est pas écrit sur le contact et ne met pas à jour une entreprise déjà présente. Un téléphone déjà utilisé par un autre contact ne fusionne ni les contacts ni les conversations. --- ## 6. Comportement sur le site | Situation | Comportement attendu | | --- | --- | | Premier visiteur, script seul | Bouton, puis formulaire, puis conversation | | `init()` avec un profil suffisant | Formulaire sauté | | `external_id` déjà présent comme `web_code` | Contact associé ; nom et e-mail de l'entreprise inchangés | | Nouvel `external_id` avec `company_name` | Entreprise créée et contact associé | | Nouveau code et nom, sans `company_name` | Conversation sans nouvelle entreprise | | Nouveau code seul | Formulaire de contact | | Raison sociale et nom seulement | Aucune recherche ni création par nom | | Rechargement dans le même navigateur | Session invité reprise, si le stockage est disponible | | Autre navigateur ou appareil | Nouvelle session invité | | Hors horaires | Bannière hors horaires ; la saisie reste utilisable | | Mobile, bouton flottant | La conversation peut occuper le viewport | Pièces jointes : PDF, DOC, DOCX, JPG/JPEG, PNG. Maximum 10 MiB par fichier et 100 MiB de pièces référencées par conversation. --- ## 7. Contrôles utiles Lorsque le bouton flottant est visible, vous pouvez relier un bouton du site à `window.Quoting24Widget?.open()`. | Méthode | Usage | | --- | --- | | `init(profile)` | Définit ou remplace le profil courant | | `open()` / `close()` / `toggle()` | Widget flottant seulement. Fermer n'est pas une déconnexion | | `isReady()` | Session visiteur démarrée. Reste faux sur le formulaire de contact | | `hasSessionError()` | Erreur de session signalée par l'iframe | | `reset()` | Efface le profil, la session locale, le credential invité enregistré et les non-lus de cette instance | | `dispose()` | Démonte l'interface et les écouteurs. N'efface pas le credential invité enregistré ni l'objet API global | N'attendez pas `isReady()` pour laisser un nouvel invité ouvrir le formulaire. Il n'y a pas d'événement public de disponibilité. Ces indicateurs ne décrivent pas tout l'état du réseau. --- ## Liste de contrôle avant mise en production - [ ] Hôte et clé du même environnement - [ ] Domaines du site et du staging dans la liste, uniquement comme noms d'hôte - [ ] Logo, couleur, accueil, bienvenue et hors horaires vérifiés - [ ] Navigateur neuf, script seul : formulaire, message, ticket dans Quoting24 - [ ] `external_id` déjà dans `web_code` : association, fiche entreprise inchangée - [ ] Nouveau code avec `company_name` : entreprise créée avec ce code web - [ ] Nouveau code sans `company_name` : aucune entreprise créée - [ ] E-mail vide, ID numérique ou raison sociale trop longue : payload refusé, à corriger - [ ] Rechargement et navigation SPA : une seule instance, session invité conservée - [ ] Changement de compte : `reset()` tout de suite, réponses tardives écartées - [ ] Mobile : saisie utilisable - [ ] Domaine non autorisé : widget refusé Problèmes fréquents : [Résolution des problèmes](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget B2B — historique sur d'autres appareils URL: https://wiki.quoting24.com/fr/content/widget_b2b/ Language: fr Updated: 2026-11-04 # Widget B2B — historique sur d'autres appareils Cette section couvre la restauration de l'**historique personnel** du widget lorsque la même personne ouvre le site depuis un autre navigateur ou appareil. Le site doit authentifier la personne. Son backend obtient et conserve en privé le credential de restauration pour cet utilisateur et ce widget. Le navigateur la passe à `init()` avec le profil. Pour le script seul, ou pour préremplir le profil et l'entreprise en restant en session invité, voir [Widget B2C](widget_b2c.md). Points d'accès, persistance et concurrence de `restore_id` : [Intégration technique](widget_tecnico.md#provisioning-da-backend). --- ## Ce que cela ajoute par rapport à la session invité | | Invité | Restauration | | --- | --- | --- | | Connexion sur le site | Non requise | Requise, parce que le credential sort de votre backend | | Données qui identifient la conversation | Credential invité du navigateur, ou profil passé à `init()` | `external_user_id` et `restore_id` ensemble | | Continuité | Même navigateur | Navigateurs et appareils différents, sur le canal widget autorisé | | Qui émet le credential | Loader | Backend du site, via Quoting24 | `name`, `phone`, `email`, `external_id`, `company_name` et `external_user_id`, seuls, ne restaurent pas l'historique. `external_user_id` sans `restore_id` ne suffit pas. Le champ est `restore_id`, en snake case : `restoreId` n'est pas un champ du loader. La restauration ne fusionne pas d'anciennes sessions invité et ne partage pas l'historique entre collègues de la même entreprise. Elle concerne seulement le canal widget. Vous pouvez envoyer les champs entreprise dans le même `init()`. L'association ou la création suit les règles du [payload invité](widget_b2c.md#inviare-il-profilo-del-cliente) : elle est indépendante de la restauration et ne prouve pas l'identité. --- ## Flux 1. Le client se connecte sur le portail 2. Le backend authentifié demande un credential à Quoting24 (`provisionRestoreId`) ou réutilise celui déjà enregistré 3. La page appelle `init()` avec le même `external_user_id`, le `restore_id` et, s'ils servent, les données d'entreprise 4. Quoting24 vérifie le credential et montre les conversations du widget visibles pour cette personne, y compris celles déjà fermées 5. À la déconnexion, ou au changement de personne, la page appelle `reset()` pour que la conversation précédente ne reste pas dans le navigateur ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` `restore_id` est la réponse du backend pour l'utilisateur authentifié. Utilisez-la sans la modifier. Maximum 200 caractères. Elle exige l'`external_user_id` correspondant : ID stable de la personne, non vide, maximum 100 caractères après trim. Ce n'est pas un ID d'entreprise partagé. `external_id` est comparé à `web_code`. Avec `company_name`, il peut créer l'entreprise manquante. Il n'authentifie pas l'utilisateur et ne remplace pas `restore_id`. --- ## Prérequis En plus du branding, des domaines et du code d'intégration : - intégration backend autorisée dans Quoting24 - secret privé de l'intégration, uniquement sur le serveur - point d'accès de provisioning, en général `widget.provisionRestoreId` - stockage privé dans la base du site, un credential par utilisateur et widget La clé publique dans l'URL du script et le secret d'intégration sont des valeurs différentes. Voir [Vue d'ensemble](widget.md#chiave-pubblica-e-segreti). --- ## Point d'accès sur le backend du site `/api/widget/session` est un exemple à implémenter dans le portail. Ce n'est pas une URL publique de Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` - L'identité se déduit de la session serveur, pas d'un ID choisi par le navigateur - `Cache-Control: no-store` - Ne journalisez pas et ne mettez pas en cache `restore_id` - Ne mettez pas de secrets dans l'URL du script ni dans des attributs `data-*` - Enregistrez le credential **avant** de la renvoyer au navigateur Le contrat vers Quoting24 (`attempt_id`, `saved_restore_id`, verrou, réutilisation de la clé) est dans [Intégration technique](widget_tecnico.md#provisioning-da-backend). Si le portail a déjà un point d'accès authentifié qui, pour l'utilisateur courant, renvoie le `restore_id` de ce widget, utilisez cette réponse. Combinez-la avec l'ID de la personne et la référence d'entreprise dans l'appel à `init()`. --- ## Connexion, rechargement, changement de compte, déconnexion Distinguez un rechargement de page d'un vrai changement de personne ou de compte. - Rechargement avec la même connexion encore active : `init()` **sans** `reset()`, pour conserver la session invité enregistrée si vous ne faites que redonner le profil. Avec la restauration, réutilisez le credential déjà persisté : n'en générez pas un nouveau à chaque page view - Changement de personne, changement de compte, déconnexion : `reset()` tout de suite, puis le nouveau profil, ou aucun `init()` si l'utilisateur est sorti - Écartez les réponses de restauration arrivées après le changement : une ancienne réponse ne doit pas être traitée comme une nouvelle connexion - Dans une SPA, gardez une seule instance dans la structure principale. Un changement de route ne relance pas le provisioning Si la restauration n'est pas disponible, vous pouvez proposer la conversation invité : `reset()`, puis `init()` sans `restore_id`. Cette conversation reste séparée de l'historique restauré. Un credential non valide, appartenant à un autre utilisateur ou révoqué est refusé. Quoting24 ne le convertit pas en session invité. Le bouton « Riprova » du widget ne demande pas tout seul un nouveau `restore_id` à votre backend. L'interface actuelle est en italien, donc ce libellé est en italien. Exemple de `applyWidgetAuth` et démontage : [Intégration technique](widget_tecnico.md#login-logout-e-cambio-account). `reset()` oublie la session invité de cette instance et le credential enregistré dans le navigateur. Il ne révoque pas `restore_id` sur le serveur et ne ferme pas les sessions sur les autres appareils. Le site doit mettre à jour les autres onglets ouverts. --- ## Conversations précédentes Dans l'historique restauré, les conversations déjà fermées peuvent apparaître comme conversation précédente. - Les ouvrir en consultation ne rouvre pas l'ancienne conversation - Les nouveaux messages restent sur la conversation active --- ## Liste de contrôle avant mise en production - [ ] Secret d'intégration uniquement sur le serveur - [ ] `external_user_id` stable et par personne, identique entre le provisioning et `init()` - [ ] `restore_id` persisté avant la réponse au navigateur, et réutilisé aux visites suivantes - [ ] Même utilisateur sur un second navigateur : même historique - [ ] Deux utilisateurs de la même entreprise : historiques distincts - [ ] `external_id` et `company_name` vérifiés dans le fichier, sans attendre qu'ils restaurent la conversation - [ ] Déconnexion ou changement de compte pendant le fetch : aucune conversation de l'ancien utilisateur à l'écran - [ ] Passage invité ↔ restauration avec `reset()` au milieu - [ ] Credential révoqué ou non valide : erreur, sans repli silencieux vers l'invité Tests et symptômes : [Vérifier l'intégration](widget_tecnico.md#verificare-lintegrazione) · [Résolution des problèmes](widget_tecnico.md#risoluzione-dei-problemi). --- # Widget — Intégration technique URL: https://wiki.quoting24.com/fr/content/widget_tecnico/ Language: fr Updated: 2026-11-04 # Widget — Intégration technique Guide pour développeurs : script, payload de `init()`, association et création d'entreprise, cycle de vie, restauration authentifiée (`restore_id`), CSP et vérification. Pages de parcours : [Vue d'ensemble](widget.md) · [B2C](widget_b2c.md) · [B2B](widget_b2b.md). **Édition de référence :** 26 octobre 2026. La restauration entre appareils s'ajoute au payload entreprise. Avant de l'activer, vérifiez que `provisionRestoreId` est disponible dans votre installation. L'interface est dans un iframe. Le site hôte n'a pas besoin d'Angular, d'un client Supabase ni d'un accès à la base Quoting24. --- ## Choisir le type d'intégration | Cas | Implémentation | Continuité | | --- | --- | --- | | Site public, visiteur inconnu | Script seul. Formulaire de contact | Session invité dans le même navigateur | | Site avec les données du client | Script et `init()` avec profil et entreprise | Session invité préremplie et association d'entreprise | | Portail avec historique personnel entre appareils | Aussi un backend pour `external_user_id` et `restore_id` | Historique personnel sur le canal widget autorisé | Associer une entreprise et restaurer l'historique sont deux opérations distinctes. `external_id`, `company_name`, le nom, l'e-mail et le téléphone n'autorisent pas les conversations d'une autre personne. Un utilisateur authentifié sur le site reste un invité du widget tant que vous ne fournissez pas un credential de restauration valide. --- ## 1. Configuration depuis Quoting24 Dans **Paramètres → Canaux**, ouvrez le canal widget et récupérez : - URL complète du script et **clé publique** - **domaines autorisés**, y compris recettage et développement local - logo, couleur, position, accueil, bienvenue et horaires Utilisez l'URL et la clé du même environnement. Dans les exemples, remplacez `HOTE_WIDGET` et `CLE_PUBLIQUE_WIDGET`. La clé dans l'URL est publique et sélectionne le canal : ce n'est ni un credential personnel ni un secret d'intégration backend. Les domaines sont des noms d'hôte (`shop.example.com`, `localhost`), sans `https://`, port, chemin ni préfixe `*.`. `example.com` autorise aussi ses sous-domaines. Une liste vide n'applique aucune restriction. Pour l'essai local, servez la page en HTTP, pas comme fichier. | Valeur | Où la conserver | Rôle | | --- | --- | --- | | Clé publique | URL du script | Sélectionne le canal widget | | Secret privé de l'intégration | Secrets du backend seulement | Autorise la création et la réutilisation de `restore_id` | | `restore_id` | Stockage privé par utilisateur ; dans la page seulement pour une session authentifiée | Indique quel historique restaurer | | Credential de session invité | `localStorage` du site, par clé de widget, géré par le loader | Continuité invité dans le même navigateur | La restauration exige une intégration backend, un point d'accès privé et un secret, séparés du code public. Voir [section 6](#provisioning-da-backend). --- ## 2. Installation ### Bouton flottant Une seule fois, avant `` : ```html ``` Le bouton apparaît après le chargement des réglages graphiques. Un nouveau visiteur ouvre le formulaire avec téléphone et nom facultatif. Le loader conserve le credential invité dans `localStorage`, séparé par clé. Si le stockage est bloqué, la continuité peut se limiter à la page courante. Le loader expose un unique `window.Quoting24Widget`. Un second script ne crée pas un second widget. ### Conversation intégrée Conteneur avant le script, hauteur explicite : ```html

Assistance

``` `target` est l'ID, sans `#`. L'iframe remplit le conteneur. Il n'y a pas de bouton flottant. `open()`, `close()` et `toggle()` n'ont pas d'effet. ### Attendre le loader Pour les données préremplies, utilisez ce module **à la place** de la balise statique, importé une seule fois dans la structure principale. Les exemples sont des modules JavaScript : bundler, ou ``. ```js // /assets/quoting24-loader.js const widgetScriptUrl = "https://HOTE_WIDGET/assets/widget/script.js?key=CLE_PUBLIQUE_WIDGET"; let widgetPromise; export function loadWidget() { if (window.Quoting24Widget) { return Promise.resolve(window.Quoting24Widget); } if (widgetPromise) return widgetPromise; widgetPromise = new Promise((resolve, reject) => { const script = document.createElement("script"); script.id = "quoting24-widget-script"; script.src = widgetScriptUrl; script.async = true; script.onload = () => { if (window.Quoting24Widget) resolve(window.Quoting24Widget); else { script.remove(); reject(new Error("API du widget indisponible")); } }; script.onerror = () => { script.remove(); reject(new Error("Échec du chargement du widget")); }; document.body.appendChild(script); }).catch((error) => { widgetPromise = undefined; throw error; }); return widgetPromise; } ``` ```js import { loadWidget } from "/assets/quoting24-loader.js"; const widget = await loadWidget(); widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Pour le mode intégré, ajoutez `&mode=embedded&target=chat-assistance` à l'URL et montez d'abord le conteneur. Ne dupliquez pas ce chargement avec une balise script statique. `loadWidget()` signale que l'API est disponible. `init()` renvoie `void` : il met le profil en file si l'iframe n'est pas prêt et n'attend pas la session. Pour le résultat, utilisez `isReady()` et `hasSessionError()`. --- ## 3. Champs de `init()` {#campi-di-init} Toutes les valeurs sont des **chaînes**. Omettez celles qui sont inconnues. N'envoyez pas `null`, des ID numériques ni un e-mail vide. Si un champ dépasse les limites ou si l'e-mail est mal formé, la requête est refusée. | Champ | Limite et comportement | | --- | --- | | `external_id` | Maximum 100 caractères. Référence d'entreprise comparée exactement à `web_code`, dans l'organisation du widget. Les espaces ne sont pas retirés | | `company_name` | Maximum 250 caractères après suppression des espaces en début et en fin. Crée une entreprise manquante seulement avec `external_id`. Une chaîne vide ou faite seulement d'espaces n'active pas la création | | `name` | Maximum 250 caractères. Nom du contact ; il peut le mettre à jour dans la session courante | | `email` | Adresse valide. Lors de l'initialisation publique, elle n'est enregistrée que sur une entreprise nouvelle. Elle n'est pas écrite sur le contact ni sur une entreprise déjà présente | | `phone` | Maximum 80 caractères. Numéro du contact ; préférez le format international, par exemple `+393331234567`. Un conflit avec un numéro existant ne fusionne ni les contacts ni les conversations | | `external_user_id` | Facultatif dans le cas de base. ID stable de la personne, non vide, maximum 100 caractères après trim. Seul, il ne restaure pas l'historique | | `restore_id` | Credential privé, maximum 200 caractères, obtenu du backend. Exige l'`external_user_id` correspondant. Utilisez la valeur renvoyée sans la modifier | Exemple lorsque le site connaît le compte. Les noms de champs dans le logiciel de gestion peuvent différer : mappez la référence entreprise sur `external_id`, la raison sociale sur `company_name`, la personne sur `name`, l'e-mail du compte sur `email`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "mario.rossi", phone: "+393331234567", email: "amministrazione@ricambi-stella.example", }); ``` Les libellés Nom et Téléphone du formulaire s'envoient comme `name` et `phone`. L'e-mail est `email`. N'envoyez pas `Nom`, `Téléphone` ni `Email`. ```js widget.init({ name: "Mario Rossi", phone: "+393331234567", }); ``` ```js widget.init({ email: "mario.rossi@ricambi-stella.example", }); ``` Le premier appel ouvre la conversation avec le nom et le téléphone et ne cherche pas d'entreprise. Le second suffit avec un e-mail valide. Dans le profil complet ci-dessus, `phone` est le numéro du contact et `email` est écrit sur l'entreprise seulement si cet appel la crée. Gardez `name` et `company_name` séparés. Ne concaténez pas la raison sociale au nom d'utilisateur pour obtenir l'association. N'envoyez pas un champ `web_code` : le nom public est `external_id`. N'utilisez pas l'UUID interne de Quoting24 ni `companies.code` à la place de la valeur dans `web_code`. `init(profile)` remplace le profil mémorisé par le loader. Il ne fait pas de fusion : passez les champs que vous voulez conserver. Un nouvel invité peut démarrer avec au moins un nom, un téléphone, un e-mail valide ou un `external_user_id`, ou avec une entreprise trouvée ou créée via `external_id`. `init({})` et `company_name` seul ne démarrent pas de nouvelle session. Si vous envoyez seulement un `external_id` inconnu, sans `company_name`, le widget demande les données via le formulaire. `init({ restoreId: "..." })` ne transmet pas le credential. Le champ est `restore_id`. --- ## 4. Associer ou créer l'entreprise {#associare-o-creare-lazienda} Le flux se déclenche lorsque Quoting24 traite l'initialisation, même sans message : 1. S'il reçoit un `external_id` non vide, il cherche une entreprise de la même organisation dont le `web_code` est égal à cette valeur 2. S'il la trouve, il lie le contact. Le nom et l'e-mail de l'entreprise existante restent inchangés 3. S'il ne la trouve pas et qu'il reçoit aussi un `company_name` non vide, il crée l'entreprise avec `name = company_name`, `web_code = external_id` et l'e-mail éventuel, puis lie le contact 4. S'il ne peut ni trouver ni créer l'entreprise faute de données, il continue avec le profil disponible. S'il est insuffisant pour un nouvel invité, il demande le formulaire. Les erreurs de base ou la limite de requêtes font échouer l'initialisation | Données envoyées | Situation dans Quoting24 | Résultat | | --- | --- | --- | | `external_id: "52"`, `company_name: "Ricambi Stella S.r.l."` | `web_code = "52"` existe | Utilise l'entreprise existante ; n'en modifie pas le nom | | Mêmes données, plus un e-mail valide | `web_code = "52"` n'existe pas | Crée l'entreprise avec le code web `52`, la raison sociale et l'e-mail, et associe le contact | | `external_id: "52"`, `name: "mario.rossi"` | Aucune correspondance | Démarre l'invité sans nouvelle association d'entreprise | | `external_id: "52"`, sans autres données | Une correspondance existe | Démarre l'invité associé, avec le nom par défaut `Visitatore` | | `external_id: "52"`, sans autres données | Aucune correspondance | Demande les données du visiteur | | `company_name` sans `external_id`, plus `name` | Quelconque | Démarre le visiteur. Ne cherche pas et ne crée pas d'entreprise | La recherche n'utilise pas la raison sociale, l'e-mail, le téléphone, le numéro de TVA ni `companies.code`. `"052"` et `"52"` sont des valeurs différentes. Si vous importez d'abord le fichier clients, remplissez `web_code` avec la même valeur que le site enverra dans `external_id`. L'association concerne le contact. Pour un contact déjà lié, un nouveau code valide peut changer son entreprise. Omettre le code, ou en envoyer un qui ne se résout pas, n'efface pas l'association précédente. Au changement de personne ou de compte, exécutez `reset()` : ne vous contentez pas de changer le profil. ### Limites `web_code` n'a pas de contrainte d'unicité. Avec plusieurs correspondances, la première est sélectionnée, par date de création croissante. Évitez les doublons : des requêtes simultanées qui ne trouvent pas encore l'entreprise peuvent en créer plusieurs. Le flux ne garantit pas une création atomique et ne remplace pas un import ou une synchronisation depuis le logiciel de gestion. La création implicite est limitée à 20 tentatives par fenêtre de 60 secondes et par adresse IP, dans le processus backend qui traite la requête. Au-delà, l'initialisation échoue avec `TOO_MANY_REQUESTS`. Réessayez avec une attente. Évitez les boucles continues de `init()`. Les données viennent du navigateur et le visiteur peut les modifier. L'association ne prouve pas l'appartenance ni l'identité et n'accorde pas l'historique de l'entreprise. Envoyez `company_name` si vous voulez autoriser cette création publique. Pour mettre à jour des entreprises existantes, utilisez Quoting24 ou une intégration de gestion autorisée. --- ## 5. Connexion, déconnexion et changement de compte {#login-logout-e-cambio-account} Gardez une seule instance dans la structure principale d'une SPA. Un changement de page ne demande ni un nouveau script ni un reset. Au changement de personne ou de compte, et à la déconnexion, appelez **`reset()` avant le nouveau profil**. Au rechargement avec la même connexion encore active, utilisez `init()` sans reset, comme au démarrage : vous conservez ainsi la session invité enregistrée. Le site doit distinguer le rechargement du changement effectif. Appel aux changements d'authentification. `profile` est le profil du nouvel utilisateur, ou `null` à la déconnexion. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let identityRevision = 0; export async function applyWidgetIdentity(profile) { const revision = ++identityRevision; const snapshot = profile ? { ...profile } : null; window.Quoting24Widget?.reset(); if (!snapshot) return; const widget = await loadWidget(); if (revision !== identityRevision) return; widget.reset(); widget.init(snapshot); } ``` Gérez l'erreur de chargement dans l'interface du site, avec un nouvel essai. Si vous récupérez le profil depuis le backend avant cette fonction, invalidez aussi ces requêtes au changement d'utilisateur. Pendant l'attente, effacez tout de suite le profil précédent avec `applyWidgetIdentity(null)`. Le reset oublie la session invité de cette instance, le credential enregistré, le profil et le compteur de non-lus. Ce n'est pas une révocation serveur et cela ne termine pas les sessions sur les autres appareils. Le changement d'authentification doit aussi être appliqué dans les autres onglets ouverts. ### Avec restauration de l'historique Lorsque le profil inclut `restore_id`, téléchargez-le depuis le point d'accès authentifié du site après le `reset()`, et écartez la réponse si l'utilisateur a changé entre-temps. Le rechargement avec le même utilisateur réutilise le credential déjà enregistré et ne doit pas appeler `reset()`. ```js import { loadWidget } from "/assets/quoting24-loader.js"; let authRevision = 0; let pendingRecovery; // Seulement à la connexion, à la déconnexion et au changement d'utilisateur. // Ne pas l'appeler au rechargement avec le même utilisateur : reset() abandonnerait la session déjà en cours. export async function applyWidgetAuth(user) { const revision = ++authRevision; const expectedUserId = user ? String(user.id) : null; pendingRecovery?.abort(); const controller = new AbortController(); pendingRecovery = controller; window.Quoting24Widget?.reset(); try { const widget = await loadWidget(); if (revision !== authRevision) return; widget.reset(); if (expectedUserId === null) return; const response = await fetch("/api/widget/session", { method: "POST", credentials: "same-origin", cache: "no-store", signal: controller.signal, headers: { "Content-Type": "application/json" }, body: "{}", }); if (!response.ok) throw new Error("Restauration du widget indisponible"); const profile = await response.json(); if (revision !== authRevision) return; if (profile.external_user_id !== expectedUserId || !profile.restore_id) { throw new Error("Réponse de restauration inattendue"); } const payload = { external_user_id: profile.external_user_id, restore_id: profile.restore_id, }; for (const key of ["external_id", "company_name", "name", "email", "phone"]) { if (profile[key]) payload[key] = profile[key]; } widget.init(payload); } catch (error) { if (controller.signal.aborted || revision !== authRevision) return; console.warn("Conversation d'assistance : restauration échouée.", error); } } ``` La boucle ne copie que les champs présents et non vides. Un e-mail `""` ou un ID numérique ne doivent pas être envoyés. ### API JavaScript | Méthode | Usage | | --- | --- | | `init(profile)` | Fournit ou remplace le profil courant. Le loader ne fusionne pas les champs avec un profil précédent | | `open()` / `close()` / `toggle()` | Ouvre, ferme ou bascule le widget flottant. Fermer n'est pas une déconnexion. En mode intégré, ils n'ont pas d'effet | | `isReady()` | Initialisation de la session visiteur réussie. Reste faux pendant le formulaire de contact | | `hasSessionError()` | Erreur de session signalée par l'iframe | | `reset()` | Efface le profil, la session locale, le credential invité enregistré et le compteur de non-lus | | `dispose()` | Démonte l'interface et les écouteurs. N'efface pas le credential invité enregistré ni l'objet API global | Vous pouvez relier un bouton du site à `window.Quoting24Widget?.open()` lorsque le bouton flottant est apparu. N'attendez pas `isReady()` pour laisser un nouvel invité ouvrir le formulaire. Il n'existe pas d'événement public de disponibilité. Ces indicateurs ne décrivent pas tout l'état du réseau. `loadWidget()` résolu ne signifie pas que le branding et la session sont prêts. ### Démontage complet Si vous devez retirer le widget, exécutez `dispose()`. Si le démontage coïncide avec la déconnexion, exécutez d'abord `reset()`. Avant de recharger le script, supprimez le global et remettez à zéro la Promise du loader. ```js export function removeWidget() { window.Quoting24Widget?.reset(); window.Quoting24Widget?.dispose(); delete window.Quoting24Widget; document.getElementById("quoting24-widget-script")?.remove(); widgetPromise = undefined; } ``` `widgetPromise` est celle définie dans le module du loader. Exécutez le démontage après la fin du chargement. Ne le faites pas en concurrence avec un nouvel appel à `loadWidget()`. Pour les changements d'authentification, utilisez `applyWidgetIdentity()` ou `applyWidgetAuth()`, qui attendent le loader. Le reset local ne révoque pas `restore_id` sur le serveur. --- ## 6. Restauration authentifiée {#provisioning-da-backend} La session invité lit sa conversation la plus récente même après la fermeture. Les conversations visibles de la même personne sur un autre navigateur exigent ensemble `external_user_id` et `restore_id`. ```js widget.init({ external_id: "52", company_name: "Ricambi Stella S.r.l.", name: "Mario Rossi", phone: "+393331234567", email: "mario.rossi@ricambi-stella.example", external_user_id: "1042", restore_id: session.restore_id, }); ``` La restauration ne fusionne pas d'anciennes sessions invité et ne partage pas l'historique entre collègues de la même entreprise. ### Point d'accès sur le backend du site Exemple à implémenter dans le portail, pas une URL de Quoting24. ```http POST /api/widget/session Content-Type: application/json {} ``` ```json { "external_user_id": "1042", "external_id": "52", "company_name": "Ricambi Stella S.r.l.", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "restore_id": "" } ``` Définissez `Cache-Control: no-store`. Identité et entreprise viennent seulement de la session serveur. Appliquez l'auth et le CSRF de l'application. Ne journalisez pas les corps qui contiennent le credential. Si le portail expose déjà un point d'accès authentifié qui renvoie le `restore_id` de l'utilisateur courant pour ce widget, utilisez cette réponse et combinez-la avec l'ID de la personne et la référence d'entreprise. ### Provisioning serveur à serveur Chemin typique : `/fastify/trpc/widget.provisionRestoreId` (ou `/trpc/widget.provisionRestoreId` si le backend est exposé directement). ```http POST /fastify/trpc/widget.provisionRestoreId Authorization: Bearer Content-Type: application/json { "widget_api_key": "", "external_user_id": "1042", "external_id": "52", "name": "Mario Rossi", "phone": "+393331234567", "email": "mario.rossi@ricambi-stella.example", "attempt_id": "1042" } ``` ```json { "result": { "data": { "restore_id": "" } } } ``` Les valeurs générées commencent par `q24-restore-v1:`. Ne les inventez pas et ne les dérivez pas d'ID publics. | Entrée | Exigence | | --- | --- | | `widget_api_key` | UUID obligatoire, autorisé pour le secret | | `external_user_id` | ID de personne stable, égal à celui de `init()` | | `attempt_id` | Entier positif strictement croissant, en chaîne décimale, maximum `9223372036854775807` | | `saved_restore_id` | Credential déjà enregistré. Omettez-le au premier provisioning | | `external_id`, `name`, `email`, `phone` | Facultatifs, avec les mêmes limites que `init()` | Schéma **ensure**, récupère ou crée : 1. Authentifiez l'utilisateur et prenez un verrou sur la ligne de restauration, dans une transaction 2. Allouez un nouvel `attempt_id` depuis une séquence **après** le verrou (`CACHE 1`, non cyclique ; la séquence survit au rollback) 3. Appelez Quoting24 avec `attempt_id` et, s'il est présent, `saved_restore_id` 4. Enregistrez `result.data.restore_id` et faites le commit 5. Seulement après le commit, renvoyez le credential au navigateur Un `saved_restore_id` valide doit être **réutilisé**. L'omettre lorsqu'une clé valide existe déjà remplace la clé et invalide les sessions restaurées. Ne générez pas une nouvelle clé à chaque page view. Si le provisioning distant réussit et que l'enregistrement local échoue, renvoyez une erreur. Ne renvoyez pas la clé non enregistrée. Timeouts limités. `company_name` s'envoie dans `init()`. Le corps de provisioning ci-dessus ne l'inclut pas : l'association et la création de l'entreprise, décrites dans la [section 4](#associare-o-creare-lazienda), ont lieu lorsque le navigateur initialise la session. L'e-mail de l'initialisation publique n'est écrit que sur une entreprise nouvelle. ### Résultat côté widget Quoting24 vérifie le credential et charge l'historique widget visible de cet utilisateur. Les conversations déjà fermées peuvent apparaître comme conversation précédente : les consulter ne rouvre pas l'ancienne conversation ; l'envoi reste sur la conversation courante. Un credential non valide, d'un autre utilisateur ou révoqué est refusé, sans conversion automatique en session invité. Le bouton « Riprova » du widget ne demande pas tout seul un nouveau `restore_id`. L'interface actuelle est en italien. --- ## 7. Page, réseau et apparence - **Une seule instance par page** - **CSP.** Autorisez l'origine du widget dans `script-src` et `frame-src`, et l'origine API indiquée pour l'installation dans `connect-src` (chargement des réglages graphiques). Autorisez les images configurées dans `img-src`. Le loader insère des styles en ligne et n'expose pas d'option publique de nonce : vérifiez la CSP du site. Le CSS de la page ne modifie pas l'intérieur de l'iframe cross-origin - **Connexions de l'iframe.** Elle doit atteindre l'API, Realtime/WebSocket et le stockage de sa propre installation. Pour les filtres réseau, utilisez les hôtes effectifs de l'environnement - **Apparence et langue.** Logo, couleur, position et messages se configurent dans Quoting24. `company_name` est la raison sociale du client. Il n'existe pas de paramètre public `language` ou `locale` ; l'interface actuelle est en italien - **Mobile.** La conversation flottante peut occuper le viewport. En mode intégré, le site contrôle la hauteur et la largeur - **Pièces jointes et horaires.** PDF, DOC/DOCX, JPG/JPEG et PNG. Jusqu'à 10 MiB par fichier et 100 MiB de pièces référencées par conversation. Hors horaires, le widget affiche la bannière et laisse la saisie disponible --- ## 8. Vérifier l'intégration {#verificare-lintegrazione} Utilisez un compte et un canal de test. Contrôlez le fichier clients dans Quoting24, en plus de la conversation. | Essai | Résultat attendu | | --- | --- | | Navigateur neuf, script seul | Formulaire de contact, puis conversation | | Payload complet avec `external_id` déjà présent comme `web_code` | Contact associé à l'entreprise existante ; nom et e-mail de l'entreprise inchangés | | Payload complet avec un nouveau code | Entreprise créée avec code web, raison sociale et e-mail ; contact associé | | Nouveau code et nom, sans `company_name` | Conversation démarrée, aucune entreprise créée | | Nouveau code seul | Formulaire de contact | | Raison sociale et nom seulement | Aucune entreprise cherchée ou créée par nom | | E-mail vide, ID numérique ou raison sociale trop longue | Payload refusé | | Second `init()` dans la même session | Poursuit la session invité. L'e-mail et le téléphone ne récupèrent pas la conversation d'une autre personne | | Rechargement, navigation SPA, mobile | Une seule instance ; continuité invité si le stockage est là ; mise en page utilisable | | Déconnexion ou changement de compte pendant le chargement | Session précédente effacée ; les résultats tardifs ne restaurent pas l'ancien profil | | Même utilisateur authentifié, autre navigateur, `restore_id` valide | Historique de cette personne | | Deux utilisateurs de la même entreprise | Credentials et historiques distincts | | Invité, puis restauration | `reset()` au milieu ; les sessions ne se fusionnent pas | | Credential non valide ou révoqué | Erreur, sans repli automatique vers l'invité | | Conversations précédentes | Consultation seulement ; l'envoi reste sur la courante | | Domaine non autorisé | Accès refusé | | Réseau interrompu | Reconnexion ; brouillon conservé si l'envoi échoue | --- ## Résolution des problèmes {#risoluzione-dei-problemi} | Symptôme | Contrôle | | --- | --- | | Le bouton n'apparaît pas | URL, clé, canal activé, domaines, CSP, requête `widget.getBranding`. Le seul global JavaScript ne prouve pas que le bouton existe. `open()` n'a pas d'effet tant que le branding n'est pas chargé, et il n'a pas d'effet en mode intégré | | `Quoting24Widget` n'est pas défini | Attendez le chargement. Contrôlez le paramètre `key` | | La conversation intégrée est invisible | Conteneur avant le loader, ID correct, hauteur supérieure à zéro | | `Domain not allowed` | Nom d'hôte du site, sans schéma, port ni chemin. Vérifiez aussi le recettage. La page doit être servie en HTTP | | Formulaire téléphone malgré le profil | Ordre asynchrone, snake_case, valeurs vides, `reset()` précédent, profil insuffisant pour un nouvel invité | | L'entreprise n'est pas trouvée | Comparez `external_id` avec `web_code` dans la même organisation, espaces et zéros initiaux compris | | L'entreprise manquante n'est pas créée | `external_id` et `company_name` doivent être tous deux non vides. Contrôlez la validation et la limite de création | | Le nom ou l'e-mail de l'entreprise ne changent pas | Prévu : `init()` crée les entreprises manquantes et ne met pas à jour celles qui existent | | L'e-mail n'apparaît pas sur le contact | Prévu pour l'initialisation publique : l'e-mail ne sert qu'à la création de l'entreprise | | `TOO_MANY_REQUESTS` | Attendez et réessayez. Évitez les appels répétés ou les imports massifs via le widget | | L'historique manque sur un autre appareil | Le payload entreprise ne le restaure pas. `external_user_id` et `restore_id` sont requis | | Sessions restaurées invalidées | Les appels ensure doivent renvoyer `saved_restore_id`. N'émettez pas une nouvelle clé à chaque page view | | « Riprova » ne suffit pas | Nouveau `restore_id` depuis votre point d'accès, puis `reset()` et `init()` | | Après un changement de compte, l'ancienne conversation reste | `reset()` tout de suite au changement d'identité. Écartez les réponses asynchrones précédentes | | Après `dispose()` le script ne recrée pas le widget | Supprimez le global et le script, remettez la Promise du loader à zéro, puis rechargez | | L'interface reste en italien | Aucune option publique `language` ou `locale` sur le loader | --- ## Références d'implémentation - Loader et API JavaScript : `@frontend/src/public/widget/script.ts` - Initialisation, association d'entreprise et création implicite : `@backend/fastify/routes/widget/initialize.ts` - Tests d'initialisation et d'entreprises : `@backend/fastify/__tests__/widget/widgetInitialize.test.ts` - Domaine et canal : `@backend/fastify/routes/widget/procedures/publicWidgetProcedure.ts` - Provisioning de `restore_id` : `@backend/fastify/routes/widget/provisionRestoreId.ts` --- # Contacts URL: https://wiki.quoting24.com/fr/content/contacts/ Language: fr Updated: 2026-11-04 # Contacts Dans le menu en haut à droite, la section **"Contacts"** est disponible. Cette page affiche la liste des **contacts synchronisés** à partir du moment où votre **WhatsApp est connecté à Quoting24**. Écran des contacts --- ## Navigation dans la page ### Recherche de contacts En haut à gauche se trouve un **champ de recherche** qui permet de trouver rapidement un contact : - en saisissant le **nom** - ou le **numéro de téléphone** ### Actions principales En haut à droite se trouvent les boutons suivants : - **Recharger** Permet d'effectuer une **mise à jour manuelle** des données contact entre le canal WhatsApp et Quoting24. - **Import/Export** Ouvre le dialogue pour **télécharger un modèle Excel**, **exporter** les contacts ou **importer** un fichier. Détails dans la section [Import/Export des contacts via Excel](#importexport-des-contacts-via-excel). - **+ Ajouter** Permet de créer un **nouveau contact**. Un écran s'ouvrira dans lequel il est possible de saisir : - nom - numéro de téléphone - entreprise Après avoir rempli les champs, il est possible **d'enregistrer le contact**. Écran d'ajout d'utilisateur --- ## Affectation d'une entreprise à un contact Depuis la liste des contacts, il est possible d'affecter rapidement une entreprise à un contact en cliquant sur **"+ Affecter une entreprise"**. Écran d'ajout d'entreprise et d'utilisateur La liste des **entreprises enregistrées** sur votre compte\* Quoting24 s'affichera. Pour affecter l'entreprise au contact, il suffit de cliquer sur **"Sélectionner"**. Écran de sélection de l'entreprise > *Par **compte**, on entend le **numéro de téléphone** : > chaque numéro de téléphone associé à Quoting24 possède ses propres **contacts**, **entreprises** et **[créneaux de livraison](delivery_shifts.md)**.* --- ## Affectation d'une entreprise à un contact (deuxième méthode) Utilisateur non affecté Lorsqu'un client n'a pas encore été affecté à une [**Entreprise**](companies.md) ou n'est pas étiqueté comme **Particulier**, il faut cliquer sur l'élément entouré pour ouvrir la fenêtre suivante. Affecter une entreprise Trois cas de figure se présentent alors : - Le contact est un **Particulier**, il n'appartient donc pas à une entreprise spécifique ; dans ce cas, l'affectation se fera avec le bouton ***Affecter comme particulier*** - Le contact **appartient à une entreprise parmi celles exportées** ; dans ce cas, il suffit de sélectionner l'entreprise correspondant au client - Le contact **appartient à une entreprise qui ne fait pas partie de celles exportées** ; dans ce cas, il suffit d'appuyer sur le bouton ***Nouvelle entreprise*** et de l'affecter au client Utilisateur affecté Après avoir affecté l'utilisateur à l'entreprise, l'aperçu de la liste des tickets affiche le **code entreprise** (sans `#`) dans le tag à côté du nom. Si le client a été marqué comme **Particulier**, l'étiquette *Particulier* est affichée. Dans la **liste des tickets**, à droite du nom, le tag unique montre aussi la **priorité** du contact et prend sa couleur du **type** (entreprise ou personnel). Détails dans [Écran principal](main_screen.md#aperçu-et-indicateurs-dans-la-liste). --- ## Ouvrir une nouvelle demande Depuis Contacts, vous pouvez démarrer une conversation sans passer par le **+** de l'accueil. * dans la **liste des contacts**, chaque ligne propose **Ouvrir une nouvelle demande** * dans la **fiche du contact**, vous trouvez le même bouton en haut Cela ouvre une nouvelle demande vers ce contact, avec les mêmes règles de [gestion des tickets](gestione_ticket.md) que sur l'écran d'accueil. --- ## Priorité du contact Chaque contact peut avoir sa propre **priorité** : **Haute**, **Moyenne** ou **Basse**. Comportement : * si le contact a une entreprise et qu'aucune priorité n'est définie sur le contact, Quoting24 utilise la priorité de l'**entreprise** (*Héritée de l'entreprise*) * vous pouvez définir une priorité sur un contact **sans entreprise** * vous pouvez **remplacer** la priorité héritée sans modifier celle de l'entreprise La priorité peut être gérée : * depuis le formulaire de création / modification du contact * depuis l'onglet **Informations** du ticket * depuis l'import Excel des contacts lorsque la colonne est présente Dans la liste des tickets, l'icône de priorité apparaît dans le tag à côté du nom. --- ## Type du contact Le **type** (ex. client, fournisseur, collaborateur) fonctionne différemment de la priorité : * contact **sans entreprise** → vous pouvez assigner un type personnel * contact **avec une entreprise** → le type est **toujours celui de l'entreprise**, non modifiable sur le contact ; modifiez-le sur l'entreprise Dans l'onglet **Informations** du ticket, si le type est hérité, vous voyez *Hérité de l'entreprise*. Le type effectif colore le tag dans la liste des tickets et peut servir de filtre **Type d'entreprise** dans l'entonnoir de l'accueil. --- ## Synchronisation des noms des contacts Quoting24 est la **référence principale** pour le nom des contacts. Cela signifie que, lorsqu'un contact a déjà un nom enregistré dans Quoting24, ce nom est considéré comme correct et **n'est plus écrasé** par les mises à jour automatiques du canal WhatsApp. La synchronisation des contacts peut se produire à différents moments, par exemple : - lorsqu'une synchronisation manuelle est lancée - lorsqu'un message arrive depuis un nouveau numéro - pendant d'autres processus automatiques de mise à jour des contacts Lorsqu'une mise à jour arrive depuis WhatsApp, Quoting24 applique cette logique : - si le contact **n'existe pas encore** dans Quoting24, il est créé à partir du numéro de téléphone et du nom disponible via le canal WhatsApp - si le contact **existe déjà**, seules les données manquantes sont complétées - le **nom** est mis à jour uniquement s'il est encore vide dans Quoting24 - si le contact a déjà un nom dans Quoting24, les mises à jour automatiques ne le modifient pas En pratique, la synchronisation sert à **compléter les données manquantes**, et non à écraser les informations déjà corrigées par les opérateurs dans Quoting24. Ce paramètre évite que les noms corrigés manuellement par les opérateurs soient perdus après une nouvelle mise à jour WhatsApp et maintient cohérentes les données gérées dans Quoting24. --- ## Alertes sur les contacts Il est possible de configurer des **alertes sur les contacts**, c'est-à-dire des notes importantes affichées au-dessus du chat lorsqu'une conversation avec ce contact est ouverte. Les alertes sont utiles pour mettre en évidence des informations que l'opérateur doit voir immédiatement, par exemple : - consignes commerciales particulières - conditions convenues avec le client - précautions opérationnelles à respecter - notes importantes ajoutées par les collègues --- ## Import/Export des contacts via Excel Depuis la liste des contacts, il est possible d'ouvrir le dialogue **Import/Export** pour : - **télécharger un modèle Excel** avec la structure correcte des colonnes - **exporter** tous les contacts du tenant, ou **uniquement ceux sélectionnés** - **importer** un fichier Excel et enregistrer les modifications après l'aperçu ### Export L'export télécharge les contacts du tenant (y compris les références à l'**entreprise** et à la **location**) et génère un fichier **`.xlsx`**. Vous pouvez exporter : - **tous** les contacts - ou **uniquement les contacts sélectionnés** dans la liste Le fichier exporté inclut également la colonne **`id`** : c'est l'identifiant du contact Quoting24 et il faut le conserver si vous souhaitez mettre à jour les mêmes contacts lors d'un import ultérieur. ### Import Pour importer des contacts : 1. ouvrez le dialogue **Import/Export** depuis la liste des contacts 2. chargez le fichier Excel (vous pouvez partir du modèle téléchargeable ou d'un export précédent) 3. vérifiez l'**aperçu sous forme de tableau** 4. enregistrez pour lancer l'import Le backend effectue un **upsert par lots de 500** lignes. #### Comment chaque contact est associé Pour chaque ligne du fichier, cette logique s'applique : 1. si la colonne **`id`** est renseignée et que l'id existe déjà **dans le tenant courant** → **met à jour** ce contact 2. s'il n'y a pas d'`id` (ou qu'il ne correspond pas dans le tenant) → recherche par **téléphone** (y compris sous forme normalisée) : s'il est trouvé → **met à jour** le contact existant, **sans en créer un nouveau** 3. uniquement s'il n'y a pas de correspondance ni par `id` ni par téléphone → **crée** un nouveau contact 4. si l'`id` existe mais appartient à un **autre tenant** → il est traité comme un nouveau contact (un nouveau est généré) #### Champs obligatoires et règles - **`name`** et **`phone`** sont **obligatoires** - numéros de téléphone **sans** préfixe `+` ou `00` → Quoting24 assume le préfixe **`+39`** - **`company_id`** et **`location_id`** sont appliqués **uniquement s'ils sont valides et cohérents entre eux** ; sinon ils sont **ignorés** --- ## Actions disponibles sur les contacts Dans l'écran des contacts, outre **Ouvrir une nouvelle demande**, vous trouverez : - **Corbeille** → supprime le contact - **Crayon** → modifie le contact - **Flèche rouge** → ouvre l'**historique des demandes** du contact Écran des icônes des contacts --- # Entreprises URL: https://wiki.quoting24.com/fr/content/companies/ Language: fr Updated: 2026-11-04 # Entreprises Dans le menu en haut à droite se trouve également la section **"Entreprises"**. Cette page affiche la liste des **entreprises présentes sur votre compte\*** Quoting24. Contrairement aux **contacts** (qui sont synchronisés automatiquement lorsque WhatsApp est connecté à Quoting24), les **entreprises** sont créées par l'opérateur, à la main ou depuis Excel, ou par le **canal Widget** lorsque le site envoie ensemble `external_id` et `company_name`. > *Par **compte**, on entend le **numéro de téléphone** : > chaque numéro de téléphone associé à Quoting24 possède ses propres **[contacts](contacts.md)**, **entreprises** et **[créneaux de livraison](delivery_shifts.md)**.* --- ## Création de nouvelles entreprises Pour créer de nouvelles entreprises, **deux méthodes** sont disponibles via les boutons situés **en haut à droite** de l'écran : - **Import depuis un fichier Excel** Permet de charger plusieurs entreprises simultanément via un fichier Excel structuré. - **Ajout et modification manuels** (`+ Ajouter`) Permet de saisir une seule entreprise en remplissant le formulaire manuellement. Les deux méthodes permettent de gérer de manière complète et indépendante les entreprises associées à votre compte Quoting24. Écran de la liste des entreprises --- En utilisant le bouton **"+ Ajouter"**, il est possible de créer une nouvelle entreprise en remplissant le formulaire dédié. Écran d'ajout d'entreprises Ce même écran permet également de modifier les entreprises existantes (en cliquant sur l'icône du stylo). --- ## Importation d'entreprises via Excel Pour importer plusieurs entreprises simultanément via un fichier Excel : 1. cliquez sur le bouton **"Import/Export excel"** 2. dans l'écran suivant, cliquez sur le bouton rouge **"Importer"** 3. chargez le fichier Excel depuis votre ordinateur Il est également possible de **télécharger un fichier d'exemple** pour vérifier le bon formatage à utiliser dans le fichier à charger. Écran d'ajout d'entreprises Excel Lors de l'importation des entreprises via Excel, il est **conseillé d'insérer des notes** dans le fichier afin de faciliter l'association des [créneaux de livraison](delivery_shifts.md). --- ## Priorité et type de l'entreprise Sur une entreprise, vous pouvez définir : * une **priorité** (Haute, Moyenne, Basse) * un **type** (client, fournisseur, collaborateur, …) Ces valeurs influencent les contacts liés : * la **priorité** de l'entreprise est héritée par les contacts sans priorité propre ; le contact peut tout de même la remplacer * le **type** de l'entreprise est hérité par les contacts et **ne peut pas être modifié** sur le contact tant qu'une entreprise est assignée Dans la liste des tickets, la couleur du tag à côté du nom reflète le type effectif (entreprise ou, pour les contacts sans entreprise, le type personnel). La priorité et le type de l'entreprise peuvent aussi être modifiés depuis l'onglet **Informations** du ticket, dans la section entreprise en bas. Détails sur le contact : [Contacts → Priorité](contacts.md#priorité-du-contact) et [Contacts → Type](contacts.md#type-du-contact). --- ## Code web (`web_code`) {#codice-web-web_code} `web_code` est la référence avec laquelle le widget reconnaît l'entreprise. Le site envoie la même valeur dans le champ public `external_id`. Le payload du widget n'a pas de champ `web_code`. Si vous chargez le fichier clients avant de relier le site, écrivez dans `web_code` **la même valeur** que le site enverra dans `external_id`. N'utilisez pas l'UUID interne de Quoting24 ni le code de gestion `companies.code`. | Situation | Résultat | | --- | --- | | `web_code` égal à `external_id` | Le contact du widget est lié. Le nom et l'e-mail de l'entreprise restent ceux déjà enregistrés | | Aucune correspondance, et le site envoie aussi `company_name` | Quoting24 crée l'entreprise (`name`, `web_code`, e-mail s'il est présent) et lie le contact | | Plusieurs entreprises avec le même `web_code` | L'initialisation publique utilise la première, par date de création croissante | `"052"` et `"52"` sont des codes différents. Les espaces dans `external_id` ne sont pas retirés. `web_code` n'a pas de contrainte d'unicité : mieux vaut éviter les doublons, parce que deux créations simultanées peuvent en produire. Le lien fait par le widget ne met pas à jour une entreprise déjà présente et n'ouvre pas l'historique des autres contacts. Contrat complet : [Intégration technique du widget](widget_tecnico.md#associare-o-creare-lazienda). --- ## Notes d'entreprise Les entreprises peuvent avoir des notes opérationnelles liées à leur fiche. Ces notes aident les opérateurs à retrouver rapidement des informations utiles pendant la gestion d'un ticket, par exemple des indications commerciales, des références internes ou des conditions de travail spécifiques. Lorsque vous travaillez sur un ticket, les notes de l'entreprise peuvent être consultées et modifiées rapidement depuis l'onglet **Informations** de la demande (section entreprise en bas). --- # Vue d'ensemble IA URL: https://wiki.quoting24.com/fr/content/ai/ Language: fr Updated: 2026-11-04 # Vue d'ensemble IA L’**AI** de Quoting24 est le module qui **lit et interprète toute la conversation** d’un ticket et met à jour en conséquence la **partie droite** (véhicules et pièces). Elle ne se limite plus à « comprendre » un message à la fois : elle tient compte de l’**historique du chat**, du **déroulement** de la conversation et de l’**état actuel** de la section véhicules/pièces. Ainsi les pièces se retrouvent sous le bon véhicule même lorsque le client : * écrit d’abord les pièces puis **ensuite** la plaque * envoie la **photo de la carte grise** après la liste de pièces * répond en **citant** un message précédent * parle de **plusieurs voitures** dans le même ticket Ce guide décrit la **reconnaissance AI** de la conversation. Là où il est utile de la distinguer de l’assistant conversationnel dans le chat (**AI Premium**), nous le précisons clairement. --- ## Comment elle traite les messages {#come-elabora-i-messaggi} Les messages **rapprochés** sont traités **ensemble**, pas un par un. * Quoting24 attend environ **15 secondes** pour regrouper les messages consécutifs du client. * Si l’opérateur **ouvre le ticket**, le traitement démarre **immédiatement**. * Le groupe de messages produit **un seul encadré** de résumé dans le chat. Ainsi l’IA voit le contexte complet de ce « bloc » de conversation et met à jour véhicules et pièces de façon cohérente. --- ## Onglet IA à droite Dans la section de droite se trouve l’**onglet IA**, visible dans la section droite du ticket. * pendant que l’IA traite le ticket apparaît un **spinner** * en cliquant, on rappelle que l’**assistant dans le chat** appartient au module **AI Premium** (produit différent) --- ## En résumé | Objectif | Ce que fait l’AI | |---|---| | Comprendre le chat | Lit le **ticket entier**, pas seulement le dernier message | | Remplir la droite | Crée/met à jour **véhicules** et **pièces** automatiquement | | Multimédia | Interprète **photos**, **PDF** et **messages vocaux** | | Contrôler | Permet de **corriger** les erreurs et de naviguer vers les recherches | | Respecter l’opérateur | N’écrase pas les modifications **manuelles** à droite | --- ## Approfondissements | Section | Contenu | | --- | --- | | [Reconnaissance](ai_riconoscimento.md) | Véhicules, pièces, étiquettes, notes internes, glossaire et recherches automatiques | | [Photos, PDF et messages vocaux](ai_media.md) | Lecture des médias et panneau « Lectures IA » | | [Cadre et correction](ai_riquadro.md) | Encadré dans le chat, clics, Corriger et modes d’affichage | | [Automatisations](automations.md) | Conversion plaque → VIN, arbre et recherche de pièces automatique | --- # Reconnaissance URL: https://wiki.quoting24.com/fr/content/ai_riconoscimento/ Language: fr Updated: 2026-11-04 # Reconnaissance L’IA peut reconnaître et structurer des données à partir de la conversation et mettre à jour la partie droite du ticket. Pour le fonctionnement général, voir [Vue d'ensemble IA](ai.md). --- ## Ce qu’elle reconnaît ### Véhicules * plaque d’immatriculation * châssis (VIN) * marque et modèle * année * code moteur * autres données typiques de la **carte grise** ### Pièces * nom de la pièce **normalisé en italien**, même si le client écrit dans une autre langue ou avec des abréviations (ex. `f olio`, `pf`, `fab`) * **codes** OE, aftermarket, EAN * **position** et **quantité** ### Messages « plaque seule » ou « code seul » Un message avec **uniquement la plaque** ou **uniquement un code** n’est pas traité comme vide : * la **plaque** crée ou complète le véhicule * le **code** complète une demande en attente ou en crée une nouvelle --- ## Étiquettes sur chaque pièce Chaque ligne de l’encadré peut afficher les informations que le client a données **pour cette pièce précise** : * **Devis** / **Commande** * position * quantité * état (neuf, occasion, régénéré) * qualité (origine, équivalent) * marques préférées (★) * exclusions barrées (ex. « pas Brembo ») * échéance (ex. « avant vendredi », « pour demain ») * **Urgent** * problèmes et **codes de diagnostic** (ex. `P0401`) * livraison ou retrait (ex. « je passe ») Les étiquettes valent **uniquement** pour la pièce à laquelle le client se réfère : elles ne sont **pas** copiées automatiquement sur les autres pièces. Détails sur l’encadré : [Cadre et correction](ai_riquadro.md). --- ## Comportement avec des clients indécis ou distraits L’IA **met à jour**, **déplace** et **supprime** seule véhicules et pièces à droite, en suivant la conversation. Exemples typiques : * une pièce écrite **avant** la plaque est **déplacée** sur le bon véhicule lorsque la plaque arrive * « le filtre à air ne me sert plus » **supprime uniquement** ce filtre * « pas Brembo » devient une **exclusion** * si le client **modifie ou supprime** un message WhatsApp, la partie droite **suit** * un code envoyé plus tard **complète** la demande sans code * une demande sans nom (code nu, étiquette, photo) et le nom donné **dans un autre message**, même des jours plus tard, deviennent **une seule demande** * plusieurs photos de la **même pièce** → une seule demande * « disques et plaquettes » → **deux** demandes ; « kit de distribution » → **une** demande * s’il n’est pas clair de quelle voiture il s’agit, la pièce reste sous **« Sans véhicule »** avec une **alerte**, sans deviner ### Ce qui n’est jamais écrasé * ce que l’**opérateur modifie à la main** à droite **n’est jamais** écrasé par l’IA * un **onglet supprimé** ne revient que s’il arrive de **nouvelles pièces** pour ce véhicule * les pièces **écartées** par l’opérateur restent écartées --- ## Notes internes et réponses au client ### Notes internes Une **note interne** est un **ordre** pour l’IA : * elle est appliquée **immédiatement** (véhicule, pièces, codes, suppressions) * elle reçoit **son propre encadré** ### Réponses envoyées au client Une **réponse au client** n’est qu’une **proposition** : * elle **ne** change **pas** véhicules/pièces tant que le client n’a pas confirmé (ex. « ok », « envoie », cite la réponse ou nomme la pièce) * l’encadré sous la confirmation **renvoie** à la réponse d’origine * « Ok envoie » après un prix peut définir l’étiquette **Commande** --- ## Réponses à des demandes précédentes Si le client répond en **citant** un message d’un **ticket précédent** : * l’IA le traite dans **ce** ticket * dans le ticket actuellement ouvert apparaît uniquement le renvoi **« Traité dans une autre demande »** avec **« Aller à la demande »** --- ## Recherches automatiques Les recherches suivent les règles dans **Paramètres → Automatisations** (conversion plaque → VIN, chargement de l’arbre, recherche de pièces). Détails dans [Automatisations](automations.md#automazioni-disponibili). Comportement avec l’AI : * chaque demande décide **seule** quand rechercher * les **codes** recherchent immédiatement par code * **aucune recherche en double** pour le même texte * les demandes **sans nom et sans code** ne génèrent pas de recherches * la plaque **vérifiée** enrichit le véhicule (marque, modèle, VIN, code moteur) et l’IA en tient compte --- ## Glossaire du spécialiste pièces Le **glossaire du spécialiste pièces** contient des phrases et abréviations typiques des clients, avec le sens valable pour la **salle**. Exemple : « trois filtres » = filtre à huile, filtre à air moteur, filtre d’habitacle. * l’IA l’utilise comme **dictionnaire** * elle **ne** réécrit **pas** le message du client * elle remplace les anciennes **« désambiguïsations »** * il se configure depuis le **backoffice Qricambi** --- ## De l’onglet véhicule au message À droite, un nouveau clic sur l’**onglet déjà sélectionné** d’un véhicule fait **défiler** le chat jusqu’au message d’où l’IA a lu ce véhicule. Utile pour vérifier immédiatement la source de la reconnaissance. Pour photos, PDF et messages vocaux, voir [Photos, PDF et messages vocaux](ai_media.md). --- # Photos, PDF et messages vocaux URL: https://wiki.quoting24.com/fr/content/ai_media/ Language: fr Updated: 2026-11-04 # Photos, PDF et messages vocaux L’IA interprète aussi les **médias** de la conversation, au-delà du texte. Pour le fonctionnement général, voir [Vue d'ensemble IA](ai.md) ; pour ce qui est structuré en véhicules et pièces, voir [Reconnaissance](ai_riconoscimento.md). --- ## Photos Les images sont **lues** et les données entrent dans la conversation comme s’il s’agissait de texte. Contenus typiques reconnus : * plaques * cartes grises * étiquettes et emballages * captures d’écran de catalogues ou de diagnostics * documents * composants photographiés **Photo et légende** sont traitées comme **un seul message**. Si une photo est encore en **chargement**, l’IA **attend** qu’elle soit prête avant de traiter les messages suivants. --- ## PDF Les PDF (devis, factures, bons de livraison, listes de pièces, cartes grises scannées) sont lus **page par page** : * une **ligne par pièce** * véhicule avec **plaque** et **VIN** lorsqu’ils sont présents * **sans** prix et **sans** données personnelles --- ## Messages vocaux Les messages vocaux sont **transcrits** et interprétés comme du texte. Plaques et codes dictés à voix haute sont **reconstruits**. --- ## Lecture prudente La lecture est plus prudente qu’auparavant : * plaques **partielles** * VIN **incohérents** avec la marque ne sont pas acceptés en silence : ils sont signalés comme **« Lecture incertaine »**. --- ## « Lectures IA » dans le visualiseur {#letture-ai-nel-visualizzatore} En ouvrant une **photo** ou un **PDF** en plein écran apparaît le panneau **« Lectures IA »**. Il montre : * ce que l’IA a lu dans ce fichier * ce que contient actuellement la demande * le **crayon** pour corriger plaque, VIN ou code directement depuis là * les **lectures incertaines** * combien de **pages** du PDF ont été lues * d’éventuels **fichiers non lus** La correction depuis ici suit les mêmes règles que dans [Cadre et correction](ai_riquadro.md#correggi-lai-non-ripete-lerrore). Les interrupteurs pour la transcription des vocaux, la lecture des images et la reconnaissance du texte se trouvent dans **Paramètres → Intelligence artificielle → Reconnaissance IA** (voir aussi [Modes d’affichage](ai_riquadro.md#modalità-di-visualizzazione)). --- # Cadre et correction URL: https://wiki.quoting24.com/fr/content/ai_riquadro/ Language: fr Updated: 2026-11-04 # Cadre et correction Pour chaque groupe de messages traités apparaît un **encadré** sous le dernier message du groupe. Pour le regroupement des messages, voir [Vue d'ensemble IA](ai.md#come-elabora-i-messaggi). --- ## L’encadré IA dans le chat ### En-tête et messages liés * en-tête du type **« Résumé IA de N messages »** * en survolant l’encadré, les messages résumés sont **mis en évidence** ### Uniquement ce qui a changé L’encadré montre **ce qui a changé** avec ces messages, pas tout l’historique : * **Nouveau** * **Mis à jour** * **Déplacé** * **Supprimé** Le détail modifié est **coloré** pour le repérer immédiatement. ### Organisation des pièces * les pièces sont regroupées **par véhicule** * ou sous **« Sans véhicule »** s’il n’est pas encore clair à quelle voiture elles appartiennent * au-delà de **trois lignes** par véhicule apparaît **« Afficher N autres composants »** * les codes supplémentaires peuvent se trouver derrière **« +N »** * un VIN tronqué s’affiche **en entier** au survol ### Flèches et alertes * les flèches **↑** mènent au message qui a indiqué le véhicule ou à la demande précédente * les **alertes** (triangle) signalent les doutes de l’IA, par exemple : * association incertaine * ambiguïté résiduelle * abréviation ambiguë * conflit entre sources * incohérence logique --- ## Clic gauche : du chat vers la partie droite Le **clic gauche** sur l’encadré (ou ses parties) sert à **naviguer**, pas à lancer des recherches : * clic sur un **composant** → ouvre l’onglet du bon véhicule et la recherche correspondante **clignote** * clic sur un **code** → met en évidence la recherche de ce code * clic sur **plaque** ou **VIN** → ouvre l’onglet de ce véhicule (si l’onglet avait été supprimé, il est **recréé**) Le clic gauche **ne démarre pas de recherches** et **ne consomme pas de crédits**. --- ## Clic droit sur les pastilles noires Sur plaque, VIN et code (pastilles noires), le **clic droit** ouvre un menu avec : * **Rechercher plaque** — conversion plaque → VIN * **Rechercher VIN** — arbre / structure à partir du VIN * **Rechercher code** — nouvelle recherche du code * **Corriger** — corrige la valeur mal lue par l’IA --- ## Corriger : l’IA ne répète pas l’erreur {#correggi-lai-non-ripete-lerrore} Si l’IA lit mal une **plaque**, un **VIN** ou un **code** : 1. clic droit → **Corriger** 2. saisissez la bonne valeur Quoting24 remplace la valeur **partout** : * dans **tous les encadrés** du chat * dans les **recherches** à droite * dans la **mémoire** de l’IA À partir de ce moment, l’ancienne valeur est traitée comme une **erreur**, même si une nouvelle photo ou un nouveau message la répète. Autres règles importantes : * si la valeur corrigée coïncide avec un véhicule déjà présent, les deux sont **fusionnés** * corriger une plaque **efface** les données trouvées avec l’ancienne plaque (VIN, marque, modèle) et **relance** la recherche si les [automatisations](automations.md) sont actives * l’autorisation de **recherche de pièces** est requise Vous pouvez aussi corriger depuis le panneau **« Lectures IA »** en ouvrant photo ou PDF : voir [Photos, PDF et messages vocaux](ai_media.md#letture-ai-nel-visualizzatore). --- ## Modes d’affichage {#modalità-di-visualizzazione} Dans **Paramètres → Intelligence artificielle → Reconnaissance IA** vous pouvez choisir comment afficher les encadrés dans le chat. Au même endroit ont aussi été déplacés les trois interrupteurs : * transcription des **vocaux** * lecture dans les **images** * reconnaissance dans les **messages texte** ### Complet Affiche l’**encadré entier**. ### Plaque, VIN et codes uniquement Affiche une **pastille compacte** avec : * plaque ou VIN (uniquement lorsque le message a ajouté ou mis à jour le véhicule) * la bande des **codes** * une **poignée** pour ouvrir l’encadré entier de ce message C’est le mode le plus proche de l’affichage précédent. ### Masqué Aucun encadré dans le chat. ### Bouton « AI » dans le chat Dans **tous** les modes, chaque message lié à un encadré a le bouton **« AI »** : * affiche ou masque **tous** les encadrés du chat ouvert * le choix **n’est pas enregistré** (il vaut uniquement pour la session/vue actuelle) Clic gauche, clic droit et **Corriger** fonctionnent aussi sur la pastille compacte. --- # Automatisations URL: https://wiki.quoting24.com/fr/content/automations/ Language: fr Updated: 2026-11-04 # Automatisations Automatisations Les **regles d'automatisation** permettent d'activer des activites automatiques qui travaillent sur les recherches et qui peuvent etre **activees ou desactivees selon les besoins**. Ces automatisations permettent de travailler de maniere **plus directe et plus rapide** : des qu'une demande de devis est recue, le systeme commence automatiquement a chercher, *en arriere-plan* : - plaques - chassis - pieces detachees --- ## Avertissement sur les credits > **NOTE** > Les automatisations actives **consomment automatiquement les [credits](credits.md)** de votre compte. > Il est donc important de tenir compte de cette composante de cout. > > Pour plus de details, consultez la section **"[Credits](credits.md)"**. --- ## Automatisations disponibles {#automazioni-disponibili} Les automatisations qui peuvent etre **activees ou desactivees** sont les suivantes : - **Conversion automatique plaque → VIN** Des qu'une plaque est reconnue, elle est automatiquement convertie en **chassis**. - **Chargement automatique de l'arborescence** Des qu'un VIN est disponible, la recherche du chassis est effectuee et l'**arborescence avec les vues eclatees** est automatiquement chargee. - **Recherche automatique des pieces detachees** Lance automatiquement la recherche des pieces (par exemple *filtre a air*) dans les vues eclatees du chassis. --- ## Controle des consommations Si l'activite doit limiter l'utilisation des credits, les administrateurs peuvent combiner les automatisations avec les parametres de blocage decrits dans la page [Credits](credits.md). De cette facon, il est possible d'eviter que la conversion plaque-chassis ou la recherche VIN soient executees lorsqu'elles ne doivent pas consommer de credits. --- # Intégration avec Qricambi URL: https://wiki.quoting24.com/fr/content/qricambi_integration/ Language: fr Updated: 2026-11-04 # Intégration avec Qricambi Depuis cette section, il est possible **d'activer ou de désactiver** la **recherche automatique des codes sur Qricambi**. Intégration Qricambi Lorsqu'un code est recherché sur Qricambi depuis Quoting24 et que Qricambi est déjà ouvert dans un autre onglet du navigateur, la recherche est effectuée dans l'onglet déjà ouvert au lieu d'en ouvrir un nouveau. Cela permet de garder le travail plus organisé et de réduire le nombre d'onglets ouverts pendant la gestion des demandes. --- ## Types de fournisseurs ### Fournisseurs internes Par **fournisseurs internes**, on entend les ['Listes'](https://qricambi.com/liste/) de Qricambi. Il s'agit de **fichiers Excel** qui contiennent, par exemple : - les stocks de votre entrepôt - des tarifs personnalisés --- ### Fournisseurs externes Par **fournisseurs externes**, on entend les **e-commerce de vos fournisseurs**, sur lesquels il est possible d'effectuer des recherches automatiques de codes directement depuis Quoting24. --- ## Sélection des fournisseurs et flag Groupes Dans **Paramètres → Qricambi**, dans la sélection des fournisseurs pour la recherche, le flag **Groupes** est disponible. En activant **Groupes** : * apparaissent les **groupes de fournisseurs** du compte Qricambi lié * il est possible d'**ajouter en masse** les fournisseurs d'un groupe, sans les sélectionner un par un --- ## Recherche textuelle dans les résultats Lorsque Quoting24 affiche les résultats de Qricambi ou des fournisseurs connectés, il est possible d'effectuer une **recherche par texte** dans les résultats. La recherche aide à identifier plus rapidement : - code produit - marque - description - fournisseur --- ## Prix catalogue Dans les résultats de recherche, le **prix catalogue** peut également être affiché lorsqu'il est disponible. Le prix catalogue accompagne les informations opérationnelles déjà présentes, comme le prix net, la disponibilité et le fournisseur, et aide l'opérateur à mieux évaluer le résultat avant de l'insérer dans le flux de devis. --- # Recherche avec extension URL: https://wiki.quoting24.com/fr/content/search_with_extension/ Language: fr Updated: 2026-11-04 # Recherche avec extension ## Utilisation de l'extension pour rechercher sur Eper et Partslink En installant l'extension Qricambi (Qricambi Assistant), vous pouvez effectuer des recherches de châssis non trouvés sur la plateforme Partslink ou sur celle d'Eper. [Cliquez ici pour installer Qricambi Assistant (Chrome)](https://chromewebstore.google.com/detail/qricambi-assistant/findhpkibjiidcgfddgchniandnaegbf?hl=it) [Cliquez ici pour installer Qricambi Assistant (Firefox)](https://addons.mozilla.org/en-US/firefox/addon/qricambi-assistant/) ### Guide d'utilisation Écran rechercher sur E et sur P ### Rechercher sur P Pour rechercher une pièce détachée d'un véhicule lorsque le châssis est disponible sur Quoting24, en appuyant sur le bouton "Rechercher sur P", le châssis sera envoyé à Partslink24, qui sélectionnera automatiquement la marque du véhicule, recherchera le châssis puis effectuera la recherche du composant. Lorsqu'un onglet Partslink est déjà ouvert, la recherche n'ouvre pas un nouvel onglet : Quoting24 utilise l'onglet existant et y envoie la nouvelle recherche. Le parcours utilisé pour les codes recherchés sur Partslink est enregistré, afin de faciliter la reprise ou la reconstruction du contexte de recherche. Après avoir identifié le code produit via l'ouverture des vues éclatées, il sera possible de voir trois nouvelles icônes sous celui-ci, chacune avec une fonction spécifique. En partant de la gauche : * **Icône blanche avec le "Q"** : permet de transférer le code sélectionné dans la recherche "prix et disponibilité" de Qricambi ; * **Icône rouge** : permet d'envoyer le code à Quoting24 ; * **Icône blanche avec le "24"** : envoie le code à Quoting24, mais ferme l'onglet Partslink (non recommandé si vous voulez effectuer d'autres recherches). ### Rechercher sur E Pour rechercher une pièce détachée d'un véhicule lorsque le châssis est disponible sur Quoting24, en appuyant sur le bouton "Rechercher sur E", le châssis sera envoyé à Eper, qui recherchera le châssis lui-même puis le composant du véhicule. Capture d'écran Sur Eper également, comme sur Partslink, il est possible d'exploiter les fonctionnalités des trois icônes décrites précédemment (après avoir sélectionné le bon code). --- # Credits URL: https://wiki.quoting24.com/fr/content/credits/ Language: fr Updated: 2026-11-04 # Credits Les **credits** servent a effectuer les activites suivantes sur Quoting24 : 1. **Conversion plaque → chassis** 2. **Recherche des composants a l'interieur du chassis**, via l'ouverture des vues eclatees Ecran d'utilisation des credits --- ## Cout des operations Le cout en credits de ces operations est visible dans l'application [Qricambi](https://app.qricambi.com/), dans la section **"Credits"** (bouton rouge en haut a droite -> Credits). L'utilisation des fonctionnalites qui consomment des credits a **le meme cout** sur **Qricambi** et sur **Quoting24**. --- ## Blocage de l'utilisation des credits sur les vehicules Dans la section dediee aux vehicules, des parametres permettent de bloquer l'utilisation des credits sur Quoting24. Les principales options sont : - **Bloquer la transcodification plaque → chassis** Empeche l'utilisation des credits pour convertir automatiquement une plaque en chassis. - **Bloquer la recherche du VIN** Empeche l'utilisation des credits pour effectuer la recherche du chassis et acceder aux informations associees. Ces parametres sont utiles lorsque l'on veut eviter une consommation involontaire de credits par les operateurs ou limiter certaines recherches automatiques. --- ## Utilisation des credits Qricambi ↔ Quoting24 Voici quelques informations generales sur les credits de Quoting24 : - Les credits du compte **Quoting24** sont **partages** avec votre compte **Qricambi** Le nombre de credits disponibles est visible : - dans l'**angle superieur droit** de l'application Afficher les credits L'achat des credits est gere **directement par Qricambi** - en cliquant sur le compteur de credits, la [page dediee](https://app.qricambi.com/youraccount/BuyCredits) s'ouvre --- # Envoyer un devis au logiciel de gestion URL: https://wiki.quoting24.com/fr/content/invia_preventivo_gestionale/ Language: fr Updated: 2026-11-04 # Envoyer un devis au logiciel de gestion Envoyer au logiciel de gestion Cette fonctionnalité représente le cœur de l'intégration entre Quoting24 et le monde externe. L'objectif est simple : **permettre à Quoting24 de "parler" avec n'importe quel logiciel de gestion (ERP)** présent dans l'entreprise. Que vous utilisiez un logiciel de gestion connu ou développé sur mesure, Quoting24 est conçu pour être **universellement compatible**. Le processus se divise en deux étapes : 1. **Envoi du devis prérempli de Quoting24 au logiciel de gestion** 2. **Envoi du devis finalisé du logiciel de gestion au client** --- ## 1. Envoi du devis prérempli de Quoting24 au logiciel de gestion Cette section explique comment connecter Quoting24 à n'importe quel logiciel de gestion externe pour la création automatique des devis. Le flux logique des données part toujours du **Ticket (Chat)** et suit cette structure : `Ticket` → `Véhicule` → `Recherche ("Pièce détachée")` → `Code "correct" (Code OE)` → `Produits sélectionnés` Lorsqu'un opérateur décide de créer un devis, Quoting24 envoie un "appel" (demande) vers votre logiciel de gestion, à une adresse personnalisée et spécifique à votre entreprise. Devis en cours de traitement Ce qui se passe à cette étape : - **Matching du client** : Le système essaie de reconnaître le client en envoyant le **code entreprise** correct au logiciel de gestion (ou d'autres champs éventuels comme le numéro de TVA ou le numéro de téléphone). - **Adaptation de la demande** : Les données collectées dans le chat (plaque, codes de pièces, descriptions) sont "traduites" dans le format attendu par votre logiciel de gestion ; la personnalisation de l'appel doit être demandée au support client de Quoting24. - **Enregistrement des références** : Quoting24 mémorise l'ID ou l'adresse du devis qui vient d'être créé dans le logiciel de gestion, afin de pouvoir le rappeler à l'avenir. En résumé : **Quoting24 remplit pour vous le brouillon du devis directement dans votre système.** ## 2. Envoi du devis finalisé du logiciel de gestion au client Une fois que le devis est prêt ou confirmé dans votre logiciel de gestion, il est possible d'envoyer une notification de retour à Quoting24 (à notre adresse API dédiée) en transmettant le devis au format PDF et la référence à l'ID du devis ou au ticket d'origine. Devis confirmé Après la réception par Quoting24 du devis provenant du logiciel de gestion, nous nous trouvons dans cette phase où le devis est terminé et où nous pouvons effectuer des actions : - avec la **Flèche**, nous pouvons ouvrir le devis dans le logiciel de gestion - avec l'**Œil**, nous pouvons visualiser le devis - avec la **Flèche de téléchargement**, nous pouvons télécharger le devis au format **PDF** - avec la **Flèche d'envoi**, nous pouvons envoyer le devis au client Il est possible de faire en sorte que, via un paramètre d'appel, le devis soit envoyé directement au client via WhatsApp, sans aucune étape de confirmation dans Quoting24 (sans devoir cliquer sur l'icône d'envoi). En cas d'utilisation des API officielles de WhatsApp, il est également possible d'envoyer un bouton d'acceptation avec la pièce jointe PDF et, si ce bouton est pressé, le devis est automatiquement envoyé au logiciel de gestion comme accepté. ### Nom du fichier du devis Le nom du fichier PDF du devis est généré en incluant, lorsqu'elles sont disponibles, des informations utiles à l'identification du document, comme : - plaque - châssis - numéro du devis Cela facilite l'identification du fichier après le téléchargement ou lorsqu'il est envoyé au client. Nom du fichier de devis avec plaque, châssis et numéro --- ## EXEMPLE D'INTÉGRATION : Devis de Qricambi Pour ceux qui utilisent **Qricambi**, l'intégration avec le logiciel de gestion est facilement reproductible en utilisant les Devis de Qricambi comme exemple de plateforme de gestion. ### Demande de devis Devis Qricambi Le système crée automatiquement le devis sur Qricambi selon des logiques intelligentes : - **Reconnaissance client** : Si le contact de Quoting24 correspond à un client de Qricambi (croisement du code client), le devis est établi à son nom. Dans le cas contraire, les informations génériques de l'opérateur Quoting24 sont utilisées. - **Données transmises** : Plaque/Châssis, Véhicule, Lien vers le ticket d'origine et Utilisateur qui effectue l'opération sont envoyés automatiquement. **Comment les lignes du devis sont-elles remplies ?** Le système est capable de gérer différents cas afin de ne perdre aucune information : 1. **Lignes sélectionnées** : Si vous avez sélectionné des pièces détachées depuis la recherche Qricambi, elles sont insérées avec tous les détails (code, prix, etc.). Produit 2. **Depuis la recherche (Code OE)** : Si vous n'avez pas sélectionné de lignes spécifiques ou si vous n'avez pas trouvé de résultats sur Qricambi, mais que vous avez un code d'origine (OE) depuis le châssis, le système crée une ligne avec ce code et la note "DEPUIS LA RECHERCHE". Aucun résultat 3. **Description générique** : S'il n'y a aucun châssis ni recherche technique, mais seulement une demande textuelle (ex. "rétroviseur droit"), une ligne vide est créée avec uniquement la description de la pièce demandée. Aucune recherche ### Réception du devis Une fois le devis traité et terminé dans Qricambi : - Il suffit de cliquer sur le bouton **"Envoyer à Quoting24"**. - Le système envoie immédiatement le **PDF** au chat. - Le devis est marqué comme **terminé**. L'opérateur peut alors visualiser le PDF, le télécharger ou l'envoyer directement au client sur WhatsApp sans jamais sortir du flux de travail. --- # Écrire sur WhatsApp via nos API URL: https://wiki.quoting24.com/fr/content/invia_whatsapp_api/ Language: fr Updated: 2026-11-04 # Écrire sur WhatsApp via nos API Cette fonctionnalité permet à votre logiciel de gestion ou à tout autre logiciel externe de **communiquer directement avec vos clients sur WhatsApp**, en utilisant Quoting24 comme passerelle. En termes simples, grâce à cette intégration, il est possible **d'envoyer des messages et documents de manière automatique**, sans devoir ouvrir l'application Quoting24 et sans devoir copier-coller manuellement les données. --- ## Que peut-on faire ? En utilisant cette connexion, votre système de gestion peut effectuer trois actions principales en une seule fois : 1. **Envoyer un message texte** Vous pouvez écrire au client n'importe quelle information : un avis de marchandise prête, une confirmation de commande ou une simple salutation. 2. **Envoyer des fichiers et documents (PDF, images, etc.)** Avec le texte, vous pouvez joindre des fichiers. C'est très utile, par exemple, pour **envoyer le PDF d'un devis** ou d'une facture directement dans le chat WhatsApp du client. 3. **Fermer automatiquement la demande (ticket)** Souvent, lorsqu'un devis ou une confirmation est envoyé, l'opération peut être considérée comme terminée. Il est possible d'indiquer au système **d'« archiver » (fermer) immédiatement la conversation** après l'envoi du message, afin de garder propre la liste des demandes ouvertes sur Quoting24 sans devoir le faire manuellement. --- ## Détails techniques pour l'intégration Un endpoint est disponible pour envoyer des messages à un **contact individuel** via WhatsApp Business API. L'authentification se fait via l'en-tête `X-API-Key` en utilisant la clé API de votre tenant, disponible dans les paramètres du compte. --- ### Envoyer un message à un contact **Endpoint :** `https://api.quoting24.com/webhook/sendmessage` **Message texte :** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "text": "Ciao! Il tuo preventivo è pronto." }, "auto_close_ticket": true }' ``` **Message avec image ou document (URL public) :** ```bash curl --request POST \ --url https://api.quoting24.com/webhook/sendmessage \ --header 'Content-Type: application/json' \ --header 'X-API-Key: ' \ --data '{ "tenant_id": "", "phone_number": "+39123456789", "channel": "whatsapp-api", "message_content": { "type": "file", "text": "In allegato il tuo preventivo.", "file": { "url": "https://esempio.com/preventivo.pdf", "name": "preventivo.pdf", "mime_type": "application/pdf" } }, "auto_close_ticket": true }' ``` **Paramètres `message_content` :** | Champ | Type | Obligatoire | Description | | ---------------- | --------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------ | | `type` | `text` / `image` / `video` / `audio` / `file` | Non, par défaut `text` | Type de message | | `text` | chaîne | Non | Texte du message ou légende du fichier | | `file.url` | chaîne URL | Oui si `type` est différent de `text` | URL publique du fichier à envoyer | | `file.name` | chaîne | Oui si `type` est différent de `text` | Nom du fichier avec extension, par exemple `preventivo.pdf` | | `file.mime_type` | chaîne | Oui si `type` est différent de `text` | Type MIME, par exemple `application/pdf` ou `image/jpeg` | **Paramètres principaux :** | Champ | Description | | ------------------- | --------------------------------------------------------------------------------------------- | | `tenant_id` | ID de votre tenant, disponible dans les paramètres | | `phone_number` | Numéro de téléphone du client avec indicatif international, par exemple `+39123456789` | | `channel` | `whatsapp-api` pour WhatsApp Business API | | `auto_close_ticket` | `true` pour fermer automatiquement le ticket après l'envoi | --- > **Note :** le fichier à joindre doit être accessible via une URL publique. Si le fichier provient d'un logiciel de gestion ou d'un système interne, assurez-vous qu'il est accessible depuis internet avant de transmettre son lien à l'API. > **Note opérationnelle :** l'envoi des messages suit les règles Meta. Pour ouvrir une conversation en dehors de la fenêtre d'assistance de 24 heures, des modèles préapprouvés peuvent être nécessaires. --- # Recherche ponctuelle par codes OE / AM dans votre logiciel de gestion URL: https://wiki.quoting24.com/fr/content/management_research/ Language: fr Updated: 2026-11-04 # Recherche ponctuelle par codes OE / AM dans votre logiciel de gestion ## Vue d'ensemble générale En intégrant votre logiciel de gestion à Quoting24, il est possible de restituer en temps réel des prix et disponibilités personnalisés pour le client spécifique avec lequel vous êtes en train d'écrire lorsque vous recherchez des codes. De cette manière, vous récupérez rapidement les **conditions commerciales spécifiques** du client avec lequel vous échangez. L'objectif est de permettre à Quoting24, une fois un code produit identifié, de récupérer automatiquement : - Disponibilité et prix net du client spécifique - Métadonnées du produit : informations descriptives, marque, éventuelles promotions actives et autres attributs liés. - Le flux est conçu pour s'interfacer de manière transparente avec les API ERP du système de gestion du fournisseur. --- ## Paramètres de recherche **De Quoting24 au fournisseur** ### Paramètres obligatoires - **Token d'authentification** Un token unique qui identifie de manière univoque les serveurs Quoting24. - **Code de recherche** De préférence un **code AM ou OE**. La recherche **ne devrait pas être limitée uniquement aux codes produit exacts**, mais devrait aussi : - Rechercher des codes alternatifs - Rechercher dans les bases externes ⚠️ Si ce comportement **n'est pas pris en charge**, cela doit être communiqué clairement. Au minimum, la recherche doit inclure les données de fiche du produit et pas seulement les codes internes exacts. --- ### Identification du client **Au moins l'un des éléments suivants doit être fourni** - **ID (tel qu'enregistré dans le logiciel de gestion)** du site de votre client - **ID (tel qu'enregistré dans le logiciel de gestion)** de l'entreprise de votre client - **Numéro de TVA du client** - **ID catégorie de remise** Utilisé pour : - Clients non enregistrés - Permettre à l'opérateur de modifier dynamiquement les règles de remise --- ### Paramètres optionnels - **ID opérateur** *(optionnel mais recommandé)* Utilisé pour tracer qui a généré le devis. - **Quantité** Peut être incluse dans la demande si strictement nécessaire. Approche préférée : gestion de la quantité dans la **réponse**, pas dans la demande. - **Marque / Fabricant** Pour permettre des recherches plus précises. - **Mode de recherche** Paramètre permettant de choisir entre recherche exacte ponctuelle ou recherche avec cross (qui produit aussi les résultats de produits alternatifs). --- ## Paramètres de réponse **Du fournisseur à Quoting24** La réponse doit contenir une **liste de produits**, chacun avec les champs suivants. ### Champs obligatoires (par produit) - **Code produit du fournisseur** Code de commande interne, préfixes inclus, exactement comme utilisé dans les systèmes du fournisseur. - **Fabricant** Nom du fabricant (ex. *LUK, Magneti Marelli, Brembo*). Peut être structuré en 2 champs : - Version abrégée/précode (ex. `MAR`) - Nom complet (ex. `Magneti Marelli`) - **Prix de vente net au client** - Prix net (TVA exclue) - Frais d'expédition exclus - Les frais d'expédition peuvent être retournés séparément, le cas échéant - **Disponibilité** Valeur numérique représentant la quantité disponible en stock. - **Entrepôt** Nom de l'entrepôt, rayon ou référence à l'emplacement interne. --- ### Champs optionnels - **Description du produit** Texte libre (ex. *Plaquettes de frein*) et/ou catégorie marchandise. - **Code identifiant du constructeur** Obligatoire lorsque le code produit ERP diffère du code du fabricant. - **Prix catalogue** Non nécessaire mais reproductible si besoin. - **Promotions** - Présence de promotion (binaire) - Texte de la promotion (optionnel) - Si le texte est vide → promotion inactive - **Image produit** - URL de l'image - Ou image Base64 - **URL fiche produit** Lien vers la page de détail du produit sur l'e-commerce ou sur le site externe. Si le lien direct n'est pas possible : - Fournir des règles de syntaxe URL - Ou retourner une URL générique de la page d'accès - **Prix basés sur la quantité / Remises** Si des remises quantité existent, retournez les paliers dans n'importe quel **format analysable**, par exemple : ```json { "from": 2, "to": 10, "price": "50.00" } ``` --- # Profil URL: https://wiki.quoting24.com/fr/content/profilo/ Language: fr Updated: 2026-11-04 # Profil En cliquant sur les **traits en haut à droite** dans Quoting24 et en accédant à la section **Paramètres → Profil**, il est possible de modifier certains aspects importants de l'expérience d'utilisation de la plateforme. Profil --- ## Personnalisation du profil Dans cette section, il est possible de personnaliser votre profil en modifiant : - l'**avatar**, en insérant : - les initiales personnalisées de votre nom - un *logo artistique* - ou en chargeant une **image** Modification du profil --- ## Surnom Le **surnom** : - correspond initialement au **nom d'utilisateur d'accès à Qricambi** - est **obligatoire** - peut être modifié librement Le surnom représente votre **nom interne** sur Quoting24 et c'est celui qui : - est affiché aux collègues - est utilisé pour les **affectations de tickets** La modification du surnom : - **ne change pas** le nom d'utilisateur de connexion - **n'influence pas** les identifiants d'accès à Quoting24 et Qricambi --- ## Enregistrement des modifications Enregistrement des modifications Après avoir personnalisé les paramètres du profil, il est nécessaire **d'enregistrer les modifications** avant de quitter la page. L'affichage des modifications dans le chat peut nécessiter : - l'enregistrement des paramètres - une **actualisation de la page des tickets (F5)** --- ## Signature, en-tête et messages automatiques Il est possible de définir une **signature personnelle** et un **en-tête automatique**. Pour la signature et l'en-tête, on choisit quand les insérer dans les messages envoyés depuis Quoting24 : * **Toujours** — ils figurent sur chaque message * **Uniquement au premier message du ticket et avec Envoyer et fermer** — ils sont ajoutés seulement au premier message de ce ticket et lors de l'envoi avec **Envoyer et fermer** (envoie le message et ferme le ticket) La signature est insérée **en bas** du message. L'en-tête, similaire à la signature, est inséré **avant** le message. Signature Il est également possible de configurer un **message de prise en charge**, envoyé automatiquement lorsque vous cliquez sur le bouton d'affectation d'un ticket pas encore affecté. --- ## Envoi sans en-tête ni signature Même lorsque l'en-tête et la signature sont réglés sur **toujours** ou **uniquement au premier message du ticket et avec Envoyer et fermer**, il est possible d'envoyer un message individuel **sans en-tête et sans signature**. Cette option est utile lorsque le message doit être plus direct, par exemple pour des confirmations courtes ou des réponses opérationnelles déjà contextualisées dans la conversation. --- # Activite URL: https://wiki.quoting24.com/fr/content/activities/ Language: fr Updated: 2026-11-04 # Activite Cette section est visible **uniquement par les [administrateurs](user.md)**, et non par les **[membres](user.md)** (utilisateurs). En cliquant sur les **traits en haut a droite** dans Quoting24 et en accedant a la section **Parametres → Activite**, il est possible de gerer certaines **options fondamentales** de l'experience d'utilisation de la plateforme. Activite --- ## Nom de l'activite Il est possible de modifier le **nom de l'activite** en definissant celui de votre choix. Chaque **numero de telephone** connecte a Quoting24 possede son propre **nom d'activite**, qui permet aux utilisateurs, lors de la connexion, de distinguer facilement **dans quel "espace"** ils vont travailler. --- ## Commentaires internes Depuis cette section, il est possible **d'activer ou de desactiver** les **commentaires internes** dans les chats. Les commentaires internes permettent aux operateurs de : - communiquer entre collegues - inserer des notes non visibles par le client --- ## Communications de service La section **Communications de service** permet de gerer des messages ou avis internes lies a l'activite. Ces communications servent a informer les operateurs sur des consignes operationnelles, des mises a jour ou des notes importantes a garder a l'esprit pendant le travail quotidien sur Quoting24. Communications de service --- ## Extraction de donnees par l'IA Quoting24 peut extraire automatiquement des informations utiles depuis : - les images - les messages vocaux - le texte des messages Depuis cette section, il est possible de **masquer l'extraction des donnees par l'IA** dans la section activite. Le parametre est utile lorsque l'on veut garder une interface plus epuree ou eviter d'afficher aux operateurs le detail du traitement automatique. --- # Utilisateurs URL: https://wiki.quoting24.com/fr/content/user/ Language: fr Updated: 2026-11-04 # Utilisateurs Cette section est visible **uniquement par les administrateurs**, et non par les **membres** (utilisateurs). Depuis la section **Paramètres → Utilisateurs**, il est possible de visualiser et gérer la liste des **utilisateurs associés à votre profil Quoting24**. Page utilisateur --- ## État des utilisateurs Chaque utilisateur peut se trouver dans l'un des états suivants : 1. **Actif** L'utilisateur s'est déjà connecté au moins une fois à Quoting24. 2. **En attente** L'utilisateur a été invité sur Quoting24, mais **n'a pas encore effectué son premier accès**. 3. **Inactif** L'utilisateur **n'est pas entré sur Quoting24** depuis 5 minutes. 4. **Hors ligne** L'utilisateur **n'est pas entré sur Quoting24** depuis plus de 15 minutes. Il est également possible d'afficher l'état : - **En ligne** - **Hors ligne** L'état de l'utilisateur est utilisé par la plateforme pour déterminer la faisabilité de l'["auto-affectation"](assegnazioni.md). Si les utilisateurs potentiellement cibles de **"l'auto-affectation"** sont tous hors ligne, l'auto-affectation n'aura pas lieu (et le ticket restera **non affecté**, donc visible par toutes les personnes autorisées). --- ## Rôles des utilisateurs Les utilisateurs peuvent avoir l'un des rôles suivants : - **Administrateur** A accès à **toutes les fonctionnalités et sections** de l'application. - **Membre** A un accès limité. Certaines sections, comme **Utilisateurs**, **WhatsApp** et **Activité**, **ne sont pas visibles**. --- ## Gestion avancée des utilisateurs (administrateurs) Un utilisateur ayant le rôle **administrateur** peut cliquer sur l'**icône en forme d'engrenage** située à droite de chaque utilisateur pour modifier certains paramètres. Il est notamment possible de : - **Changer le rôle** de l'utilisateur (administrateur / membre) - Gérer la **visibilité des demandes** Par défaut, un *membre* ne peut voir que les demandes qui lui sont affectées, mais il est possible d'activer : - l'affichage des demandes non affectées - l'affichage des demandes affectées à d'autres utilisateurs - Configurer les **modules activés** Il est possible de sélectionner de manière granulaire quels modules chaque membre peut : - visualiser - modifier Par exemple, pour le module **"recherche de véhicules et de pièces"** : - un membre peut seulement visualiser les codes sélectionnés par d'autres opérateurs - ou bien il peut entrer dans les vues éclatées et effectuer des recherches et modifications comme un administrateur Privilèges utilisateur --- ## Ajout de nouveaux utilisateurs Un administrateur peut **inviter ou ajouter de nouveaux utilisateurs** à Quoting24 en cliquant sur le bouton rouge **"Ajouter"**. La liste des utilisateurs disponibles s'ouvrira ; pour inviter un utilisateur, il suffit de cliquer sur la **flèche rouge** à côté du nom souhaité. Ajouter un utilisateur Lors de la création ou de l'invitation d'un nouvel utilisateur, il est possible de prédéfinir son **surnom**. Le surnom est le nom interne utilisé sur Quoting24 pour : - afficher l'utilisateur dans les affectations - le taguer dans les notes internes - le reconnaître plus rapidement dans la collaboration entre opérateurs --- ## Changement de mot de passe et gestion du compte En cliquant sur **"Changer le mot de passe"** en haut à droite, vous êtes redirigé vers la section [**Compte → Gestion des utilisateurs**](https://app.qricambi.com/youraccount/UsersManager) de Qricambi (Account Admin) : Si votre utilisateur est **administrateur de Qricambi**, depuis cette section il est possible de : - modifier le **nom d'utilisateur** - modifier le **mot de passe** - modifier rapidement le **surnom** et la **signature** de l'utilisateur sélectionné, via l'**icône crayon** Les identifiants d'accès sont les **mêmes** pour **Qricambi** et **Quoting24**. --- # Notifications URL: https://wiki.quoting24.com/fr/content/notifications/ Language: fr Updated: 2026-11-04 # Notifications Quoting24 permet à chaque utilisateur de configurer ses **notifications personnelles**, afin de rester informé des demandes à gérer même lorsqu'il travaille sur plusieurs numéros de téléphone. Les notifications aident l'opérateur à suivre : - nouvelles demandes - messages reçus - tickets affectés ou désaffectés - notes internes et tags des collègues - réactions aux messages --- ## Où configurer les notifications Les notifications se configurent depuis **Paramètres → Notifications**. Depuis cette section, il est possible de : - choisir le **son** de la notification (avec aperçu) - définir le **niveau des notifications messages** pour l'activité en cours - activer les **notifications de bureau** Impostazioni Notifiche --- ## Notifications unifiées Les notifications de Quoting24 sont **unifiées** : si un utilisateur travaille sur plusieurs numéros de téléphone connectés, il reçoit les notifications de tous les numéros pour lesquels il est autorisé, indépendamment du numéro ouvert à ce moment-là. Cela permet d'éviter de garder ouvert un onglet du navigateur pour chaque activité uniquement pour vérifier les notifications. Les notifications sont affichées dans la **cloche** de Quoting24 et suivent les paramètres personnels de l'utilisateur. --- ## Notifications de bureau Pour recevoir les alertes même en dehors de la fenêtre Quoting24, il est possible d'activer les **notifications de bureau**. Pour les activer : 1. entrez dans **Paramètres → Notifications** 2. cliquez sur **Activer les notifications de bureau** 3. confirmez l'autorisation demandée par le navigateur Une fois activées, le navigateur peut afficher une notification même lorsque Quoting24 n'est pas l'onglet actif. --- ## Son des notifications Dans les paramètres, il est possible de choisir le **son** de la notification, avec aperçu à l'écoute. Les options disponibles incluent des sons comme Default, Chime, Pop, Pulse, Ring, Bloom et Runaway, ainsi que l'option **Aucun**. Avec **Aucun**, les notifications visuelles restent actives selon les règles configurées, mais l'alerte sonore est complètement désactivée. Les mentions, les affectations et le son restent des **paramètres de l'utilisateur**. Scelta suono notifica --- ## Niveaux de notification par activité Le niveau des **notifications messages** n'est plus global pour l'utilisateur : il est configurable **pour chaque activité**. Si vous travaillez sur plusieurs tenants, chaque activité a sa propre préférence ; celle que vous modifiez est celle du **workspace actuel**. Les niveaux disponibles permettent de recevoir des notifications : - aucune - seulement les miennes - miennes et nouvelles - toutes Le choix dépend du rôle de l'opérateur et du flux de travail de l'entreprise. Livello notifiche messaggi per attività --- ## Notifications pour nouvelles demandes et messages Lorsqu'une nouvelle demande arrive d'un client, Quoting24 peut avertir les opérateurs selon la configuration choisie pour l'activité. Cela est particulièrement utile lorsque : - plusieurs opérateurs travaillent sur le même numéro - les demandes doivent être prises en charge rapidement - l'entreprise veut éviter qu'un nouveau ticket reste non traité Les notifications peuvent aussi être générées par les messages reçus sur des tickets déjà ouverts, selon le niveau sélectionné pour l'activité. --- ## Notifications pour tickets affectés ou désaffectés Lorsqu'un ticket ouvert est **affecté** à un opérateur, la notification permet de savoir rapidement qu'une demande doit être traitée. La notification est également générée lorsqu'un ticket ouvert est **désaffecté**, afin que l'opérateur sache que la demande n'est plus sous sa responsabilité. L'affectation peut se produire : - manuellement - via des règles automatiques - selon la configuration des affectations Pour plus de détails, consultez la page [Affectations](assegnazioni.md). --- ## Notifications pour notes internes et tags Dans les conversations, il est possible de créer des **notes internes** visibles uniquement par les collègues. Lorsqu'un collègue est tagué avec `@surnom`, il reçoit une notification spécifique. Il est également possible d'utiliser `@tous` pour attirer l'attention de tous les opérateurs autorisés. Les notifications générées par un tag dans une note interne sont mises en évidence en **orange**, afin de les distinguer des notifications normales de message. À côté des coches de visualisation, l'icône de la note interne est affichée pour indiquer que ce contenu n'a pas été envoyé au client. --- ## Notifications pour réactions Les réactions aux messages génèrent des notifications sur Quoting24. Les notifications des réactions sont affichées : - dans la **cloche** - dans les **notifications de bureau**, si elles sont activées - dans l'aperçu des messages dans la colonne de gauche Lorsque le message est ouvert, il est également possible de voir **qui a ajouté la réaction**. --- ## Conseils opérationnels Pour une bonne utilisation des notifications : - choisissez un niveau cohérent avec votre rôle pour chaque activité - activez des notifications plus larges si vous devez surveiller les nouvelles demandes - utilisez des notifications plus restreintes si vous travaillez uniquement sur les tickets affectés - utilisez **Aucun** comme son si vous préférez uniquement les alertes visuelles - activez les notifications de bureau si vous ne gardez pas toujours Quoting24 au premier plan - utilisez les tags dans les notes internes pour appeler des collègues spécifiques - vérifiez périodiquement la configuration si vous changez de rôle, d'activité ou de numéro de téléphone ---