Mengirim SMS pesan 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 SMS pesan menggunakan Amazon SNS

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

Menerbitkan SMS pesan ke SNS topik Amazon

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

Mengirim pesan ke topik menggunakan AWS konsol

Cara membuat topik

Selesaikan langkah-langkah berikut jika Anda belum memiliki topik yang ingin Anda kirimi SMS pesan.

  1. Masuk ke SNSkonsol Amazon.

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

  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 nama Tampilan, masukkan awalan khusus untuk SMS pesan Anda. Saat Anda mengirim pesan ke topik, Amazon menambahkan SNS nama tampilan diikuti dengan braket sudut kanan (>) 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 Nama Sumber Daya Amazon (ARN) muncul di halaman Topik.

Untuk membuat SMS langganan

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

catatan

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

  1. Masuk ke SNSkonsol Amazon.

  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 Topik ARN, masukkan atau pilih Nama Sumber Daya Amazon (ARN) dari topik yang ingin Anda kirimi SMS pesan.

    2. Untuk 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

Saat Anda mempublikasikan pesan ke suatu topik, Amazon SNS mencoba mengirimkan pesan itu ke setiap nomor telepon yang berlangganan topik tersebut.

  1. Di SNSkonsol Amazon, di halaman Topik, pilih nama topik yang ingin Anda kirimi SMS pesan.

  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 Subjek, kosongkan bidang kecuali topik Anda berisi langganan email dan Anda ingin mempublikasikan ke email dan SMS langganan. Amazon SNS menggunakan Subjek yang Anda masukkan sebagai baris subjek email.

    2. (Opsional) Untuk Time to Live (TTL), masukkan beberapa detik yang Amazon SNS miliki untuk mengirim SMS pesan Anda ke pelanggan endpoint aplikasi seluler mana pun.

  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 meningkatkan panjang pesan. Panjang nama tampilan adalah jumlah karakter dalam nama ditambah dua karakter untuk braket sudut kanan (>) dan ruang yang SNS ditambahkan Amazon.

      Untuk informasi tentang kuota ukuran SMS pesan, lihatMenerbitkan SMS pesan ke ponsel menggunakan Amazon SNS.

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

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

Mengirim pesan ke topik menggunakan AWS SDKs

Untuk menggunakan AWS SDK, Anda harus mengkonfigurasinya dengan kredensional 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 SNS topik Amazon.

  • Berlangganan nomor telepon ke topik.

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

Java
SDKuntuk 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 kembalikanARN.

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 SMS pesan ke ponsel menggunakan Amazon SNS

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

catatan

Membuat nomor telepon berlangganan ke topik berguna jika Anda ingin mengirim satu pesan ke beberapa nomor telepon sekaligus. Untuk petunjuk tentang memublikasikan SMS pesan ke suatu topik, lihatMenerbitkan SMS pesan ke SNS topik Amazon.

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 SMS pesan dapat berisi hingga 140 byte, dan kuota karakter tergantung pada skema pengkodean. Misalnya, SMS pesan dapat berisi:

  • 160 GSM karakter

  • 140 ASCII karakter

  • 70 UCS -2 karakter

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

Saat Anda mengirim SMS pesan, 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 SNSkonsol Amazon.

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

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

  4. Pada halaman Pesan teks seluler (SMS), pilih Publikasikan pesan teks.

  5. Pada halaman Publikasikan SMS pesan, untuk jenis Pesan, pilih salah satu dari berikut ini:

    • 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 menyetel jenis pesan default tingkat akun dari bagian Preferensi pesan teks pada halaman Pesan teks seluler (SMS).

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

  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 pengirimIDs, lihat Negara dan wilayah yang didukung untuk SMS pengiriman pesan 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, NOTICEditampilkan.

      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 10, DLC nomor bebas pulsa, kode person-to-person panjang, atau kode pendek. Untuk informasi selengkapnya, lihat Identitas originasi untuk pesan Amazon SNS SMS.

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

  9. Jika Anda mengirim SMS pesan ke penerima di India, perluas atribut khusus Negara, dan tentukan atribut berikut:

    • ID Entitas — ID entitas atau ID entitas utama (PE) untuk mengirim SMS pesan 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. TRAI

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

    Untuk informasi selengkapnya tentang pengiriman SMS pesan 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 SMS pesan dari nomor originasi, Anda juga dapat memilih Nomor Originasi di panel navigasi SNS konsol Amazon. Pilih nomor originasi yang disertakan SMSdalam kolom Kemampuan, lalu pilih Publikasikan pesan teks.

Mengirim pesan (AWS SDKs)

Untuk mengirim SMS pesan menggunakan salah satu AWS SDKs, gunakan API operasi SDK yang sesuai dengan Publish permintaan di Amazon SNSAPI. Dengan permintaan ini, Anda dapat mengirim SMS pesan 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 pengirimIDs, lihat Negara dan wilayah yang didukung untuk SMS pengiriman pesan 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 alfabet, NOTICEmuncul 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 angka 10, DLC 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 USD yang bersedia Anda keluarkan untuk mengirim SMS pesan. Jika Amazon SNS menentukan bahwa mengirim pesan akan dikenakan biaya yang melebihi harga maksimum Anda, itu tidak mengirim pesan.

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

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

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 SMS pesan ke penerima di India.

Ini adalah ID entitas atau ID entitas utama (PE) Anda untuk mengirim SMS pesan 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. TRAI

AWS.MM.SMS.TemplateId

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

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

Mengirim pesan

Contoh kode berikut menunjukkan cara mempublikasikan SMS pesan menggunakan AmazonSNS.

.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 API detailnya, lihat Publikasikan di AWS SDK for .NET APIReferensi.

C++
SDKuntuk 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 API detailnya, lihat Publikasikan di AWS SDK for C++ APIReferensi.

Java
SDKuntuk 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 API detailnya, lihat Publikasikan di AWS SDK for Java 2.x APIReferensi.

Kotlin
SDKuntuk 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 API detailnya, lihat Publish in AWS SDKuntuk API referensi Kotlin.

PHP
SDKuntuk 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
SDKuntuk 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 API detailnya, lihat Publikasikan AWS SDKuntuk Referensi Python (Boto3). API