# Stato degli ordini e resi

> Fai rispondere il tuo agente a "dov'è il mio ordine?" dal tuo negozio Shopify o WooCommerce e fagli raccogliere richieste di reso e di cambio: configurazione, come vengono verificati i visitatori, cosa vede l'agente, limiti e notifiche.

Con un collegamento agli ordini, il tuo agente può cercare l'ordine di un visitatore nel tuo negozio Shopify o WooCommerce e dirgli lo stato, cosa conteneva, il totale e, se l'ordine ne ha uno, il numero di tracciamento. Con **Returns and exchanges** attivo, può anche raccogliere una richiesta di reso o di cambio e inoltrarla a te. L'agente legge solo gli ordini. Non modifica mai nulla nel tuo negozio.

> Un visitatore vede un ordine solo se indica il suo numero d'ordine e l'indirizzo email con cui è stato effettuato. Chi chiede con un'email sbagliata riceve la stessa risposta di chi chiede un ordine che non esiste. Vedi [Come vengono verificati i visitatori](#come-vengono-verificati-i-visitatori).

## Prima di iniziare

Apri il tuo agente e vai alla scheda **Actions** (azioni). Il riquadro **Orders** si trova sotto **Booking**. In **Store**, scegli **Shopify** o **WooCommerce**.

### Shopify con l'app intoCHAT

Inserisci l'indirizzo `.myshopify.com` del negozio in **Store address**, clicca su **Install on Shopify** e approva l'app in Shopify. intoCHAT chiede solo l'accesso in lettura agli ordini e mantiene aggiornato il collegamento da solo. Vedi [Installare l'app Shopify](/it/docs/shopify#installare-l-app-shopify) per sapere a cosa può accedere l'app e come disinstallarla. Il pulsante compare solo quando l'app Shopify di intoCHAT è disponibile sul tuo sito intoCHAT; fino ad allora, usa un'app personalizzata.

### Shopify con un'app personalizzata

1. In **Store address**, inserisci l'indirizzo `.myshopify.com` permanente del negozio, per esempio `my-store.myshopify.com`. Usalo anche se i clienti conoscono il negozio con il suo dominio. Lo trovi nell'amministrazione di Shopify in **Impostazioni**, **Domini**.
2. Clicca su **Use a custom app instead**.
3. Nel Dev Dashboard di Shopify, per l'organizzazione a cui appartiene il negozio, crea un'app con lo scope Admin API `read_orders`. Aggiungi anche `read_all_orders` se i visitatori devono trovare ordini più vecchi di 60 giorni; Shopify concede questo scope su richiesta.
4. Pubblica una versione dell'app con questi scope e installala sul tuo negozio.
5. Copia il **client ID** e il **client secret** dell'app in **Client ID** e **Client secret** e clicca su **Test and connect**.

intoCHAT scambia client ID e secret con un token di accesso valido 24 ore, lo conserva cifrato e ne ottiene uno nuovo da solo prima che scada. Shopify emette questi token solo per un negozio della stessa organizzazione dell'app; per qualsiasi altro negozio, il riquadro lo indica.

### WooCommerce

1. In **Store address**, inserisci l'indirizzo `https://` del tuo sito WordPress, per esempio `https://shop.example.com`. Gli indirizzi con semplice `http://` vengono rifiutati, perché le tue chiavi viaggerebbero senza cifratura. Lo stesso vale per gli indirizzi di una rete privata o interna.
2. In WordPress, apri **WooCommerce**, **Impostazioni**, **Avanzate**, **REST API** e clicca su **Aggiungi chiave**. Scegli un utente che può gestire gli ordini, imposta **Permessi** su **Lettura** e clicca su **Genera chiave API**.
3. Copia la **consumer key** e il **consumer secret** nel riquadro e clicca su **Test and connect**.

### Che cosa controlla il collegamento

**Test and connect** chiede al negozio il suo nome e l'ID di un ordine recente. Non viene mostrato alcun dato dei clienti. Se il negozio rifiuta, il riquadro dice perché, per esempio che le credenziali non sono state accettate, che all'app manca lo scope `read_orders` o che all'indirizzo non risponde nessuna REST API di WooCommerce. Puoi controllare credenziali fino a 10 volte in 10 minuti.

Per Shopify controlla anche che Shopify restituisca l'indirizzo email negli ordini. Shopify nasconde le email dei clienti alle app che non hanno accesso ai dati protetti dei clienti. Quando Shopify rifiuta il campo email, nessun visitatore potrebbe mai essere verificato, quindi il riquadro rifiuta il collegamento e dice: "Shopify didn't return customer emails: grant protected customer data access (email) to the app." Quando il tuo ordine più recente torna semplicemente senza email, il collegamento riesce, ma il riquadro ti avvisa: o quell'ordine non ha un'email, o Shopify nasconde le email senza dirlo. Gli ordini senza un'email leggibile non vengono mai mostrati ai visitatori.

Il client secret, la consumer key e il consumer secret vengono conservati cifrati e non vengono più mostrati. Il riquadro mostra solo gli ultimi quattro caratteri del client ID o della consumer key.

## Gestire il collegamento

Una volta collegato, il riquadro mostra il negozio, il suo indirizzo e il tipo di collegamento.

- L'interruttore **On** / **Off** nell'intestazione del riquadro sospende le ricerche degli ordini senza scollegare il negozio.
- **Returns and exchanges** permette all'agente di raccogliere richieste di reso e di cambio. All'inizio è disattivato. Vedi [Resi e cambi](#resi-e-cambi).
- **Test connection** esegue lo stesso controllo del collegamento, con le credenziali salvate.
- **Replace credentials** ricollega il negozio con nuove credenziali. Se il riquadro dice che le credenziali salvate non si possono più leggere, il pulsante si chiama **Reconnect**.
- **Disconnect** ferma le ricerche e le richieste di reso ed elimina le credenziali salvate. Le richieste di reso già fatte restano nell'elenco **Returns** della scheda **Leads**.

Per un'app Shopify senza lo scope `read_all_orders`, il riquadro segnala che si possono trovare solo gli ordini degli ultimi 60 giorni.

## Come vengono verificati i visitatori

L'agente cerca un ordine solo con un numero d'ordine e un indirizzo email, e lo mostra solo se l'email è quella con cui è stato effettuato l'ordine. Nel confronto non contano maiuscole e minuscole né gli spazi prima o dopo l'indirizzo.

- **Visitatori che hanno effettuato l'accesso al tuo sito.** Con la [verifica dell'identità](/it/docs/identity-verification), quando la tua pagina passa l'email del visitatore, viene usata quella e l'agente non la chiede. Un'email che il visitatore scrive in chat viene allora ignorata, così un visitatore che ha effettuato l'accesso non può cercare l'ordine di qualcun altro scrivendo la sua email.
- **Tutti gli altri.** L'agente chiede il numero d'ordine e l'indirizzo email. Entrambi devono corrispondere all'ordine.

Quando l'email non corrisponde, l'agente riceve esattamente la stessa risposta di un numero d'ordine che non esiste: nessun ordine corrisponde a questo numero d'ordine e a questo indirizzo email. Chiede al visitatore di controllarli entrambi, senza dire quale dei due è sbagliato. Così nessuno può scoprire quali numeri d'ordine esistono.

La verifica dell'identità firma solo l'ID utente del visitatore. L'email accanto è quella che passa la tua pagina. Non è quindi una prova più forte di un'email scritta dal visitatore, e i [limiti sulle ricerche non riuscite](#limiti-sulle-ricerche-non-riuscite) valgono allo stesso modo.

## Che cosa vede l'agente

Di un ordine, l'agente riceve solo:

- il numero e la data dell'ordine,
- lo stato del pagamento e lo stato di evasione, e se l'ordine è stato annullato,
- il titolo, la variante e la quantità di ogni articolo,
- il corriere, il numero di tracciamento e il link di tracciamento di ogni spedizione,
- il totale e la sua valuta.

Non riceve mai indirizzi, numeri di telefono, dati di pagamento, note del cliente, l'indirizzo email o altri ordini dello stesso cliente. intoCHAT nella maggior parte dei casi non chiede questi dati al negozio, e ciò che riceve l'agente viene costruito solo a partire dall'elenco qui sopra.

In "Why this answer" della conversazione, una ricerca d'ordine compare come **Order lookup** con il numero d'ordine se è riuscita, e senza numero se non è riuscita. Non viene salvato nessun altro dettaglio dell'ordine.

## Limiti sulle ricerche non riuscite

Una ricerca non riesce quando numero ed email non corrispondono a nessun ordine. Dopo 5 ricerche non riuscite in una conversazione, o 20 da uno stesso indirizzo IP sull'agente, nel giro di un'ora, l'agente smette di cercare ordini e dice al visitatore di contattarti direttamente. Le ricerche che trovano l'ordine non contano, e nemmeno quelle non riuscite perché il negozio non era raggiungibile.

## Resi e cambi

Con **Returns and exchanges** attivo, un visitatore può chiedere all'agente di restituire o cambiare articoli di un ordine. L'agente chiede quali articoli, quanti, se vuole un reso o un cambio, e perché. Poi controlla di nuovo l'ordine esattamente come in una ricerca, con gli stessi limiti, e verifica che ogni articolo sia nell'ordine e che le quantità non superino quelle ordinate. Se un prodotto è stato ordinato in più varianti, il visitatore deve dire quale.

La richiesta viene registrata e l'agente dice al visitatore che è stata ricevuta e che ti farai sentire tu. L'agente non promette mai che una richiesta verrà approvata, né un rimborso, una sostituzione o un'etichetta di reso. Nel tuo negozio non cambia nulla: gestisci il reso lì come sempre.

Ogni conversazione può inviare una richiesta per ordine. Se il visitatore chiede di nuovo per lo stesso ordine, l'agente gli dice che la prima richiesta è già stata inviata, e non viene registrato né inviato nulla di nuovo.

### Dove compaiono le richieste

- **Returns** nella scheda **Leads** elenca ogni richiesta, dalla più recente: la data, l'ordine, l'email, reso o cambio, gli articoli, il motivo e lo stato. **Mark handled** segna una richiesta come gestita (i membri del team hanno bisogno del ruolo Editor o superiore); la freccia annulla l'operazione. **Export CSV** scarica tutte le richieste. L'icona della chat apre la conversazione.
- **Email**: chi riceve le [notifiche dei lead](/it/docs/lead-alerts-and-export#notifiche-email-per-i-nuovi-lead) riceve un'email per ogni nuova richiesta, finché le notifiche dei lead sono attive. Rispondendo si scrive al cliente all'indirizzo email dell'ordine.
- **Webhook**: l'evento `return.requested`. Vedi [Webhook](/it/docs/webhooks#dati-di-return-requested).
- **Slack**: **Return request** nelle [notifiche Slack](/it/docs/lead-alerts-and-export#notifiche-slack).

## Registro degli accessi

intoCHAT registra ogni consultazione dei dati degli ordini, senza email né contenuto degli ordini, e conserva il registro per 90 giorni. Apri **Recent order lookups** nel riquadro **Orders** per vedere le ultime 25 voci, oppure clicca su **Export CSV** per averle tutte. Tutti i membri del tuo team possono vederlo.

Ogni voce mostra l'ora, l'azione (una ricerca d'ordine, una richiesta di reso o un test del collegamento quando provi o colleghi il negozio), il numero d'ordine e l'esito, e chi: **Visitor**, oppure il nome della persona del tuo account che ha provato o collegato il negozio. Per un ordine non trovato, la voce mostra il numero indicato dal visitatore, e l'esito dice perché: **Not found** (nessun ordine con quel numero), **Email didn't match** oppure **Order has no readable email** (l'ordine non ha un'email, o il tuo negozio la nasconde). Il visitatore riceve la stessa risposta in tutti e tre i casi. Una ricerca che non è mai arrivata al negozio, per esempio una ancora in attesa dell'email del visitatore, non viene registrata.

Le voci più vecchie di 90 giorni vengono eliminate ogni giorno. Quando l'app Shopify viene disinstallata, o Shopify chiede a intoCHAT di eliminare i dati di un cliente o di un negozio, vengono eliminate anche le voci corrispondenti.

## Quando l'agente cerca gli ordini

L'agente cerca un ordine quando un visitatore chiede dove si trova, ne chiede lo stato, la consegna o il tracciamento, o cosa conteneva. La ricerca non è mai disponibile in una chat temporanea: lì l'agente dice al visitatore di uscire dalla chat temporanea e chiedere di nuovo. Le ricerche nel **Playground** sono ricerche reali nel tuo negozio e contano per i limiti.

## Limiti

- L'agente legge solo gli ordini. Non può annullare, modificare o rimborsare un ordine, né creare un'etichetta di reso.
- Shopify: con il solo scope `read_orders`, gli ordini più vecchi di 60 giorni non vengono trovati. Aggiungi `read_all_orders` all'app per gli ordini più vecchi.
- WooCommerce non conserva da sé i numeri di tracciamento. L'agente li vede solo se il negozio usa l'estensione WooCommerce Shipment Tracking, o un plugin che salva il tracciamento allo stesso modo. Altrimenti può comunicare lo stato, gli articoli e il totale dell'ordine.
- Numeri d'ordine WooCommerce: intoCHAT cerca prima l'ordine con quell'ID. Se il negozio assegna agli ordini numeri propri tramite un plugin, cerca il numero e usa solo una corrispondenza esatta; se la ricerca trova i numeri del plugin dipende dal plugin.
- Un negozio per agente.

## Passi successivi

- Fai sapere all'agente chi sono i tuoi visitatori: [Verifica dell'identità](/it/docs/identity-verification).
- Ricevi le richieste di reso nei tuoi strumenti: [Webhook](/it/docs/webhooks).
- Permetti ai visitatori di prenotare appuntamenti in chat: [Prenotazione con Cal.com o Calendly](/it/docs/booking).
