Рабочий код и практика по теме — разборы, инструкции и кейсы для интеграции BOTIX.
На каждой стадии свой инструмент: симулятор для отладки payload, polling для прототипов, webhook с HMAC и replay-защитой для прода. Когда переключаться.
Через симулятор webhook.botix.pro гоняем payload до подключения канала, моделируем polling через cursor и делаем backoff по X-RateLimit-Reset. С готовыми curl.
Retry-политика webhook 1m/15m/1h/24h с dead-letter, критерии выбора polling vs webhook и backoff по X-RateLimit-*, чтобы не словить 429. Код на Python.
Через симулятор webhook.botix.pro проверяем, что обработчик отвергает битую подпись, повтор payload и старый timestamp. Позитивный тест и пять негативных.
HMAC-подпись webhook с timing-safe сравнением, тест обработчика через webhook.botix.pro без канала и выбор между polling и webhook на API BOTIX.
Обработчик webhook на Python + Flask: HMAC-SHA256 от raw body, timestamp против replay, идемпотентность по event_id и реакция на retry BOTIX. Полный код.
Три опоры production-webhook: проверка HMAC-подписи в постоянном времени, правильный HTTP-код на каждый сбой и retry 1m/15m/1h/24h с dead-letter.
Webhook — не POST на URL, а подсистема: HMAC-подпись, retry 1m/15m/1h/24h, dead-letter, идемпотентность и симулятор. Разбор доставки BOTIX по слоям.