Документування API мобільного додатка
Мобільна команда сдала фічу. Бекенд підняв нові endpoints. А потім приходить питання: "А де документація?" — і виявляється, що її немає взагалі, або вона застаріла на три спринти назад. Знайома ситуація. Саме тут починається робота по документуванню API.
Що саме документуємо
Документація API — це не просто список URL. Для мобільного додатка важливо описати:
- Всі endpoints з методами, заголовками, параметрами та прикладами тіл запитів/відповідей
- Схеми авторизації: Bearer-токен, OAuth 2.0, API Key — з прикладами заголовків
- Коди помилок та їхній сенс:
401 Unauthorizedvs403 Forbidden— різниця важлива на клієнті - Пагінацію: cursor-based або offset, які поля повертає мета
- Версіонування:
/v1/,/v2/— що змінилось, що deprecated
Як це робиться на практиці
Для більшості проектів ми використовуємо комбінацію: генерація специфікації OpenAPI 3.x з анотацій коду (Laravel — L5-Swagger, NestJS — декоратори @ApiOperation), а потім рендеринг через Stoplight Elements або Redoc у вигляді статичного сайту або вбудованого в dev-портал.
Якщо API існує, але документації немає взагалі — робимо зворотний інжиніринг: перехоплюємо трафік через Charles Proxy або mitmproxy, збираємо реальні запити з мобільного додатка та відновлюємо структуру. Це повільніше, але іноді єдиний варіант для legacy.
Для React Native проектів особливо цінно задокументувати типи прямо в TypeScript-інтерфейсах, які потім синхронізуються з OpenAPI-схемою через openapi-typescript. Це дозволяє отримати type-safe клієнт без ручного написання типів.
Інструменти
| Інструмент | Сценарій |
|---|---|
| Swagger UI / Redoc | Рендеринг OpenAPI-специфікації |
| Stoplight Studio | Візуальний редактор + мок-сервер |
| Postman Collections | Тестування + шаринг всередині команди |
| Bruno | Альтернатива Postman, файловий формат в git |
| openapi-typescript | Генерація TypeScript-типів з схеми |
Що отримує команда на виході
Розробник мобільного додатка перестає спрашувати бекенд "а що вернеться якщо користувач не авторизований". Тестувальник бачить всі граничні випадки. QA автоматизує контрактне тестування по схемі. PM розуміє, що робить кожен виклик.
Терміни залежать від розміру API: невеликий проект (20-40 endpoints) — 3-5 днів, великий сервіс зі складними схемами — до 2-3 тижнів з ітераціями.







