Mengirim pesan SMS menggunakan Amazon SNS - Amazon Simple Notification Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengirim pesan SMS menggunakan Amazon SNS

Bagian ini menjelaskan cara mengirim pesan SMS menggunakan Amazon SNS, termasuk memublikasikan topik, berlangganan nomor telepon ke topik, menyetel atribut pada pesan, dan memublikasikan langsung ke ponsel.

Menerbitkan pesan SMS ke topik Amazon SNS

Anda dapat menerbitkan satu pesan SMS ke banyak nomor telepon sekaligus dengan berlangganan nomor telepon tersebut ke topik Amazon SNS. Topik SNS adalah saluran komunikasi di mana Anda dapat menambahkan pelanggan dan kemudian menerbitkan pesan ke semua pelanggan tersebut. Pelanggan menerima semua pesan yang dipublikasikan ke topik sampai Anda membatalkan langganan, atau sampai pelanggan memilih untuk tidak menerima pesan SMS dari akun Anda. AWS

Mengirim pesan ke topik menggunakan AWS konsol

Cara membuat topik

Lakukan langkah-langkah berikut jika Anda belum memiliki topik untuk dikirimi pesan SMS.

  1. Masuk ke konsol Amazon SNS.

  2. Di menu konsol, pilih wilayah yang mendukung pesan SMS.

  3. Di panel navigasi, pilih Topics (Topik).

  4. Di halaman Topics (Topik), pilih Create topic (Buat topik).

  5. Di halaman Create topic (Buat topik), pada Details (Detail), lakukan hal-hal berikut:

    1. Untuk Type (Jenis), pilih Standard (Standar).

    2. Untuk Name (Nama), masukkan nama topik.

    3. (Opsional) Untuk Display name (Nama tampilan), masukkan prefiks kustom untuk pesan SMS Anda. Ketika Anda mengirim pesan ke topik, Amazon SNS menambahkan nama tampilan diikuti tanda kurung siku (>) dan spasi. Nama tampilan tidak peka huruf besar/kecil, dan Amazon SNS mengonversi nama tampilan menjadi karakter huruf besar. Misalnya, jika nama tampilan topiknya adalah MyTopic dan pesannya adalah Hello World!, pesan tersebut akan muncul sebagai:

      MYTOPIC> Hello World!
  6. Pilih Create topic (Buat topik). Nama topik dan Amazon Resource Name (ARN) muncul di halaman Topics (Topik).

Cara membuat langganan SMS

Anda dapat menggunakan langganan untuk mengirim pesan SMS ke beberapa penerima hanya dengan menerbitkan pesan ke topik Anda satu kali.

catatan

Saat Anda mulai menggunakan Amazon SNS untuk mengirim pesan SMS, AWS akun Anda ada di kotak pasir SMS. Sandbox SMS menyediakan lingkungan yang aman bagi Anda untuk mencoba fitur Amazon SNS tanpa mempertaruhkan reputasi Anda sebagai pengirim SMS. Saat akun Anda berada di sandbox SMS, Anda dapat menggunakan semua fitur Amazon SNS, tetapi Anda hanya dapat mengirim pesan SMS ke nomor telepon tujuan yang terverifikasi. Untuk informasi selengkapnya, lihat Menggunakan kotak pasir SMS Amazon SNS.

  1. Masuk ke konsol Amazon SNS.

  2. Di panel navigasi, pilih Subscriptions (Langganan).

  3. Di halaman Subscriptions (Langganan), pilih Create subscription (Buat langganan).

  4. Di halaman Create subscription (Buat langganan), pada Details (Detail), lakukan hal berikut:

    1. Untuk Topic ARN (ARN topik), masukkan atau pilih Amazon Resource Name (ARN) topik yang ingin Anda kirimi pesan SMS.

    2. Untuk Protocol (Protokol), pilih SMS.

    3. Untuk Endpoint (Titik akhir), masukkan nomor telepon yang ingin Anda buat berlangganan ke topik Anda.

  5. Pilih Create subscription (Buat langganan). Informasi langganan muncul di halaman Subscriptions (Langganan).

    Untuk menambahkan nomor telepon lainnya, ulangi langkah-langkah ini. Anda juga dapat menambahkan jenis langganan lainnya, seperti email.

Cara mengirim pesan

Ketika Anda menerbitkan pesan ke topik, Amazon SNS mencoba untuk mengirimkan pesan tersebut ke setiap nomor telepon yang berlangganan ke topik.

  1. Di konsol Amazon SNS, di halaman Topics (Topik), pilih nama topik yang ingin Anda kirimi pesan SMS.

  2. Di halaman detail topik, pilih Publish message (Publikasikan pesan).

  3. Di halaman Publish message to topic (Publikasikan pesan ke topik), di bawah Message detail (Detail pesan), lakukan hal berikut:

    1. Untuk Subject (Subjek), kosongkan bidang kecuali topik Anda berisi langganan email dan Anda ingin menerbitkannya ke langganan email dan langganan SMS. Amazon SNS menggunakan Subject (Subjek) yang Anda masukkan sebagai baris subjek email.

    2. (Opsional) Untuk Time to Live (TTL) (waktu untuk tayang), masukkan jumlah detik yang digunakan Amazon SNS untuk mengirim pesan SMS Anda ke setiap pelanggan titik akhir aplikasi seluler.

  4. Di bawah Message body (Isi pesan), lakukan hal berikut:

    1. Untuk Message structure (Struktur pesan), pilih Identical payload for all delivery protocols (Muatan yang sama untuk semua protokol pengiriman) untuk mengirim pesan yang sama ke semua jenis protokol yang berlangganan topik Anda. Atau, pilih Custom payload for each delivery protocol (Muatan kustom untuk setiap protokol pengiriman) untuk menyesuaikan pesan untuk pelanggan dari jenis protokol yang berbeda. Misalnya, Anda dapat memasukkan pesan default untuk pelanggan nomor telepon dan pesan kustom untuk pelanggan email.

    2. Untuk Message body to send to the endpoint (Badan pesan yang akan dikirim ke titik akhir), masukkan pesan Anda, atau pesan kustom Anda per protokol pengiriman.

      Jika topik Anda memiliki nama tampilan, Amazon SNS menambahkannya ke pesan, yang menambah panjang pesan. Panjang nama tampilan adalah jumlah karakter dalam nama tersebut ditambah dua karakter untuk tanda kurung siku (>) dan ruang yang ditambahkan Amazon SNS.

      Untuk informasi tentang kuota ukuran untuk pesan SMS, lihat Menerbitkan pesan SMS ke ponsel menggunakan Amazon SNS.

  5. (Opsional) Untuk atribut Pesan, tambahkan metadata pesan seperti stempel waktu, tanda tangan, dan. IDs

  6. Pilih Publish message (Publikasikan Pesan). Amazon SNS mengirimkan pesan SMS dan menampilkan pesan keberhasilan.

Mengirim pesan ke topik menggunakan AWS SDKs

Untuk menggunakan AWS SDK, Anda harus mengonfigurasinya dengan kredensi Anda. Untuk informasi selengkapnya, lihat File konfigurasi dan kredensial bersama di Panduan Referensi Alat AWS SDKs dan Alat.

Contoh kode berikut ini menunjukkan cara:

  • Buat topik Amazon SNS.

  • Berlangganan nomor telepon ke topik.

  • Publikasikan pesan SMS ke topik sehingga semua nomor telepon berlangganan menerima pesan sekaligus.

Java
SDK untuk Java 2.x
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

Buat topik dan kembalikan ARN-nya.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.CreateTopicRequest; import software.amazon.awssdk.services.sns.model.CreateTopicResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateTopic { public static void main(String[] args) { final String usage = """ Usage: <topicName> Where: topicName - The name of the topic to create (for example, mytopic). """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String topicName = args[0]; System.out.println("Creating a topic with name: " + topicName); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); String arnVal = createSNSTopic(snsClient, topicName); System.out.println("The topic ARN is" + arnVal); snsClient.close(); } public static String createSNSTopic(SnsClient snsClient, String topicName) { CreateTopicResponse result; try { CreateTopicRequest request = CreateTopicRequest.builder() .name(topicName) .build(); result = snsClient.createTopic(request); return result.topicArn(); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; } }

Berlangganan titik akhir ke suatu topik.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SnsException; import software.amazon.awssdk.services.sns.model.SubscribeRequest; import software.amazon.awssdk.services.sns.model.SubscribeResponse; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SubscribeTextSMS { public static void main(String[] args) { final String usage = """ Usage: <topicArn> <phoneNumber> Where: topicArn - The ARN of the topic to subscribe. phoneNumber - A mobile phone number that receives notifications (for example, +1XXX5550100). """; if (args.length < 2) { System.out.println(usage); System.exit(1); } String topicArn = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); subTextSNS(snsClient, topicArn, phoneNumber); snsClient.close(); } public static void subTextSNS(SnsClient snsClient, String topicArn, String phoneNumber) { try { SubscribeRequest request = SubscribeRequest.builder() .protocol("sms") .endpoint(phoneNumber) .returnSubscriptionArn(true) .topicArn(topicArn) .build(); SubscribeResponse result = snsClient.subscribe(request); System.out.println("Subscription ARN: " + result.subscriptionArn() + "\n\n Status is " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Tetapkan atribut pada pesan, seperti ID pengirim, harga maksimum, dan jenisnya. Atribut pesan bersifat opsional.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.SetSmsAttributesRequest; import software.amazon.awssdk.services.sns.model.SetSmsAttributesResponse; import software.amazon.awssdk.services.sns.model.SnsException; import java.util.HashMap; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class SetSMSAttributes { public static void main(String[] args) { HashMap<String, String> attributes = new HashMap<>(1); attributes.put("DefaultSMSType", "Transactional"); attributes.put("UsageReportS3Bucket", "janbucket"); SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); setSNSAttributes(snsClient, attributes); snsClient.close(); } public static void setSNSAttributes(SnsClient snsClient, HashMap<String, String> attributes) { try { SetSmsAttributesRequest request = SetSmsAttributesRequest.builder() .attributes(attributes) .build(); SetSmsAttributesResponse result = snsClient.setSMSAttributes(request); System.out.println("Set default Attributes to " + attributes + ". Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Publikasikan pesan ke topik. Pesan dikirim ke setiap pelanggan.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.PublishRequest; import software.amazon.awssdk.services.sns.model.PublishResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class PublishTextSMS { public static void main(String[] args) { final String usage = """ Usage: <message> <phoneNumber> Where: message - The message text to send. phoneNumber - The mobile phone number to which a message is sent (for example, +1XXX5550100).\s """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String message = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); pubTextSMS(snsClient, message, phoneNumber); snsClient.close(); } public static void pubTextSMS(SnsClient snsClient, String message, String phoneNumber) { try { PublishRequest request = PublishRequest.builder() .message(message) .phoneNumber(phoneNumber) .build(); PublishResponse result = snsClient.publish(request); System.out .println(result.messageId() + " Message sent. Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }

Menerbitkan pesan SMS ke ponsel menggunakan Amazon SNS

Anda dapat menggunakan Amazon SNS untuk mengirim pesan SMS langsung ke ponsel tanpa membuat nomor telepon berlangganan ke topik Amazon SNS.

catatan

Membuat nomor telepon berlangganan ke topik berguna jika Anda ingin mengirim satu pesan ke beberapa nomor telepon sekaligus. Untuk petunjuk penerbitan pesan SMS ke topik, lihat Menerbitkan pesan SMS ke topik Amazon SNS.

Saat mengirim pesan, Anda dapat mengontrol pesan dioptimalkan atau tidak untuk biayanya atau pengiriman andal. Anda juga dapat menentukan ID pengirim atau nomor asal. Jika Anda mengirim pesan secara terprogram menggunakan Amazon SNS API atau AWS SDKs, Anda dapat menentukan harga maksimum untuk pengiriman pesan.

Setiap pesan SMS dapat berisi hingga 140 byte, dan kuota karakter tergantung pada skema pengkodean. Misalnya, sebuah pesan SMS dapat berisi:

  • 160 karakter GSM

  • 140 karakter ASCII

  • 70 karakter UCS-2

Jika Anda menerbitkan pesan yang melebihi kuota ukuran, Amazon SNS mengirimkannya sebagai beberapa pesan, masing-masing sesuai dalam kuota ukuran. Pesan tidak terputus di tengah kata, melainkan di batas seluruh kata. Kuota ukuran total untuk satu tindakan penerbitan SMS adalah 1.600 byte.

Ketika Anda mengirim pesan SMS, Anda menentukan nomor telepon menggunakan format E.164, struktur penomoran telepon standar yang digunakan untuk telekomunikasi internasional. Nomor telepon yang mengikuti format ini dapat terdiri dari maksimum 15 digit bersama dengan prefiks tanda tambah (+) dan kode negara. Misalnya, nomor telepon AS dalam format E.164 muncul sebagai +1 XXX555 0100.

Mengirim pesan (konsol)

  1. Masuk ke Konsol Amazon SNS.

  2. Di menu konsol, pilih wilayah yang mendukung pesan SMS.

  3. Di panel navigasi, pilih Text messaging (SMS) (Pesan teks).

  4. Di halaman Mobile text messaging (SMS) (Pesan teks seluler (SMS)), pilih Publish text message (Publikasikan pesan teks).

  5. Di halaman Publish text message (Publikasikan pesan SMS), untuk Message type (Jenis pesan), pilih salah satu jenis berikut:

    • Promotional (Promosi) – Pesan tidak penting, seperti pesan pemasaran.

    • Transactional (Transaksional) – Pesan penting yang mendukung transaksi pelanggan, seperti kode sandi satu kali (OTP) untuk autentikasi multi-faktor.

    catatan

    Pengaturan tingkat pesan ini menimpa jenis pesan default tingkat akun Anda. Anda dapat menetapkan jenis pesan default tingkat akun dari bagian Text messaging preferences (Preferensi olahpesan teks) dari halaman Mobile text messaging (SMS) (Olahpesan teks seluler (SMS)).

    Untuk informasi harga untuk pesan promosi dan transaksional, lihat Harga SMS Global.

  6. Untuk Destination phone number (Nomor telepon tujuan), masukkan nomor telepon yang ingin Anda kirimi pesan tersebut.

  7. Untuk Message (Pesan), masukkan pesan yang akan dikirim.

  8. (Opsional) Di bawah Origination identities (Identitas asal), tentukan cara mengenalkan diri Anda ke penerima:

    • Untuk menentukan Sender ID ID Pengirim, ketik ID kustom yang terdiri dari 3-11 karakter alfanumerik, termasuk setidaknya satu huruf dan tanpa spasi. ID pengirim ditampilkan sebagai pengirim pesan di perangkat penerima. Misalnya, Anda dapat menggunakan merek bisnis Anda untuk membuat sumber pesan lebih mudah dikenali.

      Support untuk pengirim IDs bervariasi menurut negara dan/atau wilayah. Misalnya, pesan yang dikirim ke nomor telepon US tidak akan menampilkan ID pengirim. Untuk negara dan wilayah yang mendukung pengirim IDs, lihat Negara dan wilayah yang didukung untuk pesan SMS AWS Olah Pesan Pengguna Akhir SMS di Panduan AWS Olah Pesan Pengguna Akhir SMS Pengguna.

      Jika Anda tidak menentukan ID pengirim, salah satu dari berikut ini akan ditampilkan sebagai identitas asal:

      • Di negara-negara yang mendukung kode panjang, kode panjang akan ditampilkan.

      • Di negara-negara di mana hanya pengirim IDs yang didukung, PEMBERITAHUAN ditampilkan.

      ID pengirim tingkat pesan ini menimpa ID pengirim default Anda, yang Anda tetapkan di halaman Text messaging preferences (Preferensi olahpesan teks).

    • Untuk menentukan Nomor asal, masukkan string yang terdiri dari 5-14 nomor untuk ditampilkan sebagai nomor telepon pengirim di perangkat penerima. String ini harus cocok dengan nomor originasi yang dikonfigurasi di negara Akun AWS tujuan Anda. Nomor originasi dapat berupa nomor 10DLC, nomor bebas pulsa, kode person-to-person panjang, atau kode pendek. Untuk informasi selengkapnya, lihat Identitas originasi untuk pesan SMS Amazon SNS.

      Jika Anda tidak menentukan nomor asal, Amazon SNS memilih nomor asal yang akan digunakan untuk pesan teks SMS, berdasarkan konfigurasi Akun AWS Anda.

  9. Jika Anda mengirim pesan SMS ke penerima di India, perluas Country-specific attributes (Atribut khusus negara), dan tentukan atribut berikut:

    • Entity ID (ID entitas) – ID entitas atau ID entitas utama (principal entity/PE) untuk mengirim pesan SMS ke penerima di India. ID ini adalah string unik dari 1—50 karakter yang disediakan oleh Telecom Regulatory Authority of India (TRAI) untuk mengidentifikasi entitas yang Anda daftarkan di TRAI.

    • Template ID (ID templat) – ID templat untuk mengirim pesan SMS ke penerima di India. ID ini adalah string unik yang disediakan TRAI dari 1-50 karakter yang mengidentifikasi template yang Anda daftarkan dengan TRAI. ID templat harus dikaitkan dengan ID pengirim yang Anda tentukan untuk pesan.

    Untuk informasi lebih lanjut tentang pengiriman pesan SMS ke penerima di India, proses pendaftaran ID pengirim India di AWS Olah Pesan Pengguna Akhir SMS Panduan Pengguna.

  10. Pilih Publish message (Publikasikan Pesan).

Tip

Untuk mengirim pesan SMS dari nomor asal, Anda juga dapat memilih Origination numbers (Nomor asal) di panel navigasi konsol Amazon SNS. Pilih nomor asal yang mencakup SMS di kolom Capabilities (Kemampuan), dan kemudian pilih Publish text message (Publikasikan pesan teks).

Mengirim pesan (AWS SDKs)

Untuk mengirim pesan SMS menggunakan salah satu AWS SDKs, gunakan operasi API di SDK yang sesuai dengan Publish permintaan di Amazon SNS API. Dengan permintaan ini, Anda dapat mengirim pesan SMS langsung ke nomor telepon. Anda juga dapat menggunakan parameter MessageAttributes untuk menetapkan nilai untuk nama atribut berikut:

AWS.SNS.SMS.SenderID

ID kustom yang berisi 3-11 karakter alfanumerik atau karakter tanda hubung (-), termasuk setidaknya satu huruf dan tidak ada spasi. ID pengirim ditampilkan sebagai pengirim pesan di perangkat penerima. Misalnya, Anda dapat menggunakan merek bisnis Anda untuk membuat sumber pesan lebih mudah dikenali.

Support untuk pengirim IDs bervariasi menurut negara atau wilayah. Misalnya, pesan yang dikirim ke nomor telepon US tidak akan menampilkan ID pengirim. Untuk daftar negara atau wilayah yang mendukung pengirim IDs, lihat Negara dan wilayah yang didukung untuk pesan SMS AWS Olah Pesan Pengguna Akhir SMS di Panduan AWS Olah Pesan Pengguna Akhir SMS Pengguna.

Jika Anda tidak menentukan ID pengirim, kode panjangakan ditampilkan sebagai ID pengirim di negara atau wilayah yang didukung. Untuk negara atau wilayah yang memerlukan ID pengirim abjad,PEMBERITAHUAN muncul sebagai ID pengirim.

Atribut tingkat pesan ini menimpa atribut tingkat akun DefaultSenderID, yang dapat Anda atur menggunakan permintaan SetSMSAttributes.

AWS.MM.SMS.OriginationNumber

Sebuah string kustom yang terdiri dari 5–14 angka, yang dapat mencakup awalan tanda tambah (+) opsional. String angka ini muncul sebagai nomor telepon pengirim di perangkat penerima. String harus cocok dengan nomor originasi yang dikonfigurasi di AWS akun Anda untuk negara tujuan. Nomor originasi dapat berupa nomor 10DLC, nomor bebas pulsa, kode panjang person-to-person (P2P), atau kode pendek. Untuk informasi selengkapnya, lihat Nomor telepon di Panduan AWS Olah Pesan Pengguna Akhir SMS Pengguna.

Jika Anda tidak menentukan nomor originasi, Amazon SNS memilih nomor originasi berdasarkan konfigurasi akun Anda. AWS

AWS.SNS.SMS.MaxPrice

Harga maksimum dalam USD yang akan Anda gunakan untuk mengirim pesan SMS. Jika Amazon SNS menentukan bahwa mengirim pesan akan dikenakan biaya yang melebihi harga maksimum Anda, ia tidak akan mengirim pesan.

Atribut ini tidak berpengaruh jika biaya month-to-date SMS Anda telah melebihi kuota yang ditetapkan untuk atribut tersebutMonthlySpendLimit. Anda dapat mengatur atribut MonthlySpendLimit menggunakan permintaan SetSMSAttributes.

Jika Anda mengirim pesan ke topik Amazon SNS, harga maksimum berlaku untuk setiap pengiriman pesan ke setiap nomor telepon yang berlangganan topik.

AWS.SNS.SMS.SMSType

Jenis pesan yang Anda kirim:

  • Promotional (default) – Pesan tidak penting, seperti pesan pemasaran.

  • Transactional (Transaksional) – Pesan penting yang mendukung transaksi pelanggan, seperti kode sandi satu kali (OTP) untuk autentikasi multi-faktor.

Atribut tingkat pesan ini menimpa atribut tingkat akun DefaultSMSType, yang dapat Anda atur menggunakan permintaan SetSMSAttributes.

AWS.MM.SMS.EntityId

Atribut ini hanya diperlukan untuk mengirim pesan SMS ke penerima di India.

Ini merupakan ID entitas atau ID entitas utama (principal entity/PE) Anda untuk mengirim pesan SMS ke penerima di India. ID ini adalah string unik dari 1—50 karakter yang disediakan oleh Telecom Regulatory Authority of India (TRAI) untuk mengidentifikasi entitas yang Anda daftarkan di TRAI.

AWS.MM.SMS.TemplateId

Atribut ini hanya diperlukan untuk mengirim pesan SMS ke penerima di India.

Ini adalah templat Anda untuk mengirim pesan SMS ke penerima di India. ID ini adalah string unik yang disediakan TRAI dari 1-50 karakter yang mengidentifikasi template yang Anda daftarkan dengan TRAI. ID templat harus dikaitkan dengan ID pengirim yang Anda tentukan untuk pesan.

Mengirim pesan

Contoh kode berikut menunjukkan cara mempublikasikan pesan SMS menggunakan Amazon SNS.

.NET
AWS SDK for .NET
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

namespace SNSMessageExample { using System; using System.Threading.Tasks; using Amazon; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; public class SNSMessage { private AmazonSimpleNotificationServiceClient snsClient; /// <summary> /// Initializes a new instance of the <see cref="SNSMessage"/> class. /// Constructs a new SNSMessage object initializing the Amazon Simple /// Notification Service (Amazon SNS) client using the supplied /// Region endpoint. /// </summary> /// <param name="regionEndpoint">The Amazon Region endpoint to use in /// sending test messages with this object.</param> public SNSMessage(RegionEndpoint regionEndpoint) { snsClient = new AmazonSimpleNotificationServiceClient(regionEndpoint); } /// <summary> /// Sends the SMS message passed in the text parameter to the phone number /// in phoneNum. /// </summary> /// <param name="phoneNum">The ten-digit phone number to which the text /// message will be sent.</param> /// <param name="text">The text of the message to send.</param> /// <returns>Async task.</returns> public async Task SendTextMessageAsync(string phoneNum, string text) { if (string.IsNullOrEmpty(phoneNum) || string.IsNullOrEmpty(text)) { return; } // Now actually send the message. var request = new PublishRequest { Message = text, PhoneNumber = phoneNum, }; try { var response = await snsClient.PublishAsync(request); } catch (Exception ex) { Console.WriteLine($"Error sending message: {ex}"); } } } }
  • Untuk detail API, lihat Publikasikan di Referensi AWS SDK for .NET API.

C++
SDK untuk C++
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

/** * Publish SMS: use Amazon Simple Notification Service (Amazon SNS) to send an SMS text message to a phone number. * Note: This requires additional AWS configuration prior to running example. * * NOTE: When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox and you can only * use verified destination phone numbers. See https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html. * NOTE: If destination is in the US, you also have an additional restriction that you have use a dedicated * origination ID (phone number). You can request an origination number using Amazon Pinpoint for a fee. * See https://aws.amazon.com/blogs/compute/provisioning-and-using-10dlc-origination-numbers-with-amazon-sns/ * for more information. * * <phone_number_value> input parameter uses E.164 format. * For example, in United States, this input value should be of the form: +12223334444 */ //! Send an SMS text message to a phone number. /*! \param message: The message to publish. \param phoneNumber: The phone number of the recipient in E.164 format. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::publishSms(const Aws::String &message, const Aws::String &phoneNumber, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::PublishRequest request; request.SetMessage(message); request.SetPhoneNumber(phoneNumber); const Aws::SNS::Model::PublishOutcome outcome = snsClient.Publish(request); if (outcome.IsSuccess()) { std::cout << "Message published successfully with message id, '" << outcome.GetResult().GetMessageId() << "'." << std::endl; } else { std::cerr << "Error while publishing message " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
  • Untuk detail API, lihat Publikasikan di Referensi AWS SDK for C++ API.

Java
SDK untuk Java 2.x
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.services.sns.model.PublishRequest; import software.amazon.awssdk.services.sns.model.PublishResponse; import software.amazon.awssdk.services.sns.model.SnsException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class PublishTextSMS { public static void main(String[] args) { final String usage = """ Usage: <message> <phoneNumber> Where: message - The message text to send. phoneNumber - The mobile phone number to which a message is sent (for example, +1XXX5550100).\s """; if (args.length != 2) { System.out.println(usage); System.exit(1); } String message = args[0]; String phoneNumber = args[1]; SnsClient snsClient = SnsClient.builder() .region(Region.US_EAST_1) .build(); pubTextSMS(snsClient, message, phoneNumber); snsClient.close(); } public static void pubTextSMS(SnsClient snsClient, String message, String phoneNumber) { try { PublishRequest request = PublishRequest.builder() .message(message) .phoneNumber(phoneNumber) .build(); PublishResponse result = snsClient.publish(request); System.out .println(result.messageId() + " Message sent. Status was " + result.sdkHttpResponse().statusCode()); } catch (SnsException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • Untuk detail API, lihat Publikasikan di Referensi AWS SDK for Java 2.x API.

Kotlin
SDK untuk Kotlin
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

suspend fun pubTextSMS( messageVal: String?, phoneNumberVal: String?, ) { val request = PublishRequest { message = messageVal phoneNumber = phoneNumberVal } SnsClient { region = "us-east-1" }.use { snsClient -> val result = snsClient.publish(request) println("${result.messageId} message sent.") } }
  • Untuk detail API, lihat Menerbitkan di AWS SDK untuk referensi API Kotlin.

PHP
SDK untuk PHP
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient; /** * Sends a text message (SMS message) directly to a phone number using Amazon SNS. * * This code expects that you have AWS credentials set up per: * https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html */ $SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $message = 'This message is sent from a Amazon SNS code sample.'; $phone = '+1XXX5550100'; try { $result = $SnSclient->publish([ 'Message' => $message, 'PhoneNumber' => $phone, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }
Python
SDK untuk Python (Boto3)
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS.

class SnsWrapper: """Encapsulates Amazon SNS topic and subscription functions.""" def __init__(self, sns_resource): """ :param sns_resource: A Boto3 Amazon SNS resource. """ self.sns_resource = sns_resource def publish_text_message(self, phone_number, message): """ Publishes a text message directly to a phone number without need for a subscription. :param phone_number: The phone number that receives the message. This must be in E.164 format. For example, a United States phone number might be +12065550101. :param message: The message to send. :return: The ID of the message. """ try: response = self.sns_resource.meta.client.publish( PhoneNumber=phone_number, Message=message ) message_id = response["MessageId"] logger.info("Published message to %s.", phone_number) except ClientError: logger.exception("Couldn't publish message to %s.", phone_number) raise else: return message_id
  • Untuk detail API, lihat Menerbitkan di AWS SDK for Python (Boto3) Referensi API.