

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

# Mengirim pesan dengan Notify
<a name="notify-send-messages"></a>

Notify menyediakan dua APIs untuk mengirim pesan:
+ `SendNotifyTextMessage`— Mengirim pesan SMS menggunakan template yang telah disetujui sebelumnya.
+ `SendNotifyVoiceMessage`— Mengirim panggilan suara yang membaca konten template menggunakan text-to-speech.

## Mengirim pesan SMS
<a name="notify-send-text"></a>

------
#### [ Console ]

1. Buka konsol SMS AWS End User Messaging di [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. Arahkan ke konfigurasi Notify dan pilih tab **Test**.

1. Untuk saluran, pilih **Teks**.

1. Pilih template dari tabel template.

1. Masukkan nomor telepon tujuan dalam format E.164.

1. Isi variabel template.

1. Pilih **Kirim**.

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}'
```

------
#### [ Python (boto3) ]

```
import boto3

client = boto3.client('pinpoint-sms-voice-v2')

response = client.send_notify_text_message(
    NotifyConfigurationId='nc-1234567890abcdef0',
    DestinationPhoneNumber='+12065550100',
    TemplateId='notify-code-verification-english-001',
    TemplateVariables={
        'code': '123456'
    }
)

print(f"Message sent. MessageId: {response['MessageId']}")
print(f"Resolved body: {response.get('ResolvedMessageBody')}")
```

------

## Mengirim pesan suara
<a name="notify-send-voice"></a>

Pesan suara mengharuskan `VOICE` saluran diaktifkan pada konfigurasi Pemberitahuan Anda.

**Tip**  
Untuk pesan suara, pisahkan digit dengan titik atau spasi (misalnya,`"1. 2. 3. 4. 5. 6."`) sehingga text-to-speech mesin membaca setiap digit secara individual, bukan sebagai nomor tunggal.

------
#### [ Console ]

1. Buka konsol SMS AWS End User Messaging di [https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/).

1. Arahkan ke konfigurasi Notify dan pilih tab **Test**.

1. Untuk saluran, pilih **Suara**.

1. Pilih template suara dari tabel template.

1. Masukkan nomor telepon tujuan dan isi variabel template.

1. Pilih **Kirim**.

------
#### [ AWS CLI ]

```
aws pinpoint-sms-voice-v2 send-notify-voice-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --voice-id JOANNA
```

------

## Menggunakan DryRun mode
<a name="notify-send-dryrun"></a>

Setel `DryRun` `true` untuk memvalidasi permintaan kirim tanpa benar-benar mengirimkan pesan. DryRun mode memeriksa validasi variabel template, pembatasan negara, dan batas pengeluaran, tetapi tidak mengirim pesan atau mengurangi dari batas pengeluaran Anda.

```
aws pinpoint-sms-voice-v2 send-notify-text-message \
  --notify-configuration-id nc-1234567890abcdef0 \
  --destination-phone-number +12065550100 \
  --template-id notify-code-verification-english-001 \
  --template-variables '{"code":"123456"}' \
  --dry-run
```

## Kirim parameter permintaan
<a name="notify-send-parameters"></a>

Keduanya `SendNotifyTextMessage` dan `SendNotifyVoiceMessage` terima parameter berikut:

NotifyConfigurationId (Diperlukan)  
ID atau ARN dari konfigurasi Notify.

DestinationPhoneNumber (Diperlukan)  
Nomor telepon penerima dalam format E.164.

TemplateVariables (Diperlukan)  
Peta nama variabel ke nilai. Semua nilai adalah string, bahkan untuk variabel integer atau boolean.

TemplateId  
Template yang akan digunakan. Jika dihilangkan, template default konfigurasi digunakan.

ConfigurationSetName  
Set konfigurasi untuk perutean acara.

Konteks  
Pasangan kunci-nilai termasuk dalam catatan peristiwa.

DryRun  
Memvalidasi permintaan tanpa mengirim.

TimeToLive  
Berapa lama pesan itu valid, dalam hitungan detik. Defaultnya adalah 72 jam.

MessageFeedbackEnabled  
Mengaktifkan pelacakan umpan balik pesan melalui `PutMessageFeedback` API.

VoiceId (hanya suara)  
Suara Amazon Polly untuk digunakan (misalnya,`JOANNA`,`MATTHEW`).

## Cara kerja perutean pesan
<a name="notify-send-routing"></a>

AWS secara otomatis memilih identitas originasi terbaik untuk setiap pesan berdasarkan negara tujuan. Jika Anda telah mengaitkan kumpulan telepon dengan konfigurasi Notify, identitas milik pelanggan di kumpulan akan dicoba terlebih dahulu. Jika tidak ada identitas milik pelanggan yang sesuai, identitas AWS-managed digunakan sebagai fallback.

## Umpan balik pesan
<a name="notify-send-feedback"></a>

Jika Anda mengaktifkan `MessageFeedbackEnabled` saat mengirim pesan, Anda dapat melaporkan apakah pengguna akhir berhasil menerima dan menggunakan kode:

```
client.put_message_feedback(
    MessageId='msg-1234567890abcdef',
    MessageFeedbackStatus='RECEIVED'  # or 'FAILED'
)
```

## Acara pengiriman
<a name="notify-send-delivery-events"></a>

Beri tahu acara pengiriman yang akan dipancarkan ke tujuan acara yang dikonfigurasi (, CloudWatch Amazon Data Firehose, atau Amazon SNS). Untuk informasi tentang menyiapkan tujuan acara, lihat[Set konfigurasi di SMS Pesan Pengguna AWS Akhir](configuration-sets.md).


**Jenis acara pengiriman**  

| Peristiwa | Deskripsi | 
| --- | --- | 
| PENDING | Pesan diantrian untuk pengiriman. | 
| DELIVERED | Pesan dikirim ke perangkat penerima. | 
| FAILED | Pengiriman pesan gagal. Periksa alasan kegagalan untuk detailnya. | 
| BLOCKED | Pesan diblokir oleh aturan konfigurasi Lindungi. | 

## Penanganan kesalahan
<a name="notify-send-errors"></a>

ValidationException  
Variabel templat yang hilang atau tidak valid, format nomor telepon tidak valid, atau negara tujuan tidak diaktifkan pada konfigurasi.

ResourceNotFoundException  
Konfigurasi atau templat Notify tidak ditemukan.

ServiceQuotaExceededException  
Batas pesan harian (Tingkat dasar) atau batas pengeluaran bulanan tercapai.

ConflictException  
Konfigurasi Notify tidak dalam `ACTIVE` status.

## Catatan penting
<a name="notify-send-important-notes"></a>
+ Pesan **dua arah — Pesan** dua arah tidak didukung saat menggunakan identitas originasi yang AWS dikelola. Jika Anda memerlukan pesan dua arah, kaitkan kumpulan telepon Anda sendiri. Lihat [Menggunakan nomor khusus dengan Notify](notify-dedicated-numbers.md).
+ **Perilaku memilih keluar** — Untuk kasus penggunaan OTP dengan identitas yang AWS dikelola, respons kata kunci STOP hanya bersifat informasi. Tidak ada daftar opt-out persisten yang dipertahankan karena setiap permintaan OTP adalah opt-in implisit. Jika Anda mengaitkan kumpulan ponsel Anda sendiri, daftar opt-out pool dihormati.

## Pemecahan masalah
<a name="notify-send-troubleshooting"></a>

**Pesan tidak terkirim**  
Jika pesan Anda tidak terkirim, verifikasi hal berikut:

1. Verifikasi nomor telepon tujuan dalam format E.164 (dimulai dengan `+` dan kode negara).

1. Periksa apakah negara tujuan ada dalam `EnabledCountries` daftar Anda.

1. Verifikasi status konfigurasi Anda`ACTIVE`.

1. Periksa batas pengeluaran Anda belum terlampaui.

**Status DIBLOKIR**  
Pesan diblokir oleh konfigurasi Protect. Alasan umum termasuk negara tujuan yang tidak ada dalam daftar negara yang diaktifkan, atau pesan yang ditandai sebagai AIT potensial (lalu lintas yang meningkat secara artifitis).

**Kesalahan validasi**  
Pastikan semua yang `TemplateVariables` diperlukan disediakan. Periksa apakah nilai variabel cocok dengan tipe yang dideklarasikan (misalnya, bilangan bulat adalah angka yang valid). Verifikasi ID template ada dan aktif.