Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Acara pesan RCS
Saat Anda mengirim pesan RCS dengan AWS End User Messaging, platform RCS menghasilkan peristiwa yang melaporkan perubahan siklus hidup pesan, interaksi penerima, dan hasil tingkat sistem. Peristiwa ini memberikan sinyal yang lebih kaya daripada tanda terima pengiriman SMS tradisional, memberi Anda visibilitas waktu nyata apakah pesan dikirim, dibaca, kedaluwarsa, atau kembali ke SMS atau MMS.
Acara status keluar (pengiriman, baca, kedaluwarsa, dan fallback) dikirimkan melalui tujuan acara yang ditetapkan konfigurasi. Peristiwa interaksi masuk (indikator pengetikan dan ketukan saran) dikirimkan ke topik Amazon SNS dua arah yang Anda konfigurasikan di agen RCS Anda. Untuk mengatur tujuan acara, lihatTujuan acara di SMS Pesan Pengguna AWS Akhir.
Untuk detail tentang pesan yang menghasilkan peristiwa ini, lihatMengirim pesan RCS yang kaya.
Topik
Bidang umum pada acara RCS
Semua peristiwa RCS, termasuk peristiwa status pengiriman, tanda terima baca, dan peristiwa interaksi masuk, mencakup bidang berikut yang mengidentifikasi agen RCS:
rcsBusinessId-
Pengenal platform untuk agen RCS yang mengirim atau menerima pesan.
agentIsoCountryCode-
Kode negara ISO negara tempat agen RCS terdaftar, misalnya
USatauCA.
Bidang ini hadir di semua acara RCS. Mereka tidak termasuk dalam acara SMS atau MMS.
Acara status pengiriman
Peristiwa status pengiriman menunjukkan status siklus hidup pesan RCS keluar. Anda menggunakan peristiwa ini untuk mengonfirmasi pengiriman, memicu logika fallback, atau memperingatkan tim operasi Anda tentang pelanggaran konten.
Setiap peristiwa status keluar memiliki eventType of RCS_DELIVERED (dan jenis peristiwa status RCS terkait) dan messageStatus bidang yang menyimpan salah satu nilai berikut:
DELIVERED-
Pesan mencapai perangkat penerima. Gunakan acara ini untuk membatalkan timer fallback yang tertunda.
PENDING-
Platform RCS menerima pesan tersebut tetapi belum mengirimkannya. Mulai pengatur waktu fallback Anda saat Anda menerima acara ini.
UNDELIVERABLE-
Platform tidak dapat mengirimkan pesan secara permanen (misalnya, perangkat penerima tidak mendukung RCS). Picu fallback SMS atau MMS Anda dan tandai nomor telepon untuk keputusan perutean masa depan.
REJECTED-
Pesan tersebut ditolak karena pelanggaran kebijakan konten. Beri tahu tim operasi Anda dan tinjau konten pesan.
Contoh berikut menunjukkan payload acara pengiriman:
{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1781661267660, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.007, "totalCarrierFee": 0.00494, "rcsMetadata": { "billingEventType": "RICH" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }
catatan
Peristiwa status untuk pesan RCS kaya termasuk metadata penagihan. rcsMetadata.billingEventTypeNilainya adalah RICH untuk pesan RCS yang kaya.
Baca tanda terima
Tanda terima baca menunjukkan bahwa penerima membuka atau melihat pesan Anda. Gunakan tanda terima baca untuk melacak keterlibatan dan mengukur tingkat baca.
READ-
Penerima melihat pesan. Suatu
RCS_DELIVEREDacara selalu dikirim sebelum atau bersamaan denganRCS_READacara tersebut, jadi jika Anda tidak memproses acara pengiriman terpisah, perlakukan pesan tersebut seperti yang terkirim saat Anda menerima acara baca.
Acara baca menggunakan a eventType of RCS_READ dengan messageStatus set keREAD:
{ "eventType": "RCS_READ", "eventVersion": "1.0", "eventTimestamp": 1781661267203, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "READ", "messageStatusDescription": "Message has been read by recipient", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }
Anda dapat menghitung tingkat baca Anda sebagai jumlah READ acara dibagi dengan jumlah DELIVERED acara, dikalikan dengan 100.
Indikator pengetikan
Acara indikator pengetikan menandakan bahwa peserta sedang menulis pesan. Peristiwa ini mengalir di kedua arah:
-
Masuk (pengguna ke agen): Saat penerima mulai menulis balasan, Anda menerima pemberitahuan masuk tentang topik Amazon SNS dua arah Anda.
messageBodyBerisi objek JSON dengantypedari.RCS_TYPINGGunakan ini untuk mempersiapkan logika percakapan Anda atau menampilkan status di dasbor Anda. -
Outbound (agen ke pengguna): indikator Agent-initiated pengetikan, yang menunjukkan penerima bahwa agen Anda sedang mempersiapkan respons, adalah kemampuan yang direncanakan. Periksa catatan rilis AWS End User Messaging untuk ketersediaan saat ini.
Contoh berikut menunjukkan pemberitahuan pengetikan masuk:
{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"RCS_TYPING\",\"receivedAt\":\"2026-06-17T17:36:29.937+0000\"}", "inboundMessageId": "12679164820-2026-06-17T17:36:29.937+0000" }
catatan
Agent-initiated indikator pengetikan dan tanda terima baca yang diprakarsai agen, yang dikirim agen Anda ke penerima, adalah kemampuan yang direncanakan. Periksa catatan rilis AWS End User Messaging untuk ketersediaan saat ini.
Acara kedaluwarsa TTL
Saat Anda menetapkan TimeToLive nilai pada pesan dan TTL berlalu sebelum pesan dikirimkan, platform RCS mencoba mencabut (menghapus) pesan tersebut. Hasilnya menghasilkan salah satu peristiwa berikut:
TTL_EXPIRATION_REVOKED-
Pesan kedaluwarsa berhasil dihapus sebelum penerima melihatnya. Anda dapat dengan aman memicu fallback SMS atau MMS Anda untuk memastikan penerima menerima konten.
TTL_EXPIRATION_REVOKE_FAILED-
Pencabutan gagal dan pesan mungkin masih dikirimkan ke penerima. Dalam hal ini, evaluasi apakah mengirim pesan fallback akan menghasilkan duplikat sebelum melanjutkan.
Acara kedaluwarsa TTL bekerja sama dengan strategi fallback Anda. Untuk detail tentang mengonfigurasi kedaluwarsa pesan, lihat. Mengkonfigurasi kedaluwarsa pesan RCS
Acara fallback
Ketika pesan RCS tidak dapat dikirimkan dan AWS End User Messaging memicu fallback SMS atau MMS (baik melalui konfigurasi berbasis kumpulan atau per-pesanFallbackConfiguration), layanan menghasilkan peristiwa yang menunjukkan hasil fallback.
Peristiwa fallback menunjukkan:
-
Apakah pesan fallback berhasil dikirim.
-
Saluran yang digunakan untuk fallback (SMS atau MMS).
-
Alasan pesan RCS asli tidak terkirim (misalnya, perangkat tidak, kedaluwarsa TTL RCS-capable, atau tidak tersedianya platform).
Pantau peristiwa ini untuk mengukur tingkat fallback Anda dan mengidentifikasi nomor telepon yang secara konsisten memerlukan pengiriman fallback. Untuk detail tentang mengonfigurasi fallback per pesan, lihat. Mengkonfigurasi fallback SMS atau MMS per pesan
Acara ketuk saran (postback)
Saat penerima memilih saran (balasan yang disarankan atau tindakan yang disarankan), Anda menerima peristiwa postback yang berisi PostbackData string yang Anda konfigurasikan pada saran tersebut. Gunakan data postback untuk merutekan logika percakapan Anda, bukan teks tampilan.
penting
Acara ketuk saran (postback) dikirimkan hanya ke topik Amazon SNS dua arah Anda, bukan ke konfigurasi yang ditetapkan tujuan acara.
Notifikasi messageBody berisi objek JSON dengan type dariSUGGESTION, tampilantext, dan yang postbackData Anda tetapkan pada saran:
{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"SUGGESTION\",\"text\":\"Open\",\"postbackData\":\"Open\"}", "inboundMessageId": "nIMYZGrBUILWng0Qck0deqVaAoTSJY5PsktKYOBYJhVaTsrdMdrs714e8SLZAjD3" }
Untuk detail tentang cara mengonfigurasi saran dan data postback mereka, lihatMengkonfigurasi saran RCS.
penting
Rancang PostbackData nilai Anda sebagai pengidentifikasi terstruktur (misalnya,action:confirm_order:12345) sehingga Anda dapat menguraikannya secara terprogram. Hindari mengandalkan teks tampilan, yang dapat berubah tanpa memengaruhi logika perutean Anda.
Acara dan bidang penetapan harga percakapan
Jika Anda mendaftarkan agen RCS untuk menggunakan harga percakapan, AWS End User Messaging menambahkan bidang ke pengiriman dan acara masuk saat pesan merupakan bagian dari sesi percakapan aktif, dan mengirimkan CONVERSATION_STARTED acara saat sesi dimulai. Untuk ikhtisar model penetapan harga percakapan, lihatHarga percakapan.
Bidang percakapan
Bidang berikut muncul pada acara pengiriman atau masuk hanya jika pesan merupakan bagian dari sesi percakapan aktif. Ketika pesan bukan bagian dari percakapan, AWS End User Messaging menghilangkan bidang ini sepenuhnya.
conversationInitiatingMessageId-
ID pesan yang memulai sesi percakapan. Hadir pada acara pengiriman dan masuk.
conversationInitiatingMessageType-
Bagaimana percakapan dimulai:
OUTBOUNDketika agen Anda mengirim pesan pertama, atauINBOUNDketika penerima mengirim pesan pertama. Hadir pada acara pengiriman dan masuk. conversationSessionFee-
Biaya sesi satu kali, dalam dolar AS, dibebankan sekali per sesi percakapan 24 jam. Hadir pada acara pengiriman saja.
Ketika pesan merupakan bagian dari sesi percakapan aktif, acara pengirimannya melaporkan a totalMessagePrice dan totalCarrierFee dari0.0, karena biaya sesi mencakup pesan. Contoh berikut menunjukkan peristiwa pengiriman pesan dalam percakapan aktif:
{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1751234567890, "isFinal": true, "originationPhoneNumber": "rcs-f4e4252a5abe48bea50a6c176a056124", "destinationPhoneNumber": "+14376638816", "isoCountryCode": "CA", "isInternationalSend": false, "messageId": "b4a3196d-5b61-4884-a0d9-745acf1f6235", "messageRequestTimestamp": 1751234565000, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsMetadata": { "billingEventType": "BASIC" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "CA", "conversationInitiatingMessageId": "177930985040408106521449", "conversationInitiatingMessageType": "OUTBOUND", "conversationSessionFee": 0.012 }
Acara CONVERSATION_STARTED
AWSPesan Pengguna Akhir mengirimkan CONVERSATION_STARTED acara ke topik Amazon SNS acara RCS Anda saat sesi percakapan dimulai. Sesi dimulai ketika agen Anda mengirim pesan dan penerima membalas dalam waktu 24 jam (dimulai bisnis), atau ketika penerima mengirim pesan dan agen Anda merespons (dimulai pengguna).
messageBodyBerisi objek JSON dengan bidang-bidang berikut:
typeSelalu
CONVERSATION_STARTED.startTimeWaktu mulai sesi, dalam format ISO 8601.
endTimeWaktu kedaluwarsa sesi, dalam format ISO 8601. Ini selalu 24 jam setelahnya
startTime.conversationInitiatingMessageIdID pesan yang memulai percakapan.
conversationInitiatingMessageTypeOUTBOUNDketika agen Anda mengirim pesan pertama, atauINBOUNDketika penerima mengirim pesan pertama.
Contoh berikut menunjukkan CONVERSATION_STARTED peristiwa:
{ "originationNumber": "14376638816", "destinationNumber": "rcs-e138fa39eabf4d6d8e95546248c8dfa7", "messageBody": "{\"type\":\"CONVERSATION_STARTED\",\"startTime\":\"2026-06-28T04:03:08.002+0000\",\"endTime\":\"2026-06-29T04:08:08.002+0000\",\"conversationInitiatingMessageId\":\"7e7da6ec-234a-4d4f-bbc5-943bcca663ab\",\"conversationInitiatingMessageType\":\"OUTBOUND\"}", "inboundMessageId": "7e7da6ec-234a-4d4f-bbc5-943bcca663ab" }
Merutekan acara ke tujuan
AWSEnd User Messaging merutekan peristiwa RCS melalui konfigurasi menetapkan tujuan acara. Anda mengonfigurasi tujuan acara pada set konfigurasi yang terkait dengan operasi pengiriman Anda. Tujuan yang didukung meliputi:
- Amazon SNS
-
Gunakan topik Amazon SNS untuk pemrosesan peristiwa waktu nyata, termasuk memicu fungsi AWS Lambda untuk merespons tanda terima pengiriman atau ketukan saran.
- Amazon Data Firehose
-
Gunakan aliran pengiriman Firehose untuk mengirim peristiwa ke Amazon S3, Amazon Redshift, atau tujuan analitik lainnya untuk penyimpanan dan pelaporan jangka panjang.
- CloudWatch Log Amazon
-
Gunakan CloudWatch Log untuk debugging, analisis log, dan pengaturan CloudWatch alarm pada pola peristiwa (misalnya, peringatan pada tingkat penolakan yang tinggi).
Untuk mempelajari cara membuat dan mengonfigurasi tujuan acara, lihatTujuan acara di SMS Pesan Pengguna AWS Akhir.
Saat Anda meneleponSendRcsMessage, tentukan ConfigurationSetName parameter untuk mengaitkan pesan dengan set konfigurasi Anda. Peristiwa status keluar yang dihasilkan oleh pesan tersebut dirutekan ke tujuan yang Anda konfigurasikan.
Saat mengonfigurasi jenis acara yang cocok dengan tujuan acara, Anda dapat memilih RCS_ALL untuk berlangganan semua jenis acara RCS dengan satu jenis pencocokan, alih-alih mencantumkan setiap jenis acara RCS satu per satu (seperti RCS_DELIVERED danRCS_READ).
catatan
Peristiwa interaksi masuk, termasuk indikator pengetikan dan ketukan saran (postback), dikirimkan ke topik Amazon SNS dua arah yang dikonfigurasi pada agen RCS Anda, bukan ke tujuan set acara konfigurasi.
Praktik terbaik untuk pemrosesan acara
-
Konfigurasikan tujuan acara sebelum Anda mulai mengirim pesan produksi. Ini memastikan Anda menangkap semua acara dari awal.
-
Gunakan
DELIVEREDacara untuk membatalkan pengatur waktu fallback. Jika Anda menerima konfirmasi pengiriman, jangan mengirim SMS atau MMS fallback. -
Memproses acara berlangganan (
UNSUBSCRIBE) segera untuk menjaga kepatuhan terhadap peraturan perpesanan. -
Menerapkan pemrosesan acara idempoten. Gunakan pengenal pesan yang dikombinasikan dengan jenis acara sebagai kunci deduplikasi untuk menangani pengiriman peristiwa duplikat.
-
Menangani peristiwa out-of-order dengan membandingkan stempel waktu acara. Peristiwa mungkin tiba dalam urutan yang berbeda dari yang terjadi.
-
Pantau penolakan dan tingkat yang tidak terkirim dengan CloudWatch alarm untuk mendeteksi masalah konten atau masalah penargetan lebih awal.