> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Управление отписавшимися пользователями

> Регистрируйте и применяйте отказы клиентов от рассылок по каналам.

## Что это такое

Запись об отписавшемся пользователе указывает на то, что клиент отказался от получения сообщений от вашей компании в определенном канале. Клиент и канал вместе образуют уникальную запись.

## Перед началом работы

* Определите, как ваш продукт собирает и фиксирует согласие.
* Приведите телефонные номера к формату E.164.
* Выберите правильный тип идентификатора клиента и канал.
* Определите, как отказы от рассылки синхронизируются с вашими исходными системами.

## Принцип работы

1. Создавайте запись об отписавшемся пользователе, когда клиент отказывается от рассылки.
2. Проверяйте или запрашивайте список записей перед отправкой, если ваш рабочий процесс еще
   не применяет блокировку отправки автоматически.
3. Удаляйте запись только тогда, когда клиент повторно дал действительное согласие на подписку.
4. Обрабатывайте события Webhook об отписке для синхронизации с внешними системами.

Не рассматривайте удаление записи как автоматическое подтверждение согласия. Ваше приложение должно сохранять подтверждения и юридические основания для повторной подписки.

## Запрос

### Создание записи об отписавшемся пользователе

`POST /unsubscribers`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request POST https://api.ycloud.com/v2/unsubscribers \
  --header "X-API-Key: $YCLOUD_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "type": "PHONE_NUMBER",
    "customer": "+16315551111",
    "channel": "whatsapp",
    "regionCode": "US"
  }'
```

### Удаление отписавшегося пользователя после повторного согласия

`DELETE /unsubscribers/{customer}/{channel}`

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl --request DELETE \
  https://api.ycloud.com/v2/unsubscribers/+16315551111/whatsapp \
  --header "X-API-Key: $YCLOUD_API_KEY"
```

Применяйте URL-кодирование к значению пути клиента, если это требуется вашим HTTP-клиентом.

## Ответ

При создании возвращается сохраненная запись.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "type": "PHONE_NUMBER",
  "customer": "+16315551111",
  "channel": "whatsapp",
  "regionCode": "US"
}
```

При получении и удалении возвращается соответствующий ресурс отписавшегося пользователя. Если запись отсутствует, возвращается ошибка, а не статус отказа от рассылки.

## Применение ограничений

Относитесь к блокировке отправки как к защитному барьеру. Применяйте ее последовательно при массовых рассылках, в транзакционных процессах (где этого требует регламент), повторных попытках и ручных операциях.

Используйте события Webhook для синхронизации новых отказов и удаленных записей об отказе от рассылки.

## Лимиты и устранение неполадок

* У одного и того же клиента могут быть отдельные записи для разных каналов.
* Используйте правильный `type` для идентификатора клиента.
* Не удаляйте запись без явного события согласия на повторную подписку.
* Эндпоинты для получения списков поддерживают пагинацию по курсору; используйте `cursor.after`.
* Проектируйте параллельную обработку согласий и отказов так, чтобы приоритет имел
  последний действительный выбор клиента.

<CardGroup cols={2}>
  <Card title="Создание записи об отписавшемся пользователе" icon="user-slash" href="/api-reference/unsubscribers/create-an-unsubscriber">
    Ознакомьтесь с поддерживаемыми типами идентификаторов и каналами.
  </Card>

  <Card title="Webhook-уведомления об отписке" icon="webhook" href="/ru/api-reference/guides/examples/webhook-examples/contact-unsubscribe-created-webhook-examples">
    Синхронизируйте события отказа от рассылки и повторной подписки.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.