

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

# Invio di messaggi con Notify
<a name="notify-send-messages"></a>

Notify ne fornisce due APIs per l'invio di messaggi:
+ `SendNotifyTextMessage`— Invia un messaggio SMS utilizzando un modello preapprovato.
+ `SendNotifyVoiceMessage`— Invia una chiamata vocale che legge il contenuto del modello utilizzando. text-to-speech

## Invio di un messaggio SMS
<a name="notify-send-text"></a>

------
#### [ Console ]

1. Aprire la console SMS di messaggistica con l'utente AWS finale all'indirizzo [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. Passa a una configurazione di notifica e scegli la scheda **Test**.

1. Per canale, seleziona **Testo**.

1. Seleziona un modello dalla tabella dei modelli.

1. Immettete il numero di telefono di destinazione nel formato E.164.

1. Compila le variabili del modello.

1. Scegli **Invia**.

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}'
```

------
#### [ Python (boto3) ]

```
import boto3

client = boto3.client('pinpoint-sms-voice-v2')

response = client.send_notify_text_message(
    NotifyConfigurationId='nc-1234567890abcdef0',
    DestinationPhoneNumber='+12065550100',
    TemplateId='notify-code-verification-english-001',
    TemplateVariables={
        'code': '123456'
    }
)

print(f"Message sent. MessageId: {response['MessageId']}")
print(f"Resolved body: {response.get('ResolvedMessageBody')}")
```

------

## Invio di un messaggio vocale
<a name="notify-send-voice"></a>

I messaggi vocali richiedono che il `VOICE` canale sia abilitato nella configurazione Notify.

**Suggerimento**  
Per i messaggi vocali, separa le cifre con punti o spazi (ad esempio,`"1. 2. 3. 4. 5. 6."`) in modo che il text-to-speech motore legga ogni cifra singolarmente anziché come un singolo numero.

------
#### [ Console ]

1. Apri la console SMS di messaggistica con l'utente AWS finale all'indirizzo. [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/)

1. Passa a una configurazione di notifica e scegli la scheda **Test**.

1. Per il canale, seleziona **Voice**.

1. Seleziona un modello vocale dalla tabella dei modelli.

1. Inserisci il numero di telefono di destinazione e compila le variabili del modello.

1. Scegli **Invia**.

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-voice-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --voice-id JOANNA
```

------

## Utilizzo della DryRun modalità
<a name="notify-send-dryrun"></a>

Impostata su `DryRun` `true` per convalidare una richiesta di invio senza recapitare effettivamente il messaggio. DryRun mode controlla la convalida delle variabili del modello, le restrizioni nazionali e i limiti di spesa, ma non invia il messaggio né detrae dal limite di spesa.

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --dry-run
```

## Parametri della richiesta di invio
<a name="notify-send-parameters"></a>

Entrambi `SendNotifyTextMessage` `SendNotifyVoiceMessage` accettate i seguenti parametri:

NotifyConfigurationId (richiesto)  
L'ID o l'ARN della configurazione Notify.

DestinationPhoneNumber (richiesto)  
Il numero di telefono del destinatario in formato E.164.

TemplateVariables (richiesto)  
Una mappa dei nomi delle variabili rispetto ai valori. Tutti i valori sono stringhe, anche per variabili intere o booleane.

TemplateId  
Il modello da usare. Se omesso, viene utilizzato il modello predefinito della configurazione.

ConfigurationSetName  
Un set di configurazione per il routing degli eventi.

Contesto  
Coppie chiave-valore incluse nei record degli eventi.

DryRun  
Convalida la richiesta senza inviarla.

TimeToLive  
Durata di validità del messaggio, in secondi. L'impostazione predefinita è 72 ore.

MessageFeedbackEnabled  
Abilita il tracciamento del feedback dei messaggi tramite l'`PutMessageFeedback`API.

VoiceId (solo voce)  
La voce di Amazon Polly da usare (ad esempio`JOANNA`,`MATTHEW`).

## Come funziona il routing dei messaggi
<a name="notify-send-routing"></a>

AWS seleziona automaticamente la migliore identità di origine per ogni messaggio in base al paese di destinazione. Se hai associato un pool di telefoni alla configurazione Notify, le identità di proprietà del cliente nel pool vengono provate per prime. Se non è disponibile un'identità di proprietà del cliente adeguata, le identità AWS gestite vengono utilizzate come alternativa.

## Feedback sui messaggi
<a name="notify-send-feedback"></a>

Se abiliti `MessageFeedbackEnabled` quando invii un messaggio, puoi segnalare se l'utente finale ha ricevuto e utilizzato correttamente il codice:

```
client.put_message_feedback(
    MessageId='msg-1234567890abcdef',
    MessageFeedbackStatus='RECEIVED'  # or 'FAILED'
)
```

## Eventi di consegna
<a name="notify-send-delivery-events"></a>

Notifica gli eventi di consegna delle emissioni alle destinazioni degli eventi configurate (CloudWatchAmazon Data Firehose o Amazon SNS). Per informazioni sulla configurazione delle destinazioni degli eventi, consulta. [Set di configurazione in AWS End User Messaging SMS](configuration-sets.md)


**Tipi di eventi di consegna**  

| Event | Description | 
| --- | --- | 
| PENDING | Il messaggio è in coda per il recapito. | 
| DELIVERED | Il messaggio è stato recapitato sul dispositivo del destinatario. | 
| FAILED | Invio del messaggio non riuscito. Controlla il motivo dell'errore per i dettagli. | 
| BLOCKED | Il messaggio è stato bloccato dalle regole di configurazione di Protect. | 

## Gestione degli errori
<a name="notify-send-errors"></a>

ValidationException  
Variabili del modello mancanti o non valide, formato del numero di telefono non valido o paese di destinazione non abilitato nella configurazione.

ResourceNotFoundException  
La configurazione o il modello di notifica non sono stati trovati.

ServiceQuotaExceededException  
È stato raggiunto il limite giornaliero di messaggi (livello Basic) o il limite di spesa mensile.

ConflictException  
La configurazione Notify non è in `ACTIVE` stato.

## Note importanti
<a name="notify-send-important-notes"></a>
+ Messaggistica **bidirezionale: la messaggistica** bidirezionale non è supportata quando si utilizzano identità di origine AWS gestite. Se hai bisogno di una messaggistica bidirezionale, associa il tuo pool di telefoni. Per informazioni, consulta [Utilizzo di numeri dedicati con Notify](notify-dedicated-numbers.md).
+ **Comportamento di opt-out**: per i casi d'uso OTP con identità AWS gestite, le risposte alle parole chiave STOP sono solo informative. Non viene mantenuto alcun elenco di opt-out persistente perché ogni richiesta OTP è un opt-in implicito. Se si associa il proprio pool di telefoni, l'elenco di opt-out del pool viene rispettato.

## Risoluzione dei problemi
<a name="notify-send-troubleshooting"></a>

**Messaggi non recapitati**  
Se i tuoi messaggi non vengono recapitati, verifica quanto segue:

1. Verifica che il numero di telefono di destinazione sia in formato E.164 (inizia con `+` il prefisso internazionale).

1. Verifica che il paese di destinazione sia nell'`EnabledCountries`elenco.

1. Verifica che lo stato della configurazione sia`ACTIVE`.

1. Verifica che il tuo limite di spesa non sia stato superato.

**Stato BLOCCATO**  
Il messaggio è stato bloccato da una configurazione Protect. I motivi più comuni includono che il paese di destinazione non è presente nell'elenco dei paesi abilitati o che il messaggio viene contrassegnato come potenziale AIT (traffico gonfiato artificialmente).

**Errori di convalida**  
Assicurati che siano stati forniti tutti i dati richiesti. `TemplateVariables` Verifica che i valori delle variabili corrispondano ai tipi dichiarati (ad esempio, i numeri interi sono numeri validi). Verifica che l'ID del modello esista e sia attivo.