Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim pesan RCS
AWS End User Messaging menggunakan SendTextMessage API yang sama untuk pengiriman RCS dan SMS. Cara layanan merutekan pesan Anda bergantung pada identitas originasi 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 lengket, urutan prioritas identitas originasi, dan fallback SMS otomatis, lihat. RCS ke SMS fallback menggunakan kolam telepon Untuk detail tentang mengelola Agen AWS RCS, lihatMengelola agen RCS.
Topik
Mengirim pola
AWS End User Messaging mendukung tiga pola untuk mengirim pesan RCS. Setiap pola menentukan bagaimana layanan memilih identitas originasi dan apakah fallback SMS otomatis tersedia.
| Pola | Cara kerjanya | Pengunduran SMS | Kapan harus digunakan |
|---|---|---|---|
| Berbasis kolam renang (disarankan) | Tentukan ID kumpulan sebagai identitas originasi. Layanan ini memilih identitas terbaik dari kolam renang. | Ya | Semua kasus penggunaan. Menyediakan pemilihan saluran otomatis dan fallback SMS dengan perutean yang aman sesuai. |
| Tingkat akun | Hilangkan identitas originasi. 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 AWS RCS Agent ARN sebagai identitas originasi. Pesan dikirim melalui RCS saja. | Tidak | RCS-or-nothing kasus penggunaan, atau saat Anda mengelola fallback SMS di luar Pesan Pengguna AWS Akhir. |
Pengiriman berbasis kolam renang (disarankan)
Pengiriman berbasis kolam adalah pendekatan yang direkomendasikan untuk semua kasus penggunaan RCS. Saat Anda menentukan ID kumpulan sebagai identitas originasi dalam SendTextMessage permintaan Anda, Pesan Pengguna AWS Akhir memilih identitas originasi terbaik dari kumpulan berdasarkan tujuan, ketersediaan saluran, dan riwayat pengiriman lengket.
Jika pool berisi nomor telepon AWS RCS Agent dan SMS, layanan akan mencoba pengiriman RCS terlebih dahulu. Jika pengiriman RCS gagal, layanan secara otomatis kembali ke SMS menggunakan nomor telepon dari kolam yang sama. Karena semua identitas di pool terdaftar untuk kasus penggunaan yang sama, pesan fallback selalu dikirim dari nomor yang sesuai.
Untuk detail tentang membuat dan mengonfigurasi pool dengan AWS RCS Agents, lihat. RCS ke SMS fallback menggunakan kolam telepon
Pengiriman tingkat akun
Ketika Anda menghilangkan identitas originasi dari SendTextMessage permintaan Anda, AWS End User Messaging memilih identitas originasi dari semua identitas yang tersedia di akun Anda. Layanan menggunakan urutan prioritas identitas originasi untuk menentukan identitas mana yang akan digunakan. Lihat perinciannya di Logika mundur dan urutan prioritas.
penting
Pengiriman tingkat akun menimbulkan risiko kepatuhan jika akun Anda berisi nomor telepon yang terdaftar untuk berbagai kasus penggunaan. Ketika pengiriman RCS gagal dan layanan kembali ke SMS, itu dapat 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 persyaratan pendaftaran untuk nomor itu. Untuk menghindari risiko ini, gunakan pengiriman berbasis kolam dengan satu kumpulan per kasus penggunaan. Lihat perinciannya di Risiko kepatuhan dengan pengiriman tingkat akun.
Kirim langsung (hanya RCS)
Saat Anda menetapkan AWS RCS Agent ARN sebagai identitas originasi dalam permintaan SendTextMessage Anda AWS , End User Messaging akan mengirimkan 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 memilih tidak ada pengiriman melalui pengiriman SMS.
-
Anda mengelola fallback SMS di luar AWS End User Messaging. 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 kolam direkomendasikan karena menyediakan fallback SMS otomatis tanpa biaya tambahan.
Pengiriman lengket, pesanan prioritas, dan fallback SMS
Saat Anda mengirim pesan melalui pool atau di tingkat akun, AWS End User Messaging menggunakan pengiriman lengket (optimasi perutean 25 jam), urutan prioritas identitas originasi, 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. RCS ke SMS fallback menggunakan kolam 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
Contoh pengiriman berbasis kolam
Contoh berikut mengirim pesan melalui kolam telepon. Layanan memilih identitas originasi terbaik dari kolam 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']}")
Contoh pengiriman tingkat akun
Contoh berikut mengirimkan pesan di tingkat akun dengan menghilangkan identitas originasi. 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 merutekan fallback SMS melalui nomor yang tidak sesuai dengan konten pesan Anda. Gunakan pengiriman berbasis kolam 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 fallback SMS yang dicoba. Gunakan pola ini hanya ketika Anda ingin RCS-or-nothing pengiriman atau ketika Anda mengelola fallback SMS di luar AWS End User Messaging.
Agen AI meminta untuk mengirim pesan RCS
Jika Anda menggunakan asisten pengkodean AI generatif atau agen AI, Anda dapat menggunakan prompt berikut untuk mendapatkan bantuan mengirim 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 End User Messaging menyediakan tanda terima pengiriman untuk pesan RCS melalui Amazon EventBridge dan menetapkan konfigurasi tujuan acara. 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 acara pesan lainnya, lihatTujuan acara di SMS Pesan Pengguna AWS Akhir.
Nilai status pengiriman
Nilai status pengiriman berikut berlaku untuk pesan RCS:
- DIKIRIM
-
Pesan berhasil dikirim ke perangkat penerima.
- PENDING
-
Pesan telah diterima oleh infrastruktur RCS tetapi konfirmasi pengiriman belum diterima. Pesan mungkin masih terkirim.
- KEDALUWARSA
-
Pesan tidak terkirim dalam jangka waktu yang diizinkan. Untuk pesan RCS dengan fallback SMS, status ini berlaku untuk upaya RCS sebelum fallback terjadi.
- TIDAK TERKIRIM
-
Pesan tidak dapat disampaikan. Ini dapat terjadi ketika perangkat penerima tidak dapat dijangkau secara permanen atau nomor telepon tidak valid.
- MENOLAK
-
Pesan itu ditolak oleh infrastruktur atau operator RCS. Hal ini dapat terjadi karena pelanggaran kebijakan konten atau penyaringan tingkat operator.
Atribusi saluran
Tanda terima pengiriman termasuk atribusi saluran yang menunjukkan apakah pesan dikirim melalui RCS atau SMS. Ini penting untuk memahami campuran pengiriman Anda dan untuk tujuan penagihan.
-
Saat pesan dikirimkan melalui RCS, tanda terima pengiriman menunjukkan RCS sebagai saluran pengiriman dan menyertakan identitas Agen AWS RCS.
-
Ketika pesan jatuh 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 percobaan dengan status kegagalan. Tidak ada tanda terima fallback SMS yang dihasilkan.
Untuk detail tentang CloudWatch metrik RCS dan memantau pola pengiriman, lihat. CloudWatch Metrik dan pemantauan RCS Untuk informasi tentang bagaimana saluran pengiriman memengaruhi penagihan, lihatModel penagihan dan harga RCS.