Быстрый старт

За 5 минут подключите своего МАКС-бота к MotivBuy, получите API-ключ и приведите первого оплаченного подписчика. Все шаги ниже — последовательные, без пропусков.

1. Создайте бота в МАКС

Откройте в МАКС чат с @MasterBot, отправьте команду /newbot и пройдите короткий мастер: имя, юзернейм, описание. На последнем шаге @MasterBot пришлёт токен бота — длинная строка вида 1234567:AA.... Скопируйте её.

2. Подключите бота к MotivBuy

Откройте @MotivBuyBot в МАКС, выберите «💸 Продажа трафика» → «➕ Подключить бота» и вставьте токен. Бот сразу уходит на модерацию — обычно она занимает до 24 часов. На это время бот остаётся в статусе «На проверке», но API-ключ можно подготовить заранее.

3. Получите API-ключ

После одобрения откройте карточку бота и нажмите «💻 Интеграция» → «📋 Скопировать API-ключ». Этот ключ авторизует все запросы паблишера и привязан к конкретному боту.

Храните API-ключ как секрет

Утечка ключа равноценна полной компрометации бота: любой, у кого он есть, сможет вызывать ваши эндпоинты от вашего имени и сливать ваш баланс. Не коммитьте ключ в git, не пишите его в логи, держите в переменных окружения. При подозрении на утечку немедленно перевыпустите ключ через «🔄 Перевыпустить API-ключ» — старый ключ перестанет работать в ту же секунду.

4. Первый запрос

Вызывайте POST /api/v1/publisher/request перед каждым целевым действием — например, перед скачиванием, поиском, выдачей премиум-контента. Не на каждый /start: гейт нужен только там, где пользователь хочет получить ценность от бота. Передайте max_user_id и chat_id — этого достаточно. В ответ придёт all_subscribed, channels_left и sent_message_id.

Если all_subscribed=true — пользователь выполнил подписку, выполняйте целевое действие. Если false, MotivBuy через токен вашего бота уже отправил OP-сообщение со ссылками на спонсоров и кнопкой проверки — ваша задача дождаться нажатия на эту кнопку и заморозить целевое действие до подтверждения.

curlbash
curl -X POST https://api.motivbuy.ru/api/v1/publisher/request \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "max_user_id": 123456789,
    "chat_id": 987654321
  }'
publisher.pypython
import aiohttp

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.motivbuy.ru"


async def request_subscription(max_user_id: int, chat_id: int) -> dict:
    headers = {"Authorization": f"Bearer {API_KEY}"}
    payload = {"max_user_id": max_user_id, "chat_id": chat_id}
    async with aiohttp.ClientSession() as session:
        async with session.post(
            f"{BASE_URL}/api/v1/publisher/request",
            json=payload,
            headers=headers,
        ) as resp:
            resp.raise_for_status()
            return await resp.json()
publisher.jsjavascript
const API_KEY = process.env.MOTIVBUY_API_KEY;
const BASE_URL = "https://api.motivbuy.ru";

export async function requestSubscription(maxUserId, chatId) {
  const res = await fetch(`${BASE_URL}/api/v1/publisher/request`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ max_user_id: maxUserId, chat_id: chatId }),
  });
  if (!res.ok) throw new Error(`MotivBuy ${res.status}`);
  return res.json();
}

Дополнительные параметры

Можно передать country_code, language_code, age, gender, is_premium — MotivBuy использует их для таргетинга и подбирает более релевантных рекламодателей. Тексты OP-сообщения и кнопки переопределяются через op_text и check_button.

5. Проверка подписки

Когда пользователь нажимает кнопку «✅» в OP-сообщении, ваш бот получает callback с payload op:check. В обработчике этого callback вызывайте POST /api/v1/publisher/verify с тем же телом — max_user_id и chat_id. Ответ той же формы: all_subscribed, channels_left, sent_message_id.

Если all_subscribed=true — подписки подтверждены, выполняйте целевое действие. Если ещё нет — MotivBuy сам обновит OP-сообщение с оставшимися каналами, ничего дополнительно отправлять не нужно.

curlbash
curl -X POST https://api.motivbuy.ru/api/v1/publisher/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "max_user_id": 123456789,
    "chat_id": 987654321
  }'

6. Выплата

За каждую подтверждённую подписку деньги начисляются на ваш баланс автоматически. В течение 5 дней сделка считается «открытой»: если пользователь отпишется, выплата откатится. Через 5 дней сумма закрепляется и становится доступной к выводу.

Вывод средств — в разделе «💰 Баланс» → «➖ Вывести». Доступные методы: CryptoBot, Cryptomus, ЮKassa и карта РФ. Минимальная сумма вывода — 500 ₽, комиссия платформы — 3%.

Следующие шаги

Полный справочник эндпоинтов и кодов ошибок — в разделе Publisher API. Если интегрируете через ИИ-агента, используйте готовый системный промпт со страницы AI-промпт — он закрывает 90% типовых ошибок интеграции.