

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à.

# Utilizzare la modalità primo callback del cliente in Amazon Connect
<a name="customer-first-cb"></a>

Quando configuri i callback in coda, hai la possibilità aggiuntiva di scegliere se utilizzare la modalità primo callback dell’agente o primo callback del cliente.
+ La **modalità primo callback dell’agente** è quella predefinita. A un agente viene offerta la possibilità di accettare o rifiutare il callback prima che la chiamata venga inoltrata a un cliente.
+ La **modalità primo callback del cliente** è disponibile solo quando Amazon Connect di nuova generazione è [abilitato](enable-nextgeneration-amazonconnect.md) per l’istanza Amazon Connect. In questa modalità, Amazon Connect chiama prima il cliente e offre il callback a un agente solo se il cliente risponde al callback ricevuto.

**Importante**  
La modalità Customer First Callback non è disponibile nel modello di pay-per-feature prezzo. 
Se disabiliti Amazon Connect di nuova generazione dopo aver già attivato e iniziato a utilizzare il primo callback del cliente, viene disattivata anche la modalità primo callback del cliente.

**Topics**
+ [Ciclo di vita di un primo callback del cliente](#queued-callback-customer-first-callback-contact-lifecycle)
+ [Tentativi](#customer-first-callback-retries)
+ [Metriche per i primi callback del cliente](#customer-first-callback-metrics)
+ [Record di contatto di esempio](#customer-first-callback-contact-lifecycle-contact-model)
+ [Flussi di esempio](#customer-first-callback-contact-lifecycle-sample-flows)

## Ciclo di vita di un primo callback del cliente
<a name="queued-callback-customer-first-callback-contact-lifecycle"></a>

Il ciclo di vita per i primi callback del cliente è distribuito su tre contatti diversi, come mostrato nel diagramma seguente. 

![Ciclo di vita per i primi callback del cliente, distribuito su tre contatti diversi.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/queued-callback-customer-first-callback-contact-lifecycle-1.png)


Di seguito viene fornita la descrizione di ogni contatto.

1. Il **contatto del cliente in entrata (C1)** è un contatto vocale in entrata. Assomiglia a qualsiasi altro contatto del cliente in entrata.

1. Il **contatto di callback in coda (C2)** è la parte in coda del primo callback del cliente. Ha un nuovo metodo di avvio CALLBACK\_CUSTOMER\_FIRST\_QUEUED.
   + C2 attiva il flusso di creazione, se hai selezionato **Imposta flusso di creazione** nel blocco [Trasferisci alla coda](transfer-to-queue.md). Lo fa prima di essere messo in coda nella coda di lavoro e dopo il **Ritardo iniziale**, se specificato nel blocco [Trasferisci alla coda](transfer-to-queue.md). 
   + C2 non supporta le impostazioni **Numero massimo di tentativi** e **Tempo minimo tra i tentativi** nel blocco [Trasferisci alla coda](transfer-to-queue.md). Questa funzionalità è disponibile solo per i primi callback dell’agente.

1. Il **contatto di callback chiamato (C3)** è la parte chiamata del primo callback dell’agente. Ha un nuovo metodo di avvio CALLBACK\_CUSTOMER\_FIRST\_DIALED.
   + C3 attiva il flusso di callback in uscita richiesto specificato nel blocco di flusso [Trasferisci alla coda](transfer-to-queue.md). Si specifica un flusso di callback in uscita solo per la modalità primo callback del cliente, non per la modalità primo callback dell’agente.
   + Per i primi callback del cliente, configura i tentativi e il tempo tra i tentativi nel flusso in uscita specificato per C3, in base all’output del blocco di flusso [Controlla l'avanzamento della chiamata](check-call-progress.md). Lo scopo è quello di determinare se a un contatto è stato risposto con un messaggio vocale o una voce umana.
   + Dopo la conferma della presenza del cliente, il flusso per C3 dovrebbe avere un blocco di flusso [Trasferisci alla coda](transfer-to-queue.md) configurato in modo da mettere il contatto nella coda per trovare il prossimo agente disponibile.
   + Puoi personalizzare la priorità di routing di questo contatto all’interno del flusso utilizzando i blocchi [Imposta criteri di instradamento](set-routing-criteria.md) o [Change routing priority / age (Modifica priorità/durata instradamento)](change-routing-priority.md).

**Nota**  
Devi impostare la coda di lavoro finale almeno una volta prima della creazione di C2.   
Puoi eseguire questa operazione nel flusso in entrata C1 utilizzando [Set working queue (Imposta la coda di lavoro)](set-working-queue.md). Oppure, durante la configurazione di C2, puoi specificare la coda nel blocco [Trasferisci alla coda](transfer-to-queue.md).
È possibile modificare la coda di lavoro finale utilizzando **Imposta il flusso di creazione** per C2 o utilizzando il flusso in uscita specificato per C3.
Quando imposti la coda di lavoro finale per il callback in qualsiasi punto del ciclo di vita del contatto (fase C1, C2 o C3), le fasi successive la ereditano. 

## Riprova a richiamare prima il cliente
<a name="customer-first-callback-retries"></a>

Il comportamento relativo ai tentativi di riprovare per primo le richiamate effettuate con il cliente differisce notevolmente da quello utilizzato dall'agente. I nuovi tentativi sono configurati sul contatto di callback chiamato (C3), non sul contatto di callback in coda (C2).

### Come funzionano i nuovi tentativi
<a name="customer-first-callback-retries-how-they-work"></a>
+ C2 non supporta i nuovi tentativi. Le impostazioni **Numero massimo di tentativi** e **Tempo minimo tra i tentativi** nel [Trasferisci alla coda](transfer-to-queue.md) blocco sono disponibili solo per le prime richiamate dell'agente.
+ Per le prime richiamate effettuate dal cliente, i nuovi tentativi sono configurati nel flusso di callback in uscita specificato per C3.
+ Quando è necessario un nuovo tentativo (ad esempio, viene rilevata una casella vocale), viene creato un nuovo contatto di callback chiamato, C4. C4 eredita gli attributi utente impostati su C3.

### Configura nuovi tentativi con Check Call Progress
<a name="customer-first-callback-retries-check-call-progress"></a>

Usa il [Controlla l'avanzamento della chiamata](check-call-progress.md) blocco nel flusso in uscita di C3 per rilevare se un umano o un messaggio vocale ha risposto alla chiamata. In base all'output, configura il flusso come segue:
+ **Voicemail detected** (`VOICEMAIL_BEEP`,`VOICEMAIL_NO_BEEP`): imposta un `retry` attributo su C3, quindi ricrea il contatto di callback (C4).
+ **Human detected** (`HUMAN_ANSWERED`): trasferimento in coda per consentire a un operatore di partecipare alla chiamata.
+ **Stati diversi o non risolti**: configura la gestione del fallback in base alle esigenze.

Il `AnsweringMachineDetectionStatus` campo del record di contatto C3 registra il risultato completo del rilevamento della segreteria telefonica. I valori possibili includono:

`HUMAN_ANSWERED` \| `VOICEMAIL_BEEP` \| `VOICEMAIL_NO_BEEP` \| `AMD_UNANSWERED` \| `AMD_UNRESOLVED` \| `AMD_NOT_APPLICABLE` \| `SIT_TONE_BUSY` \| `SIT_TONE_INVALID_NUMBER` \| `SIT_TONE_DETECTED` \| `FAX_MACHINE_DETECTED` \| `AMD_ERROR`

### Regola la priorità per riprovare i contatti
<a name="customer-first-callback-retries-adjust-priority"></a>

Per garantire che i contatti che riprovano vengano instradati correttamente, utilizzate il flusso di creazione del callback che viene eseguito quando viene creato il contatto C4. L'approccio consigliato è:

1. **Imposta un attributo retry su C3**: prima di ricreare il contatto di callback, utilizza un blocco **Set contact attributes** nel flusso in uscita di C3 per aggiungere un attributo definito dall'utente (ad esempio,). `retry = true`

1. **C4 eredita gli attributi utente di C3: quando il contatto C4 viene creato, eredita automaticamente tutti gli attributi utente** da C3, incluso l'attributo. `retry`

1. **Controlla l'attributo retry nel flusso di creazione del callback di C4 — Nel flusso di creazione del callback** **configurato per C4, utilizza un blocco Check contact attributes per valutare se l'attributo è presente.** `retry`

1. **Modifica la priorità di routing in caso di nuovo tentativo**: se l'`retry`attributo è presente, usa un [Change routing priority / age (Modifica priorità/durata instradamento)](change-routing-priority.md) blocco [Imposta criteri di instradamento](set-routing-criteria.md) or per mettere in coda il contatto con una priorità modificata prima che entri nella coda di lavoro.

Questo approccio consente di distinguere i callback al primo tentativo dai nuovi tentativi e di applicare una logica di prioritizzazione personalizzata senza fare affidamento sullo stato esterno.

**Nota**  
I contatti di riprova (C4) vengono posizionati in fondo alla coda e non mantengono la loro posizione originale. Puoi compensare questo problema regolando la priorità di routing o la data di routing nel flusso di creazione dei callback di C4, come descritto sopra.

**Nota**  
Il [Imposta criteri di instradamento](set-routing-criteria.md) blocco può essere utilizzato nel flusso in uscita per aumentare dinamicamente la priorità tra i tentativi di ripetizione (ad esempio, la priorità da 5 a 3 a 1 utilizzando un attributo retry counter). Le modifiche alla priorità hanno effetto nel momento in cui il contatto rientra nella coda.

### Controlla la tempistica dei tentativi
<a name="customer-first-callback-retries-timing"></a>

Per impostazione predefinita, la tempistica dei tentativi non è controllata dal sistema per le prime richiamate effettuate dai clienti: hai il pieno controllo su quando viene avviato un nuovo tentativo.

Per introdurre un ritardo tra i tentativi, aggiungi un blocco **Wait** nel flusso di creazione C4 prima del trasferimento in coda. Ciò consente di definire un intervallo specifico (ad esempio, attendere 5 minuti prima di mettersi in coda), evitando tentativi di chiamata immediati. back-to-back

Un tipico flusso di tentativi con controllo della temporizzazione ha il seguente aspetto:

1. [Controlla l'avanzamento della chiamata](check-call-progress.md)— messaggio vocale rilevato.

1. **Imposta gli attributi dei contatti**: imposta `retry = true` (e facoltativamente incrementa un contatore di tentativi).

1. **Crea callback**: ricrea il contatto come C4.

1. Blocco di **attesa**: per l'intervallo desiderato prima di mettersi in coda.

## Metriche per i primi callback del cliente
<a name="customer-first-callback-metrics"></a>

[Puoi accedere alle seguenti metriche nella dashboard delle prestazioni di Queue o utilizzando l'API V2. GetMetricData](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html)
+ [Tempo medio di abbandono coda: primo callback del cliente](metrics-definitions.md#average-queue-abandon-time-customer-first-callback)
+ [Tempo medio di risposta della coda: primo callback del cliente](metrics-definitions.md#average-queue-answer-time-customer-first-callback)
+ [Velocità media di risposta: chiamata primo callback cliente](metrics-definitions.md#average-speed-of-answer-customer-first-callback-dialed)
+ [Tempo di attesa medio dopo la connessione del cliente: primo callback cliente](metrics-definitions.md#average-wait-time-after-customer-connection-customer-first-callback)
+ [Tentativi di callback: primo callback del cliente](metrics-definitions.md#callback-attempts-customer-first-callback)
+ [Volume dei contatti: primo callback dell’agente](metrics-definitions.md#contact-volume-agent-first-callback)
+ [Volume dei contatti: primo callback del cliente](metrics-definitions.md#contact-volume-customer-first-callback)
+ [Contatti abbandonati: primo callback del cliente](metrics-definitions.md#contacts-abandoned-customer-first-callback)
+ [Contatti gestiti: primo callback del cliente](metrics-definitions.md#contacts-handled-customer-first-callback)

## Record di contatto di esempio per i primi callback del cliente
<a name="customer-first-callback-contact-lifecycle-contact-model"></a>

Di seguito sono riportati alcuni esempi di record di contatto che mostrano quali informazioni vengono archiviate per le parti C2 e C3 di un primo callback del cliente.

### Record di contatto di esempio per i primi callback del cliente in coda C2
<a name="customer-first-callback-contact-lifecycle-contact-model-c2"></a>

```
InitialContactId : C1 (Inbound contact)
ContactId : C2 (this contact)
PreviousContactId : C1 (Inbound contact)
NextContactId : C3 (Dialed customer first callback contact)
Channel : VOICE,
InitiationMethod : CALLBACK_CUSTOMER_FIRST_QUEUED, 

ConnectedToSystemTimeStamp : time // Timestamp when callback creation flow got started

CustomerEndpoint : customer phone number endpoint

DisconnectTimestamp : time // Timestamp indicating contact is disconnected and customer will be dialed

DisconnectReason : // Disconnect reason code 

InitiationTimeStamp : time // Timestamp indicating customer first callback has been created in connect systems

QueueInfo : {
    Arn : arn // Queue arn representing customer first callback queue
    EnqueueTimeStamp : time // Timestamp indicating customer first callback has been put in queue and waiting out to dial.
    DequeueTimeStamp : time // Timestamp indicating customer first callback has been taken out from queue to dial out end customer.
    Duration : time // total time it took connect systems to dial out end customer. 
}
```

### Record di contatto di esempio per i primi callback del cliente chiamati C3
<a name="customer-first-callback-contact-lifecycle-contact-model-c3"></a>

```
InitialContactId : C1 (Inbound contact)
ContactId : C3 (this contact)
PreviousContactId : C2 (Queued customer first callback contact)
Channel : VOICE,
InitiationMethod : CALLBACK_CUSTOMER_FIRST_DIALED,

ConnectedToSystemTimeStamp : time // Timestamp when the outbound call associated with callback was connected with customer.

CustomerEndpoint : customer phone number endpoint

SystemEndpoint : Outbound caller id assigned to the outbound queue

Agent : {
    // All agent information associated with the outbound call. 
    // Like Agent Arn, ConnectToAgentTimestamp, ACW duration etc. 
}

AgentConnectionAttempts : number

DisconnectTimestamp : time // Timestamp indicating outbound call for the callback is disconnected

DisconnectReason : // Disconnect reason code

SegmentAttributes : { 
    'connect:TrafficType' : 'CUSTOMER_FIRST_CALLBACK'
}, 

AnsweringMachineDetectionStatus : HUMAN_ANSWERED|VOICEMAIL_BEEP|VOICEMAIL_NO_BEEP|AMD_UNANSWERED|AMD_UNRESOLVED|AMD_NOT_APPLICABLE|SIT_TONE_BUSY|SIT_TONE_INVALID_NUMBER|SIT_TONE_DETECTED|FAX_MACHINE_DETECTED|AMD_ERROR|AMD_UNRESOLVED_SILENCE(WIP)

CustomerVoiceActivity : {
    GreetingStartTimestamp : timestamp
    GreetingEndTimestamp : timestamp
}

InitiationTimeStamp : time // Timestamp indicating start of outbound call to customer
 
QueueInfo : {
    Arn : arn // Queue arn representing customer first callback queue
    EnqueueTimeStamp : time // Timestamp indicating customer first callback has been put in queue to join with agent.
    DequeueTimeStamp : time // Timestamp indicating customer first callback has been taken out from queue to join with agent.
    Duration : time // total time it took connect systems to join dialed end customer with agent.
    CallbackTotalQueueDuration : time // total time the customer first callback spent in queue (Includes the total queued time for C2 and C3.)
}
```

## Flussi di esempio per i primi callback del cliente
<a name="customer-first-callback-contact-lifecycle-sample-flows"></a>

I seguenti flussi di esempio mostrano come configurare un flusso per i primi callback del cliente.

### Esempio di flusso Chiamata in entrata
<a name="customer-first-callback-contact-lifecycle-sample-flows-inbound"></a>

L’immagine seguente mostra un blocco [Trasferisci alla coda](transfer-to-queue.md) in un flusso.

![Un blocco Trasferisci alla coda in un flusso di primo callback del cliente.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-inbound-1.png)


In questo flusso, in [Trasferisci alla coda](transfer-to-queue.md) è configurato **Imposta il flusso di creazione** ed è specificato un flusso di chiamata in uscita.

![Un blocco Trasferisci alla coda, in cui è configurato Imposta il flusso di creazione ed è specificato il flusso di chiamata in uscita.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-inbound-2.png)


### Esempio di configurazione del flusso di creazione di callback
<a name="customer-first-callback-contact-lifecycle-sample-flows-creation"></a>

L’immagine seguente mostra un esempio di flusso di creazione dei callback. Il blocco [Set customer queue flow (Imposta flusso coda clienti)](set-customer-queue-flow.md) è configurato in modo che venga eseguito un flusso coda clienti mentre il contatto di callback è in coda, in attesa che l’agente sia disponibile a effettuare chiamate in uscita ai clienti.

![Un esempio di flusso di creazione di callback con un blocco Imposta flusso coda clienti.](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-creation-1.png)


### Esempio di flusso di chiamata in uscita per i callback
<a name="customer-first-callback-contact-lifecycle-sample-flows-outbound"></a>

Nel flusso di chiamata in uscita mostrato nell’immagine seguente, Amazon Connect valuta la presenza del cliente utilizzando un blocco [Controlla l'avanzamento della chiamata](check-call-progress.md). Se viene rilevata una casella vocale, viene ricreato un contatto di callback. Se viene rilevato un cliente all’altro capo della chiamata, la chiamata viene trasferita alla coda per consentire la connessione dell’agente al cliente.

![Un flusso di chiamata in uscita con un blocco Controlla l’avanzamento della chiamata](http://docs.aws.amazon.com/it_it/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-outbound-1.png)
