APIтитно рассказываю

«А документация будет?» «Нет» «А тестовый стенд?» «Тоже нет» «Ну хотя бы человек, который это писал?» «Он уволился» 😁

Наверное, это был один из самых “интересных” моментов за всю мою работу аналитиком)))

Мне прилетает задача: описать интеграцию между системами и подготовить API-документацию для команды разработки. Звучит вроде нормально, да? Только вот была маленькая деталь…

Никто толком не понимал, как именно работает текущая интеграция🫠

То есть: документации нет схем нет часть логики живет “в головах”, еще пойди разберись в чьих? ответы систем отличаются в зависимости от фазы луны, времени года, знака зодиака и настроения бэка))

И вот сидишь ты такая… с кружкой кофе… открываешь Swagger… а там endpoint, у которого: 38 полей в response, половина nullable, половина вообще непонятно зачем и комментарий от разработчика двухлетней давности: “вроде работает не трогайте”

Обожаю свою работу))))

В какой-то момент я поняла, что если пытаться охватить всё сразу — можно просто раствориться в этой черной дыре интеграции. Поэтому начала раскладывать задачу как конструктор:   1.  Сначала собрала все возможные артефакты: старые задачи, переписки, куски JSON, логи, схемы БД, вообще всё, что хоть как-то намекало на логику работы.   2.  Потом начала восстанавливать процесс по шагам: кто кого вызывает, в какой момент, что уходит в запросе, что приходит обратно, где данные сохраняются и кто потом их использует.   3.  Отдельный квест был с ошибками 😭 Потому что бизнес говорил: “иногда просто не работает”

Очень информативно, спасибо))))

Пришлось буквально собирать паттерны: при каких условиях падает, что приходит в ответ, какие статусы возвращаются, где теряются данные.   4.  А потом уже начала оформлять нормальную спецификацию: endpoint’ы, sequence diagram, JSON-примеры, маппинг полей, статусы ошибок, сценарии обработки.

И знаете что самое интересное?

В какой-то момент команда начала пользоваться этой документацией как основной 😁

Тогда я, кажется, впервые особенно сильно почувствовала, насколько аналитик иногда работает как детектив. Только вместо поиска преступника ты ищешь, почему поле amount внезапно стало string…

APIтитно рассказываю | Сетка — социальная сеть от hh.ru