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

API-дизайн

Рабочий код и практика по теме — разборы, инструкции и кейсы для интеграции 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.