Разработка API

Когда каждая новая интеграция делается отдельным скриптом, а партнёры жалуются на непонятные ошибки — системе нужен единый API. Проектирую и разрабатываю REST/gRPC API: контракты, версионирование, авторизация, webhooks и документация, по которой подключаются без звонков разработчику.

  • Разработка
  • Архитектура

Почему точечные скрипты перестают работать

  • Каждая интеграция — отдельный скрипт: данные передаются выгрузками и по FTP, а не через единый интерфейс. Новая система подключается неделями, а не днями
  • API вырос хаотично: методы без единой структуры, ошибки в произвольном формате, часть логики спрятана в админке. Подключить что-то новое без автора кода невозможно
  • Изменения ломают клиентов: нет версионирования, и правка одного метода роняет интеграции у всех, кто уже подключился
  • Авторизация не продумана: ключи лежат в открытом виде, нет разграничения доступа, непонятно, кто и какие данные запрашивает
  • API тормозит: тяжёлые запросы выполняются синхронно, нет кэширования и ограничения частоты, и одна интеграция может замедлить работу всей системы

Что входит в разработку API

  • Контракты до кода

    Сначала описываю структуру API: методы, параметры, форматы ответов и ошибок. Контракт согласуется до разработки, поэтому переделок на этапе подключения не возникает.

  • Версионирование

    Изменения не ломают существующих клиентов: старые версии работают, пока партнёры не перейдут на новые. Обновление API перестаёт быть аварией.

  • Авторизация и доступ

    OAuth2, JWT или API-ключи — по задаче. Каждый клиент получает свой уровень доступа, а запросы логируются, чтобы видеть, кто и что запрашивает.

  • Webhooks и уведомления

    Система сама сообщает о событиях: заказ создан, оплата прошла, статус изменился. Внешним сервисам не нужно опрашивать API вручную.

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

    OpenAPI-спецификация с примерами запросов и ответов. Партнёр подключается по документации, а не по переписке с разработчиком.

  • Производительность

    Кэширование, ограничение частоты запросов, асинхронная обработка тяжёлых операций. API отвечает стабильно, даже когда интеграций становится много.

Как API связывает системы

Единый API становится точкой обмена между сайтом, CRM, 1С, платёжными системами и внешними сервисами: каждая система работает со своим контуром, а данные проходят через согласованные контракты.

  • CRM, сайт и внешние сервисы обмениваются данными через единый API.
  • API задаёт контракты, авторизацию и обработку ошибок для всех подключений.
  • Новая система подключается к API, а не к каждой системе по отдельности.

Технологии

Backend и API

  • Go
  • PHP
  • Node.js
  • REST API
  • gRPC
  • WebSockets

Данные и очереди

  • PostgreSQL
  • Redis
  • RabbitMQ
  • Асинхронная обработка

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

  • OpenAPI
  • Swagger
  • Версионирование
  • API Design

Инфраструктура

  • Docker
  • CI/CD
  • Nginx
  • Мониторинг
  • Rate limiting

Как проходит разработка API

  1. Анализ задач

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

  2. Проектирование контрактов

    Описываю методы, форматы данных и ошибки в OpenAPI. Согласуем контракт до разработки — это исключает переделки на этапе подключения.

  3. Разработка

    Реализую API по контракту: авторизация, обработка ошибок, логирование, ограничение частоты. Тяжёлые операции выношу в фоновую обработку.

  4. Документация и тесты

    Готовлю документацию с примерами и покрываю ключевые сценарии тестами. Проверяю, что API ведёт себя одинаково при росте числа запросов.

  5. Запуск и поддержка

    Разворачиваю API, настраиваю мониторинг и алерты. После запуска остаюсь на связи: добавляю методы, помогаю партнёрам с подключением.

Пример реинжиниринга API

Реинжиниринг · 2024

Реинжиниринг legacy API

Переработка существующего API и бизнес-логики без остановки работающего продукта.

  • Новые API-методы добавляются без копирования бизнес-логики
  • HTTP-слой отделён от основной логики приложения
  • Упрощено тестирование отдельных компонентов
Подробнее о кейсе

Стоимость разработки API

от 2 500 ₽/час

Разработка и доработка. Предварительная оценка. Точная стоимость — после анализа задачи

Частые вопросы

Сколько стоит разработка API?

Работа оценивается по часам: ориентир указан в панели цен выше. Стоимость зависит от числа методов, сложности авторизации и интеграций. После анализа задач даю оценку и разбивку по этапам.

Сколько времени занимает разработка?

API с базовыми методами, авторизацией и документацией — 2–4 недели. С webhooks, версионированием и интеграциями — от 1,5 месяцев. Сроки уточняю после анализа, когда понятен состав работ.

Что нужно от меня для старта?

Описание задач: какие системы будут подключаться и какие данные им нужны. Технический бриф не нужен — помогу сформулировать требования и определить состав API.

Можно ли переработать существующий API без остановки продукта?

Да. Перевожу систему на новую архитектуру поэтапно: старые методы продолжают работать, пока клиенты не перейдут на новые. Пример такого перехода — кейс реинжиниринга legacy API.

Кто будет поддерживать API после запуска?

После запуска остаюсь на связи: исправляю ошибки, добавляю методы, помогаю партнёрам с подключением. Код и контракты документированы, поэтому API можно развивать и с другой командой.

Чем ваш API отличается от того, что сделает фрилансер?

Контракты проектируются до кода, изменения не ломают клиентов за счёт версионирования, а документация позволяет подключаться без участия разработчика. Это API, который не требует переделки при росте числа интеграций.

Обсудить разработку API

Опишите, какие системы нужно связать и что не устраивает в текущем обмене данными, — отвечу с оценкой подхода, сроков и стоимости.