

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

# Acara pesan RCS
<a name="rcs-events"></a>

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, lihat[Tujuan acara di SMS Pesan Pengguna AWS Akhir](configuration-sets-event-destinations.md).

Untuk detail tentang pesan yang menghasilkan peristiwa ini, lihat[Mengirim pesan RCS yang kaya](rcs-rich-messaging.md).

**Topics**
+ [Bidang umum pada acara RCS](#rcs-events-common-fields)
+ [Acara status pengiriman](#rcs-events-delivery-status)
+ [Baca tanda terima](#rcs-events-read-receipts)
+ [Indikator pengetikan](#rcs-events-typing-indicators)
+ [Acara kedaluwarsa TTL](#rcs-events-ttl-expiration)
+ [Acara fallback](#rcs-events-fallback)
+ [Acara ketuk saran (postback)](#rcs-events-postback)
+ [Acara dan bidang penetapan harga percakapan](#rcs-events-conversational)
+ [Merutekan acara ke tujuan](#rcs-events-routing)
+ [Praktik terbaik untuk pemrosesan acara](#rcs-events-best-practices)

## Bidang umum pada acara RCS
<a name="rcs-events-common-fields"></a>

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 `US` atau`CA`.

Bidang ini hadir di semua acara RCS. Mereka tidak termasuk dalam acara SMS atau MMS.

## Acara status pengiriman
<a name="rcs-events-delivery-status"></a>

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.billingEventType`Nilainya adalah `RICH` untuk pesan RCS yang kaya.

## Baca tanda terima
<a name="rcs-events-read-receipts"></a>

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_DELIVERED` acara selalu dikirim sebelum atau bersamaan dengan `RCS_READ` acara 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 ke`READ`:

```
{
    "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
<a name="rcs-events-typing-indicators"></a>

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. `messageBody`Berisi objek JSON dengan `type` dari. `RCS_TYPING` Gunakan 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
<a name="rcs-events-ttl-expiration"></a>

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](rcs-message-expiration.md)

## Acara fallback
<a name="rcs-events-fallback"></a>

Ketika pesan RCS tidak dapat dikirimkan dan AWS End User Messaging memicu fallback SMS atau MMS (baik melalui konfigurasi berbasis kumpulan atau per-pesan`FallbackConfiguration`), 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](rcs-fallback-per-message.md)

## Acara ketuk saran (postback)
<a name="rcs-events-postback"></a>

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` dari`SUGGESTION`, tampilan`text`, 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, lihat[Mengkonfigurasi saran RCS](rcs-suggestions.md).

**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
<a name="rcs-events-conversational"></a>

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, lihat[Harga percakapan](rcs-billing.md#rcs-billing-conversational).

### Bidang percakapan
<a name="rcs-events-conversational-fields"></a>

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: `OUTBOUND` ketika agen Anda mengirim pesan pertama, atau `INBOUND` ketika 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` dari`0.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
<a name="rcs-events-conversation-started"></a>

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).

`messageBody`Berisi objek JSON dengan bidang-bidang berikut:

`type`  
Selalu`CONVERSATION_STARTED`.

`startTime`  
Waktu mulai sesi, dalam format ISO 8601.

`endTime`  
Waktu kedaluwarsa sesi, dalam format ISO 8601. Ini selalu 24 jam setelahnya`startTime`.

`conversationInitiatingMessageId`  
ID pesan yang memulai percakapan.

`conversationInitiatingMessageType`  
`OUTBOUND`ketika agen Anda mengirim pesan pertama, atau `INBOUND` ketika 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
<a name="rcs-events-routing"></a>

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, lihat[Tujuan acara di SMS Pesan Pengguna AWS Akhir](configuration-sets-event-destinations.md).

Saat Anda menelepon`SendRcsMessage`, 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` dan`RCS_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
<a name="rcs-events-best-practices"></a>
+ Konfigurasikan tujuan acara sebelum Anda mulai mengirim pesan produksi. Ini memastikan Anda menangkap semua acara dari awal.
+ Gunakan `DELIVERED` acara 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.