View a markdown version of this page

Mengirim pesan RCS - AWS Pesan SMS Pengguna Akhir

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

Mengirim pesan RCS

AWS Pesan Pengguna Akhir menggunakan SendTextMessage API yang sama untuk pengiriman RCS dan SMS. Bagaimana layanan merutekan pesan Anda tergantung pada identitas asal yang Anda tentukan dalam permintaan. Anda dapat mengirim pesan melalui kumpulan telepon (disarankan), di tingkat akun, atau langsung melalui AWS RCS Agent ARN.

Bagian ini menjelaskan tiga pola pengiriman, cara menafsirkan tanda terima pengiriman, dan memberikan contoh kode. Untuk detail tentang pengiriman tetap, urutan prioritas identitas asal, dan fallback SMS otomatis, lihat. Fallback RCS ke SMS menggunakan kumpulan telepon Untuk detail tentang mengelola Agen AWS RCS, lihatMengelola agen RCS.

catatan

Halaman ini menjelaskan pengiriman pesan teks melalui RCS dan SMS dengan SendTextMessage API. Untuk mengirim konten RCS yang kaya, seperti kartu kaya, carousel, file media, dan saran interaktif, gunakan SendRcsMessage API sebagai gantinya. Untuk perbandingan dua tindakan API dan panduan yang harus dipilih, lihatMemilih antara SendTextMessage dan SendRcsMessage.

Mengirim pola

AWS Pesan Pengguna Akhir mendukung tiga pola untuk mengirim pesan RCS. Setiap pola menentukan bagaimana layanan memilih identitas asal dan apakah fallback SMS otomatis tersedia.

Pola pengiriman RCS
Pola Cara kerjanya SMS fallback Kapan harus digunakan
Pool-based (direkomendasikan) Tentukan ID kumpulan sebagai identitas asal. Layanan memilih identitas terbaik dari kolam renang. Ya Semua kasus penggunaan. Menyediakan pemilihan saluran otomatis dan fallback SMS dengan perutean yang aman untuk kepatuhan.
Account-level Hilangkan identitas asal. Layanan memilih dari semua identitas yang tersedia di akun Anda. Ya Pengaturan sederhana dengan satu kasus penggunaan. Tidak direkomendasikan untuk akun dengan beberapa kasus penggunaan.
Kirim langsung Tentukan ARN Agen AWS RCS sebagai identitas aslinya. Pesan dikirim melalui RCS saja. Tidak RCS-or-nothing kasus penggunaan, atau saat Anda mengelola fallback SMS di luar Pesan Pengguna AWS Akhir.

Pool-based mengirim (disarankan)

Pool-based pengiriman adalah pendekatan yang disarankan untuk semua kasus penggunaan RCS. Saat Anda menentukan ID kumpulan sebagai identitas asal dalam SendTextMessage permintaan Anda, Pesan Pengguna Ak AWS hir memilih identitas originasi terbaik dari kumpulan berdasarkan tujuan, ketersediaan saluran, dan riwayat pengiriman tetap.

Jika kumpulan berisi Agen AWS RCS dan nomor telepon SMS, layanan akan mencoba pengiriman RCS terlebih dahulu. Jika pengiriman RCS gagal, layanan secara otomatis kembali ke SMS menggunakan nomor telepon dari kumpulan yang sama. Karena semua identitas di kumpulan terdaftar untuk kasus penggunaan yang sama, pesan fallback selalu dikirim dari nomor yang sesuai.

Untuk detail tentang membuat dan mengonfigurasi kumpulan dengan Agen AWS RCS, lihatFallback RCS ke SMS menggunakan kumpulan telepon.

Account-level mengirim

Saat Anda menghilangkan identitas asal dari SendTextMessage permintaan Anda, Pesan Pengguna Ak AWS hir memilih identitas asal dari semua identitas yang tersedia di akun Anda. Jika akun Anda memiliki Agen AWS RCS aktif, layanan akan mencoba pengiriman RCS terlebih dahulu. Jika pengiriman RCS gagal, layanan akan kembali ke nomor telepon khusus atau ID pengirim di akun. Rute SMS bersama tidak didukung untuk fallback RCS. Jika akun tidak berisi pencetus khusus yang valid untuk negara tujuan, pesan gagal. Layanan menggunakan urutan prioritas identitas asal untuk menentukan identitas mana yang akan digunakan. Lihat perinciannya di Logika fallback dan urutan prioritas.

penting

Account-level pengiriman menciptakan risiko kepatuhan jika akun Anda berisi nomor telepon yang terdaftar untuk kasus penggunaan yang berbeda. Ketika pengiriman RCS gagal dan layanan kembali ke SMS, itu mungkin memilih nomor telepon yang tidak cocok dengan konten pesan Anda. Misalnya, pesan OTP dapat kembali ke nomor bebas pulsa yang terdaftar untuk pengingat janji temu, melanggar ketentuan pendaftaran untuk nomor tersebut. Untuk menghindari risiko ini, gunakan pengiriman berbasis kumpulan dengan satu kumpulan per kasus penggunaan. Lihat perinciannya di Risiko kepatuhan dengan pengiriman tingkat akun.

Kirim langsung (hanya RCS)

Saat Anda menentukan ARN Agen AWS RCS sebagai identitas asal dalam SendTextMessage permintaan Anda, Pesan Pengguna AWS Akhir mengirim pesan hanya melalui RCS. Tidak ada fallback SMS otomatis. Jika pengiriman RCS gagal, pesan tidak dicoba lagi di saluran lain.

Gunakan pengiriman langsung saat:

  • Anda ingin RCS-or-nothing pengiriman. Pesan hanya boleh dikirim melalui RCS, dan Anda lebih suka tidak ada pengiriman daripada pengiriman SMS.

  • Anda mengelola fallback SMS di luar Pesan Pengguna AWS Akhir. Aplikasi Anda menangani logika fallback secara independen, misalnya dengan mendeteksi kegagalan pengiriman RCS dan mengirim SMS terpisah melalui sistem atau penyedia yang berbeda.

catatan

Pengiriman langsung melewati semua logika fallback SMS. Jika perangkat atau operator penerima tidak mendukung RCS, pesan tidak terkirim. Untuk sebagian besar kasus penggunaan, pengiriman berbasis pool direkomendasikan karena menyediakan fallback SMS otomatis tanpa biaya tambahan.

Pengiriman lengket, urutan prioritas, dan fallback SMS

Saat Anda mengirim pesan melalui kumpulan atau di tingkat akun, Pesan Pengguna Ak AWS hir menggunakan pengiriman tetap (pengoptimalan perutean 25 jam), urutan prioritas identitas asal, dan fallback SMS otomatis untuk memilih saluran dan identitas terbaik untuk setiap pesan. Untuk detail lengkap tentang cara kerja mekanisme ini, termasuk fallback otomatis, tanda terima pengiriman selama fallback, dan implikasi penagihan, lihat. Fallback RCS ke SMS menggunakan kumpulan telepon

Contoh kode

Contoh Python berikut menunjukkan cara mengirim pesan RCS menggunakan masing-masing dari tiga pola pengiriman. Semua contoh menggunakan pinpoint-sms-voice-v2 klien boto3 dan API. SendTextMessage

Pool-based mengirim contoh

Contoh berikut mengirim pesan melalui kumpulan telepon. Layanan memilih identitas asal terbaik dari kumpulan dan secara otomatis kembali ke SMS jika pengiriman RCS tidak memungkinkan.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', OriginationIdentity='pool-a1b2c3d4e5f6g7h8i', MessageBody='Your appointment is confirmed for tomorrow at 2:00 PM.', MessageType='TRANSACTIONAL' ) print(f"Message ID: {response['MessageId']}")

Account-level mengirim contoh

Contoh berikut mengirimkan pesan di tingkat akun dengan menghilangkan identitas asal. Layanan memilih identitas dari semua identitas yang tersedia di akun Anda menggunakan urutan prioritas.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', MessageBody='Your verification code is 123456.', MessageType='TRANSACTIONAL' ) print(f"Message ID: {response['MessageId']}")
penting

Jika akun Anda berisi nomor telepon yang terdaftar untuk kasus penggunaan yang berbeda, pengiriman tingkat akun dapat mengarahkan fallback SMS melalui nomor yang tidak sesuai dengan konten pesan Anda. Gunakan pengiriman berbasis kumpulan dengan satu kumpulan per kasus penggunaan untuk menghindari risiko kepatuhan.

Contoh kirim langsung

Contoh berikut mengirimkan pesan langsung melalui AWS RCS Agent ARN. Pesan dikirim melalui RCS saja, tanpa fallback SMS.

import boto3 client = boto3.client('pinpoint-sms-voice-v2') response = client.send_text_message( DestinationPhoneNumber='+12065550100', OriginationIdentity='arn:aws:sms-voice:us-east-1:123456789012:rcs-agent/rcs-a1b2c3d4', MessageBody='Welcome to our RCS channel! Reply HELP for assistance.' ) print(f"Message ID: {response['MessageId']}")
catatan

Jika perangkat atau operator penerima tidak mendukung RCS, pesan tidak terkirim. Tidak ada SMS fallback yang dicoba. Gunakan pola ini hanya jika Anda ingin RCS-or-nothing pengiriman atau ketika Anda mengelola fallback SMS di luar Pesan Pengguna AWS Akhir.

Permintaan agen AI untuk mengirim pesan RCS

Jika Anda menggunakan asisten pengkodean AI generatif atau agen AI, Anda dapat menggunakan prompt berikut untuk mendapatkan bantuan pengiriman pesan RCS menggunakan AWS CLI atau SDK.

catatan

Salin prompt berikut dan tempel ke agen AI atau asisten pengkodean Anda:

## RCS Messaging Assistant Prompt Help me send RCS messages using AWS End User Messaging SMS with the `pinpoint-sms-voice-v2` service. Show me exact CLI commands and Python/boto3 examples. Ask me for my details before generating any commands. **Important rules for generating commands:** - The API is `send-text-message` — the same command used for SMS. There is NO separate RCS send API. - There is NO `describe-messages` API. Do not generate it. - The boto3 method is `send_text_message` on the `pinpoint-sms-voice-v2` client. - Use the term "testing" — NOT "sandbox". **Prerequisites:** I have an existing RCS agent (created via the setup process) and a verified test device. ### Pattern 1: Direct RCS sending (simplest, good for testing) Send directly through my RCS Agent ARN. RCS-only delivery, no SMS fallback. If the recipient's device doesn't support RCS, the message is not delivered. CLI: `send-text-message --destination-phone-number <E.164> --origination-identity <agent-arn> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` Returns `MessageId`. ### Pattern 2: Pool-based sending (recommended for production) Send through a phone pool containing my RCS agent (and optionally SMS phone numbers for fallback). The service tries RCS first, then falls back to SMS asynchronously if no RCS signal within 25 seconds. This is NOT synchronous fallback — the SMS is sent as a separate attempt after the timeout. To set up a pool: - `create-pool --origination-identity <rcs-agent-id> --message-type TRANSACTIONAL` → returns `PoolId` - Optionally add SMS numbers: `associate-origination-identity --pool-id <id> --origination-identity <phone-number-id>` CLI: `send-text-message --destination-phone-number <E.164> --origination-identity <pool-id> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` ### Pattern 3: Account-level sending Send without specifying `--origination-identity`. The service auto-selects the best identity from the account. CLI: `send-text-message --destination-phone-number <E.164> --message-body "<text>" --message-type <TRANSACTIONAL|PROMOTIONAL>` **Compliance warning:** If the account has multiple RCS agents, SMS numbers, or different use cases, the service picks an identity automatically — which may not be the intended one. Use pool-based or direct sending for explicit control over which identity is used. ### Delivery verification - For testing: check the test device directly — the message appears from the branded RCS agent. - For production: configure event destinations BEFORE sending using `create-event-destination` (SNS, CloudWatch Logs, or Firehose). Event destinations do not retroactively capture events for already-sent messages. - CloudWatch metrics in `AWS/SMSVoice` namespace provide aggregate delivery statistics. ### Behavioral notes - Sticky sending: the service remembers the last successful identity per destination number for 25 hours. - Pool-based sending is recommended for production because it provides automatic SMS fallback. - All three patterns use the same `send-text-message` API — the only difference is what you pass (or don't pass) as `--origination-identity`. --- **Before generating commands, ask me for:** - Which sending pattern I want to use (direct, pool-based, or account-level) - My RCS Agent ARN - My pool ID (if using pool-based sending) - Destination phone number in E.164 format - Message type (TRANSACTIONAL or PROMOTIONAL) - Message text

Penanganan tanda terima pengiriman

AWS Pesan Pengguna Akhir menyediakan tanda terima pengiriman untuk pesan RCS melalui Amazon EventBridge dan tujuan acara set konfigurasi. Tanda terima pengiriman menunjukkan status akhir pesan Anda dan saluran mana yang digunakan untuk pengiriman. Untuk mempelajari cara mengatur tujuan acara untuk menangkap tanda terima pengiriman dan peristiwa pesan lainnya, lihatTujuan acara di SMS Pesan Pengguna AWS Akhir.

Nilai status pengiriman

Nilai status pengiriman berikut berlaku untuk pesan RCS:

DISAMPAIKAN

Pesan berhasil dikirim ke perangkat penerima.

PENDING

Pesan telah diterima oleh infrastruktur RCS tetapi konfirmasi pengiriman belum diterima. Pesan tersebut mungkin masih terkirim.

KEDALUWARSA

Pesan tidak dikirim dalam jendela waktu yang diizinkan. Untuk pesan RCS dengan fallback SMS, status ini berlaku untuk upaya RCS sebelum fallback terjadi.

TIDAK TERKIRIM

Pesan tidak dapat disampaikan. Hal ini dapat terjadi ketika perangkat penerima tidak dapat dijangkau secara permanen atau nomor telepon tidak valid.

DITOLAK

Pesan itu ditolak oleh infrastruktur atau operator RCS. Hal ini dapat terjadi karena pelanggaran kebijakan konten atau pemfilteran tingkat operator.

Atribusi saluran

Tanda terima pengiriman termasuk atribusi saluran yang menunjukkan apakah pesan dikirim melalui RCS atau SMS. Ini penting untuk memahami bauran pengiriman Anda dan untuk tujuan penagihan.

  • Ketika pesan dikirimkan melalui RCS, tanda terima pengiriman menunjukkan RCS sebagai saluran pengiriman dan menyertakan identitas Agen AWS RCS.

  • Ketika pesan kembali ke SMS, tanda terima pengiriman menunjukkan SMS sebagai saluran pengiriman dan menyertakan identitas nomor telepon SMS yang digunakan untuk pengiriman.

  • Ketika pengiriman langsung (AWS RCS Agent ARN) gagal, tanda terima pengiriman menunjukkan RCS sebagai saluran yang dicoba dengan status kegagalan. Tidak ada tanda terima fallback SMS yang dihasilkan.

Untuk detail tentang CloudWatch metrik RCS dan pola pengiriman pemantauan, lihatCloudWatch Metrik dan pemantauan RCS. Untuk informasi tentang bagaimana saluran pengiriman memengaruhi penagihan, lihatModel penagihan dan harga RCS.