5/7. Как я исследовал стоимость банковского BFF GQL vs REST

Почему документация API должна жить рядом с контрактом

В больших компаниях API-каталог часто есть.

Но проблема не в том, что его нет.

Проблема в том, что им не всегда удобно пользоваться.

Открываешь ручку — и видишь технические поля. Но не всегда понятно:

- кто владелец; - какое подразделение отвечает; - какая команда поддерживает; - что означает конкретное поле; - какой пример значения ожидается; - можно ли это поле показывать клиенту; - насколько оно критично для сценария.

Поэтому я добавил в контракт механизм annotations — аннотаций.

Идея простая: описание должно жить рядом с операцией.

Например:

- division — подразделение; - team — команда; - project — проект или API; - summary — краткое описание; - description — подробное описание; - exampleVariables — примеры переменных; - field descriptions — описания полей ответа.

В UI, то есть интерфейсе менеджера контрактов, это превращается в понятные вещи:

- фильтры по подразделению, команде и проекту; - portfolio — портфель API-проектов; - карточки операций; - значок `?` рядом с ручкой; - значок `?` рядом с полем; - красивые примеры данных; - описание переменных запроса; - описание response fields — полей ответа.

Это особенно важно в банке.

Потому что API — это не только технический договор.

Это еще и место, где встречаются:

- продукт; - безопасность; - frontend; - backend; - SRE, то есть инженеры надежности; - аналитика; - архитектура; - эксплуатация.

Когда поле непонятно, люди идут в чаты.

Когда owner, то есть владелец, непонятен, люди ищут команду.

Когда пример данных не указан, интеграция идет медленнее.

Когда контракт не связан с проектом, сложно оценить blast radius — радиус влияния изменений.

Поэтому я сделал мультипроектный обзор:

`division -> team -> project -> API -> operation -> field`

Вместо "вот список ручек" появляется карта ответственности.

Для руководителя это тоже полезно.

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

В какой-то момент прототип перестал быть просто оптимизацией BFF.

Он стал инструментом управления API-ландшафтом.

Но главный вопрос для бизнеса остается прежним:

сколько это может сэкономить?

В следующем посте — про экономику: compute, CDN, OpEx, payback и почему архитектура может возвращать деньги.