View a markdown version of this page

Invio di messaggi con Notify - AWS SMS di messaggistica per l'utente finale

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

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

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

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

  3. Per canale, seleziona Testo.

  4. Seleziona un modello dalla tabella dei modelli.

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

  6. Compila le variabili del modello.

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

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/

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

  3. Per il canale, seleziona Voice.

  4. Seleziona un modello vocale dalla tabella dei modelli.

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

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

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

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'PutMessageFeedbackAPI.

VoiceId (solo voce)

La voce di Amazon Polly da usare (ad esempioJOANNA,MATTHEW).

Come funziona il routing dei messaggi

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

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

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

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

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

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

  • 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

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

  2. Verifica che il paese di destinazione sia nell'EnabledCountrieselenco.

  3. Verifica che lo stato della configurazione siaACTIVE.

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