Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh pengiriman SMS atau pesan suara menggunakan SMS AWS End User Messaging
Anda dapat menggunakan AWS End User Messaging SMS API untuk mengirim pesan langsung dari aplikasi Anda. Pesan transaksional adalah pesan yang Anda kirim ke penerima tertentu.
Bagian ini mencakup contoh kode untuk mengirim pesan SMS dan pesan suara.
penting
Untuk menggunakan sumber daya bersama, Anda harus menggunakan Nama Sumber Daya Amazon (ARN) lengkap.
Topik di bagian ini:
Mengirim pesan SMS menggunakan SMS AWS End User Messaging
Jika Anda menggunakan sumber daya bersama maka Anda harus menggunakan Nama Sumber Daya Amazon (ARN) lengkap dari sumber daya tersebut. Anda dapat menggunakan contoh kode berikut untuk mengirim pesan SMS menggunakan file AWS SDK untuk 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()
Dalam contoh kode sebelumnya, buat perubahan fungsi berikut: main()
-
Ubah nilai
configuration_set
ke nama atau Amazon Resource Name (ARN) dari set konfigurasi yang ingin Anda gunakan untuk mengirim pesan ini. -
Ubah nilai
context_keys
ke kunci dan nilai yang ingin Anda gunakan saat mengirim pesan ini. Tombol ini muncul dalam catatan peristiwa yang terkait dengan pesan ini. -
Jika Anda menggunakan ID pengirim terdaftar untuk mengirim pesan ke pelanggan di India, ubah nilainya
country_parameters
agar sesuai dengan ID Entitas terdaftar dan ID Templat yang Anda terima saat mendaftarkan ID pengirim Anda.penting
Jika Anda tidak menggunakan ID pengirim terdaftar untuk mengirim pesan ke pelanggan di India, hilangkan parameter ini sepenuhnya. Jika ya, Anda juga harus menghapus baris yang sesuai dalam
send_sms_message
fungsi. -
Ubah nilai
destination_number
ke nomor telepon yang ingin Anda kirimi pesan. -
Jika Anda ingin menjalankan operasi ini tanpa mengirim pesan apa pun, ubah nilai
dry_run
keTrue
. -
Ubah nilai
max_price
ke jumlah maksimum uang yang ingin Anda belanjakan, dalam Dolar AS, untuk mengirim setiap bagian pesan pesan ini. Bagian pesan berisi hingga 140 byte informasi. Untuk informasi selengkapnya, lihat Batas karakter SMS. -
Ubah nilai
message_body
untuk menyertakan pesan yang ingin Anda kirim. Panjang maksimum pesan tergantung pada karakter mana yang terkandung dalam pesan tersebut. Untuk informasi selengkapnya tentang pengkodean karakter SMS, lihatBatas karakter SMS. -
Ubah nilai
message_type
untuk mewakili kategori pesan yang sesuai. Nilai yang valid adalah TRANSAKSIONAL (untuk pesan yang kritis atau sensitif terhadap waktu) dan PROMOSI (untuk pesan yang tidak kritis atau sensitif terhadap waktu). -
Ubah nilai
origination_number
ke nomor telepon yang ingin Anda gunakan untuk mengirim pesan. Nomor telepon harus dalam format E.164. -
Ubah nilai
ttl
ke jumlah waktu, dalam hitungan detik, bahwa SMS Pesan Pengguna AWS Akhir harus mencoba untuk menyampaikan pesan. Anda dapat mengatur nilai TTL hingga 259200 detik (72 jam).
Mengirim pesan suara menggunakan SMS Pesan Pengguna AWS Akhir
Anda dapat menggunakan contoh kode berikut untuk mengirim pesan suara menggunakan AWS SDK untuk 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 untuk 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()
Dalam contoh kode sebelumnya, buat perubahan fungsi berikut: main()
-
Ubah nilai
configuration_set
ke nama atau Amazon Resource Name (ARN) dari set konfigurasi yang ingin Anda gunakan untuk mengirim pesan ini. -
Ubah nilai
context_keys
ke kunci dan nilai yang ingin Anda gunakan saat mengirim pesan ini. Tombol ini muncul dalam catatan peristiwa yang terkait dengan pesan ini. -
Ubah nilai
destination_number
ke nomor telepon yang ingin Anda kirimi pesan. -
Ubah nilai
max_price
ke jumlah maksimum uang yang ingin Anda habiskan per menit mengirim pesan ini. -
Ubah nilai
message_body
untuk menyertakan pesan yang ingin Anda kirim. Pesan Anda dapat berisi hingga 6.000 karakter. -
Jika Anda ingin menggunakan skrip teks biasa daripada skrip berformat SSML, ubah nilainya menjadi.
message_type
TEXT
-
Ubah nilai
origination_number
ke nomor telepon yang ingin Anda gunakan untuk mengirim pesan. Nomor telepon harus dalam format E.164. -
Jika Anda ingin menjalankan operasi ini tanpa mengirim pesan apa pun, ubah nilai
dry_run
keTrue
. -
Ubah nilai
ttl
ke jumlah waktu, dalam hitungan detik, bahwa SMS Pesan Pengguna AWS Akhir harus mencoba untuk menyampaikan pesan. Anda dapat mengatur nilai TTL hingga 259200 detik (72 jam). -
Ganti
MATTHEW
dengan nama suara Amazon Polly yang ingin Anda gunakan untuk mengirim pesan. Untuk daftar lengkap suara yang didukung, lihat SendVoiceMessagedi SMS dan Suara, Referensi API versi 2. Jika Anda tidak menentukan suara, pesan Anda dikirim menggunakan suara “MATTHEW”.