Перейти к содержанию
В рабочем режимеПоследний релиз · 4 часа назадВ работе · 6 проектовОтвет · в течение 4 часовТолько сеньоры-партнёрыMMXXVIВ рабочем режимеПоследний релиз · 4 часа назадВ работе · 6 проектовОтвет · в течение 4 часовТолько сеньоры-партнёрыMMXXVIВ рабочем режимеПоследний релиз · 4 часа назадВ работе · 6 проектовОтвет · в течение 4 часовТолько сеньоры-партнёрыMMXXVI
SmartyDevs
Инженерия · 06

API, которыми клиенты хотят пользоваться.

Публичные API, внутренние сервисы, GraphQL и REST — сделаны правильно: версионированы, с пагинацией, идемпотентны, хорошо документированы и наблюдаемы. Плюс SDK, которые превращают их в developer experience.

§ 01The problem

Какую проблему решаем

Большинство API — это случайность: внутренние эндпоинты, выставленные клиентам. Несогласованная пагинация, непрозрачные ошибки, breaking changes без предупреждения, без SDK, без читаемой документации. Настоящий API — это продукт. Мы строим его как продукт — с семантикой, версионированием, наблюдаемостью и DX как first-class concerns.

§ 02Capabilities

Что собираем

  • 01REST API с осмысленными методами, кодами ответа и пагинацией
  • 02GraphQL API с persisted queries и правильным дизайном схемы
  • 03Версионирование, deprecation-пути и дисциплина breaking changes
  • 04Идемпотентность, ретраи и доставка webhook с правильными гарантиями
  • 05Rate limiting, API-ключи, scoped токены и OAuth там, где нужно
  • 06Авто-генерируемая, отредактированная OpenAPI-документация
  • 07SDK на TypeScript, Python и Go из единого источника правды
  • 08Аналитика API: кто вызывает, что, с какой задержкой
  • 09Паттерны обратной совместимости
  • 10Sandbox-окружения и developer-дашборды
§ 03Deliverables

Что получаете

  • Production API с документацией и SDK
  • Политика версионирования и deprecation, записанная
  • Per-endpoint аналитический дашборд
  • Developer experience, за который не стыдно
§ 04Stack

Стек, к которому тянемся

Node.js · Python · Go
OpenAPI 3.1
GraphQL · Apollo
Postgres
Stainless · Speakeasy SDK-генерация
Inngest · Temporal
Cloudflare · AWS API Gateway
Mintlify · Scalar
§ 05Ideal for

Подходит

  • Компаниям, которые делают внутренний API public-facing продуктом
  • Платформам, чей developer experience становится конкурентным преимуществом
  • Маркетплейсам, нуждающимся в интеграции с партнёрами
  • Продуктам, в которых сложность растёт быстрее, чем API успевает её абсорбировать
§ 06Process

Как идёт проект

  1. 01

    Дизайн схемы

    Сначала проектируем API на бумаге. Ресурсы, методы, ошибки, версионирование. Ревью от тех, кто будет интегрировать.

  2. 02

    Реализация

    Имплементация против схемы. OpenAPI генерируется, SDK генерируются из неё. Единый источник правды.

  3. 03

    Документация

    Отредактированные доки, которые идут дальше авто-генерируемой справки. Примеры, каталог ошибок, гайды по интеграции.

  4. 04

    Запуск и аналитика

    Публичный релиз с per-endpoint аналитикой и политикой deprecation, которую ваша команда сможет поддерживать.

§ 07Engagement

Как сотрудничать

01

API-аудит

1 — 2 недели

Ревью текущей API-поверхности с приоритизированным списком проблем и планом миграции.

02

Greenfield API

6 — 12 недель

Новый API спроектирован и сдан end-to-end, включая SDK и документацию.

03

API-ренновация

8 — 16 недель

Версионирование, deprecation и переархитектура существующего API без поломки интеграций.

§ 08Common questions

Frequently asked.

01REST или GraphQL?

Зависит от аудитории. Публичные API для интеграторов обычно хотят REST + OpenAPI. Внутренние продуктовые поверхности с богатым клиентским UI выигрывают от GraphQL. Скажем, что подходит вам.

02Генерируете SDK?

Да — из OpenAPI или GraphQL-схем через Stainless или Speakeasy. Дорабатываем вручную там, где авто-генерация слабовата.

03Можно ли мигрировать с самописного API?

Да. Проектируем новую поверхность, запускаем оба в параллели, мигрируем клиентов по графику deprecation и безопасно выводим старый.

Есть задача, которую стоит решить как следует?

Напишите, какой результат нужен. Мы честно скажем, во что это обойдётся — письменно, в течение недели.

Начать разговор