Beispiel für das Senden einer SMS oder Sprachnachricht mithilfe von AWS End User Messaging SMS - AWS SMS-Nachrichten für Endbenutzer

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiel für das Senden einer SMS oder Sprachnachricht mithilfe von AWS End User Messaging SMS

Sie können die SMS-API für AWS Endbenutzernachrichten verwenden, um Nachrichten direkt von Ihren Apps aus zu senden. Transaktionsnachrichten sind Nachrichten, die Sie an bestimmte Empfänger senden.

Dieser Abschnitt enthält Codebeispiele für das Senden von SMS-Nachrichten und Sprachnachrichten.

Wichtig

Um eine gemeinsam genutzte Ressource zu verwenden, müssen Sie den vollständigen Amazon-Ressourcennamen (ARN) verwenden.

Senden einer SMS-Nachricht mit AWS End User Messaging SMS

Wenn Sie eine gemeinsam genutzte Ressource verwenden, müssen Sie den vollständigen Amazon-Ressourcennamen (ARN) der Ressource verwenden. Sie können das folgende Codebeispiel verwenden, um eine SMS-Nachricht mit dem AWS SDK für Python (Boto3) zu senden.

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

Nehmen Sie im vorherigen Codebeispiel die folgenden Änderungen in der main()-Funktion vor:

  • Ändern Sie den Wert von configuration_set in den Namen oder den Amazon-Ressourcennamen (ARN) des Konfigurationssatzes, den Sie zum Senden dieser Nachricht verwenden möchten.

  • Ändern Sie den Wert von context_keys in die Schlüssel und Werte, die Sie beim Senden dieser Nachricht verwenden möchten. Diese Schlüssel werden in den mit dieser Nachricht verknüpften Ereignisdatensätzen angezeigt.

  • Wenn Sie eine registrierte Absender-ID verwenden, um Nachrichten an Kunden in Indien zu senden, ändern Sie den Wert von country_parameters so, dass er der registrierten Entity-ID und der Vorlagen-ID entspricht, die Sie bei der Registrierung Ihrer Absender-ID erhalten haben.

    Wichtig

    Wenn Sie keine registrierte Absender-ID verwenden, um Nachrichten an Kunden in Indien zu senden, lassen Sie diesen Parameter komplett weg. Wenn Sie dies tun, müssen Sie auch die entsprechende Zeile in der send_sms_message-Funktion entfernen.

  • Ändern Sie den Wert von destination_number in die Telefonnummer, an die Sie die Nachricht senden möchten.

  • Wenn Sie diesen Vorgang ausführen möchten, ohne Nachrichten zu senden, ändern Sie den Wert von dry_run in True.

  • Ändern Sie den Wert max_price auf den Höchstbetrag in US-Dollar, den Sie ausgeben möchten, um die einzelnen Teile dieser Nachricht zu versenden. Ein Nachrichten kann bis zu 140 Byte an Informationen enthalten. Weitere Informationen finden Sie unter SMS-Zeichenbeschränkungen.

  • Ändern Sie den Wert von message_body, um die Nachricht einzuschließen, die Sie senden möchten. Die maximale Länge einer Nachricht hängt davon ab, welche Zeichen die Nachricht enthält. Weitere Informationen zur SMS-Zeichencodierung erhalten Sie unter SMS-Zeichenbeschränkungen.

  • Ändern Sie den Wert von message_type, sodass er der entsprechenden Nachrichtenkategorie entspricht. Gültige Werte sind TRANSACTIONAL (für Nachrichten, die kritisch oder zeitabhängig sind) und PROMOTIONAL (für Nachrichten, die nicht kritisch oder zeitkritisch sind).

  • Ändern Sie den Wert von origination_number in die Telefonnummer, an die Sie die Nachricht senden möchten. Die Telefonnummer muss im E.164-Format vorliegen.

  • Ändern Sie den Wert ttl auf die Zeitspanne in Sekunden, während der AWS End User Messaging SMS versuchen soll, die Nachricht zuzustellen. Sie können den TTL-Wert auf bis zu 259200 Sekunden (72 Stunden) festlegen.

Senden einer Sprachnachricht mithilfe von AWS End User Messaging SMS

Sie können das folgende Codebeispiel verwenden, um eine Sprachnachricht mit dem AWS SDK für Python (Boto3) zu senden.

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 für 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()

Nehmen Sie im vorherigen Codebeispiel die folgenden Änderungen in der main()-Funktion vor:

  • Ändern Sie den Wert von configuration_set in den Namen oder den Amazon-Ressourcennamen (ARN) des Konfigurationssatzes, den Sie zum Senden dieser Nachricht verwenden möchten.

  • Ändern Sie den Wert von context_keys in die Schlüssel und Werte, die Sie beim Senden dieser Nachricht verwenden möchten. Diese Schlüssel werden in den mit dieser Nachricht verknüpften Ereignisdatensätzen angezeigt.

  • Ändern Sie den Wert von destination_number in die Telefonnummer, an die Sie die Nachricht senden möchten.

  • Ändern Sie den Wert von max_price auf den Höchstbetrag, den Sie pro Minute für das Senden dieser Nachricht ausgeben möchten.

  • Ändern Sie den Wert von message_body, um die Nachricht einzuschließen, die Sie senden möchten. Ihre Nachricht kann bis zu 6 000 Zeichen enthalten.

  • Wenn Sie ein Nur-Text-Skript anstelle eines SSML-formatierten Skripts verwenden möchten, ändern Sie den Wert von message_type in TEXT.

  • Ändern Sie den Wert von origination_number in die Telefonnummer, an die Sie die Nachricht senden möchten. Die Telefonnummer muss im E.164-Format vorliegen.

  • Wenn Sie diesen Vorgang ausführen möchten, ohne Nachrichten zu senden, ändern Sie den Wert von dry_run in True.

  • Ändern Sie den Wert ttl auf die Zeitspanne in Sekunden, während der AWS End User Messaging SMS versuchen soll, die Nachricht zuzustellen. Sie können den TTL-Wert auf bis zu 259200 Sekunden (72 Stunden) festlegen.

  • Ersetzen Sie MATTHEW durch den Namen der Amazon-Polly-Stimme, die Sie zum Senden der Nachricht verwenden möchten. Eine vollständige Liste der unterstützten Stimmen finden Sie SendVoiceMessagein der API-Referenz zu SMS and Voice, Version 2. Wenn Sie keine Stimme angeben, wird Ihre Nachricht mit der Stimme „MATTHEW“ gesendet.