# Opt-out dan keyword

Ketika seseorang mengirim pesan ke salah satu nomor Anda, Bird mencocokkan pesan tersebut dengan katalog keyword sebelum Anda menerimanya. Keyword **stop** yang dikenali menekan pesan selanjutnya dari pengirim tersebut ke pelanggan, keyword **start** mengakhiri penekanan, dan **help** membalas dengan informasi dukungan. Negara yang didukung tidak memerlukan pengaturan untuk perilaku ini.

Panduan ini mencakup apa yang Bird lakukan secara default, cara melihatnya, dan cara mengubahnya.

## Apa yang terjadi secara default

Seorang pelanggan mengirim `STOP` ke salah satu nomor Anda. Bird:

1. **Mengenalinya** berdasarkan katalog keyword untuk negara nomor tersebut.
2. **Mencatat penekanan** pada pasangan pengirim-dan-pelanggan yang tepat.
3. **Mengonfirmasinya** dengan membalas menggunakan pesan opt-out untuk negara tersebut.

Sejak saat itu, pengiriman dari pengirim tersebut ke pelanggan tersebut ditolak dengan [`E12077 SMSRecipientSuppressed`](/docs/api/errors/E12077) alih-alih dikirim. `START` mengakhiri penekanan dan mengonfirmasinya juga, dan `HELP` membalas tanpa mengubah apa pun.

Penekanan mencakup **satu pengirim dan satu pelanggan**. Penekanan tidak mencakup seluruh workspace Anda. Cakupan teknis pemblokiran tersebut tidak memberikan izin untuk menggunakan pengirim lain. Terapkan preferensi yang dinyatakan pelanggan pada pesan dan program yang mereka minta untuk dihentikan. Untuk menghentikan semua pengirim di workspace sekaligus, lihat [Opt-out dari semua pengirim](#opt-out-dari-semua-pengirim) di bawah.

Konfirmasi dikecualikan dari penekanan yang dicatatnya. Bird dapat membalas pesan masuk meskipun penekanan baru memblokir pengiriman keluar selanjutnya.

## Cakupan berdasarkan negara

Katalog Bird mencakup **sebagian negara**. Jika suatu negara tercakup, Bird menangani keyword opt-out, opt-in, dan help secara default. Jika tidak tercakup, Bird tidak mengenali keyword apa pun, tidak mengirim balasan, dan tidak mencatat opt-out. Jika Anda mengirim ke negara yang tidak tercakup, Anda harus menangani opt-out sendiri.

Periksa apa yang dimiliki suatu negara sebelum Anda mengandalkannya:

```bash
bird sms keyword-rules list --country NL
```

Hasil kosong berarti negara tersebut tidak memiliki cakupan. Anda dapat menambahkan keyword `custom` sendiri di sana, tetapi setiap operasi lain menggantikan sesuatu yang disediakan Bird, jadi Anda hanya dapat membuatnya untuk negara dalam katalog Bird.

## Melihat apa yang berlaku

`GET /v1/sms/keyword-rules` menjelaskan bagaimana balasan ke nomor Anda ditangani. Tanpa filter, hasilnya mengembalikan seluruh katalog Bird beserta aturan yang telah Anda buat; persempit dengan `country`, `number`, `operation`, atau `scope`:

- `scope=system` mengembalikan hanya katalog Bird, termasuk default yang digantikan oleh aturan workspace.
- `scope=workspace` mengembalikan hanya aturan Anda sendiri.
- `number=+18005551234` mengembalikan aturan yang berlaku untuk salah satu nomor Anda, dalam urutan penerapannya pada pesan masuk; tambahkan `from_country` untuk melihat apa yang didapat pengirim dari tempat lain, yang bisa berbeda.

Aturan dikembalikan dari yang paling spesifik terlebih dahulu, dan masing-masing membawa `effective_keywords`: kumpulan Bird untuk operasi dan negara tersebut ditambah apa pun yang Anda tambahkan.

Daftar mengembalikan dua operasi selain `stop`, `start`, dan `help`:

- `info` membalas dengan informasi program Anda dan berperilaku persis seperti `help`. Operasi ini terpisah agar negara yang jawaban INFO-nya harus berbeda dari jawaban HELP-nya dapat memiliki keduanya; jika Bird tidak menyediakan aturan `info` untuk suatu negara, INFO adalah salah satu keyword `help` negara tersebut dan membalas dengan balasan `help`.
- `confirm` menandai balasan double opt-in, seperti `JOIN` atau `YES`. Operasi ini tidak mengirim apa pun saat ini, jadi tangani dari handler Anda sendiri. Bird menyimpan keyword tersebut agar aturan `custom` tidak dapat mengklaimnya.

## Mengubah balasan

Balasan default Bird benar tetapi generik. Untuk membalas atas nama Anda sendiri, buat aturan untuk negara dan operasi tersebut:

```bash
bird sms keyword-rules create \
  --operation stop \
  --country NL \
  --reply "You are unsubscribed from MyBrand. Reply START to resume."
```

Aturan Anda menggantikan balasan default Bird untuk negara tersebut dan **mempertahankan keyword Bird** kecuali Anda menambahkan lebih banyak. Aturan ini juga mewarisi keyword yang ditambahkan Bird di kemudian hari. Anda tidak dapat mengubah operasi yang ditetapkan pada keyword opt-out atau opt-in; Bird menolak aturan yang mencoba mengikat `STOP` ke operasi lain.

Jika Bird menyediakan keyword suatu negara dalam lebih dari satu bahasa, setiap bahasa memiliki aturannya sendiri, sehingga pembuatan harus menyebutkan bahasa yang digantikannya. Kanada adalah negara tersebut saat ini: aturan `stop`, `start`, dan `help`-nya tersedia dalam `en` dan `fr`. `language` wajib di sana dan ditolak untuk negara yang Bird sediakan dalam satu bahasa saja.

```bash
bird sms keyword-rules create \
  --operation stop \
  --country CA \
  --language fr \
  --reply "Vous etes desabonne de MyBrand. Repondez DEBUT pour reprendre."
```

Menampilkan daftar aturan suatu negara memperlihatkan apakah pemisahan berlaku dan bahasa mana saja yang tersedia.

Untuk membatasi aturan pada satu nomor alih-alih setiap nomor yang Anda miliki di negara tersebut, atur `number` alih-alih mengandalkan negara saja.

Jika Anda membalas pesan-pesan ini dari sistem Anda sendiri alih-alih melalui Bird, atur `reply` ke null bersama dengan `confirmed_self_managed`. Ini menonaktifkan balasan otomatis Bird untuk aturan tersebut sementara penekanan itu sendiri tetap berjalan.

## Keyword kampanye

Aturan `custom` tidak memiliki perilaku bawaan. Aturan ini mencocokkan keyword yang Anda pilih dan mengirim balasan yang Anda tulis, yang mendukung keyword kampanye seperti `PIZZA`. Aturan `custom` tidak mewarisi keyword, jadi memerlukan setidaknya satu keyword sendiri, dan boleh menghilangkan `country` agar berlaku di mana pun Anda mengirim.

Keyword yang telah diikat Bird ke operasi kepatuhan tidak dapat digunakan kembali sebagai keyword kustom.

## Membaca dan mengelola penekanan

`GET /v1/sms/suppressions` mencantumkan pasangan yang pengirimannya saat ini dihentikan, yang terbaru lebih dulu. Filter berdasarkan `destination` untuk memeriksa satu pelanggan sebelum mengirim kepada mereka, berdasarkan `originator` untuk salah satu pengirim Anda, atau berdasarkan `reason`:

- `keyword_stop`: pelanggan mengirim keyword stop.
- `carrier_opted_out`: operator mereka melaporkan opt-out.
- `manual`: ditambahkan melalui API atau dashboard.

Penekanan yang telah berakhir tidak ditampilkan, sehingga respons mengidentifikasi penerima yang tidak dapat Anda kirimi pesan saat ini.

Anda dapat menambahkan satu sendiri untuk menghormati opt-out yang pelanggan sampaikan melalui telepon:

```bash
bird sms suppressions add --destination +15550001234 --originator +15557654321
```

Penekanan manual memblokir **setiap kategori, termasuk transaksional**, dan penambahan bersifat idempoten. Penghapusan sengaja dibatasi: hanya penekanan `manual` yang dapat diakhiri dengan cara ini. Keyword stop dari pelanggan sendiri dan opt-out dari operator ditolak, karena itu bukan hak Anda untuk membatalkannya.

## Opt-out dari semua pengirim

Keyword stop dan penekanan manual di atas keduanya menghentikan satu pengirim. Sebagian pelanggan ingin keluar dari semua pengirim di workspace sekaligus, misalnya seseorang yang meminta tim dukungan Anda untuk menghentikan semua pesan alih-alih membalas ke setiap nomor satu per satu.

Itu adalah preferensi yang dinyatakan, bukan penekanan, sehingga berada di tab **Preferences** pada **SMS** > **Suppressions**, bukan di daftar di atas. Buka tab tersebut dan catat opt-out dengan **Every sender in the workspace**: nomor tersebut berhenti menerima SMS dari setiap pengirim di workspace, termasuk pengirim yang Anda tambahkan nanti. Opt-out yang dicatat di tab ini mencakup semua pesan, termasuk teks autentikasi; untuk mencatat yang hanya menghentikan marketing, gunakan halaman **Contacts** > **Preferences** di level workspace, yang dialognya menawarkan pilihan cakupan.

Bird memeriksa penekanan dalam panduan ini terlebih dahulu, sehingga keyword stop biasa tetap ditolak dengan `E12077` seperti sebelumnya. Pengiriman ke nomor dengan opt-out level workspace yang tercatat ditolak dengan [`E25000 PreferenceRevoked`](/docs/api/errors/E25000). Untuk melanjutkan pengiriman setelah pelanggan meminta Anda, hapus entri dari tab Preferences (Anda yang mencatatnya, jadi Anda dapat menghapusnya), atau catat opt-in di halaman **Contacts** > **Preferences** level workspace.

## Langkah selanjutnya

Tinjau [persetujuan kampanye dan kontrol pengiriman](/products/sms/marketing/compliance) sebelum mengirim ke audiens, atau jelajahi [penanganan opt-out SMS](/products/sms/compliance/opt-out) untuk integrasi Anda.

- [Mengirim SMS](/docs/guides/sms/sending-sms): tinjau kategori, pengirim, dan kondisi penolakan.
- [Events](/docs/guides/sms/events): tangani event `sms.*` untuk pengiriman dan balasan.
- [Log SMS](/docs/guides/sms/sms-log): periksa pesan, termasuk pengiriman yang ditolak.

## Related resources

- [How do I collect SMS opt-ins?](/explained/sms/how-do-i-collect-sms-opt-ins) (answer)
- [Preview message segments](/tools/sms-segment-calculator) (tool)
- [SMS compliance](/sms-api/features/compliance) (product)
- [Operate messaging reliably](/learn/paths/reliability) (course)

[Get an implementation brief](/learn/workspace?topic=consent)
