SMeet Bot API
Изменения API
Здесь записывается каждое изменение контракта Bot API, новые версии сверху. Сам контракт опубликован как openapi.json.
Как записываются изменения#
- Версия в пути,
/bot-api/v1, меняется только тогда, когда работающая программа может сломаться. Внутриv1SMeet добавляет новое: поля, типы событий, значенияreasonиstatus, коды ошибок. Программы пропускают то, чего не знают (Версии и совместимость). - В каждой записи указаны дата и версия, а также что нового, что исправлено, что устарело и что нужно изменить в программе.
- Устаревшая возможность продолжает работать в
v1; в её записи сказано, чем её заменить. - Машиночитаемый контракт текущей версии: openapi.json.
1.0.0 (2026-09-26)#
Первая публичная версия SMeet Bot API по адресу https://messenger.scrile.com/bot-api/v1.
Новое#
- Методы: getMe, getUpdates, rejectUpdate, sendMessage, editMessageText, answerCallbackQuery, getMyCommands, setMyCommands, getDeliveryInfo, getWebhookInfo, uploadFile, sendPhoto, sendDocument, getFile и скачивание файлов по адресу
/files/<file_id>/content. - Типы событий:
message,message_edited,message_deleted,callback_query,chat_access_changedиfile_status_changed. - Long polling с одним получателем на бота (
consumer_id, аренда,epoch), подтверждение черезoffset, выданный серверомnext_offsetи диапазоныskipped. Вызов с чужой epoch ничего не подтверждает, а каждыйCONSUMER_CONFLICTприходит сretry_after. - Доставка через webhook с подписью HMAC-SHA256, бюджетом ошибок на событие и circuit breaker. Ответы, которые может исправить только владелец (секрет не совпадает, адреса больше нет, перенаправление, сертификат), приостанавливают доставку, пока владелец не нажмёт «Возобновить доставку» в «Моих ботах»; за это время ничего не теряется, а SMeet BotFather сообщает владельцу о паузе и о событиях, ушедших в FAILED.
Idempotency-Keyу каждого метода, который что-то меняет; ключи хранятся 7 дней.- Кнопки под сообщениями (callback-кнопки и ссылки
https://) и редактирование собственных сообщений бота. - Фото и документы в обе стороны с антивирусной проверкой.
- Список FAILED с повтором владельцем;
event_idне меняется при повторах доставки и повторах владельцем.
Исправлено#
Ничего: это первая версия.
Устарело#
Ничего.
Переход#
Переходить не с чего. Программы, написанные по предварительной версии контракта, стоит сверить со справочником API, который собран из опубликованного контракта. Главные отличия: ответы webhook 401, 403, 404 и 410 приостанавливают доставку до возобновления владельцем, а не переводят события в FAILED; id в getMe означает идентификатор аккаунта бота, то же значение, что from.id в его сообщениях; вызов с чужой epoch ничего не подтверждает; у User нет language_code, а у файла нет статуса uploading.