Mengatur preferensi olahpesan SMS - Amazon Simple Notification Service

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

Mengatur preferensi olahpesan SMS

Gunakan Amazon SNS untuk menentukan preferensi untuk olahpesan SMS. Misalnya, Anda dapat menentukan jika akan mengoptimalkan pengiriman untuk biaya atau keandalan, batas pengeluaran bulanan Anda, bagaimana pengiriman dicatat, dan jika akan berlangganan laporan penggunaan SMS harian atau tidak.

Preferensi ini berlaku untuk setiap pesan SMS yang Anda kirim dari akun Anda, namun Anda dapat mengganti sebagian pesan tersebut saat mengirim pesan individual. Untuk informasi selengkapnya, lihat Menerbitkan ke ponsel.

Mengatur preferensi pesan SMS menggunakan AWS Management Console

  1. Masuk ke konsol Amazon SNS.

  2. Pilih wilayah yang mendukung olahpesan SMS.

  3. Di panel navigasi, pilih Mobile (Seluler), Text messaging (SMS) (Olahpesan teks (SMS)).

  4. Di halaman Mobile text messaging (SMS) (Olahpesan teks seluler (SMS)), di bagian Text messaging preferences(Preferensi pesan teks), pilih Edit.

  5. Di halaman Edit text messaging preferences (Edit preferensi olahpesan teks), di bagian Details, lakukan hal berikut:

    1. Untuk Default message type (Jenis pesan bawaan), pilih salah satu jenis berikut:

      • Promosi — Pesan non-kritis (misalnya, pemasaran). Amazon SNS mengoptimalkan pengiriman pesan agar dikenakan biaya terendah.

      • Transaksional (default) — Pesan penting yang mendukung transaksi pelanggan, seperti kode sandi satu kali untuk otentikasi multi-faktor. Amazon SNS mengoptimalkan pengiriman pesan agar mencapai keandalan tertinggi.

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

    2. (Opsional) Untuk Account spend limit (Batas pengeluaran akun), masukkan jumlah (dalam USD) yang ingin Anda gunakan untuk pengeluaran pesan SMS setiap bulannya.

      penting
      • Secara default, kuota pengeluaran diatur sebesar 1,00 USD. Jika Anda ingin meningkatkan kuota layanan, kirimkan permintaan.

      • Jika jumlah yang ditetapkan di konsol tersebut melebihi kuota layanan Anda, Amazon SNS berhenti mengirimkan pesan SMS.

      • Karena Amazon SNS adalah sistem terdistribusi, ia berhenti mengirimkan pesan SMS dalam beberapa menit sejak kuota pengeluaran terlampaui. Selama interval ini, jika Anda terus mengirim pesan SMS, Anda mungkin akan dikenakan biaya yang melebihi kuota Anda.

  6. (Opsional) Untuk Default sender ID (ID pengirim default), masukkan ID kustom, seperti merek bisnis Anda, yang ditampilkan sebagai pengirim di perangkat penerima.

    catatan

    Dukungan untuk ID pengirim bervariasi berdasarkan negara atau wilayah.

  7. (Opsional) Masukkan nama Nama bucket Amazon S3 untuk laporan penggunaan.

    catatan

    Kebijakan bucket S3 harus memberikan akses tulis ke Amazon SNS.

  8. Pilih Save changes (Simpan perubahan).

Pengaturan preferensi (AWS SDK)

Untuk mengatur preferensi SMS Anda menggunakan salah satu AWS SDK, gunakan tindakan dalam SDK yang sesuai dengan SetSMSAttributes permintaan di Amazon SNS API. Dengan permintaan ini, Anda menetapkan nilai ke atribut SMS yang berbeda, seperti kuota pengeluaran bulanan dan jenis SMS default Anda (promosi atau transaksional). Untuk semua atribut SMS, lihat tindakan SetSMSAttributes di Referensi API Amazon Simple Notification Service.

Contoh kode berikut menunjukkan cara menggunakanSetSMSAttributes.

C++
SDK untuk C++
catatan

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

Cara menggunakan Amazon SNS untuk mengatur atribut defaultsMStype.

//! Set the default settings for sending SMS messages. /*! \param smsType: The type of SMS message that you will send by default. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::SNS::setSMSType(const Aws::String &smsType, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::SNS::SNSClient snsClient(clientConfiguration); Aws::SNS::Model::SetSMSAttributesRequest request; request.AddAttributes("DefaultSMSType", smsType); const Aws::SNS::Model::SetSMSAttributesOutcome outcome = snsClient.SetSMSAttributes( request); if (outcome.IsSuccess()) { std::cout << "SMS Type set successfully " << std::endl; } else { std::cerr << "Error while setting SMS Type: '" << outcome.GetError().GetMessage() << "'" << std::endl; } return outcome.IsSuccess(); }
CLI
AWS CLI

Untuk mengatur atribut pesan SMS

set-sms-attributesContoh berikut menetapkan ID pengirim default untuk pesan SMS keMyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Perintah ini tidak menghasilkan output.

Java
SDK untuk Java 2.x
catatan

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

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); } } }
  • Untuk detail API, lihat SetSmSatTributes di Referensi API.AWS SDK for Java 2.x

JavaScript
SDK untuk JavaScript (v3)
catatan

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

Buat klien dalam modul terpisah dan ekspor klien tersebut.

import { SNSClient } from "@aws-sdk/client-sns"; // The AWS Region can be provided here using the `region` property. If you leave it blank // the SDK will default to the region set in your AWS config. export const snsClient = new SNSClient({});

Mengimpor modul SDK dan klien dan memanggil API.

import { SetSMSAttributesCommand } from "@aws-sdk/client-sns"; import { snsClient } from "../libs/snsClient.js"; /** * @param {"Transactional" | "Promotional"} defaultSmsType */ export const setSmsType = async (defaultSmsType = "Transactional") => { const response = await snsClient.send( new SetSMSAttributesCommand({ attributes: { // Promotional – (Default) Noncritical messages, such as marketing messages. // Transactional – Critical messages that support customer transactions, // such as one-time passcodes for multi-factor authentication. DefaultSMSType: defaultSmsType, }, }), ); console.log(response); // { // '$metadata': { // httpStatusCode: 200, // requestId: '1885b977-2d7e-535e-8214-e44be727e265', // extendedRequestId: undefined, // cfId: undefined, // attempts: 1, // totalRetryDelay: 0 // } // } return response; };
PHP
SDK untuk PHP
catatan

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

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->SetSMSAttributes([ 'attributes' => [ 'DefaultSMSType' => 'Transactional', ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }