Разработчикам
Создавайте и управляйте своими ботами, приложениями и интеграциями
Начало работы
Vibe Bot API позволяет легко подключать внешнюю автоматизацию, игры и сервисы. Поддерживается слой нативной совместимости со стандартом Telegram Bot API.
Аутентификация
Каждый запрос к API должен содержать секретный токен вашего бота. Вы можете передавать его в URL пути по стандартной схеме:
Доступные методы
Возвращает базовую информацию о боте в виде объекта User.
{
"ok": true,
"result": {
"id": 12345,
"is_bot": true,
"first_name": "My Awesome Bot",
"username": "my_awesome_bot"
}
}
Отправляет текстовые сообщения пользователям или в групповые каналы. Поддерживает ID пользователя, внутренний числовой ID или username.
chat_id(String) - Target user/grouptext(String) - Message payload
"chat_id": "friend_username",
"text": "Hello from API Bot!"
}
Отправляет фотографию пользователям или в группы. Поддерживаются URL изображений.
chat_id(String) - Target user/groupphoto(String) - Image URLcaption(String, optional)reply_markup(Object, optional)
"chat_id": "username",
"photo": "https://...",
"caption": "Photo info"
}
Отправляет видео пользователям или в группы. Можно указать длительность и размеры.
chat_id(String) - Target user/groupvideo(String) - Video URLcaption(String, optional)duration(Number, optional) - Secondswidth(Number, optional) - Pixelsheight(Number, optional) - Pixelsreply_markup(Object, optional)
"chat_id": "username",
"video": "https://...",
"duration": 60
}
Отправляет аудиофайл пользователям или в группы с метаданными.
chat_id(String) - Target user/groupaudio(String) - Audio URLperformer(String, optional)title(String, optional)duration(Number, optional)reply_markup(Object, optional)
"chat_id": "123",
"audio": "https://...",
"title": "Song Title"
}
Отправляет документ или файл пользователям или в группы.
chat_id(String) - Target user/groupdocument(String) - File URLcaption(String, optional)reply_markup(Object, optional)
"chat_id": "123",
"document": "https://..."
}
Отправляет голосовое сообщение пользователям или в группы.
chat_id(String) - Target user/groupvoice(String) - Audio URLduration(Number, optional) - Secondsreply_markup(Object, optional)
"chat_id": "123",
"voice": "https://..."
}
Отправляет стикер из базы данных платформы.
chat_id(String) - Target user/groupsticker(String) - Sticker URL or IDreply_markup(Object, optional)
"chat_id": "123",
"sticker": "https://..."
}
Устанавливает URL для получения входящих обновлений через исходящие вебхуки.
url(String) - HTTPS URL for webhooks.
Отправить опрос в чат.
chat_id(String) - Target chat.question(String) - 1-300 chars.options(Array) - 2-10 strings.is_anonymous(Bool, opt)
Установить реакцию на сообщение с помощью эмодзи.
chat_id(String) - Target chat.message_id(String) - Target message.reaction(Array) - List of ReactionType.
Получить информацию о файле для последующей загрузки.
file_id(String) - Unique file identifier.
Управление инвайт-ссылками чата, создание и отзыв.
chat_id(String) - Target group chat.name(String, opt) - Link name.expire_date(Num, opt) - Unix time.
Изменить название группового чата.
chat_id(String) - Target chattitle(String) - New chat title
Закрепить сообщение в чате.
chat_id(String) - Target chatmessage_id(String) - Message to pin
Получить актуальную информацию о чате.
chat_id(String) - Target chat
Покинуть групповой чат или канал.
chat_id(String) - Target chat
Изменить отображаемое имя бота.
name(String, opt) - New bot namelanguage_code(String, opt)
Изменить описание (био) бота.
description(String, opt)language_code(String, opt)
Получить текущее имя бота.
language_code(String, opt)
Отправить подарок пользователю.
user_id(String) - Recipient.gift_id(String) - Gift identifier.
Интерактивные кнопки (reply_markup)
Все методы отправки сообщений поддерживают необязательный параметр `reply_markup` для создания интерактивных кнопок (инлайн-клавиатур).
{
"inline_keyboard": [
[
{ "text": "Visit Site", "url": "https://v-vibe.ru" },
{ "text": "Help", "callback_data": "help_cmd" }
]
]
}
Как работают вебхуки
Вебхуки позволяют вашему боту получать обновления в реальном времени. Когда происходит событие (новое сообщение, добавление в группу), сервер Vibe отправляет HTTP POST запрос с JSON телом на указанный вами URL.
Безопасность и подписи
Для проверки подлинности запроса сервер отправляет заголовок `X-Vibe-Signature`, содержащий HMAC-SHA256 подпись тела запроса с использованием вашего Webhook Secret Token. Настоятельно рекомендуется проверять эту подпись на вашей стороне.
Повторные попытки
Если ваш сервер отвечает ошибкой (статус не 2xx) или недоступен, Vibe предпримет несколько повторных попыток отправки с экспоненциальной задержкой. Убедитесь, что ваш endpoint отвечает быстро (желательно за пару секунд), чтобы избежать задержек в очереди.
Лимиты API и ограничения
Для обеспечения стабильности платформы и предотвращения спама применяются динамические ограничения (Rate Limits) на запросы к API и доставку вебхуков.
Запросы к API: Для каждого токена действует ограничение на количество запросов в секунду (RPS). При превышении лимита сервер вернет статус `429 Too Many Requests`. Рекомендуется использовать экспоненциальную задержку при получении 429 статуса.
Webhooks: Существует ограничение на количество одновременных исходящих соединений (Concurrency) к вашему серверу. Если ваш сервер не справляется с нагрузкой, новые события будут ставиться в очередь. Обрабатывайте вебхуки асинхронно.
Отправка сообщений: Действуют дополнительные лимиты на массовую рассылку и массовое добавление в группы для предотвращения спама. Достижение этих лимитов может привести к временным автоматическим ограничениям работы бота.
Если вам необходимо увеличить лимиты для вашего приложения, пожалуйста, свяжитесь с нами по электронной почте: support@v-vibe.ru
Шлюз реального времени
Боты также могут использовать наши нативные WebSocket (Socket.io) эндпоинты для потоковой передачи сообщений в реальном времени.