# Rezygnacje i słowa kluczowe

Gdy ktoś wysyła SMS na jeden z Twoich numerów, Bird sprawdza wiadomość względem katalogu słów kluczowych, zanim ją otrzymasz. Rozpoznane słowo kluczowe **stop** blokuje przyszłe wiadomości od danego nadawcy do subskrybenta, słowo kluczowe **start** kończy blokadę, a **help** odpowiada informacjami o pomocy. W obsługiwanych krajach nie trzeba tego konfigurować.

Ten przewodnik opisuje domyślne działanie Bird, jak je sprawdzić i jak je zmienić.

## Co dzieje się domyślnie

Subskrybent wysyła `STOP` na jeden z Twoich numerów. Bird:

1. **Rozpoznaje je** na podstawie katalogu słów kluczowych dla kraju tego numeru.
2. **Rejestruje blokadę** dla tej konkretnej pary nadawca–subskrybent.
3. **Potwierdza to**, odpowiadając komunikatem rezygnacji dla danego kraju.

Od tego momentu wysyłka od tego nadawcy do tego subskrybenta jest odrzucana z kodem [`E12077 SMSRecipientSuppressed`](/docs/api/errors/E12077) zamiast zostać wysłana. `START` kończy blokadę i również to potwierdza, a `HELP` odpowiada bez zmiany czegokolwiek.

Blokada obejmuje **jednego nadawcę i jednego subskrybenta**. Nie obejmuje całego obszaru roboczego. Zakres techniczny tej blokady nie daje prawa do użycia innego nadawcy. Zastosuj wyrażoną preferencję klienta do wiadomości i programu, o którego zatrzymanie prosił. Aby zablokować wszystkich nadawców w obszarze roboczym jednocześnie, zobacz [Rezygnacja ze wszystkich nadawców](#rezygnacja-ze-wszystkich-nadawców) poniżej.

Potwierdzenie jest zwolnione z blokady, którą rejestruje. Bird może odpowiedzieć na wiadomość przychodzącą, mimo że nowa blokada zatrzymuje późniejsze wiadomości wychodzące.

## Zasięg jest per kraj

Katalog Bird obejmuje **podzbiór krajów**. Tam, gdzie kraj jest objęty, Bird domyślnie obsługuje słowa kluczowe rezygnacji, zgody i pomocy. Tam, gdzie nie jest, Bird nie rozpoznaje żadnego słowa kluczowego, nie wysyła odpowiedzi i nie rejestruje rezygnacji. Jeśli wysyłasz do nieobjętego kraju, musisz samodzielnie honorować rezygnacje.

Sprawdź, co dany kraj obsługuje, zanim zaczniesz na tym polegać:

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

Pusty wynik oznacza, że kraj nie ma pokrycia. Możesz dodać własne słowa kluczowe `custom`, ale każda inna operacja zastępuje coś, co dostarcza Bird, więc możesz ją utworzyć tylko dla kraju obecnego w katalogu Bird.

## Sprawdzanie obowiązujących reguł

`GET /v1/sms/keyword-rules` opisuje, jak obsługiwane są odpowiedzi na Twoje numery. Bez filtrów zwraca cały katalog Bird wraz z utworzonymi przez Ciebie regułami; zawęź wyniki za pomocą `country`, `number`, `operation` lub `scope`:

- `scope=system` zwraca tylko katalog Bird, w tym domyślne wartości zastąpione regułą obszaru roboczego.
- `scope=workspace` zwraca tylko Twoje własne reguły.
- `number=+18005551234` zwraca reguły obowiązujące dla jednego z Twoich numerów w kolejności, w jakiej są stosowane do wiadomości przychodzącej; dodaj `from_country`, aby zobaczyć, co otrzymuje nadawca piszący z innego miejsca, bo wynik może się różnić.

Reguły są zwracane od najbardziej szczegółowej, a każda zawiera `effective_keywords`: zestaw Bird dla danej operacji i kraju plus to, co dodałeś.

Lista zwraca dwie operacje oprócz `stop`, `start` i `help`:

- `info` odpowiada informacjami o Twoim programie i działa dokładnie tak jak `help`. Jest oddzielna, aby kraj, którego odpowiedź INFO musi się różnić od odpowiedzi HELP, mógł mieć obie; tam, gdzie Bird nie dostarcza reguły `info` dla danego kraju, INFO jest jednym ze słów kluczowych `help` tego kraju i odpowiada komunikatem `help`.
- `confirm` oznacza odpowiedź podwójnej zgody, taką jak `JOIN` lub `YES`. Obecnie nic nie wysyła, więc obsłuż ją we własnym handlerze. Bird przechowuje te słowa kluczowe, aby reguła `custom` nie mogła ich przejąć.

## Zmiana odpowiedzi

Domyślne odpowiedzi Bird są poprawne, ale ogólne. Aby odpowiadać we własnym imieniu, utwórz regułę dla danego kraju i operacji:

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

Twoja reguła zastępuje domyślną odpowiedź Bird dla danego kraju i **zachowuje słowa kluczowe Bird**, chyba że dodasz więcej. Dziedziczy też słowa kluczowe dodane później przez Bird. Nie możesz zmienić operacji przypisanej do słowa kluczowego rezygnacji lub zgody; Bird odrzuca regułę, która próbuje powiązać `STOP` z inną operacją.

Tam, gdzie Bird dostarcza słowa kluczowe kraju w więcej niż jednym języku, każdy język ma własną regułę, więc przy tworzeniu musisz podać język, który zastępujesz. Obecnie takim krajem jest Kanada: jej reguły `stop`, `start` i `help` występują w `en` i `fr`. `language` jest tam wymagane, a odrzucane dla kraju, który Bird obsługuje w jednym języku.

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

Wylistowanie reguł kraju pokazuje, czy podział obowiązuje i jakie języki są dostępne.

Aby ograniczyć regułę do jednego numeru zamiast każdego numeru, który posiadasz w danym kraju, ustaw `number` zamiast polegać wyłącznie na kraju.

Jeśli odpowiadasz na te wiadomości z własnego systemu zamiast przez Bird, ustaw `reply` na null razem z `confirmed_self_managed`. To wyłącza automatyczną odpowiedź Bird dla danej reguły, a sama blokada nadal działa.

## Słowa kluczowe kampanii

Reguły `custom` nie mają wbudowanego zachowania. Dopasowują wybrane przez Ciebie słowa kluczowe i wysyłają napisaną przez Ciebie odpowiedź, co umożliwia obsługę słów kluczowych kampanii, takich jak `PIZZA`. Reguła `custom` nie dziedziczy żadnych słów kluczowych, więc potrzebuje co najmniej jednego własnego, i może pominąć `country`, aby obowiązywać wszędzie, gdzie wysyłasz.

Słowo kluczowe, które Bird powiązał z operacją zgodności, nie może być ponownie użyte jako niestandardowe.

## Odczytywanie i zarządzanie blokadami

`GET /v1/sms/suppressions` wyświetla pary, dla których Twoje wiadomości są obecnie blokowane, od najnowszych. Filtruj po `destination`, aby sprawdzić jednego subskrybenta przed wysyłką do niego, po `originator` dla jednego z Twoich nadawców lub po `reason`:

- `keyword_stop`: subskrybent wysłał słowo kluczowe stop.
- `carrier_opted_out`: operator zgłosił rezygnację.
- `manual`: dodano przez API lub dashboard.

Blokady, które się zakończyły, nie są wyświetlane, więc odpowiedź wskazuje odbiorców, do których w tej chwili nie możesz wysyłać wiadomości.

Możesz dodać blokadę samodzielnie, aby honorować rezygnację, którą klient przekazał Ci telefonicznie:

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

Ręczna blokada zatrzymuje **każdą kategorię, w tym transakcyjną**, a dodawanie jest idempotentne. Usuwanie jest celowo ograniczone: w ten sposób można zakończyć tylko blokadę `manual`. Blokada od samego subskrybenta poprzez słowo kluczowe stop i rezygnacja zgłoszona przez operatora są odrzucane, ponieważ nie Tobie je cofać.

## Rezygnacja ze wszystkich nadawców

Słowo kluczowe stop i opisane wyżej ręczne blokady zatrzymują jednego nadawcę. Niektórzy subskrybenci chcą zrezygnować ze wszystkich nadawców w obszarze roboczym jednocześnie, na przykład ktoś, kto mówi Twojemu zespołowi wsparcia, żeby zatrzymać wszystkie SMS-y, zamiast odpowiadać na każdy numer osobno.

To wyrażona preferencja, a nie blokada, dlatego znajduje się na karcie **Preferences** w **SMS** > **Suppressions**, a nie na liście powyżej. Otwórz kartę i zarejestruj rezygnację z opcją **Every sender in the workspace**: numer przestaje otrzymywać SMS od każdego nadawcy w obszarze roboczym, w tym nadawców dodanych później. Rezygnacja zarejestrowana na tej karcie obejmuje wszystkie wiadomości, łącznie z tekstami uwierzytelniającymi; aby zarejestrować rezygnację obejmującą tylko marketing, użyj strony **Contacts** > **Preferences** na poziomie obszaru roboczego, której okno dialogowe oferuje wybór zakresu.

Bird sprawdza najpierw blokady opisane w tym przewodniku, więc zwykłe słowo kluczowe stop nadal odrzuca z kodem `E12077` jak wcześniej. Wysyłka na numer z rezygnacją na poziomie obszaru roboczego jest odrzucana z kodem [`E25000 PreferenceRevoked`](/docs/api/errors/E25000). Aby wznowić wysyłkę po prośbie subskrybenta, usuń wpis z karty Preferences (sam go dodałeś, więc możesz go usunąć) lub zarejestruj zgodę na stronie **Contacts** > **Preferences** na poziomie obszaru roboczego.

## Następne kroki

Przejrzyj [zgodę kampanijną i kontrole wysyłki](/products/sms/marketing/compliance) przed wysyłką do odbiorców lub zapoznaj się z [obsługą rezygnacji SMS](/products/sms/compliance/opt-out) dla Twojej integracji.

- [Wysyłanie SMS](/docs/guides/sms/sending-sms): przejrzyj kategorie, nadawców i warunki odrzucenia.
- [Zdarzenia](/docs/guides/sms/events): obsługuj zdarzenia `sms.*` dla wysyłek i odpowiedzi.
- [Dziennik SMS](/docs/guides/sms/sms-log): sprawdź wiadomość, w tym odrzuconą wysyłkę.

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