# Свой шлюз к WhatsApp без потери номера

Открытый self-hosted шлюз ставится за пять минут и правда закрывает задачи: свой сервер, вебхуки, несколько аккаунтов, данные остаются у тебя. Дальше начинается то, о чём в обзорах молчат — цена вопроса. Пройди по пунктам до того, как подключишь первый номер.

## 1. Решить, нужен ли он вообще

- [ ] Выписал, что именно будешь слать: ответы клиентам или массовые рассылки. От этого зависит всё остальное.
- [ ] Проверил официальный тариф: с 1 июля 2025 плата идёт за доставленный шаблон, а не за подписку — developers.facebook.com/docs/whatsapp/pricing
- [ ] Понял, что внутри 24-часового окна обслуживания обычные ответы клиенту бесплатны, а service-сообщения бесплатны для всех с 1 ноября 2024.
- [ ] Посчитал: если у тебя только поддержка и ответы на входящие — экономить не на чем, официальный канал уже отдаёт это даром.

врезка `// Главный вывод по деньгам`: текст «Самодельный шлюз экономит ровно на массовых шаблонных рассылках. Это же — самый быстрый способ словить блокировку номера. Экономия и риск лежат в одной точке.»

## 2. Выбрать номер

- [ ] Взял отдельный номер, потеря которого ничего не ломает. Основной рабочий не подключаю ни при каких условиях.
- [ ] Номер не привязан к платёжкам, восстановлению доступов и деловой переписке.
- [ ] Есть план «Б»: куда переедут клиенты, если этот номер завтра перестанет открываться.
- [ ] Симка физически доступна — повторная авторизация потребует кода.

> «Каждый номер, который ты подключаешь, несёт ненулевой риск ограничения или бана. Подключай отдельный номер, который не жалко потерять, и никогда — основной личный или рабочий.»

Из документации самого проекта: docs.open-wa.org/guides/safe-sending

## 3. Поднять инстанс

- [ ] Прочитал быстрый старт — docs.open-wa.org/getting-started/quick-start
- [ ] Поднял контейнер, API и дашборд открылись на порту 2785.
- [ ] Дашборд не торчит в интернет голым: доступ закрыт по IP или спрятан за туннелем.
- [ ] Том с данными примонтирован наружу — сессии переживут пересоздание контейнера.

```
docker run -d --name openwa-api -p 2785:2785 \
  -v "$(pwd)/data:/app/data" rmyndharis/openwa:latest
```

## 4. Настроить до первого сообщения

- [ ] Выпустил API-ключи с ограниченной областью действия, отдельный ключ на каждую интеграцию.
- [ ] Включил проверку подписи вебхуков: заголовок X-OpenWA-Signature, HMAC-SHA256 по сырому телу запроса — docs.open-wa.org/guides/webhooks
- [ ] Обработчик устойчив к повторам: дедуплицирую по ключу идемпотентности, доставка идёт «минимум один раз».
- [ ] Выставил лимит отправки в конфиге до того, как включил автоматику.
- [ ] Понял, какой из двух движков используешь: Baileys (без браузера, экономный) или whatsapp-web.js (Chromium, тяжелее). Оба — не официальный канал: github.com/WhiskeySockets/Baileys

## 5. Прогреть номер

- [ ] Первые несколько дней веду себя как живой человек: переписка с сохранёнными контактами, пара групп, аватар и имя в профиле.
- [ ] В день подключения не отправляю ни одной автоматической рассылки.
- [ ] Держу темп в несколько сообщений в минуту на сессию. Тысячи в час — прямой путь к ограничению.
- [ ] Не пишу первым незнакомым номерам: холодная рассылка — самый надёжный способ потерять аккаунт.
- [ ] Слежу за жалобами и блокировками со стороны получателей: это главный сигнал для антиспама.

## 6. Подключить агента

- [ ] Знаю, что MCP-сервер внутри выключен по умолчанию и поднимается флагом MCP_ENABLED=true — docs.open-wa.org/integrations/mcp
- [ ] Агенту отданы только нужные инструменты: чтение чатов и отправка. Управление сессиями и ключами наружу не отдаю.
- [ ] На отправку клиенту стоит подтверждение человеком, пока не набрана статистика по ложным срабатываниям.
- [ ] Логи сохраняю: что именно агент отправил и кому.

## 7. Оценить риск площадки

- [ ] Помню, что шлюз работает через неофициальный интерфейс и не связан с Meta — ответственность за соблюдение правил на мне.
- [ ] Учёл, что в России мессенджер работает с ограничениями регулятора, а разговоры о полной блокировке идут с января 2026 — kommersant.ru/doc/8342139
- [ ] Клиентская база не заперта в одном канале: контакты продублированы там, куда можно увести переписку за день.
- [ ] Для регулируемых сфер (финансы, медицина, персональные данные) выбран официальный Cloud API, а не самодельный шлюз.

## 8. Когда официальный канал выгоднее

строки «Показатель → Значение»: Только отвечаешь на входящие, поддержка → Официальный канал: внутри суточного окна это бесплатно; Внутренние уведомления, свои же сотрудники → Свой шлюз, отдельный номер; Массовые рассылки по базе → Официальные шаблоны. На обходном пути это самый быстрый бан; Прототип, тест гипотезы за вечер → Свой шлюз, номер-однодневка; Финансы, медицина, персональные данные → Только официальный Cloud API

## 9. Куда смотреть

- Репозиторий проекта — github.com/rmyndharis/OpenWA
- Быстрый старт — docs.open-wa.org/getting-started/quick-start
- Риск блокировки и безопасная отправка — docs.open-wa.org/guides/safe-sending
- Вебхуки, подпись и ретраи — docs.open-wa.org/guides/webhooks
- Инструменты для агента — docs.open-wa.org/integrations/mcp
- Официальные тарифы — developers.facebook.com/docs/whatsapp/pricing
- Движок Baileys — github.com/WhiskeySockets/Baileys

врезка `// Одно правило вместо вывода`: текст «Бесплатный софт не равно бесплатный риск. Код и сервер стоят ноль. Номер, на котором висят твои клиенты, — нет.»

---

Источник: https://localhost:3000/m/svoy-schluz
