Получение обновлений: webhook

Боту можно задать настройку webhook_url, после чего все обновления будут отправляться в виде POST-запроса по указанному адресу. Тело запроса будет идентично ответу метода bot/v1/messages/getUpdates/.

Задать или сбросить webhook_url, а также включить события о реакциях и изменении состава групповых чатов можно через метод обновления информации о боте.

Гарантии доставки

  1. Доставка сообщений на вебхук работает по принципу "at least once" (сообщение может быть доставлено несколько раз).

  2. Гарантируется порядок доставки сообщений в рамках комбинации бот + чат.

  3. Если вебхук недоступен (connection timeout = 100ms или read timeout = 1s или http-код ответа 5xx), будут осуществлены повторные попытки через интервал (интервал действует в рамках комбинации бот + чат), вычисляемый как:

    • до 8ой попытки включительно: <время_отправки_сообщения> + <номер_текущей_попытки> * 5 (в секундах).
    • после 8ой попытки: <время_отправки_сообщения> + <номер_текущей_попытки> * 45 (в секундах).
  4. Все остальные ответы от вебхука (например статусы 2xx или 4xx) считаются финальными и не предусматривают повторных попыток.

  5. Через 24 часа с момента отправки все недоставленные сообщения удаляются и не будут получены ботом.