

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creare bot di IA conversazionale in Amazon Connect.
<a name="connect-conversational-ai-bots"></a>

Puoi utilizzare il sito Web di Amazon Connect amministrazione per creare, modificare e migliorare continuamente i bot di intelligenza artificiale conversazionale per esperienze self-service di risposta vocale interattiva (IVR) e chatbot. I bot sono basati sulla tecnologia di Amazon Lex.

Utilizzando il sito web di Amazon Connect amministrazione, puoi offrire esperienze di intelligenza artificiale dinamiche e conversazionali per comprendere le intenzioni dei tuoi clienti, porre domande successive e automatizzare la risoluzione dei loro problemi. Gli argomenti di questa sezione spiegano come abilitare l'esperienza di creazione di bot nel sito Web di Amazon Connect amministrazione e come creare un bot.

**Topics**
+ [Abilitare bot e analisi in Amazon Connect](enable-bot-building.md)
+ [Creare un bot](work-bot-building-experience.md)
+ [Creare un flusso e aggiungere il bot di IA conversazionale](create-bot-flow.md)
+ [Configura provider vocali di terze parti](configure-third-party-speech-providers.md)
+ [Crea l'intento degli agenti Connect AI](create-qic-intent-connect.md)
+ [Creare versioni e alias dei bot](create-bot-version.md)
+ [Valutare le prestazioni di un bot di IA conversazionale](lex-bot-analytics.md)
+ [Metriche e analisi dei bot](bot-metrics.md)
+ [Configurazione avanzata di bot](bot-advanced-config.md)
+ [Aggiunta di un bot Amazon Lex](amazon-lex.md)

# Abilitare la creazione e l’analisi dei bot in Amazon Connect
<a name="enable-bot-building"></a>

Completa i seguenti passaggi per consentire agli utenti di creare bot Amazon Lex nel sito Web di Amazon Connect amministrazione e visualizzare le metriche sulle prestazioni dei bot.

Gli utenti non possono modificare i bot LEX V1 o i bot multi-Regione da Amazon Connect.

1. Apri la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleziona l'istanza Amazon Connect che vuoi integrare con il bot Amazon Lex.  
![\[La pagina delle istanze del contact center virtuale di Amazon Connect, l'alias dell'istanza.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/instance.png)

1. Nel menu di navigazione, scegli **Flussi**.

1. Scegli **Abilita la gestione dei bot di Lex in Amazon Connect** e **Abilita l’analisi e la trascrizione dei bot in Amazon Connect**, quindi scegli **Salva**.  
![\[La pagina dei bot di Amazon Lex, le opzioni per abilitare la gestione e l’analisi dei bot di Lex in Amazon Connect.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-bot-service-linked-role.png)

   
**Nota**  
Se hai già attuato policy di controllo dei servizi che bloccano l’accesso a Lex, Amazon Connect rispetta tali policy e non abilita la funzionalità di gestione e analisi dei bot. Tuttavia, se le policy di controllo vengono attuate dopo che hai abilitato tale funzionalità, non verranno rispettate. In questo caso, dovrai disabilitare la funzionalità.

   Amazon Connect mostra il ruolo di servizio e il nome del ruolo collegato al servizio che utilizza. Utilizza policy basate su risorse di Amazon Lex per effettuare chiamate al bot di Amazon Lex. Quando associ un bot Amazon Lex all'istanza Amazon Connect, la policy basata su risorse nel bot viene aggiornata per consentire ad Amazon Connect di richiamare il bot. 

   Per ulteriori informazioni sulle policy basate su risorse di Amazon Lex, consulta [Policy basate sulle risorse in Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies) nella *Guida per gli sviluppatori di Amazon Lex V2*.

1. Assegna le seguenti autorizzazioni del profilo di sicurezza agli utenti che hanno la necessità di creare e gestire i bot e le relative analisi: 
   + **Canali e flussi** - **Bot** - Autorizzazioni **Visualizza**, **Modifica**, **Crea**
   + **Analisi e ottimizzazione** - **Metriche storiche** - Autorizzazione **Accesso**

# Crea un bot utilizzando il sito Web di amministrazione Amazon Connect
<a name="work-bot-building-experience"></a>

Puoi creare bot Lex completi nel sito Web di Amazon Connect amministrazione senza mai uscire dall'interfaccia Amazon Connect. La creazione o la modifica di bot in Amazon Connect sono gratuite. Invece, l’utilizzo viene fatturato da Amazon Lex. Per informazioni sui prezzi, consulta la pagina dei [prezzi di Amazon Lex](https://aws.amazon.com/lex/pricing/).

**Come creare un bot**

1. Accedi al sito web di Amazon Connect amministrazione all'indirizzo https://*instance name*.my.connect.aws/. Utilizza un account amministratore o un account che dispone dell’autorizzazione **Canali e flussi** - **Bot** - **Crea** nel suo profilo di sicurezza.

1. Nel menu di navigazione di sinistra, scegli **Instradamento**, **Flussi**.

1. Nella pagina **Flussi**, scegli **Bot**, **Crea bot**.   
![\[Pagina Flussi, con la scheda Bot e il pulsante Crea bot.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/flows-bots-tab.png)

1. Nella finestra di dialogo **Dettagli** fornisci le informazioni seguenti: 
   + **Nome bot**: inserisci un nome univoco per il bot.
   + **Descrizione bot**: (facoltativo) fornisci informazioni aggiuntive sullo scopo del bot.
   + **Children’s Online Privacy Protection Act (COPPA)**: specifica se il bot è soggetto al Children’s Online Privacy Protection Act.

   L’immagine seguente mostra la finestra di dialogo **Dettagli** e queste opzioni.  
![\[Pagina dei dettagli della creazione del bot con nome, descrizione e impostazioni COPPA.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-create.png)

1. Scegli **Create** (Crea). Una volta creato correttamente il bot, viene visualizzata la pagina di configurazione del bot. L'immagine seguente mostra una pagina di esempio per un bot appena creato denominato. **HotelBookingBot**  
![\[Una pagina di configurazione di esempio per un bot non configurato.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/hotelbookingbot.png)

1. Nella pagina di configurazione del bot, scegli **Aggiungi lingua**. Scegli la lingua primaria per il tuo bot e il modo in cui preferisci creare tale lingua.   
![\[Un esempio della pagina Definisci il tuo bot, con la casella a discesa Aggiungi lingua.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-language-create.png)

1. Dopo aver scelto la lingua, viene visualizzata la sezione **Definisci il tuo bot**. Un esempio della sezione è mostrato nell’immagine seguente. In questa sezione è possibile aggiungere gli intenti.  
![\[Un esempio di sezione Definisci il tuo bot.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/define-bot-page.png)

## Aggiungere intenti al bot
<a name="define-bot"></a>

Nella sezione **Definisci il tuo bot**, aggiungi gli intenti. Gli intenti sono gli obiettivi che gli utenti vogliono raggiungere, come ordinare fiori o prenotare un hotel.

Il bot deve avere almeno un intento. Esistono due tipi di intenti.
+ Intenti personalizzati: puoi creare intenti che rappresentino le azioni o le richieste che il bot deve gestire. In questo argomento viene descritto come creare intenti personalizzati. 
+ Intenti incorporati: per impostazione predefinita, tutti i bot contengono un unico intento incorporato, ossia l’intento di fallback. Questo intento viene utilizzato quando il bot non riconosce nessun altro intento. Ad esempio, se un utente dice “Voglio ordinare dei fiori” a un intento impostato per prenotare un hotel, viene attivato l’intento di fallback. L’immagine seguente mostra un esempio di intento incorporato.  
![\[La finestra di dialogo Usa intento integrato, un intento integrato si chiama AMAZON. HelpIntent.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/built-in-intent.png)

**Come creare un intento personalizzato**

1. Scegli **Aggiungi intento** e quindi **Aggiungi intento vuoto**. 

1. Nella finestra di dialogo **Aggiungi intento**, inserisci un nome per il tuo intento e una descrizione che ritieni significativa. Scegliere **Aggiungi**.

1. Inserisci le seguenti informazioni per configurare il tuo intento:
   + Aggiungi **enunciati** di esempio: scegli **Aggiungi**, quindi inserisci frasi o domande che gli utenti potrebbero utilizzare per esprimere l’intento. Scegli **Save** (Salva). 
   + Configura gli **slot**: scegli **Aggiungi** e definisci gli slot (o parametri) necessari per soddisfare l’intento. Ogni slot ha un tipo che definisce i valori che possono essere inseriti nello slot. Scegli **Aggiungi** per aggiungere lo slot. Una volta completata l’aggiunta degli slot, scegli **Salva**.
   + Crea **prompt**: scegli **Modifica**, quindi inserisci i prompt che il bot utilizzerà per chiedere informazioni o chiarire gli input dell’utente. Al termine, scegli **Salva**.
     + **Messaggio di risposta iniziale:** il messaggio iniziale inviato all’utente dopo che l’intento è stato invocato. Puoi fornire risposte, inizializzare i valori e definire il passaggio successivo che il bot compie per rispondere all’utente all’inizio dell’intento.
     + **Prompt di conferma e risposte**: vengono utilizzati per confermare o rifiutare l’adempimento dell’intento. Il prompt di conferma chiede all’utente di rivedere i valori degli slot. Ad esempio, “Ho prenotato una camera d’albergo per venerdì. È corretto?” La risposta di rifiuto viene inviata all’utente quando quest’ultimo rifiuta la conferma. 
     + **Messaggio di risposta di chiusura**: questa è la risposta inviata all’utente dopo che l’intento è stato compiuto e tutti gli altri messaggi sono stati riprodotti. Ad esempio, “Grazie per aver prenotato una camera d’albergo.” 

Per ulteriori informazioni sugli intenti per i bot, gli intenti e le configurazioni avanzate di Amazon Lex, consulta Adding [intents nella](https://docs.aws.amazon.com/lexv2/latest/dg/add-intents.html) *Amazon* Lex V2 Developer Guide.

# Creare un flusso e aggiungere il bot di IA conversazionale
<a name="create-bot-flow"></a>

Questo argomento spiega come aggiungere un bot di IA conversazionale creato in precedenza a un flusso. 

1. Nel menu di navigazione in Amazon Connect scegli **Routing**, **Flussi**, **Crea flusso**, quindi digita un nome per il flusso.

1. Sotto **Interagisci** trascina un blocco [Recupera input cliente](get-customer-input.md) nel designer e connettilo al blocco del punto di **ingresso**.

1. Scegli il blocco [Recupera input cliente](get-customer-input.md) per aprirlo.

1. Nella scheda Amazon Lex, utilizza i menu a discesa per selezionare il bot creato in precedenza e l’alias, come mostrato nell’immagine seguente.  
![\[Proprietà del blocco Recupera input cliente, con la scheda Amazon Lex.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/get-customer-input-lextab.png)

1. **Nella sezione **Richiesta del cliente o inizializzazione del bot**, scegli il testo della chat. Text-to-speech **

1. Digitare un messaggio che fornisca agli intermediari le informazioni su cosa possono fare. Ad esempio, utilizza un messaggio che corrisponda agli intenti utilizzati nel bot, come *Per verificare il saldo del conto, premi o pronuncia 1. Per parlare con un agente, premi o pronuncia 2*. L’immagine seguente mostra il messaggio nella pagina delle proprietà per il blocco [Recupera input cliente](get-customer-input.md).  
![\[Sezione Richiesta del cliente o inizializzazione del bot del blocco Recupera input cliente.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/customer-prompt-bot-initialization.png)

1. Sotto **Intenti**, scegli **Aggiungi un intento**, quindi inserisci o cerca gli intenti del cliente che dovrebbero attivare il bot.   
![\[Sezione Intenti, con il pulsante Aggiungi un intento e il pulsante di ricerca.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/add-intent.png)

   Quando cerchi gli intenti, puoi filtrare in base alle impostazioni locali. L’impostazione locale viene utilizzata solo per filtrare le voci; non è legata all’impostazione locale quando il bot viene attivato. Ad esempio, potresti trovare l' BookHotel intento utilizzando la versione locale inglese (USA), ma l'intento può essere restituito correttamente sia in inglese (USA) che in inglese (GB).

   Per ulteriori informazioni su come trovare gli intenti, consulta [Come trovare gli intenti](#find-notlisted-intents). 

   L’immagine seguente mostra la finestra di dialogo per filtrare gli intenti in base all’impostazione locale.  
![\[Opzione di ricerca, con la finestra di dialogo Filtra utilizzando le impostazioni locali per aggiungere l’intento.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/filter-intents.png)

1. Scegli **Save** (Salva).

**Importante**  
Se utilizzi un bot Amazon Lex V2, l'attributo della lingua in Amazon Connect deve corrispondere al modello linguistico utilizzato per creare il bot Lex. Questo è diverso da Amazon Lex (Classic). Usa un blocco [Imposta voce](set-voice.md#set-voice-lexv2bot) per indicare il modello linguistico di Amazon Connect oppure usa un blocco [Set contact attributes (Imposta attributi contatti)](set-contact-attributes.md).

## Come trovare gli intenti per i bot Amazon Lex V1, i bot multi-Regione o i bot impostati dinamicamente
<a name="find-notlisted-intents"></a>

La casella a discesa **Intenti** non elenca gli intenti per i bot Amazon Lex V1, i bot multi-Regione oppure se l’ARN del bot è impostato dinamicamente. Prova le seguenti opzioni per trovare questi intenti.
+ Controlla se il **AmazonConnectEnabled**tag è impostato su true:

  1. Apri la console Amazon Lex, scegli **Bot**, selezionalo, quindi scegli **Tag**.

  1.  Se il **AmazonConnectEnabled**tag non è presente, add **AmazonConnectEnabled = true**.

  1.  Torna al sito web Amazon Connect di amministrazione. Aggiorna il designer di flusso per visualizzare le selezioni nel blocco **Recupera input cliente**.
+ Controlla se la versione è associata all’alias: 

  1. Nel sito web di Amazon Connect amministrazione, scegli **Routing**, **Flows**, bot, **Alias**. Verifica che l’opzione **Utilizzo nel flusso e nei moduli di flusso** sia abilitata, come mostrato nell’immagine seguente.  
![\[Scheda Alias, con l’interruttore Utilizzo nel flusso e nei moduli di flusso.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-alias-enabled.png)

  1. Aggiorna il designer di flusso per visualizzare le selezioni nel blocco **Recupera input cliente**.

# Configurazione di provider vocali di terze parti in Amazon Connect
<a name="configure-third-party-speech-providers"></a>

Puoi configurare provider di terze parti speech-to-text (STT) e text-to-speech (TTS) in Amazon Connect per espandere la copertura linguistica, migliorare la precisione del riconoscimento e fornire un parlato sintetizzato più espressivo. Questa sezione descrive come configurare i provider STT di terze parti per i bot e i provider TTS di terze parti da utilizzare nei flussi di contatti.

**Topics**
+ [Configurare provider di terze parti speech-to-text (STT)](configure-third-party-stt.md)
+ [Configura provider di terze parti text-to-speech (TTS)](configure-third-party-tts.md)
+ [Endpoint e regioni per provider STT di terze parti](endpoints-regions-third-party-stt.md)
+ [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md)

# Configurare provider di terze parti speech-to-text (STT)
<a name="configure-third-party-stt"></a>

Utilizza le seguenti istruzioni per configurare un provider di terze parti speech-to-text (STT).

## Prerequisiti
<a name="stt-prerequisites"></a>
+ Un bot con una locale esistente.
+ Una chiave API del provider STT di terze parti memorizzata in Gestione dei segreti AWS. Per ulteriori informazioni sulla memorizzazione delle chiavi API come segreti in Secrets Manager, consulta [Creare un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Una politica delle risorse di Secrets Manager che consente ad Amazon Connect di recuperare il segreto. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).
+ AWS KMS key autorizzazioni che consentono la decrittografia. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).
+ Un ID modello di provider e Secrets Manager ARN.

## Fase 1: Aprire il pannello di configurazione del modello vocale
<a name="stt-step1"></a>

1. Accedi al sito Web di amministrazione di Amazon Connect.

1. Scegli **Bot**, quindi scegli il bot.

1. Scegli il locale.

1. Nella sezione **Modello vocale**, scegli **Modifica** per aprire la modalità di configurazione.  
![\[La pagina di configurazione per il tuo bot di intelligenza artificiale conversazionale.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/01-airlinesbot.png)

## Fase 2: Scegli il tipo di modello
<a name="stt-step2"></a>

Nel menu a discesa **Tipo di modello**, scegli **Speech-to-Text** (STT). Ciò garantisce che il locale sia configurato per la trascrizione anziché. speech-to-speech

![\[La finestra di dialogo del modello vocale.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/02-speech-model.png)


## Fase 3: Rivedere le impostazioni del modello vocale predefinito
<a name="stt-step3"></a>

Per impostazione predefinita, Amazon è selezionato come speech-to-text provider. Controlla le impostazioni correnti prima di passare a un provider di terze parti.

![\[La finestra di dialogo del modello vocale con Amazon selezionato come provider vocale.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/03-speech-model-amazon.png)


## Passaggio 4: scegli un provider STT di terze parti
<a name="stt-step4"></a>

Apri il menu a discesa **Voice provider** e scegli un provider terzo speech-to-text supportato.

![\[La finestra di dialogo del modello vocale con Deepgram selezionato come provider vocale.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/04-speech-model-deepgram.png)


## Fase 5: Inserire l'ID del modello e l'ARN di Secrets Manager
<a name="stt-step5"></a>

1. In **Model ID**, inserisci il nome del modello del provider.
   + Alcuni provider richiedono una lunghezza minima o massima.
   + Il modello fa IDs distinzione tra maiuscole e minuscole e deve corrispondere alla documentazione del fornitore.

1. In **Secrets Manager ARN**, inserisci l'ARN del segreto che contiene la chiave API del provider.
   + Il segreto deve trovarsi nella stessa regione dell'istanza Amazon Connect.
   + Le politiche chiave di Secrets Manager e KMS devono consentire ad Amazon Connect di accedere e decrittografare la chiave. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).

1. Scegli **Continua** per salvare le modifiche.

## Crea e attiva la versione locale
<a name="stt-build-activate"></a>

Se la versione locale mostra **modifiche non integrate**, scegli la **lingua di compilazione**. Le nuove impostazioni STT diventano attive dopo una compilazione riuscita.

## Comportamento in fase di esecuzione (STT)
<a name="stt-runtime-behavior"></a>
+ Amazon Connect indirizza l'audio al speech-to-text provider terzo selezionato.
+ Non sono necessarie modifiche ai flussi o alle funzioni Lambda.
+ Nei log vengono visualizzati errori come credenziali non valide o modello IDs non valido.
+ Le metriche e le analisi continuano a funzionare normalmente.

## Risoluzione dei problemi (STT)
<a name="stt-troubleshooting"></a>
+ **ID modello non valido**: confermare il valore con la documentazione del fornitore.
+ **Accesso negato**: verifica le autorizzazioni di Secrets Manager e KMS.
+ La **compilazione locale non riesce**: assicurati che i campi obbligatori siano validi.
+ **Latenza elevata**: convalida la configurazione della regione del provider.

# Configura provider di terze parti text-to-speech (TTS)
<a name="configure-third-party-tts"></a>

Utilizza le seguenti istruzioni per configurare un provider di terze parti text-to-speech (TTS).

## Prerequisiti
<a name="tts-prerequisites"></a>
+ Esiste un flusso di contatti (oppure sei autorizzato a crearne uno).
+ Una chiave API del provider TTS di terze parti memorizzata in Gestione dei segreti AWS. Per ulteriori informazioni sulla memorizzazione delle chiavi API come segreti in Secrets Manager, consulta [Creare un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Una politica delle risorse di Secrets Manager che consente ad Amazon Connect di recuperare la chiave. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).
+ AWS KMS key autorizzazioni che consentono la decrittografia. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).
+ Modello e valori vocali specifici del provider.

## Fase 1: Aprire il flusso di contatti
<a name="tts-step1"></a>

1. Accedi al sito Web di amministrazione di Amazon Connect.

1. Scegli **Flows**.

1. Scegli un flusso esistente o creane uno nuovo.

## Passaggio 2: aggiungi o scegli un blocco vocale Set
<a name="tts-step2"></a>

1. Nel designer Flow, cerca **Set voice**.

1. Trascina il blocco sull'area di disegno o scegline uno esistente.

1. Scegli il blocco per aprirne il pannello di configurazione.

## Passaggio 3: scegli un provider TTS di terze parti
<a name="tts-step3"></a>

Nel menu a discesa **Voice provider**, scegli il text-to-speech provider di terze parti che desideri utilizzare.

![\[Il riquadro di configurazione «Imposta voce» mostra un elenco a discesa di provider vocali.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/08-set-voice-amazon.png)


## Fase 4: Specificare il modello, la voce, l'ARN di Secrets Manager e la lingua
<a name="tts-step4"></a>

1. In **Modello**, scegli **Imposta manualmente** e inserisci il modello del provider.

1. In **Voce**, scegli **Imposta manualmente** e inserisci la voce del provider.

1. In **Secrets Manager ARN**, scegli **Imposta manualmente** e inserisci l'ARN del segreto del provider.
   + Il segreto deve essere lo stesso. Regione AWS
   + Gestione dei segreti AWS e le politiche KMS devono consentire il recupero e la decrittografia. Per ulteriori informazioni, consulta [Gestione dei segreti e delle politiche relative alle risorse](managing-secrets-resource-policies.md).

1. In **Lingua**, scegli **Imposta manualmente** e scegli una lingua supportata dalla voce del provider.  
![\[Il riquadro di configurazione «Provider vocale» che mostra il provider vocale ElevenLabs di terze parti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/Lex/09-voice-provider-elevenlabs.png)

## Passaggio 5: salvare e pubblicare il flusso
<a name="tts-step5"></a>

1. Scegli **Salva** nel designer di Flow.

1. Scegli **Pubblica** per attivare le impostazioni di flusso aggiornate.

## Comportamento in fase di esecuzione (TTS)
<a name="tts-runtime-behavior"></a>
+ Amazon Connect invia testo al provider TTS per la sintesi.
+ L'audio restituito viene riprodotto al cliente.
+ I log di esecuzione includono errori del provider, ad esempio credenziali o valori del modello non validi.

## Risoluzione dei problemi (TTS)
<a name="tts-troubleshooting"></a>
+ **Nessuna uscita audio**: convalida i valori del modello e della voce.
+ **Errori di autenticazione**: verifica le autorizzazioni di Secrets Manager e KMS.
+ **Attributi dinamici**: assicurati che i valori di runtime si risolvano in parametri del provider validi.
+ **Alta latenza**: convalida l'allineamento delle regioni del provider.

# Endpoint e regioni per provider STT di terze parti
<a name="endpoints-regions-third-party-stt"></a>

Per impostazione predefinita, Amazon Connect comunica con i seguenti endpoint:

**Deepgram: [https://api.deepgram.com](https://api.deepgram.com)**

**ElevenLabs**[: https://api.elevenlabs.io](https://api.elevenlabs.io)

Puoi specificare una regione del provider diversa insieme alla tua chiave API come parte dell'oggetto JSON:

```
{
  "apiToken": "XXXXX",
  "apiTokenRegion": "xx"
}
```

Sono supportate le seguenti regioni:


| **Provider** | **apiTokenRegion** | **Endpoint** | 
| --- | --- | --- | 
| Deepgram | eu | [https://api.eu.deepgram.com](https://api.eu.deepgram.com)(supportato solo per speech-to-text) | 
| Deepgram | \$1SHORT\$1UID\$1. \$1REGION\$1SOTTODOMINIO\$1 | https://\$1SHORT\$1UID\$1.\$1REGION\$1SUBDOMAIN\$1.api.deepgram.com(Endpoint dedicati Deepgram) | 
| ElevenLabs | us | [https://api.us.elevenlabs.io](https://api.us.elevenlabs.io) | 
| ElevenLabs | eu | [https://api.eu.residency.elevenlabs.io](https://api.eu.residency.elevenlabs.io) | 
| ElevenLabs | in | [https://api.in.residency.elevenlabs.io](https://api.in.residency.elevenlabs.io) | 

# Gestione dei segreti e delle politiche relative alle risorse
<a name="managing-secrets-resource-policies"></a>

Quando [configuri un provider vocale di terze parti](configure-third-party-speech-providers.md), dovrai creare un segreto in Secrets Manager che contenga la chiave API del provider vocale. La creazione del segreto è un processo in due fasi:
+ Crea il segreto contenente la chiave API. Per istruzioni, consulta [Creare un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html).
+ Configura le autorizzazioni necessarie:
  + Allega una politica basata sulle risorse al segreto.
  + Allega una policy basata sulle risorse alla chiave KMS (non alla chiave API) associata al segreto. La chiave KMS protegge la chiave API nel segreto.

  Queste politiche consentono ad Amazon Connect di accedere alla chiave API all'interno del segreto. Tieni presente che non puoi utilizzare la chiave `aws/secretsmanager` KMS predefinita; dovrai creare una nuova chiave o utilizzare una chiave esistente gestita dal cliente. Per ulteriori informazioni su come le chiavi KMS proteggono i segreti, vedi [Crittografia e decrittografia segrete in Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html).

Assicurati che la politica basata sulle risorse per il segreto includa le condizioni sostitutive `aws:SourceAccount` e `aws:SourceArn` confuse (vedi Il [problema del vice confuso) e che la](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) politica basata sulle risorse per la chiave KMS includa la condizione. `kms:EncryptionContext:SecretARN` Ciò garantirà che Amazon Connect possa accedere alla tua chiave API segreta solo nel contesto di una singola istanza specifica e possa accedere alla tua chiave KMS solo nel contesto sia di quell'istanza che del segreto specifico.

## Esempio di policy basata sulle risorse per i segreti di Secrets Manager
<a name="example-resource-policy-secrets-manager"></a>

Di seguito è riportato un esempio di policy basata sulle risorse che puoi allegare al tuo segreto.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///"
        }
      }
    }
  ]
}
```

## Esempio di politica basata sulle risorse per s AWS KMS key
<a name="example-resource-policy-kms-keys"></a>

Di seguito è riportato un esempio di politica basata sulle risorse che puoi allegare alla tua chiave KMS.

```
{
  "Version":"2012-10-17",		 	 	                    
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "connect.amazonaws.com"
        ]
      },
      "Action": "kms:Decrypt",
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "aws:sourceArn": "///the ARN of your Amazon Connect instance///"
        },
        "StringEquals": {
          "aws:sourceAccount": "///Your account ID///",
          "kms:EncryptionContext:SecretARN": "///the ARN of your secrets manager secret///"
        }
      }
    }
  ]
}
```

## Allegare una policy basata sulle risorse al segreto di Secrets Manager
<a name="attaching-resource-policy-secrets-manager"></a>

[Per allegare una politica basata sulle risorse al tuo segreto, vai alla console Secrets Manager all'interno di Console di gestione AWS, vai al tuo segreto, scegli **Modifica autorizzazioni o Autorizzazioni****risorse** e quindi aggiungi o modifica la politica delle risorse direttamente nella pagina in modo che sia simile all'esempio.](#example-resource-policy-secrets-manager) Puoi anche allegare la politica delle risorse tramite il `put-resource-policy` comando AWS CLI's o a livello di codice utilizzando l'operazione API. [PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html)

## Allegare una politica basata sulle risorse alla chiave KMS
<a name="attaching-resource-policy-kms-key"></a>

[Per allegare una politica basata sulle risorse alla tua chiave KMS, vai alla AWS Key Management Service console all'interno di, vai alla tua chiave KMS e modifica la Console di gestione AWS politica chiave in modo che assomigli all'esempio.](#example-resource-policy-kms-keys) Puoi anche aggiornare la chiave tramite il `put-key-policy` comando AWS CLI's o a livello di codice utilizzando l'operazione API. [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html)

## Chiavi API rotanti
<a name="rotating-api-keys"></a>

Consigliamo di ruotare le chiavi API almeno ogni 90 giorni per ridurre al minimo il rischio di compromissione e mantenere un processo di rotazione delle chiavi ben consolidato per le situazioni di emergenza.

Per ruotare una chiave API, devi ruotare il segreto in cui è contenuta. Per ulteriori informazioni su come [ruotare i segreti](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html), consulta Rotate *Secrets Manager nella Guida per l'utente* di Secrets Manager. Quando ruoti una chiave API, ti consigliamo di attendere che l'utilizzo della chiave precedente scenda a zero prima di revocare la vecchia chiave API per garantire che le richieste in corso non vengano influenzate.

# Crea un intento per agenti Connect AI da un'istanza Amazon Connect
<a name="create-qic-intent-connect"></a>

Puoi utilizzare le funzionalità di intelligenza artificiale generativa fornite dagli agenti Connect AI per il tuo bot abilitando [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)nel tuo bot. Si tratta di un intento incorporato in Amazon Lex. 

Completa i seguenti passaggi per abilitare gli agenti Connect AI.

1. Apri il bot per il quale desideri aggiungere **AMAZON. QinConnectIntent**intento.

1. Vai alla scheda **Configurazione** nell’interfaccia del generatore di bot.

1. Abilita **AMAZON. QinConnectIntent**intento impostando l'interruttore su on. L’immagine seguente mostra la posizione dell’interruttore.  
![\[Una pagina di configurazione di esempio per un bot non configurato.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/enable-qic-bot.png)

   L'interruttore **Connect AI agent intent** è supportato solo per i bot creati direttamente all'interno del sito Web di amministrazione. Amazon Connect Per aggiungere le funzionalità di Amazon Q agli intenti per i bot creati al di fuori del sito Web di Amazon Connect amministrazione, utilizza la console Amazon Lex per aggiornare la configurazione.

1. Nella finestra di dialogo **Enable Connect AI agent intent**, utilizza il menu a discesa per scegliere l'Amazon Resource Name (ARN) dell'intento Connect AI agent.  
![\[Una finestra di dialogo Enable Connect AI Agents Intent.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/qic-intent-dropdownbox.png)

1. Scegli **Conferma** per aggiungere **AMAZON. QinConnectIntent**supporto alle intenzioni.
**Importante**  
Non puoi usare **AMAZON. **QInConnectIntent**insieme a intenti senza enunciazioni specifiche come **Amazon.qn, AMAZON AIntent**. BedrockAgentIntent**nella stessa versione locale del bot. Per ulteriori informazioni, consulta [AMAZON. QinConnectIntent](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-qinconnect.html)nella *Amazon Lex V2 Developer Guide*. 

# Creare versioni e alias dei bot in Amazon Connect
<a name="create-bot-version"></a>

Per controllare qual è l’implementazione del bot utilizzata dal tuo client, puoi creare versioni e alias. 
+ Una versione funge da snapshot numerato del lavoro.
+ Puoi far sì che un alias punti alla versione del bot che desideri rendere disponibile ai clienti.

Mentre crei le versioni, puoi continuare ad aggiornare la versione Bozza del bot senza influire sull’esperienza del cliente. Questo processo è fondamentale per l’implementazione dei bot in un ambiente di produzione. 

## Creare una versione
<a name="create-bot-version1"></a>

La creazione di una nuova versione preserva lo stato attuale della configurazione del bot. Completa i seguenti passaggi per creare una nuova versione del tuo bot Amazon Lex in Amazon Connect.

1. Apri il bot per cui desideri creare una nuova versione.

1. Scegli la scheda **Versioni**, quindi scegli **Crea versione**.  
![\[Scheda Versioni, con il pulsante Crea versione.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-versionstab.png)

1. Nella finestra di dialogo **Crea versione**:

   1. Inserisci una descrizione della versione (facoltativa, ma consigliata per tenere traccia delle modifiche)

   1. Scegli **Create** (Crea). L’immagine seguente mostra un esempio di finestra di dialogo **Crea versione**.  
![\[Una finestra di dialogo Crea versione.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/create-version-bot.png)

Dopo aver creato la versione, puoi associarla agli alias o utilizzarla per ripristinare uno stato precedente del bot.

## Creare un alias
<a name="create-bot-alias-association"></a>

Un alias è un puntatore a una specifica versione di un bot Con un alias è possibile aggiornare facilmente la versione utilizzata dalle applicazioni client. Ad esempio, puoi far sì che un alias punti alla versione 1 del bot. Quando è tutto pronto per aggiornare il bot, puoi creare la versione 2 del bot e modificare l’alias in modo che punti alla nuova versione. Poiché le applicazioni utilizzano l'alias anziché una versione specifica, tutti i client otterranno la nuova funzionalità senza necessità di un aggiornamento. Ciò consente rollout controllati e semplifica la gestione delle versioni. 

**Importante**  
Se desideri utilizzare il bot in un flusso, assicurati di scegliere **Abilita per l’uso nel flusso e nei moduli di flusso** quando crei un alias.

Completa i seguenti passaggi per creare un alias per il bot Amazon Lex.

1. Apri il bot per il quale desideri aggiungere l’alias.

1. Scegli la scheda **Alias** e quindi l’opzione **Crea alias**.  
![\[Scheda Alias, con il pulsante Crea alias.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-aliases-button.png)

1. Nella finestra di dialogo **Crea alias**:

   1. Inserisci un nome univoco per l’alias.

   1. Fornisci una descrizione per l’alias (facoltativa, ma consigliata).

   1. Seleziona la versione del bot che desideri associare all’alias.

   1. (Consigliato) Scegli **Abilita per l’uso nel flusso e nei moduli di flusso**. Questa operazione è necessaria se desideri utilizzare il bot in un flusso.

   1. Scegli **Create** (Crea). L’immagine seguente mostra un esempio di finestra di dialogo **Crea alias**.  
![\[Una finestra di dialogo Crea alias.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-create-alias.png)

Per ulteriori informazioni sul controllo delle versioni e sull’aliasing in Amazon Lex V2, consulta [Controllo delle versioni e alias con il bot Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/versions-aliases.html) nella *Guida per sviluppatori di Amazon Lex V2*. 

# Valutare le prestazioni di un bot di IA conversazionale in Amazon Connect
<a name="lex-bot-analytics"></a>

Puoi utilizzare gli strumenti di analisi completi di Amazon Connect per valutare e ottimizzare le prestazioni dei bot di IA conversazionale. Queste informazioni consentono di identificare le interazioni con esito positivo, individuare i punti di errore e visualizzare i modelli di conversazione per migliorare continuamente l’esperienza dei clienti.

La dashboard di analisi include metriche chiave come Tasso di riconoscimento degli enunciati e Prestazioni delle conversazioni. Queste metriche aiutano a comprendere i tassi di esito positivo e negativo delle interazioni dei bot con i clienti.

**Nota**  
La pagina Analisi dei bot mostra i dati relativi alle conversazioni attivate solo a partire dai flussi. Puoi attivare bot esternamente utilizzando Lex APIs o integrazioni personalizzate, ma i dati relativi a tali conversazioni non vengono riportati in questa pagina.

**Come visualizzare le analisi relative ai bot**

1. Accedi al sito web di Amazon Connect amministrazione all'indirizzo https://.my.connect.aws/. *instance name* Utilizza un account amministratore o un account con le autorizzazioni del profilo di sicurezza riportate di seguito:
   + **Canali e flussi** - **Bot** - **Visualizza**
   + **Canali e flussi** - **Bot** - **Modifica**
   + **Analisi e ottimizzazione** - **Metriche storiche** - **Accesso**

1. Nel menu di navigazione di sinistra, scegli **Instradamento**, **Flussi**.

1. Nella pagina **Flussi**, scegli **Bot**, scegli il bot di cui desideri valutare le prestazioni, quindi scegli **Analisi**.  
![\[Pagina Flussi, con la scheda Analisi.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-analytics1.png)

 L’immagine seguente mostra alcuni dati di analisi di esempio.

![\[Scheda Analisi con dati di analisi di esempio per un bot.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-analytics.png)


Utilizza queste analisi per identificare le opportunità di miglioramento, perfezionare le risposte dei bot e migliorare l’esperienza complessiva dei clienti.

Per ulteriori metriche e tecniche di analisi avanzate specifiche per Amazon Lex, consulta [Monitoraggio delle prestazioni dei bot in Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/monitoring-bot-performance.html).

# Metriche e analisi dei bot di Amazon Connect
<a name="bot-metrics"></a>

[Le seguenti metriche basate sul flusso sono disponibili sulla e sulla V2. [Dashboard delle prestazioni dei flussi e dei bot conversazionali](flows-performance-dashboard.md) GetMetricData](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html)

## Tempo medio di conversazione dei bot
<a name="average-bot-conversation-time-metric"></a>

Questa metrica misura la durata media delle conversazioni completate per le quali la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate. 

**Tipo di metrica**: stringa (*hh:mm:ss*)

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `AVG_BOT_CONVERSATION_TIME`

   Può essere filtrata in base a specifici risultati di conversazione con un filtro a livello di metrica `BOT_CONVERSATION_OUTCOME_TYPE`.

**Logica di calcolo**:
+ Somma (ora di inizio conversazione - ora di fine conversazione di tutte le conversazioni filtrate) / (conteggio di tutte le conversazioni filtrate)

**Note:**
+ I dati per questa metrica sono disponibili a partire dalle ore 00:00:00 GMT del 2 dicembre 2024.

## Media dei turni di conversazione del bot
<a name="average-bot-conversation-turns-metric"></a>

Questa metrica fornisce il numero medio di turni per le conversazioni completate per le quali la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate. 

Un singolo turno è una richiesta dall’applicazione client e una risposta dal bot.

**Tipo di metrica**: Double

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'[API V2:](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) `AVG_BOT_CONVERSATION_TURNS`

   Può essere filtrata in base a specifici risultati di conversazione con un filtro a livello di metrica `BOT_CONVERSATION_OUTCOME_TYPE`.

**Logica di calcolo**:
+ Somma (turni di conversazione di tutte le conversazioni filtrate) / (numero di tutte le conversazioni filtrate)

**Note:**
+ I dati per questa metrica sono disponibili a partire dalle ore 00:00:00 GMT del 2 dicembre 2024.

## Conversazioni bot completate
<a name="bot-conversations-completed-metric"></a>

Questa metrica fornisce il conteggio delle conversazioni completate per le quali la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate. L’ora di fine della conversazione può essere successiva all’ora di fine specificata. 

Ad esempio, se richiedi questa metrica con ora di inizio alle 9:00 e ora di fine alle 10:00, il risultato include le conversazioni in cui la risorsa invocante (flusso o modulo di flusso):
+ è iniziata alle 9:15 e terminata alle 9:40
+ è iniziata alle 9:50 e terminata alle 10:10

ma escluderà le conversazioni per le quali la risorsa invocante (flusso o modulo di flusso):
+ è iniziata alle 8:50 e terminata alle 9:10

**Tipo di metrica**: numero intero

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'[API V2:](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) `BOT_CONVERSATIONS_COMPLETED`

  Può essere filtrata in base ai seguenti risultati di conversazione utilizzando un filtro a livello di metrica `BOT_CONVERSATION_OUTCOME_TYPE`.
  + SUCCESS: l’intendo finale nella conversazione viene categorizzato come *riuscito*.
  + FAILED: l’intento finale della conversazione non è riuscito. La conversazione ha esito negativo anche se Amazon Lex V2 utilizza `AMAZON.FallbackIntent` per impostazione predefinita.
  + DROPPED: il cliente non risponde prima che la conversazione venga categorizzata come *riuscita* o *non riuscita*.

**Logica di calcolo**:
+ Conteggio totale delle conversazioni.

**Note:**
+ I dati per questa metrica sono disponibili a partire dalle ore 00:00:00 GMT del 2 dicembre 2024.

## Intenti del bot completati
<a name="bot-intents-completed-metric"></a>

Questa metrica fornisce il numero di intenti completati. Include gli intenti per le conversazioni completate in cui la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate.

**Tipo di metrica**: numero intero

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'[API V2:](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) `BOT_INTENTS_COMPLETED`

  Può essere filtrata in base ai seguenti risultati di conversazione utilizzando un filtro a livello di metrica `BOT_CONVERSATION_OUTCOME_TYPE`.

  Può essere filtrata in base ai seguenti risultati di intenti utilizzando un filtro a livello di metrica `BOT_INTENTS_OUTCOME_TYPE`.
  + SUCCESS: il bot è riuscito a soddisfare l’intento. Si verifica una delle situazioni seguenti:
    + *Lo stato* *dell'intento è *ReadyForFulfillment*e il tipo di *DialogAction* è Close.*
    + Il valore `state` dell’intento è `Fulfilled` e il tipo di `dialogAction` è `Close`.
  + FAILED: il bot non è riuscito a soddisfare l’intento. Lo stato dell’intento. Si verifica una delle situazioni seguenti:
    + Il valore `state` dell’intento è `Failed` e il valore `type` di `dialogAction` è `Close` (ad esempio, l’utente ha rifiutato il prompt di conferma).
    + Il bot passa a `AMAZON.FallbackIntent` prima che l’intento sia completato.
  + SWITCHED: il bot riconosce un intento diverso e passa a quest’ultimo, prima che l’intento originale venga categorizzato come *riuscito* o *non riuscito*.
  + DROPPED: il cliente non risponde prima che l’intento venga categorizzato come *riuscito* o *non riuscito*.

**Logica di calcolo**:
+ Conteggio totale degli intenti.

**Note:**
+ I dati per questa metrica sono disponibili a partire dalle ore 00:00:00 GMT del 2 dicembre 2024.

## Percentuale del risultato delle conversazioni bot
<a name="percent-bot-conversations-outcome-metric"></a>

Questa metrica fornisce la percentuale del totale delle conversazioni che si sono concluse con il tipo di risultato specificato nel filtro a livello di metrica (`BOT_CONVERSATION_OUTCOME_TYPE`). Include solo le conversazioni completate per cui la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate. 

**Tipo di metrica**: percentuale

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'[API V2:](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) `PERCENT_BOT_CONVERSATIONS_OUTCOME`

**Come accedere utilizzando il sito Web di amministrazione**: Amazon Connect 

**Logica di calcolo**:
+ (Numero di conversazioni con BOT\$1CONVERSATION\$1OUTCOME\$1TYPE) / (Numero totale di conversazioni) \$1 100

**Note:**
+ I dati per questa metrica sono disponibili a partire dalle ore 00:00:00 GMT del 2 dicembre 2024.

## Percentuale del risultato degli intenti bot
<a name="percent-bot-intents-outcome-metric"></a>

Questa metrica fornisce la percentuale degli intenti che si sono conclusi con il tipo di risultato specificato nel filtro a livello di metrica (`BOT_INTENT_OUTCOME_TYPE`). Include gli intenti nelle conversazioni completate in cui la risorsa invocante (flusso o modulo di flusso) è iniziata tra l’ora di inizio e di fine specificate.

**Tipo di metrica**: percentuale

**Categoria della metrica**: metrica basata sul flusso

**Come accedere utilizzando l’API Amazon Connect**: 
+ GetMetricDataIdentificatore metrico dell'API [V2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html): `PERCENT_BOT_INTENTS_OUTCOME`

**Come accedere utilizzando il sito Web di amministrazione**: Amazon Connect 

**Logica di calcolo**:
+ (Numero di intenti con BOT\$1INTENT\$1OUTCOME\$1TYPE) / (Numero totale di intenti) \$1 100

# Supporto della configurazione avanzata di bot in Amazon Connect
<a name="bot-advanced-config"></a>

La funzionalità di configurazione avanzata ti consente di eseguire personalizzazioni dettagliate al tuo bot senza accedere alla console di Amazon Lex.

1. Nel sito web di Amazon Connect amministrazione, nella barra di navigazione a sinistra, scegli **Flows**. Scegli la scheda **Bot**, quindi scegli il bot con cui desideri lavorare.

1. Scegli il pulsante **Configurazioni avanzate**, come mostrato nell’immagine seguente.  
![\[Pulsante Configurazioni avanzate nella pagina dei dettagli di un bot.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-advanced-config.png)

   Questa azione passerà alla visualizzazione di un’interfaccia più dettagliata in cui potrai accedere a più funzionalità per personalizzare il bot. 

1. Per tornare alla interfaccia utente semplice del bot, scegli **Riepilogo della configurazione**, come mostrato nell’immagine seguente.  
![\[Una pagina Configurazione avanzata, con il pulsante Riepilogo della configurazione.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/bot-adv-config2.png)

# Aggiunta di un bot Amazon Lex ad Amazon Connect
<a name="amazon-lex"></a>

**Importante**  
**Avviso di fine del supporto**: il 15 settembre 2025 AWS interromperà il supporto per Amazon Lex V1. Dopo il 15 settembre 2025, non potrai più accedere alla console di Amazon Lex V1 o alle risorse di Amazon Lex V1. Per ulteriori informazioni sulla migrazione ad Amazon Lex V2, consulta [Migrazione di un bot](https://docs.aws.amazon.com/lex/latest/dg/migrate.html).

In questo articolo descriviamo i passaggi per aggiungere un bot Amazon Lex ad Amazon Connect. 

Con Amazon Lex puoi creare interazioni conversazionali (bot) percepite come naturali dai clienti. Amazon Connect con bot Amazon Lex può acquisire anche l'input dei clienti, ad esempio le cifre immesse tramite il tastierino numerico all'interno di un flusso Amazon Connect. In questo modo i clienti possono scegliere come inserire le informazioni riservate, ad esempio il numero del conto. 

Per seguire questa procedura dettagliata, è necessario quanto segue: 
+ Un account attivo. AWS 
+ Un'istanza Amazon Connect. 

**Suggerimento**  
Puoi usare Amazon Lex anche per sviluppare messaggi interattivi per la chat Amazon Connect. I messaggi interattivi sono messaggi avanzati che presentano un prompt e opzioni di visualizzazione preconfigurate tra cui il cliente può scegliere. Questi messaggi sono alimentati da Amazon Lex e configurati tramite Amazon Lex utilizzando una funzione Lambda. Per ulteriori informazioni, consulta [Aggiunta di messaggi interattivi Amazon Lex per i clienti in chat](interactive-messages.md).

## Creazione di un bot Amazon Lex
<a name="lex-bot-create"></a>

In questo passaggio crei un bot personalizzato per dimostrare l'integrazione di "Press or Say" con Amazon Connect. Il bot richiede agli intermediari di premere o pronunciare un numero corrispondente all'opzione di menu per il completamento dell'attività. In questo caso, l'input sta verificando il saldo del conto.

------
#### [ Amazon Lex ]

1. Apri la [console Amazon Lex](https://console.aws.amazon.com/lexv2/home).

1. Scegli **Crea bot**.

1. Nella pagina **Configura le impostazioni dei bot** scegli **Crea – Crea un bot vuoto** e immetti le informazioni seguenti:
   + **Nome del bot**: per questa procedura dettagliata, assegna un nome al bot. **AccountBalance**
   + **Autorizzazioni IAM**: seleziona un ruolo se ne hai creato uno. In caso contrario, scegli **Crea un ruolo con autorizzazioni Amazon Lex di base**.
   + **COPPA**: specifica se il bot è soggetto al Children Online Privacy Protection Act.
   + **Timeout sessione**: specifica per quanto tempo il bot deve attendere l'input di un chiamante prima di terminare la sessione.

1. Scegli **Next (Successivo)**.

1. Immetti le informazioni specifiche per la lingua e la voce:
   + **Lingua**: seleziona una lingua e le impostazioni locali tra quelle presenti nell'elenco [Lingue e impostazioni locali supportate da Amazon Lex](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html). 
   + **Interazione vocale**: seleziona la voce che il bot userà per parlare con i chiamanti. La voce predefinita di Amazon Connect è Joanna.

1. Seleziona **Fatto**. Il AccountBalance bot viene creato e viene visualizzata la pagina **Intent**.

------
#### [ Amazon Lex (Classic) ]

1. Apri la [console Amazon Lex](https://console.aws.amazon.com/lex/).

1. Se si tratta della tua prima creazione di un bot, seleziona **Get Started** (Inizia). In caso contrario, scegli **Bot, Crea**.

1. Nella pagina **Create your bot (Crea bot)** seleziona **Custom bot (Bot personalizzato)** e fornisci le seguenti informazioni:
   + **Nome bot**: per questa procedura dettagliata, assegna un nome al bot. **AccountBalance**
   + **Voce output**: seleziona la voce che il bot userà per parlare con i chiamanti. La voce predefinita di Amazon Connect è Joanna.
   + **Timeout sessione**: specifica per quanto tempo il bot deve attendere l'input di un chiamante prima di terminare la sessione.
   + **COPPA**: specifica se il bot è soggetto al Children Online Privacy Protection Act.

1. Scegli **Create** (Crea).

------

## Configurazione del bot Amazon Lex
<a name="lex-bot-configure"></a>

In questo passaggio determini come il bot risponde ai clienti fornendo intenti, espressioni di esempio, slot per l'input e la gestione degli errori.

Per questo esempio, configuri il bot con due intenti: uno per cercare le informazioni sull'account e un altro per parlare con un agente.

### Crea intento AccountLookup
<a name="lex-bot-create-account-lookup-intent"></a>

------
#### [ Amazon Lex ]

1. Dopo aver creato il bot, ti trovi nella pagina **Intenti** della console Amazon Lex. **Se non ci sei, puoi arrivarci scegliendo **Bot, **Versioni bot **AccountBalance******, **Versione bozza, Intenti**.** Scegli **Aggiungi intento** e quindi **Aggiungi intento vuoto**.

1. Nella casella **Nome dell'intento**, inserisci. **AccountLookup**

1. Scorri la pagina verso il basso fino a **Affermazioni di esempio**. In questa fase inserite gli enunciati che consentono al cliente di manifestare l'intento. AccountLookup Immetti gli enunciati seguenti e scegli **Aggiungi enunciazione** dopo ciascuno. 
   + **Controlla il saldo del mio conto**
   + **Uno**: in questo modo si assegna l'espressione di «uno» o la pressione di un tasto «1" all'intento. **AccountLookup**

   L'immagine seguente mostra dove aggiungere l'enunciato nella sezione **Affermazioni di esempio**.  
![\[Sezione Affermazioni di esempio nella pagina Intenti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-enter-utterances.png)

1. Scorri fino alla sezione **Slot** e scegli **Aggiungi slot**. Configura le opzioni nella finestra in questo modo:

   1. Casella **Obbligatorio per questo intento**: selezionata.

   1. **Nome =. **AccountNumber**** 

   1. **Tipo di slot**: **Amazon.Number**. 

   1. **Prompt**: testo da pronunciare al momento della risposta alla chiamata. Ad esempio, chiedere agli intermediari di inserire il numero di conto utilizzando il tastierino: **Utilizzando il tastierino a toni, inserisci il numero di conto**. Scegliere **Aggiungi**.

   L'immagine seguente mostra la sezione **Aggiungi slot** completata.  
![\[Sezione Aggiungi slot nella pagina Intenti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-add-slots.png)

1. Scorri fino alla sezione **Risposte di chiusura**. Aggiungi il messaggio che il bot comunicherà ai clienti. Ad esempio, **Il saldo del tuo conto è 1.234,56 euro**. In questa procedura dettagliata non otterremo effettivamente i dati, ma lo faremmo in uno scenario reale.

   L'immagine seguente mostra la sezione **Risposte di chiusura** completata.  
![\[Sezione Risposte di chiusura nella pagina Intenti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-response1.png)

1. Scegliere **Salva intento**.

------
#### [ Amazon Lex (Classic) ]

1. Nella console Amazon Lex fai clic sull'icona **\$1** accanto a **Intenti** e quindi scegli **Crea nuovo intento**.

1. Assegna un nome all'intento. **AccountLookup**

1. Aggiungere una frase di esempio, ad esempio *Controlla il saldo del conto* e scegliere l'icona **\$1**.

1. Aggiungere una seconda frase, ad esempio *Uno* e scegliere l'icona **\$1**. Questo assegna all'intento l'espressione di «uno» o la pressione di un tasto «1". **AccountLookup**
**Suggerimento**  
È necessario aggiungere un'enunciazione di "uno" nel bot e non il numero "1". Il motivo è che Amazon Lex non supporta direttamente input numerici. Per ovviare a questo problema, più avanti in questa procedura dettagliata useremo un input numerico per interagire con un bot Lex richiamato da un flusso. 

1. In **Slot, aggiungi uno slot** denominato. **AccountNumber**

   L'immagine seguente mostra la posizione della sezione **Slot** nella pagina.  
![\[Sezione Slot nella pagina Intenti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-slots.png)

1. Per **Tipo di slot**, usare il menu a discesa per scegliere **AMAZON.NUMBER**.

1. Per **Prompt**, aggiungere il testo da citare quando si risponde alla chiamata. Ad esempio, chiedere agli intermediari di inserire il numero di conto utilizzando il tastierino: *Utilizzando il tastierino a toni, inserisci il numero di conto*.

1. Scegli l'icona \$1.

1. Verificare che la casella di controllo **Obbligatorio** sia selezionata.

1. Nella sezione **Risposta**, aggiungere un messaggio che il bot deve dire ai clienti. Ad esempio, **Il saldo del tuo conto è 1.234,56 euro**. 

1. Scegliere **Save Intent (Salva intento)**.

------

### Crea SpeakToAgent intento
<a name="lex-bot-create-speaktoagent-intent"></a>

------
#### [ Amazon Lex ]

1. Passa alla pagina **Intenti** e scegli **Torna alla lista intenti**. 

1. Scegli **Aggiungi intento** e quindi **Aggiungi intento vuoto**. 

1. **Nella casella **Nome dell'intento**, immettete **SpeakToAgent**, quindi scegliete Aggiungi.** 

1. Scorri la pagina verso il basso fino alla sezione **Affermazioni di esempio**. Inserisci le seguenti espressioni, che consentono al cliente di esprimere l'intento: SpeakToAgent 
   + **Parlare con un agente**
   + **Due**

1. Scorri verso il basso fino alla sezione **Risposte di chiusura**. Aggiungi il messaggio che il bot comunicherà ai clienti. Ad esempio, **Va bene, un agente sarà disponibile a breve**.

1. Scegliere **Salva intento**.

------
#### [ Amazon Lex (Classic) ]

1. Nella console Amazon Lex fai clic sull'icona **\$1** accanto a **Intenti** e quindi scegli **Crea nuovo intento**.

1. Assegna un nome all'intento. **SpeakToAgent**

1. Seleziona **SpeakToAgent**.

1. Aggiungere una frase di esempio, come *Parla con un agente* e scegliere **\$1**.

1. Aggiungere una seconda frase, ad esempio *Due* e scegliere **\$1**.

1. Aggiungi un messaggio per informare i chiamanti che la chiamata sta per essere connessa a un agente. Ad esempio, "Va bene, un agente sarà disponibile a breve".

1. Scegliere **Save Intent (Salva intento)**.

------

## Creazione e test del bot Amazon Lex
<a name="lex-bot-build"></a>

Dopo avere creato il bot, assicurati che funzioni nel modo previsto.

------
#### [ Amazon Lex ]

1. Nella parte inferiore della pagina scegli **Crea**. Potrebbero essere necessari uno o due minuti. L'immagine seguente mostra la posizione del pulsante **Crea**.  
![\[Posizione del pulsante Crea nella pagina.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-build-test-intent.png)

1. Al termine, scegli **Test**.

1. Testiamo l'**AccountLookup**intento: nel riquadro della **versione di Test Draft**, nella casella **Digita un messaggio, digita** **1** e premi Invio. Digita quindi un numero di conto fittizio e premi INVIO. L'immagine seguente mostra dove immettere l'intento.  
![\[Casella in cui digitare l'intento da testare.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-test1.png)

   1. Cancella la casella del test.

   1. Digita gli intenti che vuoi testare.

1. Per confermare che l'**SpeakToAgent**intento funziona, deseleziona la casella di test, quindi digita **2** e premi Invio. L'immagine seguente mostra la casella del test dopo averla cancellata e avere immesso 2.  
![\[Casella del test.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-test2.png)

1. Chiudi il riquadro **Test versione bozza**.

------
#### [ Amazon Lex (Classic) ]

1. Seleziona **Crea**. Potrebbero essere necessari uno o due minuti.

1. Al termine, scegli **Test chatbot**, come mostrato nell'immagine seguente.  
![\[Pulsante Test chatbot sul lato destro della pagina.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-test-chatbot.png)

1. **Testiamo l'**AccountLookup**intento: nel riquadro **Test Chatbot**, nella casella **Chatta con il tuo** bot, digita 1.** Digita quindi un numero di conto fittizio. Nell'immagine seguente la freccia indica la casella in cui devi digitare 1.  
![\[Test del bot con la casella in cui digitare il messaggio.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-test-run.png)

1. Scegliere **Clear chat history (Cancella la cronologia della chat)**. 

1. **Per confermare che l'**SpeakToAgent**intento funziona, digita 2.**

------

## Creazione di una versione del bot (facoltativo)
<a name="lex-bot-create-bot-version"></a>

In questo passaggio creeremo una nuova versione del bot da usare in un alias. È il modo in cui puoi creare un alias da usare in un ambiente di produzione. Gli alias di test sono soggetti a meno limitazioni. Benché questa sia una procedura dettagliata di test, la creazione di una versione è una best practice.

------
#### [ Amazon Lex ]

1. Se ti trovi nella pagina **Intenti**, scegli **Torna alla lista intenti**.

1. Nel menu a sinistra scegli **Versioni bot**.

1. Scegli **Crea versione**.

1. Controlla i dettagli del **AccountBalance**bot, quindi scegli **Crea**.

   Viene creata una versione del bot (versione 1). Puoi passare tra versioni in un alias non di test senza tenere traccia della versione pubblicata.  
![\[Pagina Versioni con la versione 1 elencata.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-version1.png)

------

## Creazione di un alias per il bot
<a name="lex-bot-create-alias"></a>

------
#### [ Amazon Lex ]

1. Nel menu a sinistra scegli **Alias**.

1. Nella pagina **Alias** scegli **Crea alias**.

1. Nella casella **Nome alias** immetti un nome, ad esempio **Test**. Più avanti useremo questo alias per specificare questa versione del bot nel flusso. 
**Importante**  
In un ambiente di produzione, usa sempre un alias diverso da quello **TestBotAlias**per Amazon Lex e **\$1LATEST** per Amazon Lex classic. **TestBotAlias**e **\$1LATEST** supportano un numero limitato di chiamate simultanee a un bot Amazon Lex. Per ulteriori informazioni, consulta [Quote](https://docs.aws.amazon.com/lexv2/latest/dg/quotas.html#quotas-service).

1. Per **Versione associata**, scegli la versione appena creata, ad esempio **Versione 1**. 

1. Scegli **Create** (Crea).

------
#### [ Amazon Lex (Classic) ]

1. Seleziona **Pubblica**.

1. Fornire un alias per il bot. Usa l'alias per specificare questa versione del bot nel flusso, ad esempio **Test**.
**Importante**  
In un ambiente di produzione, usa sempre un alias diverso da quello **TestBotAlias**per Amazon Lex e **\$1LATEST** per Amazon Lex classic. **TestBotAlias**e **\$1LATEST** supportano un numero limitato di chiamate simultanee a un bot Amazon Lex. Per ulteriori informazioni, consulta [Service Quotas di runtime](https://docs.aws.amazon.com/lex/latest/dg/gl-limits.html#gl-limits-runtime).

1. Seleziona **Pubblica**.

------

## Aggiunta del bot Amazon Lex all'istanza Amazon Connect
<a name="lex-bot-add-to-connect"></a>

------
#### [ Amazon Lex ]

1. Apri la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleziona l'istanza Amazon Connect che vuoi integrare con il bot Amazon Lex.  
![\[La pagina delle istanze del contact center virtuale di Amazon Connect, l'alias dell'istanza.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/instance.png)

1. Nel menu di navigazione, scegli **Flussi**.

1. In **Amazon Lex**, utilizza il menu a discesa per selezionare la regione del tuo bot Amazon Lex, quindi seleziona il tuo bot Amazon Lex, **AccountBalance**. 

1. Seleziona il nome alias del bot Amazon Lex dal menu a discesa (**Test**) e quindi scegli **\$1 Aggiungi bot di Lex**. L'immagine seguente mostra la sezione Amazon Lex dopo che è stata configurata.  
![\[Sezione Amazon Lex nella pagina Flussi.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-region-bot.png)

**Nota**  
Amazon Connect usa policy basate su risorse di Amazon Lex per effettuare chiamate al bot Amazon Lex. Quando associ un bot Amazon Lex all'istanza Amazon Connect, la policy basata su risorse nel bot viene aggiornata per consentire ad Amazon Connect di richiamare il bot. Per ulteriori informazioni sulle policy basate su risorse di Amazon Lex, consulta [Come funziona Amazon Lex con IAM](https://docs.aws.amazon.com/lexv2/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies).

------
#### [ Amazon Lex (Classic) ]

1. Apri la [console Amazon Connect](https://console.aws.amazon.com/connect/).

1. Seleziona l'istanza Amazon Connect che vuoi integrare con il bot Amazon Lex.

1. Nel menu di navigazione scegli **Flussi di contatti**.

1. In **Amazon Lex** seleziona la regione del bot Amazon Lex Classic dal menu a discesa e quindi seleziona il bot Amazon Lex Classic. Il nome avrà il suffisso "(Classic)". Scegli quindi **Aggiungi bot di Lex**.

------

## Creazione di un flusso e aggiunta del bot Amazon Lex
<a name="lex-bot-create-flow-add-bot"></a>

**Importante**  
Se utilizzi un bot Amazon Lex V2, l'attributo della lingua in Amazon Connect deve corrispondere al modello linguistico utilizzato per creare il bot Lex. Questo è diverso da Amazon Lex (Classic). Usa un blocco [Imposta voce](set-voice.md#set-voice-lexv2bot) per indicare il modello linguistico di Amazon Connect oppure usa un blocco [Set contact attributes (Imposta attributi contatti)](set-contact-attributes.md).

Crea quindi un nuovo flusso che usa il bot Amazon Lex. Durante la creazione del flusso, configurerai anche il messaggio riprodotto ai chiamanti.

1. Accedi all'istanza Amazon Connect con un account che dispone delle autorizzazioni per i flussi di contatto e i bot Amazon Lex.

1. Nel menu di navigazione scegli **Instradamento, Flussi, Crea flusso** e digita un nome per il flusso.

1. In **Interagisci** trascina un blocco [Recupera input cliente](get-customer-input.md) nella finestra di progettazione e connettilo al **blocco Punto di ingresso**.

1. Scegli il blocco **Recupera input cliente** per aprirlo. Scegli **Sintesi vocale o testo della chat, Inserisci testo**.

1. Digitare un messaggio che fornisca agli intermediari le informazioni su cosa possono fare. Ad esempio, usa un messaggio che corrisponda agli intenti usati nel bot, come "Per verificare il saldo del conto, premi o pronuncia 1. Per parlare con un agente, premi o pronuncia 2". L'immagine seguente mostra questo messaggio nella pagina Proprietà del blocco **Recupera input cliente**.  
![\[Pagina Proprietà del blocco Recupera input cliente.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-get-customer-input.png)

1. Seleziona la scheda **Amazon Lex**, mostrata nell'immagine seguente.  
![\[Scheda Amazon Lex nella pagina Proprietà del blocco Recupera input cliente.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lexv2-get-customer-input2.png)

1. Nel menu a discesa **Nome**, seleziona il **AccountBalance**bot creato in precedenza. 

   1. Se hai selezionato un bot Amazon Lex, in **Alias** usa il menu a discesa per selezionare l'alias del bot **Test**. 

   1. Ai nomi dei bot Amazon Lex Classic viene aggiunto il suffisso "(Classic)". Se hai selezionato un bot Classic, immetti l'alias che vuoi usare nel campo **Alias**.

   1. Per i bot Amazon Lex V2, puoi anche impostare manualmente un ARN dell'alias del bot. Scegli **Imposta manualmente**, quindi digita l'ARN dell'alias del bot che vuoi usare o imposta l'ARN tramite un attributo dinamico.

1. In **Intenti**, scegliere **Add an intent (Aggiungi un intento)**.

1. Digita **AccountLookup**e scegli **Aggiungi un altro intento**. L'immagine seguente mostra la sezione **Intenti** configurata con queste informazioni.  
![\[Sezione Intenti nella scheda Amazon Lex.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-get-customer-input3.png)

1. Digita **SpeakToAgent**e scegli **Salva**.

### Completamento del flusso
<a name="lex-bot-finish-flow"></a>

In questo passaggio completerai l'aggiunta al flusso delle parti che verranno eseguite dopo che il chiamante interagisce con il bot:

1. Se l'intermediario preme 1 per ottenere il saldo del conto, utilizzare un blocco **Prompt** per riprodurre un messaggio e disconnettere la chiamata.

1. Se il chiamante preme 2 per parlare con un agente, usa un blocco **Imposta coda** per impostare la coda e trasferire il chiamante nella coda. Questa parte termina il flusso.

Ecco i passaggi per creare il flusso:

1. In **Interact**, trascina un **blocco Play prompt** sul designer e collega il **AccountLookup**nodo del blocco **Get customer input** ad esso. Dopo che il cliente ottiene il saldo del conto dal bot Amazon Lex, viene riprodotto il messaggio specificato nel blocco **Riproduci prompt**.

1. In **Termina/Trasferisci**, trascina un blocco **Disconnetti** nella finestra di progettazione e connetti il blocco **Riproduci prompt**. Dopo la riproduzione del messaggio, la chiamata viene disconnessa.

Per completare l'**SpeakToAgent**intento:

1. Aggiungi un blocco **Set working queue** e collegalo al **SpeakToAgent**nodo del blocco di **input Get customer**.

1. Aggiungere un blocco **Trasferimento alla coda**. 

1. Connetti il nodo Riuscito del blocco **Imposta flusso coda clienti** al blocco **Trasferisci alla coda**.

1. Scegliere **Salva**, quindi **Pubblica**.

Il flusso completato sarà simile a quello mostrato nell'immagine seguente. Il flusso inizia con il blocco **Recupera input cliente**. Questo blocco si dirama in **Riproduci prompt** o **Imposta flusso coda clienti**.

![\[Flusso completato nel designer del flusso.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/lex-contactflow-designer.png)


**Suggerimento**  
Se la tua azienda usa più impostazioni locali in un unico bot, aggiungi un blocco [Set contact attributes (Imposta attributi contatti)](set-contact-attributes.md) all'inizio del flusso. Configura questo blocco per utilizzare [\$1. LanguageCode](connect-attrib-list.md#attribs-system-table)attributo di sistema. 

## Assegnazione del flusso a un numero di telefono
<a name="lex-bot-assign-number"></a>

Quando i clienti chiamano il contact center, il flusso a cui vengono inviati è quello assegnato al numero di telefono che hanno composto. Per attivare il nuovo flusso, assegnalo a un numero di telefono per l'istanza.

1. Apri la console Amazon Connect.

1. Scegli **Instradamento, Numeri di telefono**.

1. Nella pagina **Gestisci numeri di telefono** seleziona il numero di telefono da assegnare al flusso.

1. Aggiungere una descrizione.

1. Nel menu **Flusso di contatti/IVR** scegli il flusso appena creato.

1. Scegli **Save** (Salva).

## Eseguire una prova
<a name="lex-bot-try-it"></a>

Per provare il bot e il flusso, chiama il numero assegnato al flusso. Seguire le istruzioni. 

# Best practice per l’utilizzo del canale di chat e di Amazon Lex
<a name="bp-lex-bot-chat"></a>

Di seguito sono riportate alcune best practice consigliate per l’utilizzo congiunto del canale di chat e di Amazon Lex.
+ È possibile utilizzare lo stesso bot per i canali vocali e di chat. Potresti però volere che il bot risponda in modo diverso in base al canale. Ad esempio, potresti voler restituire SSML per il canale vocale in modo che il numero venga letto come un numero di telefono e restituire un testo normale per la chat. Puoi eseguire questa operazione **Channel (Canale)**. Per istruzioni, consulta [Come utilizzare lo stesso bot Amazon Lex per voce e chat](one-bot-voice-chat.md). 
+ Per la voce, è meglio che alcune parole vengano scritte foneticamente per ottenere la pronuncia corretta, come i cognomi. Se questo è il caso del tuo scenario, includilo nella progettazione del bot. In alternativa, puoi tenere separati i bot vocali e quelli della chat. 
+ Comunica agli agenti le informazioni sul bot. Quando un contatto è connesso all'agente, l'agente vede l'intera trascrizione nella finestra. La trascrizione include il testo del cliente e del bot.

# Aggiunta di messaggi interattivi Amazon Lex per i clienti in chat
<a name="interactive-messages"></a>

I messaggi interattivi sono messaggi complessi che presentano un prompt e opzioni di visualizzazione rapide e preconfigurate tra cui il cliente può scegliere. Questi messaggi sono basati su Amazon Lex e configurati tramite Amazon Lex utilizzando una AWS Lambda funzione. 

**Suggerimento**  
Se hai effettuato l'integrazione con Apple Messages for Business, consulta [Tipi di messaggi interattivi](https://register.apple.com/resources/messages/msp-rest-api/type-interactive) sul sito web di Apple.

## Limiti di convalida
<a name="validation-limits"></a>

I limiti dei campi di stringa (ad esempio, titolo, sottotitolo, ecc.) dovrebbero essere applicati dal client (ovvero, un’interfaccia personalizzata o il widget di comunicazione ospitato). L'[SendMessage](https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_SendMessage.html)API verifica solo che la dimensione totale della stringa sia inferiore a 20 KB.
+ Quando utilizzi il widget di comunicazione ospitato senza personalizzarlo, se la stringa supera i limiti dei campi, viene troncata nell’interfaccia utente e viene aggiunta un’ellissi (...). È possibile determinare come applicare i limiti dei campi personalizzando il widget. 
+ Se effettui l'integrazione con altre piattaforme (come Apple Messages for Business), consulta i limiti in questo argomento per Amazon Connect e consulta i limiti nella documentazione per l'altra piattaforma. Ad esempio, le risposte rapide non sono supportate nelle versioni precedenti di iOS. 

È necessario rispettare tutti gli altri limiti di campo affinché il messaggio venga inviato correttamente.

## Modelli di visualizzazione dei messaggi
<a name="message-display-templates"></a>

Amazon Connect fornisce i seguenti modelli di visualizzazione dei messaggi. Usali per fornire informazioni ai clienti in una chat:
+  [Selettore di elenchi](#list-picker)
+ [Selettore orario](#time-picker)
+ [Pannello](#panel)
+ [Risposta rapida](#quick-reply-template)
+ [Carosello](#carousel-template)
+ [Modello di modulo Apple](#apple-form-template)
+ [Modello Apple Pay](#apple-pay-template)
+ [Modello di app iMessage](#imessage-app-template)
+ [WhatsApp elenco](#whatsapp-list)
+ [WhatsApp pulsante di risposta](#whatsapp-reply-button)
+ [Formattazione avanzata di titoli e sottotitoli](#rich-link-formatting)

Questi modelli definiscono come verranno visualizzate le informazioni e quali informazioni verranno visualizzate nell’interfaccia della chat. Quando i messaggi interattivi vengono inviati tramite chat, i flussi convalidano che il formato del messaggio segua uno di questi modelli.

## Modello di selezione di elenchi
<a name="list-picker"></a>

Utilizza il modello di selezione degli elenchi per presentare al cliente un elenco con un massimo di sei scelte. Ogni scelta può avere una propria immagine. 

Le immagini seguenti mostrano due esempi di come il modello di selezione degli elenchi visualizza le informazioni in una chat. 
+ Un'immagine mostra tre pulsanti, ognuno con il nome di un frutto nel testo: mela, arancia, banana.
+ La seconda immagine mostra l'immagine di un negozio e poi, sotto di essa, tre pulsanti, ognuno con il nome, l'immagine e il prezzo del frutto.

![\[Il modello di selezione degli elenchi che visualizza le informazioni in una chat.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/interactive-messages-listpicker-images2.png)


Il codice seguente è il modello di selezione degli elenchi che puoi usare nella tua Lambda. Tenere presente quanto segue:
+ Il **testo in grassetto** è un parametro obbligatorio.
+ In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura `data.replyMessage` nel modello seguente. Se la struttura esiste, `title` è obbligatorio. Altrimenti, un `replyMessage` completo è facoltativo. 

```
{
   "templateType":"ListPicker",                       
   "version":"1.0",                                   
   "data":{                                           
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Produce selected",
         "imageType":"URL",                                
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                          
         "imageDescription":"Select a produce to buy"
      },
      "content":{                                       
         "title":"What produce would you like to buy?",
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",                  
         "imageDescription":"Select a produce to buy",
         "elements":[                                   
            {
               "title":"Apple",                          
               "subtitle":"$1.00",
               "imageType":"URL",
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg"
            },
            {
               "title":"Orange",                         
               "subtitle":"$1.50",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg",           
            },
             {
               "title":"Banana",                         
               "subtitle":"$10.00",
               "imageType":"URL",                  
               "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg",            
               "imageDescription":"Banana"
            }
         ]
      }
```

### Limiti del selettore di elenchi
<a name="list-picker-limits"></a>

La tabella seguente elenca i limiti per ciascuno degli elementi del selettore di elenchi, se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.

Per inviare opzioni illimitate, implementa i pulsanti di azione nell'applicazione. Per ulteriori informazioni, consulta [Implementazione dei pulsanti di azione nel selettore/pannello interattivo dell'elenco dei messaggi](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/interactive-messages.html)

**Nota**  
Se utilizzi il campo `targetForLinks` e il widget di comunicazione Amazon Connect, per aprire i link nella stessa scheda del browser, è necessario aggiungere il seguente attributo allo snippet di codice del widget per consentire all’iframe corrente di aprire e navigare tra i link all’interno della stessa scheda:  

```
amazon_connect('updateSandboxAttributes', 'allow-scripts allow-same-origin allow-popups allow-downloads allow-top-navigation-by-user-activation')                                       
```

## Modello Selettore orario
<a name="time-picker"></a>

Il modello Selettore orario è utile per consentire ai clienti di fissare appuntamenti. Puoi fornire fino a 40 fasce orarie al cliente in una chat. 

Le immagini seguenti mostrano due esempi di come il modello Selettore tempo visualizza le informazioni in una chat.
+ Un'immagine mostra una data e, al di sotto di essa, una fascia oraria.
+ La seconda immagine mostra una data e, al di sotto di essa, due fasce orarie.

![\[Il modello Selettore orario che visualizza le informazioni in una chat.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/interactive-messages-timepicker.png)


L’immagine seguente mostra il selettore dell’ora con un’immagine

**Nota**  
Se utilizzi questo modello di messaggio con il canale [Apple Messages for Business](apple-messages-for-business.md) e non aggiungi alcuna immagine, Amazon Connect ne aggiungerà una predefinita sia nella risposta che nel messaggio di risposta.

![\[Selettore orario con un’immagine.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/interactive-messages-timepicker-with-image.png)


Il codice seguente è il modello di selezione del tempo che puoi usare nella tua Lambda. Tenere presente quanto segue:
+ Il **testo in grassetto** è un parametro obbligatorio.
+ In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura `data.replyMessage` nel modello seguente. Se la struttura esiste, `title` è obbligatorio. Altrimenti, un `replyMessage` completo è facoltativo. 

```
{
   "templateType":"TimePicker",                                 
   "version":"1.0",                                             
   "data":{                                                    
      "replyMessage":{
         "title":"Thanks for selecting",                        
         "subtitle":"Appointment selected",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/booked.jpg",
         "imageDescription":"Appointment booked"
      },
      "content":{                                               
         "title":"Schedule appointment",                       
         "subtitle":"Tap to select option",
         "imageType":"URL",                                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/calendar.jpg",
         "imageDescription":"Appointment booked",
         "timeZoneOffset":-450,
         "location":{
            "latitude":47.616299,                               
            "longitude":-122.4311,                              
            "title":"Oscar",                                    
            "radius":1,
         },
         "timeslots":[                                          
               {
                  "date" : "2020-10-31T17:00+00:00",             
                  "duration": 60,                               
               },
               {
                  "date" : "2020-11-15T13:00+00:00",            
                  "duration": 60,                              
               },
               {
                  "date" : "2020-11-15T16:00+00:00",            
                  "duration": 60,                              
               }
            ],           
         }
      }
   }
}
```

### Limiti del selettore di orario
<a name="time-picker-limits"></a>

La tabella seguente elenca i limiti per ciascuno degli elementi del selettore di orario. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/interactive-messages.html)

## Modello di pannello
<a name="panel"></a>

Utilizzando il modello di pannello, è possibile presentare al cliente fino a 10 scelte con una sola domanda. Tuttavia, è possibile includere solo un'immagine, anziché un'immagine per ogni scelta. 

L'immagine seguente mostra un esempio di come il modello di pannello visualizza le informazioni in una chat. Mostra un'immagine nella parte superiore del messaggio e sotto l'immagine mostra un messaggio di prompt che chiede *Come posso d'aiuto? Tocca per selezionare l'opzione*. Al cliente vengono visualizzate tre opzioni: **Controlla le opzioni self-service**, **Parla con un agente**, **Termina la chat**. 

![\[Il modello di pannello che visualizza le informazioni in una chat.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/interactive-messages-panel1.png)


Il codice seguente è il modello di pannello che puoi usare nella Lambda. Tenere presente quanto segue:
+ Il **testo in grassetto** è un parametro obbligatorio.
+ In alcuni casi, se l’elemento principale non è obbligatorio, ma i campi nell’elemento principale lo sono, allora i campi sono obbligatori. Ad esempio, vedi la struttura `data.replyMessage` nel modello seguente. Se la struttura esiste, un `title` è obbligatorio. Altrimenti, un `replyMessage` completo è facoltativo.

```
{
   "templateType":"Panel",                            
   "version":"1.0",                                   
   "data":{                                          
      "replyMessage":{                             
         "title":"Thanks for selecting!",             
         "subtitle":"Option selected",
      },
      "content":{                                      
         "title":"How can I help you?",                
         "subtitle":"Tap to select option",
         "imageType":"URL",                       
         "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg",                  
         "imageDescription":"Select an option",
         "elements":[                                 
            {
               "title":"Check self-service options",   
            },
            {
               "title":"Talk to an agent",                     
            },
            {
               "title":"End chat",                    
            }
         ]
      }
   }
}
```

### Limiti del pannello
<a name="panel-limits"></a>

La tabella seguente elenca i limiti per ciascuno degli elementi del pannello, se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.

Per inviare opzioni illimitate, implementa i pulsanti di azione nell'applicazione. Per ulteriori informazioni, consulta [Implementazione dei pulsanti di azione nel selettore/pannello interattivo dell'elenco dei messaggi](https://github.com/amazon-connect/amazon-connect-chat-interface/blob/master/.github/docs/InteractiveMessageActionButtonImplementation.md). 


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/interactive-messages.html)

## Modello di risposta rapida
<a name="quick-reply-template"></a>

Utilizza i messaggi di risposta rapida per ottenere risposte semplici dai clienti e poi per i clienti in un elenco in linea. Le immagini non sono supportate per le risposte rapide.

L'immagine seguente mostra un esempio di come il modello di risposta rapida visualizza le informazioni in una chat.

![\[Il modello di pannello che visualizza le informazioni in una chat.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/quick-reply-template.png)


Il codice seguente è il modello di risposta rapida che è possibile usare nella Lambda.

```
{
    "templateType": "QuickReply",
    "version": "1.0",
    "data": {
        "replyMessage": {
            "title": "Thanks for selecting!"
        },
        "content": {
            "title": "Which department would you like?",
            "elements": [{
                    "title": "Billing"
                },
                {
                    "title": "Cancellation"
                },
                {
                    "title": "New Service"
                }
            ]
        }
    }
}
```

### Limiti di risposta rapida
<a name="quickreply-limits"></a>

La tabella seguente elenca i limiti per ciascuno degli elementi di risposta rapida. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/interactive-messages.html)

## Modello di carosello
<a name="carousel-template"></a>

Usa i caroselli per mostrare ai clienti fino a 5 selettori o pannelli di elenchi in un unico messaggio. Analogamente al selettore di elenchi e al selettore orario, è possibile aggiungere altre opzioni al carosello utilizzando la funzionalità SHOW\$1MORE.

La seguente GIF mostra un esempio di come il modello di carosello visualizza le informazioni in una chat. I clienti scorrono il carosello di immagini utilizzando le frecce sinistra e destra. 

![\[Un carosello nell'esperienza di chat di un cliente.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/carousel-interactive.gif)


L'immagine seguente mostra due collegamenti ipertestuali **Ulteriori informazioni**, che sono esempi di elementi di collegamento ipertestuale del selettore a carosello.

![\[Un selettore a carosello con collegamenti ipertestuali.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/carousel-interactive1.png)


Il codice seguente è il modello di carosello che è possibile usare nella Lambda. 

```
{
  "templateType": "Carousel",            
  "version": "1.0",                      
  "data": {                              
      "content": {                           
        "title": "View our popular destinations",   
        "elements": [                               
        {
          "templateIdentifier": "template0",        
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "California",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        },
        {
          "templateIdentifier": "template1",   
          "templateType": "Panel",
          "version": "1.0",
          "data": {
            "content": {
              "title": "New York",
              "subtitle": "Tap to select option",
              "elements": [
                {
                  "title": "Book flights"
                },
                {
                  "title": "Book hotels"
                },
                {
                  "title": "Talk to agent"
                }
              ]
            }
          }
        }
      ]
    }
  }
}
```

Per gli utenti del widget di comunicazione ospitato:
+ Le selezioni sul risultato del modello a carosello generano una risposta di stringa JSON strutturata come nell'esempio seguente, da reinviare a Lambda (altri tipi di messaggi interattivi restituiscono una risposta di stringa normale con solo valore `selectionText`):

  ```
  {
      templateIdentifier: "template0",
      listTitle: "California",
      selectionText: "Book hotels"
  }
  ```
+ Nei caroselli, puoi fornire collegamenti ipertestuali negli elementi dell'elenco. picker/panel Per creare un collegamento ipertestuale anziché un pulsante, includi i seguenti campi aggiuntivi per l'elemento che dovrebbe essere un collegamento ipertestuale:

  ```
  {
      title: "Book flights",
      ...
      type: "hyperlink",
      url: "https://www.example.com/Flights"
  }
  ```

### Limiti del carosello
<a name="carousel-limits"></a>

Nella tabella seguente sono elencati i limiti per ciascuno degli elementi del carosello. Usa queste informazioni se scegli di creare la Lambda da zero. I parametri obbligatori sono in grassetto.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/interactive-messages.html)

## Modello di modulo Apple
<a name="apple-form-template"></a>

**Nota**  
 Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business. 

Un’azienda può inviare un messaggio interattivo basato su un modulo ai propri clienti finali tramite un unico messaggio, contenente diverse pagine con gli input richiesti. Quando il dispositivo Apple del cliente finale riceve il messaggio, è possibile aprire il modulo e navigare tra le pagine, fornendo una risposta per ogni pagina, prima di inviare tutte le risposte alla fine del modulo.

Ad esempio, le aziende possono utilizzare i moduli Apple per vari scopi, tra cui flussi di valutazione, sondaggi tra i clienti e creazione/registrazione di account.

**avvertimento**  
Il contenuto interattivo dei messaggi e le risposte dei clienti finali sono archiviati nella trascrizione dei record di contatto e sono visualizzabili dagli altri partecipanti alla chat e dagli analisti di contatto che hanno accesso alle trascrizioni. Per evitare che le informazioni personali vengano visualizzate nella trascrizione del record di contatto **dopo la fine del contatto**, ti consigliamo di utilizzare il [blocco Imposta comportamento di registrazione e analisi](set-recording-behavior.md) nel flusso di step-by-step guidaContact Lens, [abilitare e abilitare](sensitive-data-redaction.md) la redazione dei dati sensibili. Per i dettagli completi su come abilitare la redazione delle informazioni di identificazione personale, consulta [Abilitazione dell’oscuramento dei dati sensibili](enable-analytics.md#enable-redaction).

 I tipi di pagine supportati sono:
+ **ListPicker**: un elenco di opzioni tra cui l'utente deve selezionare con il supporto delle immagini.
+ **WheelPicker**: simile a ListPicker ma la selezione viene effettuata tramite una rotellina di opzioni scorrevole.
+ **DatePicker**: una visualizzazione del calendario in cui l'utente può scegliere una data.
+ **Input**: un campo di testo che l’utente deve compilare.

Il codice seguente è un esempio di modello di moduli Apple che puoi utilizzare nella Lambda.

**Nota**  
 **Il testo in grassetto** è un parametro obbligatorio. 
 In alcuni casi, se l'elemento principale è presente nella richiesta e non è obbligatorio/in grassetto, ma i campi in esso contenuti lo sono, allora i campi sono obbligatori. 

 Esempio di modulo di sondaggio semplice: 

```
{
  "templateType": "AppleForm",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Survey",
      "pages": [
        {
          "pageType": "DatePicker",
          "title": "Date you visited",
          "subtitle": "When did you last visit?",
          "minDate": "2024-01-02"
        },
        {
          "pageType": "ListPicker",
          "title": "Rating",
          "subtitle": "How do you rate the experience?",
          "items": [
            {
              "title": "Good",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/good.jpg"
            },
            {
              "title": "Okay",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/okay.jpg"
            },
            {
              "title": "Poor",
              "imageType": "URL",
              "imageData": "https://mybucket.s3.us-west-2.amazonaws.com/poor.jpg"
            }
          ]
        },
        {
          "pageType": "ListPicker",
          "title": "Dine type",
          "subtitle": "Select all dine types that apply",
          "multiSelect": true,
          "items": [
            {
              "title": "Pickup"
            },
            {
              "title": "Dine-in"
            },
            {
              "title": "Delivery"
            }
          ]
        },
        {
          "pageType": "WheelPicker",
          "title": "Visits",
          "subtitle": "How often do you visit?",
          "items": [
            {
              "title": "Often"
            }
            {
              "title": "Sometimes"
            },
            {
              "title": "Rarely"
            }
          ]
        },
        {
          "pageType": "Input",
          "title": "Additional notes",
          "subtitle": "Anything else you'd like to mention about your visit?",
          "multiLine": true
        }
      ]
    }
  }
}
```

### Limiti dei moduli Apple
<a name="apple-forms-limits"></a>

#### InteractiveMessage
<a name="apple-forms-limits-interactivemessage"></a>


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| versione | stringa  | Sì  | Numero versione. Valore consentito: “1.0”  | 
| templateType  | TemplateType  | Sì  | Tipo di modello di messaggio interattivo. Valori consentiti: [» ListPicker «," TimePicker «, «Panel», "QuickReply«, «Carousel», "ViewResource«] AppleForm  | 
| dati | InteractiveMessageData  | Sì  | Dati di messaggistica interattiva  | 

#### InteractiveMessageData
<a name="apple-forms-limits-interactivemessagedata"></a>


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| contenuto  | InteractiveMessageContent  | Sì  | Contenuto principale dei messaggi interattivi  | 
| replyMessage  | ReplyMessage  | No  | Configurazione della visualizzazione dei messaggi dopo l’invio della risposta al messaggio interattivo  | 

#### AppleFormContent
<a name="apple-forms-limits-appleformcontent"></a>


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| titolo  | Stringa  | Sì  | Titolo di primo livello del modulo. Visualizzato nel rendering della trascrizione e nella bolla dei messaggi ricevuti di Apple  | 
| sottotitolo | Stringa  | No  | Usato come sottotitolo in ReceivedMessage  | 
| imageType  | Stringa  | No  | Valori validi: «URL» Usato per l'immagine in ReceivedMessage  | 
| imageData  | Stringa  | No  | URL dell'immagine S3 Usato per l'immagine in ReceivedMessage  | 
| pagine  | AppleFormPage[]  | Sì  | Elenco delle pagine del modulo  | 
| showSummary  | Boolean  | No  | Indica se visualizzare una pagina di riepilogo delle risposte da esaminare prima dell'invio Predefinito: False (nessuna confirmation/summary pagina)  | 
| splashPage  | AppleFormSplashPage  | No  | Pagina iniziale da visualizzare prima delle pagine effettive. Impostazione predefinita: nessuna pagina iniziale  | 

#### AppleFormSplashPage
<a name="apple-forms-limits-appleformsplashpage"></a>


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| titolo  | Stringa  | Sì  | Titolo della pagina iniziale  | 
| sottotitolo | Stringa  | No  | Sottotitolo/corpo della pagina iniziale  | 
| imageType  | ImageType  | No  | Presente quando si visualizza l’immagine all’interno della pagina iniziale. Valore consentito: “URL”. Impostazione predefinita: nessuna immagine visualizzata  | 
| imageData  | Stringa  | No  | Per imageType=“URL”, questo è il valore URL. Impostazione predefinita: nessuna immagine visualizzata  | 
| buttonTitle  | Stringa  | Sì  | Testo del pulsante Continua. Richiesto da Apple, testo predefinito con localizzazione non supportato  | 

#### AppleFormPage
<a name="apple-forms-limits-appleformpage"></a>
+  Modello base per le pagine dei moduli. A partire da questo modello si estendono tipi di pagina specifici 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sì  | Enumerazione per tipo di pagina. Valori consentiti: ["Input», "DatePicker«," WheelPicker «," ListPicker «]  | 
| titolo  | Stringa  | Sì  | Titolo pagina  | 
| sottotitolo  | Stringa  | Sì  | Sottotitolo della pagina. Utilizzato nella pagina di conferma  | 

#### AppleFormDatePickerPage
<a name="apple-forms-limits-appleformdatapickerpage"></a>

 **AppleFormDatePickerPage**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sì  | Valore: "DatePicker»  | 
| labelText  | Stringa  | No  | Testo visualizzato accanto alla data di input. Consulta schermate di esempio nell’Appendice  | 
| helperText  | Stringa  | No  | Testo di supporto visualizzato sotto l’input di data. Consulta le schermate di esempio in Appendice. Impostazione predefinita: nessun testo di supporto  | 
| dateFormat  | Stringa  | No  | Il formato di data ISO 8601. Impostazione predefinita: MM/dd/yyyy  | 
| startDate  | Stringa  | No  | Data selezionata iniziale/predefinita in formato di data valido Impostazione predefinita: data corrente per l’utente finale al momento dell’invio del messaggio  | 
| minDate  | Stringa  | No  | La data minima può essere selezionata in un formato data valido Impostazione predefinita: nessuna data minima  | 
| maxDate  | Stringa  | No  | Data massima consentita che può essere selezionata in un formato data valido Impostazione predefinita: data corrente per l’utente finale al momento dell’invio del messaggio  | 

#### AppleFormListPickerPage
<a name="apple-forms-limits-appleformlistpickerpage"></a>

 **AppleFormListPickerPage**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sì  | Valore: "ListPicker»  | 
| multiSelect  | Boolean  | No  | Consente la selezione di più elementi. Impostazione predefinita: false (selezione singola)  | 
| elementi  | AppleFormListPickerPageItem[]  | Sì  | Elenco degli elementi della pagina di elenco  | 

#### AppleFormListPickerPageItem
<a name="apple-forms-limits-appleformlistpickerpageitem"></a>

 **AppleFormListPickerPageItem**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| titolo  | Stringa  | Sì  | Visualizza il testo dell’elemento  | 
| imageType  | ImageType  | No  | Presente quando si visualizza l’immagine all’interno dell’elemento. Valore consentito: “URL” Impostazione predefinita: nessuna immagine visualizzata  | 
| imageData  | Stringa  | No  | Per imageType=“URL”, questo è il valore URL. Impostazione predefinita: nessuna immagine visualizzata  | 

**Nota**  
Modello di immagine simile ai modelli di messaggi interattivi esistenti (ListPicker), ad eccezione `imageDescription` del modello non incluso, che viene utilizzato per il testo alternativo delle immagini nei widget di chat o nelle chat web e ignorato per i messaggi interattivi di Apple.

#### AppleFormWheelPickerPage
<a name="apple-forms-limits-appleformwheelpickerpage"></a>

 **AppleFormWheelPickerPage**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sì  | Valore: "WheelPicker»  | 
| elementi  | AppleFormWheelPickerPageItem[]  | Sì  | Elenco degli elementi del selettore a ruota  | 
| labelText  | Stringa  | No  | Testo visualizzato accanto all’input. Consulta schermate di esempio nell’Appendice  | 

#### AppleFormWheelPickerPageItem
<a name="apple-forms-limits-appleformwheelpickerpageitem"></a>

 **AppleFormWheelPickerPageItem**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| titolo  | Stringa  | Sì  | Visualizza il testo dell’elemento del selettore  | 

#### AppleFormInputPage
<a name="apple-forms-limits-appleforminputpage"></a>

 **AppleFormInputPage**estende [AppleFormPage](#apple-forms-limits-appleformpage) 


| Campo  | Tipo  | Richiesto  | Descrizione/Note  | 
| --- | --- | --- | --- | 
| pageType  | ApplePageType  | Sì  | Valore: “input”  | 
| labelText  | Stringa  | No  | Testo visualizzato accanto alla casella di input. Consulta schermate di esempio nell’Appendice  | 
| helperText  | Stringa  | No  | Testo aggiuntivo visualizzato nella casella di input. Impostazione predefinita: nessun testo di supporto  | 
| placeholderText  | Stringa  | No  | Testo segnaposto da visualizzare inizialmente in assenza di input. Impostazione predefinita: testo segnaposto “(Facoltativo)” o “(Obbligatorio)”  | 
| prefixText  | Stringa  | No  | Testo del prefisso da visualizzare accanto all’input. Es: “\$1” quando l’input è un valore monetario. Impostazione predefinita: nessun testo di prefisso  | 
| richiesto | Boolean  | No  | Se l’utente finale è tenuto a fornire l’input. Impostazione predefinita: false  | 
| multiLine  | Boolean  | No  | Se è possibile fornire un input multilinea. Impostazione predefinita: false (riga singola)  | 
| maxCharCount  | Numero  | No  | Numero massimo di caratteri di input. Applicato sul client Apple. Impostazione predefinita: nessun limite  | 
| regex | Stringa  | No  | Stringa Regex per inserire vincoli sull’input fornito. Impostazione predefinita: nessun vincolo regex  | 
| keyboardType  | Stringa  | No  | Determina il tipo di tastiera visualizzata quando l’utente finale fornisce l’input. Valori consentiti: uguali a quelli di Apple. Consulta i [documenti](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Alcuni valori consentiti: numberPad, phonePad, emailAddress  | 
| textContentType  | Stringa  | No  | Aiuta con i suggerimenti di compilazione automatica sui dispositivi Apple.  Valori consentiti: uguali a quelli di Apple. Consulta i [documenti](https://register.apple.com/resources/messages/msp-rest-api/type-interactive#form-message). Alcuni dei valori consentiti: telephoneNumber, FamilyName fullStreetAddress  | 

## Modello Apple Pay
<a name="apple-pay-template"></a>

**Nota**  
Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business.

 Utilizza il modello Apple Pay per offrire ai clienti un modo semplice e sicuro per acquistare beni e servizi tramite Apple Messages for Business con Apple Pay.

 Il codice seguente è il modello di Apple Pay che puoi utilizzare nella Lambda.

**Nota**  
 **Il testo in grassetto** è un parametro obbligatorio. 
 In alcuni casi, se l'elemento principale è presente nella richiesta e non è obbligatorio/in grassetto, ma i campi in esso contenuti lo sono, allora i campi sono obbligatori. 

```
{
  "templateType":"ApplePay",
  "version":"1.0",
  "data":{
    "content":{
      "title":"Halibut",
      "subtitle":"$63.99 at Sam's Fish",
      "imageType":"URL",
      "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fish.jpg",
      "payment": {
        "endpoints": {
          "orderTrackingUrl": "https://sams.example.com/orderTrackingUrl/",
          "paymentGatewayUrl": "https://sams.example.com/paymentGateway/",
          "paymentMethodUpdateUrl": "https://sams.example.com/paymentMethodUpdate/",
          "shippingContactUpdateUrl": "https://sams.example.com/shippingContactUpdate/",
          "shippingMethodUpdateUrl": "https://sams.example.com/shippingMethodUpdate/",
          "fallbackUrl": "https://sams.example.com/paymentGateway/"
        },
        "merchantSession": {
          "epochTimestamp": 1525730094057,
          "expiresAt": 1525730094057,
          "merchantSessionIdentifier": "PSH40080EF4D6.........9NOE9FD",
          "nonce": "fe72cd0f",
          "merchantIdentifier": "merchant.com.sams.fish",
          "displayName": "Sam's Fish",
          "signature": "308006092a8.......09F0W8EGH00",
          "initiative": "messaging",
          "initiativeContext": "https://sams.example.com/paymentGateway/",
          "signedFields": [
            "merchantIdentifier",
            "merchantSessionIdentifier",
            "initiative",
            "initiativeContext",
            "displayName",
            "nonce"
          ],
        },
        "paymentRequest": {
          "applePay": {
            "merchantCapabilities": [
              "supports3DS",
              "supportsDebit",
              "supportsCredit"
            ],
            "merchantIdentifier": "merchant.com.sams.fish",
            "supportedNetworks": [
              "amex",
              "visa",
              "discover",
              "masterCard"
            ]
          },
          "countryCode": "US",
          "currencyCode": "USD",
          "lineItems": [
            {
              "amount": "59.00",
              "label": "Halibut",
              "type": "final"
            },
            {
              "amount": "4.99",
              "label": "Shipping",
              "type": "final"
            }
          ],
          "requiredBillingContactFields": [
            "postalAddress"
          ],
          "requiredShippingContactFields": [
            "postalAddress",
            "phone",
            "email",
            "name"
          ],
          "shippingMethods": [
            {
              "amount": "0.00",
              "detail": "Available within an hour",
              "identifier": "in_store_pickup",
              "label": "In-Store Pickup"
            },
            {
              "amount": "4.99",
              "detail": "5-8 Business Days",
              "identifier": "flat_rate_shipping_id_2",
              "label": "UPS Ground"
            },
            {
              "amount": "29.99",
              "detail": "1-3 Business Days",
              "identifier": "flat_rate_shipping_id_1",
              "label": "FedEx Priority Mail"
            }
          ],
          "total": {
            "amount": "63.99",
            "label": "Sam's Fish",
            "type": "final"
          },
          "supportedCountries" : [
            "US",
            "CA",
            "UK",
            "JP",
            "CN"
          ]
        }
      },
      "requestIdentifier" : "6b2ca008-1388-4261-a9df-fe04cd1c23a9"
    }
  }
}
```

### Limiti di Apple Pay
<a name="apple-pay-limits"></a>


| Campo principale  | Campo  | Richiesto  | Caratteri minimi  | Caratteri massimi  | Altro requisito  | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Sì  |  |  | Tipo di modello valido  | 
|  | dati | Sì  |  |  |  | 
|  | versione | Sì  |  |  | Deve essere "1.0"  | 
| dati | contenuto  | Sì  |  |  |  | 
| contenuto  | titolo  | Sì  | 1  | 512  | Il titolo della bolla dei messaggi ricevuti  | 
|  | sottotitolo  | No  | 0  | 512  | Sottotitolo da visualizzare sotto il titolo della bolla del messaggio ricevuto  | 
|  | imageData  | No  | 0  | 200  | Deve essere un URL valido accessibile al pubblico  | 
|  | imageType  | No  | 0  | 50  | Deve essere "URL"  | 
|  | pagamento | Sì  |  |  | Un dizionario contenente campi che forniscono le specifiche di una richiesta Apple Pay.  | 
|  | requestIdentifier  | No  |  |  | String, un identificatore per la ApplePay richiesta. Se non specificato, verrà generato e utilizzato un UUID.  | 
| pagamento | punti finali | Sì  |  |  | Un dizionario contenente gli endpoint per l’elaborazione dei pagamenti, gli aggiornamenti dei contatti e il monitoraggio degli ordini.  | 
|  | merchantSession  | Sì  |  |  | Un dizionario contenente la sessione di pagamento fornita da Apple Pay dopo aver richiesto una nuova sessione di pagamento.  | 
|  | paymentRequest  | Sì  |  |  | Un dizionario con informazioni sulla richiesta di pagamento  | 
| punti finali | paymentGatewayUrl  | Sì  |  |  | Stringa. Chiamato da Apple Pay per elaborare il pagamento tramite il gestore dei pagamenti. L’URL deve corrispondere a quello nel campo initiativeContext della sessione del venditore  | 
|  | fallbackUrl  | No  |  |  | Un URL che si apre in un browser web in modo che il cliente possa completare l’acquisto se il suo dispositivo non è in grado di effettuare pagamenti con Apple Pay. Se specificato, fallbackUrl deve corrispondere. paymentGatewayUrl  | 
|  | orderTrackingUrl  | No  |  |  | Chiamato da Messages for Business una volta completato l’ordine; ti offre la possibilità di aggiornare le informazioni relative all’ordine nel tuo sistema.  | 
|  | paymentMethodUpdateUrl | No  |  |  | Chiamato da Apple Pay quando il cliente cambia il metodo di pagamento. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore.  | 
|  | shippingContactUpdateUrl | No  |  |  | Chiamato da Apple Pay quando il cliente modifica le informazioni relative all’indirizzo di spedizione. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore  | 
|  | shippingMethodUpdateUrl | No  |  |  | Chiamato da Apple Pay quando il cliente cambia il metodo di spedizione. Se non implementi questo endpoint e non includi questa chiave nel dizionario, il cliente visualizza un messaggio di errore.  | 
| merchantSession  | displayName  | Sì  | 1  | 64  | Stringa. Il nome canonico del negozio, adatto alla visualizzazione. Non localizzare il nome.  | 
|  | initiative  | Sì  |  |  | Stringa. Deve essere “messaggistica”  | 
|  | initiativeContext  | Sì  |  |  | Stringa. Passa l’URL del gateway di pagamento.  | 
|  | merchantIdentifier  | Sì  |  |  | Stringa. Un identificatore univoco che rappresenta un commerciante per Apple Pay.  | 
|  | merchantSessionIdentifier  | Sì  |  |  | Stringa. Un identificatore univoco che rappresenta la sessione di un commerciante per Apple Pay.  | 
|  | epochTimestamp  | Sì  |  |  | Stringa. La rappresentazione dell’ora in numero di secondi trascorsi dalle 00:00:00 UTC di giovedì 1 gennaio 1970.  | 
|  | expiresAt  | Sì  |  |  | Stringa. Rappresentazione dell’ora di scadenza in numero di secondi trascorsi dalle 00:00:00 UTC di giovedì 1 gennaio 1970.  | 
|  | nonce  | No  |  |  | Binario. Una stringa monouso che verifica l’integrità dell’interazione.  | 
|  | signature  | No  |  |  | Binario. Hash della chiave pubblica utilizzato per firmare le interazioni.  | 
|  | signedFields  | No  |  |  | L’elenco delle stringhe contiene le proprietà firmate.  | 
| paymentRequest  | applePay  | Sì  |  |  | Un dizionario che descrive la configurazione di Apple Pay.  | 
|  | countryCode  | Sì  |  |  | Stringa. Il codice del paese ISO 3166 di due lettere del venditore.  | 
|  | currencyCode  | Sì  |  |  | Stringa. Il codice valuta ISO 4217 a tre lettere per il pagamento.  | 
|  | lineItems  | No  |  |  | Un array di voci che spiegano i pagamenti e i costi aggiuntivi. Le voci non sono obbligatorie. Tuttavia, l’array non può essere vuoto se è presente la chiave lineItems.  | 
|  | total  | Sì  |  |  | Un dizionario contenente il totale. Per superare la convalida, l’importo totale deve essere maggiore di zero.  | 
|  | requiredBillingContactCampi | No  |  |  | Elenco delle informazioni di fatturazione obbligatorie del cliente necessarie per elaborare la transazione. Per l'elenco delle stringhe possibili, vedi [requiredBillingContactFields](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216120-requiredbillingcontactfields). Richiedi solo i campi di contatto necessari per elaborare il pagamento. La richiesta di campi non necessari aggiunge complessità alla transazione e questo può aumentare le possibilità che il cliente annulli la richiesta di pagamento.  | 
|  | requiredShippingContactCampi | No  |  |  | L’elenco delle informazioni di spedizione o di contatto richieste al cliente per evadere l’ordine. Ad esempio, se hai bisogno dell’e-mail o del numero di telefono del cliente, includi questa chiave. Per l'elenco delle stringhe possibili, vedi [requiredShippingContactFields](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentrequest/2216121-requiredshippingcontactfields).  | 
|  | shippingMethods  | No  |  |  | Un array che elenca i metodi di spedizione disponibili. Il foglio di pagamento Apple Pay mostra il primo metodo di spedizione dell’array come metodo di spedizione predefinito.  | 
|  | supportedCountries  | No  |  |  | Un array di paesi da supportare. Elenca ogni paese con il codice ISO 3166.  | 
| applePay  | merchantIdentifier  | Sì  |  |  | Un identificatore univoco che rappresenta un commerciante per Apple Pay.  | 
|  | merchantCapabilities  | Sì  |  |  | Un array di funzionalità di pagamento supportate dal commerciante. L’array deve includere supports3DS e può facoltativamente includere supportsCredit, supportsDebit e supportsEMV.  | 
|  | supportedNetworks  | Sì  |  |  | Un array di reti di pagamento supportate dal commerciante. L’array deve includere uno o più dei seguenti valori: amex, discover, jcb, masterCard, privateLabel, or visa  | 
| lineItem  | amount  | Sì  |  |  | L’importo monetario della voce.  | 
|  | etichetta | Sì  |  |  | Una breve descrizione localizzata della voce.  | 
|  | tipo | No  |  |  | Un valore che indica se la voce è finale o in sospeso.  | 
| total  | amount  | Sì  |  |  | L’importo totale del pagamento.  | 
|  | etichetta | Sì  |  |  | Una breve descrizione localizzata del pagamento.  | 
|  | tipo | No  |  |  | Un valore che indica se il pagamento è finale o in sospeso.  | 
| shippingMethods  | amount  | Sì  |  |  | Stringa. Il costo non negativo associato a questo metodo di spedizione.  | 
|  | detail  | Sì  |  |  | Stringa. Descrizione aggiuntiva del metodo di spedizione.  | 
|  | etichetta | Sì  |  |  | Stringa. Una breve descrizione del metodo di spedizione.  | 
|  | identifier  | Sì  |  |  | Stringa. Un valore definito dal cliente utilizzato per identificare questo metodo di spedizione.  | 

## Modello di app iMessage
<a name="imessage-app-template"></a>

**Nota**  
Questo modello è applicabile solo ai flussi di contatti di Apple Messages for Business. 

 Utilizza il modello di app iMessage per presentare al cliente l’app iMessage personalizzata. 

 Il codice seguente è un esempio di modello di app iMessage che puoi utilizzare nella funzione Lambda.  

```
{
   templateType: AppleCustomInteractiveMessage,
   version: "1.0",
   data: {
       content: {
           appIconUrl: "https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg",
           appId: "123456789",
           appName: "Package Delivery",
           title: "Bubble Title CIM",
           bid: "com.apple.messages.MSMessageExtensionBalloonPlugin:{team-id}:{ext-bundle-id}",
           dataUrl: "?deliveryDate=26-01-2024&destinationName=Home&street=1infiniteloop&state=CA&city=Cupertino&country=USA&postalCode=12345&latitude=37.331686&longitude=-122.030656&isMyLocation=false&isFinalDestination=true",
           subtitle: "Bubble package",
       },
       replyMessage: {
           title: "Custom reply message title",
           subtitle: "Custom reply message subtitle",
           imageType: "URL",
           imageData: "https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg",
       }
   }
}
```

### Limiti dell’app iMessage
<a name="imessage-apps-limits"></a>


|  **Campo principale**  |  **Campo**  |  **Campo obbligatorio**  |  **Tipo**  |  **Altre note**  | 
| --- | --- | --- | --- | --- | 
|  |  templateType  | Sì  | TemplateType  | Tipo di modello valido, "AppleCustomInteractiveMessage»  | 
|  |  dati  | Sì  | InteractiveMessageData  | Contiene i dizionari di contenuto e receivedMessage  | 
|  |  versione  | Sì  | stringa  | Deve essere "1.0"  | 
|  dati  |  contenuto  | Sì  | InteractiveMessageContent  | Contenuto interattivo dell’app iMessage  | 
|  |  Messaggio di risposta  | Sì  | ReplyMessage  | Configurazione della visualizzazione dei messaggi dopo l’invio della risposta al messaggio interattivo  | 
|  contenuto  |  appIconUrl  | Sì  | stringa  | URL S3 AWS  | 
|  |  AppiD  | Sì  | stringa  | ID IMessage app aziendale  | 
|  |  Nome dell'app  | Sì  | stringa  | Nome dell' IMessage app aziendale  | 
|  |  bid  | Sì  | stringa  | Offerta IMessage per app aziendali. Modello: com.apple.messages. MSMessageExtensionBalloonPlugin: \$1team-id\$1: \$1\$1 ext-bundle-id  | 
|  |  dataUrl  | Sì  | stringa  | Dati che vengono passati all’app iMessage  | 
|  |  useLiveLayout  | No  | booleano  | Impostazione predefinita: true  | 
|  |  titolo  | Sì  | stringa  | titolo della bolla dell’app Imessage  | 
|  |  sottotitolo  | No  | stringa  | sottotitolo della bolla dell’app Imessage  | 
|  Messaggio di risposta  |  titolo  | No  | stringa  |  | 
|  |  sottotitolo  | No  | stringa  |  | 
|  |  Tipo di immagine  | No  | stringa  | Deve essere un URL valido accessibile al pubblico  | 
|  |  Dati dell'immagine  | No  | stringa  | Non può esistere senza un'immagine  | 

## WhatsApp elenco
<a name="whatsapp-list"></a>

**Nota**  
Utilizzi questo modello solo per i flussi WhatsApp di messaggistica. Per ulteriori informazioni sull'integrazione WhatsApp con Amazon Connect[Configurare la messaggistica WhatsApp aziendale](whatsapp-integration.md), consulta la sezione precedente di questa guida.

Utilizzi il modello di WhatsApp elenco nelle WhatsApp chat per fornire ai clienti un elenco di opzioni.

L’esempio seguente mostra un elenco di opzioni per un servizio bancario.

```
{
  "templateType": "WhatsAppInteractiveList",
  "version": "1.0",
  "data": {
    "content": {
      "title": "Which account do you need help with?",
      "body": {
        "text": "Which account do you need help with?"
      },
      "action": {
        "button": "Options",
        "sections": [
          {
            "title": "Your accounts",
            "rows": [
              {
                "id": "11111111",
                "title": "11111111",
                "description": "PERSONAL CHECKING"
              },
              {
                "id": "22223333",
                "title": "22223333",
                "description": "PERSONAL SAVINGS"
              }
            ]
          },
          {
            "title": "Other",
            "rows": [
              {
                "id": "other",
                "title": "I can't find my account"
              }
            ]
          }
        ]
      }
    }
  }
}
```

L’immagine seguente mostra una schermata tipica prima e dopo l’apertura di un elenco da parte di un cliente.

![\[Immagine che mostra un elenco di opzioni.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/whatsapp-options-results.png)


### WhatsApp limiti delle opzioni
<a name="whatsapp-options-limits"></a>


| Campo principale | Campo | Richiesto | Lunghezza minima  | Lunghezza massima  | Altro requisito | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType | Sì |  |  | Deve essere "WhatsAppInteractiveList» | 
|  | dati | Sì |  |  |  | 
|  | versione | Sì |  |  | Deve essere "1.0" | 
| dati | contenuto | Sì |  |  |  | 
| contenuto | titolo | Sì |  |  |  | 
|  | intestazione | No |  |  |  | 
|  | body | Sì  |  |  |  | 
|  | piè di pagina | No |  |  |  | 
|  | action | Sì |  |  |  | 
| intestazione |  tipo  | Sì  |  |  |  Deve essere “text”  | 
|  |  testo  | Sì  | 1  |  60  |  | 
| body |  testo  | Sì  | 1 |  4096  |  | 
|  footer  |  testo  | Sì  | 1 |  60  |  | 
|  action  |  sections  | Sì  | 1 |  10  |  | 
|  |  pulsante  | Sì  | 1 |  20  |  | 
|  sezione  |  titolo  | Sì  | 1 |  24  |  | 
|  |  righe  | Sì  | 1 |  10  |  Massimo 10 righe in tutte le sezioni  | 
|  row  |  id  | Sì | 1 | 200 | Deve essere univoco tra le righe | 
|  |  titolo  | Sì  | 1 | 24 |  | 
|  | description  | No  | 1 |  72  |  | 

## WhatsApp pulsante di risposta
<a name="whatsapp-reply-button"></a>

**Nota**  
Utilizzi questo modello solo per i flussi WhatsApp di messaggistica.

Puoi utilizzare il modello del pulsante di WhatsApp risposta per presentare un elenco in linea di opzioni per i clienti.

```
{
  "templateType": "WhatsAppInteractiveReplyButton",
  "version": "1.0",
  "data": {
    "content": {
      "title": "What would you like to do?",
      "body": {
        "text": "What would you like to do?"
      },
      "action": {
        "buttons": [
          {
            "type": "reply",
            "reply": {
              "id": "agent",
              "title": "Continue to agent"
            }
          },
          {
            "type": "reply",
            "reply": {
              "id": "end_chat",
              "title": "End chat"
            }
          }
        ]
      }
    }
  }
}
```

L’immagine seguente mostra un’esperienza utente tipica.

![\[Immagine di una risposta in una sessione di chat.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/whatsapp-reply-template.png)


### WhatsApp limiti del pulsante di risposta
<a name="whatsapp-reply-limits"></a>

Il modello di WhatsApp risposta presenta i seguenti limiti.


| Campo principale | Campo | Richiesto | Lunghezza minima | Lunghezza massima  | Altro requisito | 
| --- | --- | --- | --- | --- | --- | 
|  | templateType  | Sì |  |  | Deve essere "WhatsAppInteractiveReplyButton»  | 
|  | dati  | Sì |  |  |  | 
|  | versione  | Sì |  |  | Deve essere "1.0"  | 
|  dati  | contenuto | Sì |  |  |  | 
|  contenuto  | title  | Sì |  |  |  | 
|  | intestazione | No |  |  |  | 
|  | body | Sì |  |  |  | 
|  | footer  | No |  |  |  | 
|  | action  | Sì |  |  |  | 
| intestazione  | tipo  | Sì |  |  | Valori validi: “text”, “document”, “image”, “video”  | 
|  | testo | No | 1 | 60  |  | 
|  | image  | No |  |  |  | 
|  | video | No |  |  |  | 
|  | documento | No |  |  |  | 
| image  | collegamento  | Sì |  |  | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http  | 
| video | collegamento  | Sì |  |  | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http  | 
| documento | collegamento  | Sì |  |  | Deve essere un URL multimediale accessibile al pubblico che inizia con https/http  | 
| body  | testo  | Sì | 1 | 1024  |  | 
| footer  | testo  | Sì | 1 | 60  |  | 
| action  | bottoni  | Sì | 1 | 3  |  | 
| pulsante  | tipo  | Sì |  |  | Deve essere “reply”  | 
|  | reply.id | Sì | 1 | 256  | Deve essere univoco tra i pulsanti  | 
|  | reply.title  | Sì | 1 | 20  |  | 

## Formattazione avanzata di titoli e sottotitoli
<a name="rich-link-formatting"></a>

È possibile aggiungere una formattazione avanzata ai titoli e ai sottotitoli dei messaggi di chat. Ad esempio, è possibile aggiungere collegamenti, corsivo, grassetto, elenchi numerati ed elenchi puntati. È possibile utilizzare [markdown]( https://commonmark.org/help/) per formattare il testo. 

L'immagine seguente di una finestra di chat mostra un esempio di selettore di elenchi con una formattazione avanzata nel titolo e nei sottotitolo.
+ Il titolo **Come posso essere di aiuto? aws.amazon.com** è in grassetto e contiene un collegamento.
+ Il sottotitolo contiene testo in corsivo e grassetto, un elenco puntato e un elenco numerato. Mostra anche un collegamento semplice, un collegamento testuale e un codice di esempio.
+ La parte inferiore della casella di chat mostra tre elementi del selettore di elenchi.

![\[Una finestra di chat, un titolo con un collegamento, un sottotitolo con elenchi e collegamenti.\]](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/rich-link-formatting-example1a.png)


### Come formattare il testo con markdown
<a name="markdown-formatting-text"></a>

È possibile scrivere stringhe di titoli e sottotitoli in un formato a più righe o in una singola riga con ``\r\n`` caratteri di interruzione di riga. 
+ **Formato a più righe**: il seguente esempio di codice mostra come creare elenchi in markdown in un formato a più righe.

  ```
  const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text**
  
  This is a bulleted list (multiline):
  * item 1
  * item 2
  * item 3
  
  This is a numbered list:
  1. item 1
  2. item 2
  3. item 3
  
  Questions? Visit https://plainlink.com/faq
  
  [This is a link](https://aws.amazon.com)
  
  This is \`\`
  `
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: MultiLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```
+ **Formato a riga singola**: l'esempio seguente mostra come creare un sottotitolo in una singola riga utilizzando ``\r\n`` caratteri di interruzione di riga. 

  ```
  const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`";
  
  const PickerTemplate = {
      templateType: "ListPicker|Panel",
      version: "1.0",
      data: {
          content: {
              title: "How can we help?",
              subtitle: SingleLinePickerSubtitle,
              elements: [ /* ... */ ]
          }
      }
  }
  ```

L'esempio seguente mostra come formattare il corsivo e il grassetto con markdown:

`This is some *emphasized text* and some **strongly emphasized text**`

L'esempio seguente mostra come formattare il testo come codice con markdown:

`This is `<code />``

### Come formattare i collegamenti con markdown
<a name="markdown-formatting-links"></a>

Per creare un collegamento, utilizza la sintassi seguente:

 `[aws](https://aws.amazon.com)`

Gli esempi seguenti mostrano due modi per aggiungere collegamenti con markdown:

`Questions? Visit https://plainlink.com/faq `

`[This is a link](https://aws.amazon.com)`

**Nota**  
Per i selettori di elenchi, il campo `targetForLinks` può essere aggiunto come campo secondario a `content` se desideri avere un controllo granulare su dove vengono aperti i link. Per impostazione predefinita, il widget di comunicazione aprirà i link in una nuova scheda del browser. Per ulteriori informazioni, consulta [Modello di selezione di elenchi](#list-picker).