Contoh pengiriman SMS atau pesan suara menggunakan SMS AWS End User Messaging - AWS SMS Pesan Pengguna Akhir

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.

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