Справочник методов API
Все методы одним списком: что делает, какие принимает параметры и какой уровень доступа нужен ключу. Список формируется из кода сервиса, поэтому не расходится с тем, что работает на самом деле.
Все вызовы — POST /api/v1 с заголовком
Authorization: Bearer bb_….
Метод указывается полем method, бот — полем
botId.
Ошибка самого метода приходит с кодом 200 — «не нашёл подписчика», «нет такой
группы» и подобное различаются полем
success или
error в теле, а не HTTP-статусом.
Это унаследовано от прежней версии API и сохранено намеренно: по нему уже работают чужие скрипты.
До метода дело доходит не всегда: неверный или отозванный ключ — это 401,
запрос не методом POST — 405,
превышение частоты — 429.
Клиент должен различать оба слоя: проверять HTTP-код и только потом читать тело.
Уровень доступа задаётся при выпуске ключа в разделе «API, MCP» панели. Машиночитаемое описание всех методов —
/api/v1/openapi.json: его можно скормить
генератору клиента или Swagger UI.
Подписчики и группы
AddUserToGroup изменение
Добавить подписчика в группу или убрать из неё.
| Параметр | Тип | Описание |
|---|---|---|
| user* | integer | id подписчика |
| group* | integer | id группы |
| remove | boolean | true — убрать из группы |
CreateGroup изменение
Создать группу подписчиков.
| Параметр | Тип | Описание |
|---|---|---|
| name* | string | название группы |
| description | string | |
| grouplist | integer | id папки сегментов; по умолчанию первая |
DeleteGroup полный
Удалить группу вместе с членством. Подписчики остаются. Необратимо.
| Параметр | Тип | Описание |
|---|---|---|
| id* | integer | id группы (GetGroups) |
GetBotUsers чтение
Подписчики бота с признаками «закрыл чат» и «заблокирован».
| Параметр | Тип | Описание |
|---|---|---|
| limit | integer | по умолчанию 1000, максимум 5000 |
| offset | integer |
GetGroupUsers чтение
Подписчики группы.
| Параметр | Тип | Описание |
|---|---|---|
| group* | integer | id группы |
| limit | integer | по умолчанию 1000, максимум 5000 |
| offset | integer |
GetGroups чтение
Группы подписчиков (сегменты).
GetUserProfile чтение
Профиль подписчика: поиск по id, логину, телефону или email.
| Параметр | Тип | Описание |
|---|---|---|
| user | integer | id подписчика |
| login | string | логин Telegram без @ |
| phone | string | |
| string |
Сообщения и рассылки
CancelBroadcast изменение
Отменить запланированную рассылку. Ушедшую в отправку отменить нельзя.
| Параметр | Тип | Описание |
|---|---|---|
| id* | integer | id рассылки (GetBroadcasts) |
CreateBroadcast полный
Разовая рассылка подписчикам: сейчас или по расписанию. Тратит деньги и внимание аудитории.
| Параметр | Тип | Описание |
|---|---|---|
| text | string | текст (HTML-разметка Telegram); обязателен, если нет mediaFileId и richmessage |
| richmessage | string | расширенное сообщение (ТОЛЬКО Telegram): HTML с заголовками, цитатами, таблицами, медиа и рядами кнопок; заменяет обычный текст |
| mediaFileId | integer | id файла в хранилище бота |
| groupId | integer | id группы; 0 или пусто — всем подписчикам |
| sendAt | string | 'now' или 'YYYY-MM-DD HH:MM' по Москве |
| buttons | array | кнопки: {text, url} либо {text, categoryId} |
GetBroadcasts чтение
Разовые рассылки бота со статусом (запланирована / отправляется / отправлена).
| Параметр | Тип | Описание |
|---|---|---|
| limit | integer | по умолчанию 200, максимум 200 |
| offset | integer |
SendMessage полный
Отправить сообщение конкретным подписчикам или группе. Списывает средства.
| Параметр | Тип | Описание |
|---|---|---|
| users | array | до 1000 id подписчиков |
| group | integer | id группы — альтернатива users |
| message | string | текст сообщения |
| category | integer | id рубрики: вместо текста запустить сценарий |
Переменные
GetVariables чтение
Справочник переменных бота (id, ключ, лимит длины, тип значения).
SetUserVariable изменение
Записать значение переменной подписчику. Если у переменной задан тип (число, дата, телефон, почта, да/нет), значение проверяется и приводится к единому виду — телефон, например, к +7…
| Параметр | Тип | Описание |
|---|---|---|
| user* | integer | id подписчика |
| variable* | integer | id типа переменной (GetVariables) |
| value* | string | значение; проверяется по типу переменной и обрезается по её strlimit |
Балансы
GetBalanceTypes чтение
Типы внутренних балансов бота и курсы обмена.
SetBalanceTypeExchangeRate изменение
Изменить курс обмена типа баланса.
| Параметр | Тип | Описание |
|---|---|---|
| balancetype* | integer | id типа (GetBalanceTypes) |
| exchangerate* | number | новый курс |
SetUserBalance полный
Изменить внутренний баланс подписчика. Движение денег — операция необратимая.
| Параметр | Тип | Описание |
|---|---|---|
| user* | integer | id подписчика |
| balancetype* | integer | id типа баланса |
| amount* | number | сумма: со знаком — изменение, иначе установка |
| comment | string | комментарий в историю операций |
Оплата
CreatePaymentSystem полный
Создать способ оплаты бота. Ключи, без которых платёж не пройдёт, обязательны сразу. На MAX и ВКонтакте внешних шлюзов нет — там допустим только тип manual.
| Параметр | Тип | Описание |
|---|---|---|
| name* | string | название способа оплаты (видит только владелец) |
| type* | string | manual (ручной перевод с подтверждением) | token (платёжный токен от @BotFather) | stars (Telegram Stars) | cryptobot | yookassa | cloudpayments | tinkoff |
| balancetype | integer | id внутреннего баланса, в котором считается сумма (GetBalanceTypes) |
| paymenttoken | string | секрет: платёжный токен бота (token) либо api-key приложения @CryptoBot (cryptobot) |
| cryptobotcurrency | string | код криптовалюты счёта @CryptoBot (USDT, TON…) — обязателен для cryptobot |
| paymentshop | string | секрет: shopId (ЮKassa) | Public ID (CloudPayments) | Terminal Key (Т-Банк) |
| paymentsecret | string | секрет: секретный ключ | API Secret | пароль терминала |
| invoicerfswitch | boolean | передавать данные чека по 54-ФЗ |
| invoicedatatype | string | откуда брать данные чека: sendphone | sendphonevar | sendemailvar | sendphoneemailvar | userinputphone | userinputemail | userinputphoneemail |
| invoiceemailvar | integer | id переменной с email для чека (GetVariables) |
| invoicephonevar | integer | id переменной с телефоном для чека |
DeletePaymentSystem полный
Удалить способ оплаты. Действия «Оплата», ссылавшиеся на него, останутся с висячей ссылкой и уведут подписчика по маршруту ошибки — их число вернётся в actionsAffected. Необратимо.
| Параметр | Тип | Описание |
|---|---|---|
| id* | integer | id способа оплаты (GetPaymentSystems) |
GetPaymentSettings чтение
Денежные настройки бота: реферальная программа (выплата пригласившему за подтверждённый платёж) и уведомления владельца об оплатах.
GetPaymentSystems чтение
Способы оплаты бота: тип, баланс, настройки чека 54-ФЗ и признак готовности (ready/missing). Токены и ключи эквайринга не возвращаются — только признак «задано» в secrets.
SetPaymentSettings полный
Изменить денежные настройки бота (частично). Реферальная выплата начисляется пригласившему в момент подтверждённого платежа приглашённого и тратит баланс бота на каждой оплате.
| Параметр | Тип | Описание |
|---|---|---|
| paymentrefswitch | boolean | включить реферальную программу |
| paymentrefpercentswitch | boolean | выплата процентом от суммы оплаты (иначе фиксированная сумма) |
| paymentrefpercent | number | процент выплаты: больше 0 и не больше 100 |
| paymentrefamount | number | фиксированная выплата: больше нуля |
| paymentrefbalancetype | integer | id баланса начисления (GetBalanceTypes); обязателен при включённой программе |
| paymentrefmessage | string | сообщение пригласившему при выплате; пусто — не отправлять |
| notifyfinance | boolean | уведомлять владельца об оплатах, ждущих его решения |
UpdatePaymentSystem полный
Изменить способ оплаты (частично: переданные поля обновляются, остальные сохраняются). Смена реквизитов перенаправляет оплаты клиентов на другой счёт.
| Параметр | Тип | Описание |
|---|---|---|
| id* | integer | id способа оплаты (GetPaymentSystems) |
| name | string | |
| type | string | |
| balancetype | integer | |
| paymenttoken | string | |
| cryptobotcurrency | string | |
| paymentshop | string | |
| paymentsecret | string | |
| invoicerfswitch | boolean | |
| invoicedatatype | string | |
| invoiceemailvar | integer | |
| invoicephonevar | integer |
Каналы и ссылки
CreateChannelPost полный
Пост в канал или группу бота: черновик, по расписанию или сразу. Опубликованное сразу видят все подписчики канала.
| Параметр | Тип | Описание |
|---|---|---|
| channelId | integer | id канала (GetChannels) |
| text | string | текст поста (HTML-разметка Telegram), до 4000 символов; обязателен даже при richmessage — он превью и запасной вариант |
| richmessage | string | расширенное сообщение (ТОЛЬКО Telegram): HTML с таблицами, цитатами, файлами и рядами кнопок |
| mode | string | draft (по умолчанию), scheduled (нужен sendAt) или now |
| sendAt | string | 'YYYY-MM-DD HH:MM' в местном времени канала |
| buttons | array | кнопки {text, url}; в постах канала только https-ссылки |
CreateInviteLink изменение
Создать инвайт-ссылку канала.
| Параметр | Тип | Описание |
|---|---|---|
| channel* | integer | id канала |
| name | string | название ссылки (видно только вам) |
| expire_date | string | срок действия, YYYY-MM-DD |
| member_limit | integer | лимит переходов |
| join_request | boolean | вступление по заявке |
| advercost | string | стоимость размещения (для отчёта по рекламе) |
| description | string | заметка |
DeleteChannelPost полный
Удалить пост из плана публикаций. Уже опубликованное сообщение остаётся в канале — его убирают в самом мессенджере.
| Параметр | Тип | Описание |
|---|---|---|
| channelId | integer | id канала (GetChannels) |
| id | integer | id поста (GetChannelPosts) |
DeleteInviteLink полный
Отозвать инвайт-ссылку. Необратимо.
| Параметр | Тип | Описание |
|---|---|---|
| channel* | integer | id канала |
| link* | string | сама ссылка |
EditInviteLink изменение
Изменить инвайт-ссылку.
| Параметр | Тип | Описание |
|---|---|---|
| channel* | integer | id канала |
| link* | string | сама ссылка (GetInviteLinks) |
| name | string | |
| expire_date | string | |
| member_limit | integer | |
| join_request | boolean | |
| advercost | string | |
| description | string |
GetChannelPosts чтение
Посты канала: черновики, запланированные и опубликованные, свежие сверху.
| Параметр | Тип | Описание |
|---|---|---|
| channelId | integer | id канала (GetChannels) |
| limit | integer | по умолчанию 200, максимум 200 |
| offset | integer |
GetChannels чтение
Каналы и группы, к которым подключён бот.
GetInviteLinks чтение
Инвайт-ссылки канала со статистикой переходов.
| Параметр | Тип | Описание |
|---|---|---|
| channel* | integer | id канала (GetChannels) |
События и структура
GetAccess чтение
Заявки на доступ с даты.
| Параметр | Тип | Описание |
|---|---|---|
| date* | string | с какого момента |
| user | integer | |
| limit | integer | |
| offset | integer |
GetCategories чтение
Структура бота: списки рубрик и рубрики внутри них.
GetSignals чтение
Сигналы (события сценариев) с даты.
| Параметр | Тип | Описание |
|---|---|---|
| date* | string | с какого момента: 'YYYY-MM-DD' или 'YYYY-MM-DD HH:MM:SS' |
| user | integer | только по одному подписчику |
| limit | integer | |
| offset | integer |
GetStorage чтение
Файлы и тексты, присланные подписчиками, с даты.
| Параметр | Тип | Описание |
|---|---|---|
| date* | string | с какого момента |
| user | integer | |
| limit | integer | |
| offset | integer |
SetAccess изменение
Одобрить или отклонить заявку на доступ.
| Параметр | Тип | Описание |
|---|---|---|
| accessid* | integer | id заявки (GetAccess) |
| status* | string | allow | deny |
Бронирование
GetBooking чтение
Одна бронь по id.
| Параметр | Тип | Описание |
|---|---|---|
| booking* | integer | id брони |
GetBookingList чтение
Брони объекта на ближайшие дни.
| Параметр | Тип | Описание |
|---|---|---|
| object* | integer | id объекта |
| days | integer | горизонт в днях: по умолчанию 14, максимум 90 |
GetBookingLots чтение
Свободные слоты объекта по услугам.
| Параметр | Тип | Описание |
|---|---|---|
| object* | integer | id объекта (GetBookingObjects) |
| services | array | id услуг |
| days | integer | горизонт в днях |
| date | string | конкретный день, YYYY-MM-DD |
GetBookingObjects чтение
Объекты бронирования (готовые к записи).
GetBookingServices чтение
Услуги бронирования: длительность и цена.
GetBookingStatusList чтение
Справочник статусов брони.
SetBookingStatus изменение
Изменить статус брони.
| Параметр | Тип | Описание |
|---|---|---|
| booking* | integer | id брони |
| status* | string | ключ статуса (GetBookingStatusList) |
Звёздочкой отмечены обязательные параметры. Поле botId обязательно во всех методах и здесь не повторяется.
Нужен ключ доступа?
Ключи выпускаются в разделе «API, MCP» панели: выберите уровень доступа — чтение, изменение или полный — и скопируйте ключ.