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à.
Esempio di invio di un SMS o di un messaggio vocale tramite SMS di messaggistica per l'utente AWS finale
Puoi utilizzare l'API SMS di messaggistica con l'utente AWS finale per inviare messaggi direttamente dalle tue app. I messaggi transazionali sono messaggi che invii a destinatari specifici.
Questa sezione include esempi di codice per l'invio di messaggi SMS e messaggi vocali.
Importante
Per utilizzare una risorsa condivisa è necessario utilizzare l'Amazon Resource Name (ARN) completo.
Argomenti in questa sezione:
Invio di un messaggio SMS tramite AWS End User Messaging (SMS)
Se utilizzi una risorsa condivisa, devi utilizzare l'Amazon Resource Name (ARN) completo della risorsa. È possibile utilizzare il seguente esempio di codice per inviare un messaggio SMS tramite AWS SDK per Python (Boto3).
import boto3 from botocore.exceptions import ClientError def send_sms_message(sms_voice_v2_client, configuration_set, context_keys, country_parameters, destination_number, dry_run, keyword, max_price, message_body, message_type, origination_number, ttl): try: response = sms_voice_v2_client.send_text_message( ConfigurationSetName=configuration_set, Context=context_keys, DestinationCountryParameters=country_parameters, DestinationPhoneNumber=destination_number, DryRun=dry_run, Keyword=keyword, MaxPrice=max_price, MessageBody=message_body, MessageType=message_type, OriginationIdentity=origination_number, TimeToLive=ttl ) except ClientError as e: print(e.response) else: return response['MessageId'] def main(): configuration_set = "MyConfigurationSet" context_keys = {"key1": "value1"} country_parameters = { "IN_TEMPLATE_ID": "TEMPLATE01234", "IN_ENTITY_ID": "ENTITY98765" } destination_number = "+14255550168" dry_run = False keyword = "MyKeyword" max_price = "2.00" message_body = ("This is a test message sent from AWS End User Messaging SMS " "using the AWS SDK for Python (Boto3). ") message_type = "TRANSACTIONAL" origination_number = "+12065550183" ttl = 120 print( f"Sending text message to {destination_number}.") message_id = send_sms_message( boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys, country_parameters, destination_number, dry_run, keyword, max_price, message_body, message_type, origination_number, ttl) print(f"Message sent!\nMessage ID: {message_id}") if __name__ == '__main__': main()
Nel precedente codice di esempio, apporta le modifiche seguenti nella funzione main()
:
-
Cambia il valore di
configuration_set
con il nome o il nome della risorsa Amazon (ARN) del set di configurazione che desideri utilizzare per inviare questo messaggio. -
Cambia il valore di
context_keys
con le chiavi e i valori che desideri utilizzare per l'invio di questo messaggio. Queste chiavi vengono visualizzate nei record degli eventi associati a questo messaggio. -
Se utilizzi un ID mittente registrato per inviare messaggi a clienti in India, modifica il valore di
country_parameters
in modo che corrisponda all'ID entità registrato e all'ID modello ricevuto al momento della registrazione dell'ID mittente.Importante
Se non utilizzi un ID mittente registrato per inviare messaggi ai clienti in India, ometti questo parametro. In questo caso, devi rimuovere anche la riga corrispondente nella funzione
send_sms_message
. -
Cambia il valore di
destination_number
con il numero di telefono a cui desideri inviare il messaggio. -
Se desideri eseguire questa operazione senza inviare messaggi, modifica il valore di
dry_run
inTrue
. -
Cambia il valore di
max_price
impostando l'importo massimo, in dollari USA, che desideri spendere per l'invio di ogni parte di messaggio. Una parte di messaggio contiene fino a 140 byte di dati. Per ulteriori informazioni, consulta Limiti relativi ai caratteri per gli SMS. -
Cambia il valore di
message_body
in modo da includere il messaggio che desideri inviare. La lunghezza massima di un messaggio dipende dai caratteri in esso contenuti. Per ulteriori informazioni sulla codifica dei caratteri degli SMS, consulta Limiti relativi ai caratteri per gli SMS. -
Cambia il valore di
message_type
in modo da rappresentare la categoria di messaggi appropriata. I valori validi sono TRANSACTIONAL (per i messaggi critici o urgenti) e PROMOTIONAL (per i messaggi non critici o non urgenti). -
Cambia il valore di
origination_number
con il numero di telefono che desideri utilizzare per inviare il messaggio. Il numero di telefono deve essere in formato E.164. -
Imposta il valore in base
ttl
al periodo di tempo, in secondi, in cui gli SMS di messaggistica per l'utente AWS finale devono tentare di recapitare il messaggio. Per il valore TTL puoi impostare un massimo di 259200 secondi (72 ore).
Invio di un messaggio vocale tramite SMS di messaggistica con l'utente AWS finale
È possibile utilizzare il seguente esempio di codice per inviare un messaggio vocale tramite AWS SDK per Python (Boto3).
import boto3 from botocore.exceptions import ClientError def send_voice_message(sms_voice_v2_client, configuration_set, context_keys, destination_number, dry_run, max_price, message_body, message_type, origination_number, ttl, voice_id): try: response = sms_voice_v2_client.send_voice_message( ConfigurationSetName=configuration_set, Context=context_keys, DestinationPhoneNumber=destination_number, DryRun=dry_run, MaxPricePerMinute=max_price, MessageBody=message_body, MessageBodyTextType=message_type, OriginationIdentity=origination_number, TimeToLive=ttl, VoiceId=voice_id ) except ClientError as e: print(e.response) else: return response['MessageId'] def main(): configuration_set = "MyConfigurationSet" context_keys = {"key1":"value1"} destination_number = "+12065550123" dry_run = False max_price = "2.00" message_body = ( "<speak>" "This is a test message sent from <emphasis>AWS End User Messaging SMS</emphasis>" "using the <break strength='weak'/> AWS SDK per Python (Boto3). " "<amazon:effect phonation='soft'>Thank you for listening." "</amazon:effect>" "</speak>") message_type = "SSML" origination_number = "+18445550142" ttl = 120 voice_id = "MATTHEW" print( f"Sending voice message with AWS End User Messaging SMS from {origination_number} to {destination_number}.") message_id = send_voice_message( boto3.client('pinpoint-sms-voice-v2'), configuration_set, context_keys, destination_number, dry_run, max_price, message_body, message_type, origination_number, ttl, voice_id) print(f"Message sent!\nMessage ID: {message_id}") if __name__ == '__main__': main()
Nel precedente codice di esempio, apporta le modifiche seguenti nella funzione main()
:
-
Cambia il valore di
configuration_set
con il nome o il nome della risorsa Amazon (ARN) del set di configurazione che desideri utilizzare per inviare questo messaggio. -
Cambia il valore di
context_keys
con le chiavi e i valori che desideri utilizzare per l'invio di questo messaggio. Queste chiavi vengono visualizzate nei record degli eventi associati a questo messaggio. -
Cambia il valore di
destination_number
con il numero di telefono a cui desideri inviare il messaggio. -
Cambia il valore di
max_price
impostando l'importo massimo che desideri spendere al minuto per l'invio di questo messaggio. -
Cambia il valore di
message_body
in modo da includere il messaggio che desideri inviare. Il messaggio può contenere fino a 6.000 caratteri. -
Se desideri utilizzare uno script di testo normale anziché uno in formato SSML, modifica il valore di
message_type
inTEXT
. -
Cambia il valore di
origination_number
con il numero di telefono che desideri utilizzare per inviare il messaggio. Il numero di telefono deve essere in formato E.164. -
Se desideri eseguire questa operazione senza inviare messaggi, modifica il valore di
dry_run
inTrue
. -
Imposta il valore indicando
ttl
il periodo di tempo, in secondi, entro il quale gli SMS di messaggistica con l'utente AWS finale devono tentare di recapitare il messaggio. Per il valore TTL puoi impostare un massimo di 259200 secondi (72 ore). -
Sostituisci
MATTHEW
con il nome della voce di Amazon Polly che desideri utilizzare per inviare il messaggio. Per un elenco completo delle voci supportate, consulta la SendVoiceMessageGuida di riferimento all'API SMS and Voice, versione 2. Se non specifichi una voce, il messaggio viene inviato utilizzando la voce "MATTHEW".