Поллинг
Если у вас нет возможности принимать входящие HTTP-запросы (локальная разработка, жёсткие firewall-правила), используйте поллинг — получение событий через API или готовые helpers в SDK.
Включите настройку Сохранять историю событий на вкладке Исходящий вебхук в карточке бота (подробнее — в разделе Настройка и типы событий), чтобы получать события через метод GETИстория событий. Без неё метод отдаёт пустой список. В интерфейсе настройка появляется только после включения вебхука, то есть когда указан URL. Если принимать запросы нельзя совсем, включите историю программно — полем events_history_enabled в методах POSTНовый бот и PUTРедактирование бота: адрес вебхука для этого не нужен.
История при работающем вебхуке
История пригодится и боту с адресом вебхука. Событие сохраняется в историю ещё до отправки на адрес, а повторно Пачка отправляет его, только если к серверу не удалось подключиться. Если сервер был недоступен или ответил ошибкой, пропущенные события можно забрать методом GETИстория событий. Подробнее о доставке — в разделе Безопасность и обработчик.
Пример поллинга
Если вам нужен только payload вебхука, используйте helper для polling payload'ов:
Ручная работа через API
SDK helpers используют метод GETИстория событий и курсорную пагинацию. Если вы пишете собственный polling loop без SDK, периодически запрашивайте список событий, обрабатывайте новые delivery ID и храните дедупликацию на своей стороне. Метод DELETEУдаление события истории можно использовать для ручной очистки обработанных записей истории.