Получение обновлений: webhook
Боту можно задать настройку webhook_url, после чего все обновления будут отправляться в виде POST-запроса по указанному адресу.
Тело запроса будет идентично ответу метода bot/v1/messages/getUpdates/.
Задать или сбросить webhook_url, а также включить события о реакциях и изменении состава групповых чатов можно через метод обновления информации о боте.
Гарантии доставки
-
Доставка сообщений на вебхук работает по принципу "at least once" (сообщение может быть доставлено несколько раз).
-
Гарантируется порядок доставки сообщений в рамках комбинации бот + чат.
-
Если вебхук недоступен (
connection timeout = 100msилиread timeout = 1sили http-код ответа5xx), будут осуществлены повторные попытки через интервал (интервал действует в рамках комбинации бот + чат), вычисляемый как:- до 8ой попытки включительно: <время_отправки_сообщения> + <номер_текущей_попытки> * 5 (в секундах).
- после 8ой попытки: <время_отправки_сообщения> + <номер_текущей_попытки> * 45 (в секундах).
-
Все остальные ответы от вебхука (например статусы
2xxили4xx) считаются финальными и не предусматривают повторных попыток. -
Через 24 часа с момента отправки все недоставленные сообщения удаляются и не будут получены ботом.