Попробовать API

Журнал для разработчиков

</>
API · SDK · Webhooks

Встройте BOTIX в свой продукт быстро и без сюрпризов — рабочий код и честные разборы, а не маркетинг.

</>
Webhook, polling или симулятор: какой инструмент на каком этапе разработки
webhooksРазбор
17 мин

Webhook, polling или симулятор: какой инструмент на каком этапе разработки

На каждой стадии свой инструмент: симулятор для отладки payload, polling для прототипов, webhook с HMAC и replay-защитой для прода. Когда переключаться.

</>
Тест webhook-интеграции: симулятор, polling и backoff
webhooksИнструкция
15 мин

Тест webhook-интеграции: симулятор, polling и backoff

Через симулятор webhook.botix.pro гоняем payload до подключения канала, моделируем polling через cursor и делаем backoff по X-RateLimit-Reset. С готовыми curl.

</>
Webhook и polling: retry-политика, dead-letter и backoff по 429
webhooksРазбор
20 мин

Webhook и polling: retry-политика, dead-letter и backoff по 429

Retry-политика webhook 1m/15m/1h/24h с dead-letter, критерии выбора polling vs webhook и backoff по X-RateLimit-*, чтобы не словить 429. Код на Python.

</>
Тест безопасности webhook: симулятор и репетиция replay
webhooksИнструкция
20 мин

Тест безопасности webhook: симулятор и репетиция replay

Через симулятор webhook.botix.pro проверяем, что обработчик отвергает битую подпись, повтор payload и старый timestamp. Позитивный тест и пять негативных.

</>
Webhook в проде: HMAC, симулятор и выбор с polling
webhooksРазбор
21 мин

Webhook в проде: HMAC, симулятор и выбор с polling

HMAC-подпись webhook с timing-safe сравнением, тест обработчика через webhook.botix.pro без канала и выбор между polling и webhook на API BOTIX.

</>
Безопасный webhook-обработчик за 30 минут: HMAC, timestamp и идемпотентность
webhooksИнструкция
20 мин

Безопасный webhook-обработчик за 30 минут: HMAC, timestamp и идемпотентность

Обработчик webhook на Python + Flask: HMAC-SHA256 от raw body, timestamp против replay, идемпотентность по event_id и реакция на retry BOTIX. Полный код.

</>
Webhook в проде: HMAC-подпись, коды ошибок и retry
webhooksИнструкция
22 мин

Webhook в проде: HMAC-подпись, коды ошибок и retry

Три опоры production-webhook: проверка HMAC-подписи в постоянном времени, правильный HTTP-код на каждый сбой и retry 1m/15m/1h/24h с dead-letter.

</>
Как надёжно доставлять webhook: подпись, retry, симулятор
webhooksРазбор
18 мин

Как надёжно доставлять webhook: подпись, retry, симулятор

Webhook — не POST на URL, а подсистема: HMAC-подпись, retry 1m/15m/1h/24h, dead-letter, идемпотентность и симулятор. Разбор доставки BOTIX по слоям.

</>
Публичный API BOTIX: OpenAPI, multi-tenant и Partner API
sdkРазбор
17 мин

Публичный API BOTIX: OpenAPI, multi-tenant и Partner API

Разбор: OpenAPI как единый источник правды против documentation/type/coverage drift, изоляция project_id для партнёрских ключей и минимальный Partner API.

</>
Первый день с публичным API: quickstart, ключи, журнал
sdkИнструкция
17 мин

Первый день с публичным API: quickstart, ключи, журнал

Первый день с публичным API BOTIX: quickstart за 5 минут, где хранить ключ (7 антипаттернов) и журнал запросов в кабинете для отладки без тикетов.

</>
Quickstart, триал-как-sandbox и партнёрские sub-проекты
sdkКейс
17 мин

Quickstart, триал-как-sandbox и партнёрские sub-проекты

Первая интеграция BOTIX заняла 38 минут, стала 4-7. Три решения DX: quickstart-артефакт, триал на проде вместо sandbox, партнёрские sub-проекты.

</>
Онбординг разработчика: quickstart, sandbox и API-ключи
sdkКейс
22 мин

Онбординг разработчика: quickstart, sandbox и API-ключи

Первый день с Public API: что обязательно в quickstart, зачем триал вместо sandbox и как хранить ключ. Код, SQL, коды ошибок, чек-лист код-ревью.

</>
Quickstart, триал-sandbox и polling vs webhook
sdkКейс
18 мин

Quickstart, триал-sandbox и polling vs webhook

Три решения BOTIX по developer experience: quickstart как отдельный жанр, триал вместо песочницы на проде, polling как честный fallback к webhook. С кодом.

</>
DX публичного API: quickstart, триал, webhook-симулятор
sdkКейс
16 мин

DX публичного API: quickstart, триал, webhook-симулятор

Developer experience публичного API BOTIX: quickstart с ключом на странице, триал вместо sandbox-контура, webhook-симулятор. Код, таблицы, провалы.

</>
Первый запрос к API за 5 минут: SDK из OpenAPI и триал
sdkИнструкция
24 мин

Первый запрос к API за 5 минут: SDK из OpenAPI и триал

Путь до первого JSON-ответа API BOTIX за 5 минут: developer-триал без мастера, ключ из quickstart, GET /me, SDK из OpenAPI 3.0 и триал вместо sandbox.

</>
Zero-deps SDK BOTIX: подключение, ключи, open-source
sdkИнструкция
19 мин

Zero-deps SDK BOTIX: подключение, ключи, open-source

Как подключить SDK BOTIX без транзитивных зависимостей (PHP, Python, Node), хранить API-ключ через ENV и secret manager и зачем SDK открыты. Код и антипаттерны.

</>
Zero-deps SDK, webhook-симулятор и open-source
sdkКейс
16 мин

Zero-deps SDK, webhook-симулятор и open-source

Как мы собрали три SDK (PHP/Python/Node) без единой зависимости, зачем построили webhook.botix.pro и почему выложили код в open-source на GitHub. Кейс.

</>
Почему в SDK ноль зависимостей и генерация из OpenAPI
sdkВозражение
17 мин

Почему в SDK ноль зависимостей и генерация из OpenAPI

Публичный SDK с 14 зависимостями = техдолг интегратора. Zero-deps, генерация из openapi.yaml, open-source SDK как канал доверия — как это сделано в BOTIX.

</>
SDK BOTIX 1.1: zero-deps, генерация из OpenAPI и триал
sdkРазбор
19 мин

SDK BOTIX 1.1: zero-deps, генерация из OpenAPI и триал

SDK BOTIX 1.1 (PHP, Python, Node): ноль зависимостей, генерация из openapi.yaml, триал вместо sandbox. Что изменилось и как мигрировать с 1.0.

</>
Версии SDK и semver: как выпускать обновления, не ломая партнёрские интеграции
platformaИнструкция
15 мин

Версии SDK и semver: как выпускать обновления, не ломая партнёрские интеграции

Breaking change vs minor в публичном API, генерация трёх SDK из openapi.yaml и open-source как канал доверия — как обновлять SDK, не ломая интеграторов.

</>
Как публичный API становится платформой для интеграторов
platformaРазбор
17 мин

Как публичный API становится платформой для интеграторов

OAuth против API-ключа, Partner API с sub-проектами, изоляция project_id и open-source SDK — три свойства, которые делают из публичного API платформу.

</>
API как платформа: multi-tenant, white-label и open SDK
platformaРазбор
17 мин

API как платформа: multi-tenant, white-label и open SDK

Что превращает API в платформу для интеграторов: multi-tenant с изоляцией project_id, white-label через OAuth и open-source SDK. Разбор на реальном API BOTIX.

</>
Генерация SDK из OpenAPI, white-label и open-source
platformaКейс
14 мин

Генерация SDK из OpenAPI, white-label и open-source

Год от внутреннего API до платформы: ручные SDK и три вида drift, переход на openapi-generator-cli, white-label через /partner/v1/*, open-source с MIT.

</>
Zero-dependency SDK, open-source и партнёрский API
platformaРазбор
16 мин

Zero-dependency SDK, open-source и партнёрский API

Zero-dependency SDK, открытый код на GitHub и партнёрский слой — три инженерных решения, которые превращают публичный API в платформу для интеграторов.

</>
API-ключи, audit-логи и OAuth 2.0: безопасность как часть UX
nadezhnostРазбор
18 мин

API-ключи, audit-логи и OAuth 2.0: безопасность как часть UX

Как в BOTIX безопасность сделали удобной: хранение API-ключей (bcrypt, last4, scopes, ротация), audit-лог через очередь и выбор OAuth 2.0 vs API-key.

</>
Три грабли в webhook-receiver: HMAC, replay, audit-лог
nadezhnostКейс
13 мин

Три грабли в webhook-receiver: HMAC, replay, audit-лог

Опыт BOTIX: три места, где сломался webhook-receiver — timing-safe HMAC, replay (timestamp ±5 мин + nonce event.id, SET NX EX 900) и audit-логи в кабинете.

</>
HMAC-подписи, X-RateLimit и защита от replay: три уровня защиты API и edge cases из прода
nadezhnostРазбор
15 мин

HMAC-подписи, X-RateLimit и защита от replay: три уровня защиты API и edge cases из прода

Три уровня защиты API из прода: HMAC-SHA256 от raw body с ротацией секрета, X-RateLimit-* с backoff, replay-защита timestamp ±5 мин + nonce. Код и edge cases.

</>
Observability публичного API: ошибки, лимиты, журнал
nadezhnostРазбор
17 мин

Observability публичного API: ошибки, лимиты, журнал

Три слоя видимости публичного API BOTIX: формат ErrorResponse, заголовки X-RateLimit-* с backoff и audit-лог в кабинете. Фрагмент openapi.yaml и код на Python.

</>
Idempotency-Key, rate-limit и audit-лог публичного API
nadezhnostИнструкция
17 мин

Idempotency-Key, rate-limit и audit-лог публичного API

Три механизма production-ready API: Idempotency-Key против дублей, X-RateLimit-* с backoff и audit-лог в кабинете. Код, заголовки, TTL, имена таблиц.

</>
Multi-tenant интеграция BOTIX: ключи, события, изоляция
integraciyaРазбор
16 мин

Multi-tenant интеграция BOTIX: ключи, события, изоляция

Архитектура интеграции на сотню проектов: изоляция project_id, один SDK-инстанс на проект, scopes и ротация ключей, выбор polling vs webhook, хранение секретов.

</>
Чек-лист интеграции: идемпотентность, backoff, webhook
integraciyaИнструкция
15 мин

Чек-лист интеграции: идемпотентность, backoff, webhook

Три механизма прод-интеграции: Idempotency-Key на POST, backoff по X-RateLimit-* и Retry-After, webhook против polling. На реальном Public API BOTIX v1.1.0.

</>
OAuth, хранение ключей и white-label в партнёрском API
integraciyaИнструкция
17 мин

OAuth, хранение ключей и white-label в партнёрском API

OAuth 2.0 vs API-ключ, шифрование refresh-токенов AES-256-GCM, кеш инстансов SDK по client_id и партнёрский слой /partner/v1/*. Код на Node, факты BOTIX.

</>
Multi-tenant API: OAuth, scopes и изоляция project_id
integraciyaИнструкция
25 мин

Multi-tenant API: OAuth, scopes и изоляция project_id

Чтобы стать платформой: OAuth 2.0 с PKCE, multi-tenant scope, изоляция project_id на всех уровнях, аудит по tenant. Фрагменты openapi.yaml и чек-лист.

</>
Third-party на OAuth: multi-tenant и хранение токенов
integraciyaИнструкция
21 мин

Third-party на OAuth: multi-tenant и хранение токенов

Сторонний сервис на десяток аккаунтов — не «вшить ключ в .env». OAuth 2.0 с PKCE, шифрование refresh-токенов, один инстанс SDK на проект. Код на Node.

</>
Multi-tenant, polling vs webhook и OAuth для агентства
integraciyaРазбор
20 мин

Multi-tenant, polling vs webhook и OAuth для агентства

Агентство со 100 ботами: sub-проекты вместо N аккаунтов, webhook с polling-fallback, OAuth 2.0 поверх API-key. Разбор архитектуры интеграции BOTIX.

</>
Cursor-пагинация, polling vs webhook, audit-логи: три паттерна чтения из публичного API
api-dizaynПроблема
21 мин

Cursor-пагинация, polling vs webhook, audit-логи: три паттерна чтения из публичного API

Чтение из API — три задачи: листать коллекции, ловить события, разбирать инциденты. Под каждую свой паттерн: cursor, webhook вместо polling, журнал в кабинете.

</>
«Мелочи» публичного API: ошибки, cursor, rate-limit
api-dizaynВозражение
14 мин

«Мелочи» публичного API: ошибки, cursor, rate-limit

«Сначала запустим, потом доработаем мелочи» в публичном API = breaking change на каждом релизе. Почему формат ошибки, cursor и rate-limit — это контракт.

</>
Production-ready POST: idempotency, retry и rate-limit
api-dizaynИнструкция
17 мин

Production-ready POST: idempotency, retry и rate-limit

Чек-лист, отделяющий рабочий POST от готового к интеграторам: Idempotency-Key с TTL и коллизиями, серверный retry 1m/15m/1h/24h, заголовки X-RateLimit.

</>
Idempotency-Key, HMAC и replay: три слоя защиты API
api-dizaynРазбор
17 мин

Idempotency-Key, HMAC и replay: три слоя защиты API

Три механизма для трёх классов проблем: Idempotency-Key от дублей POST, HMAC от phishing webhook, timestamp + event.id от replay. Разбор с кодом Verifier.

</>
Три кита production-ready API: idempotency, cursor, retry
api-dizaynКейс
17 мин

Три кита production-ready API: idempotency, cursor, retry

Кейс BOTIX: три жалобы после v1.0 — дубли POST, потеря записей на offset, пропавший webhook. Как добавили Idempotency-Key, cursor и retry с dead-letter.

</>
5 правил API-клиента, который не сломается в проде
api-dizaynПроблема
16 мин

5 правил API-клиента, который не сломается в проде

Idempotency-Key на POST, разбор error response, cursor вместо offset, таймауты и retry только на нужные коды. Пять правил с кодом на Python.

</>
Публичный API-контракт: deprecation, rate-limit, white-label
api-dizaynКейс
19 мин

Публичный API-контракт: deprecation, rate-limit, white-label

Публичный API — это контракт: что такое breaking change и зачем 12 месяцев deprecation, как делать backoff по X-RateLimit-* и что нужно API для white-label.

</>
Миграция клиентов с v1 на v2 публичного API без downtime
api-dizaynИнструкция
21 мин

Миграция клиентов с v1 на v2 публичного API без downtime

Как перевезти интеграторов с v1.0 на v1.1 без обрыва: критерий breaking change, X-API-Deprecation в каждом ответе, cursor вместо offset и audit-лог отстающих.

</>
Публичный API v1: breaking changes, cursor и SDK из OpenAPI
api-dizaynРазбор
16 мин

Публичный API v1: breaking changes, cursor и SDK из OpenAPI

Что считать breaking change, cursor вместо offset и три SDK из openapi.yaml. Разбор решений при открытии публичного API BOTIX v1.1.0.