MAX
Отправляйте сообщения контактам в мессенджере MAX (max.ru) через бота вашего приложения. Канал адресный, как e-mail или SMS: сообщение уходит конкретному человеку — тому, кто открыл бота по своей ссылке или написал ему.
Шаг 1 — Создайте бота
- Откройте MAX и найдите @MasterBot
- Создайте бота: имя, которое увидят люди, и username (например,
myapp_bot) - MasterBot выдаст токен бота — держите его в секрете, он даёт полный доступ к боту
Шаг 2 — Добавьте канал
Каналы → Новый канал → MAX, вставьте токен, нажмите «Проверить связь» и сохраните. При сохранении PushData проверяет токен (GET /me), запоминает username бота и подписывает бота на свой вебхук (POST /subscriptions, события bot_started, bot_stopped, message_created, с секретом). Если у бота уже есть свой вебхук, он остаётся — MAX держит несколько подписок.
Шаг 3 — Подключите контакты
У каждого контакта есть ссылка MAX (Контакты → контакт → «Ссылка MAX»; в API — поле maxLink):
https://max.ru/myapp_bot?start=<подпись контакта>Отправьте её человеку любым способом — письмом, в приложении, QR-кодом. Открыв бота и нажав «Начать», он привязывает свой аккаунт MAX к контакту: PushData получает bot_started с подписью контакта и записывает в него maxUserId. Подпись подделать нельзя — привязать чужой контакт к своему MAX не получится.
Ещё два способа:
- тот, кто просто нашёл бота и написал ему, становится контактом
max:<user id>— ему тоже можно отправлять; - если ваш бэкенд уже знает MAX user id пользователя, передайте его в контакт:
POST /api/v1/contactsсmax_user_id(илиmaxUserIdв GraphQL).
Когда человек останавливает бота (bot_stopped), maxUserId у контакта снимается — отправки ему прекращаются, без ошибок доставки. То же происходит, если MAX отвечает на отправку отказом 403 (человек остановил бота, а вебхук об этом не дошёл): адрес снимается после первой неудачной доставки.
Шаг 4 — Отправляйте
Отправка уведомления с типом канала MAX идёт всем контактам с maxUserId (или выбранным); шаг SEND в сценарии — контакту сценария. Текст: заголовок жирным, тело, затем данные строками ключ: значение; лимит MAX — 4000 символов. Ответ API POST /messages?user_id=… даёт mid сообщения — он виден в журнале доставки.
Справочник по полям
| Поле | Пример | Описание |
|---|---|---|
| Токен бота | f7Kj… | От @MasterBot; хранится зашифрованно |
| username бота | myapp_bot | Заполняется автоматически при сохранении; из него строятся ссылки контактов |
Ошибки
| Текст в журнале | Значение |
|---|---|
has no MAX user id / has not connected MAX | контакт не открывал бота — отправьте ему ссылку MAX |
MAX API error 401 | токен бота отозван или неверный — пересохраните канал |
MAX API error 403 … denied | человек остановил бота или никогда его не открывал; адрес с контакта снят, следующий /start привяжет его снова |
Вебхук PushData принимает события только с секретом канала (X-Max-Bot-Api-Secret); чужие запросы отбрасываются. Новые контакты max:<user id> создаются в пределах капа контактов тарифа: при исчерпании бот отвечает, но контакт не заводится.