GetAnalyst - Навыки • Системный анализ • Бизнес-анализ
19.6K subscribers
2.1K photos
75 videos
207 files
1.19K links
Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов

Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart

РКН №5013005196
Download Telegram
GetAnalyst_Образец_требований_на_интеграцию_с_платежной_системой.pdf
2.2 MB
📚 Заполненный образец постановки задачи на интеграцию с платёжной системой ВТБ 📚

В июне мы разбирали проект #TravelGA, в котором для бронирования и оплаты экскурсий нужно было подключить платёжную систему ВТБ.


👉 Что подготовили разрабочикам для её реализации:

Полный интеграционный Use Case: Пользователь → Frontend → Backend → БД → ВТБ
Требования к двум интеграционным REST API методам
UML Sequence с исходным кодом для PlantUML
Дизайн UI
Маппинги данных
Базовые требования к логированию и мониторингу



👉 Процесс системного анализа задачи на интеграцию:

1️⃣ Провели анализ API-документации ВТБ
Часть 1
Часть 2


2️⃣ Среди типовых Use Case к интеграции с платежной системой выделили ключевые Use Case:
+ создание транзакции
+ проверка статуса платежа
+ подтверждение оплаты через WebHook
И объединили их в единый сценарий от старта до завершения оплаты.


3️⃣ Сделали схему архитектуры проекта, чтобы понимать, как будут идти данные между компонентами системы.


4️⃣ Провели исследовательское тестирование API ВТБ, чтобы понять как он работает и осознать процесс интеграции с платежной системой на практике.
Обязательный этап перед написанием требований.


5️⃣ Разработали интеграционный Use Case.
Дополнили его UML Sequence диаграммой.


6️⃣ Познакомились с понятием маппинга, который необходим для корректной трансформации и передачи данных между системами.


7️⃣ Уточнили, что требования к авторизации запросов в ВТБ будут в отдельной статье, а не в описании интеграционного Use Case на оплату.


8️⃣ Собрали общую постановку задачи на интеграцию с платжной системой ВТБ.



👉 Выгруженный документ из Confluence прикреплён к посту.


Эта задача — пример того, как системный аналитик превращает сырую идею "нужно подключить оплату в приложение" в продуманный, проверенный и реализуемый интеграционный процесс.

Мы не просто написали "подключите ВТБ", а оформили требования так, чтобы разработчики смогли реализовать их без лишних вопросов.


Сохраняем в копилку примеров документации 🤝


#ИнтеграцииGA #vtbAPI
👍34🔥2915❤‍🔥7🤔1
📡 5 архитектурных стилей API, которые стоит знать 📡

API определяет, как именно взаимодействуют между собой приложения.

От того, какой стиль вы выберете, зависит:
• масштабируемость системы,
• скорость отклика,
• удобство для клиентов API и разработчиков.

Важно выбирать не «как у всех», а по требованиям проекта.


Cамые популярные API:

🔵 REST API [HTTP]
Классика в мире разработки: вариант "как у всех".
Более 85% систем во всём мире используют его.

Преимущества:
• Простота и универсальность
• Отсутствие состояния (stateless) = масштабируемость
• Отлично подходит для CRUD

Пример:
Wildberries

📎 Подробнее


🟣 GraphQL [HTTP]
REST требует нескольких запросов к разным endpoint-ам, если нужно получить связанную информацию.

GraphQL позволяет сделать один запрос на один endpoint — и получить ровно те данные, которые нужны.

Преимущества:
• Нет избыточных данных
• Быстрее работает фронт
• Удобно для мобильных приложений

Пример:
Contentful

📎 Подробнее



🟢 SOAP [чаще HTTP, но может быть SMTP, FTP и др.]
Был стандартом до появления REST. До сих пор актуален в госсекторе, банках и крупных корпорациях.

Преимущества:
• Поддержка сложных транзакций
• Встроенная безопасность WS-Security
• Надёжен, стандартизирован, хорош для B2B

Пример:
PayPal (уст)

📎 Подробнее



🟠 gRPC
[HTTP/2]
Современный и быстрый протокол от Google, основанный на протоколе удаленного вызова процедур (RPC).
Чаще всего используется для микросервисов.

Преимущества:
• Высокая производительность: быстрее JSON в 5-10 раз по объему и скорости
• Поддержка стриминга и асинхронных вызовов
• Автоматическая генерация кода для клиента и сервера

Пример:
Dropbox

📎 Подробнее



🔴 WebSocket
[ws://]
Для чатов, игр, торговых платформ — там, где важно получать данные в реальном времени.

Преимущества:
• Двустороннее соединение
• Постоянное подключение
• Минимальная задержка

Пример:
Binance Биржа



Нет идеального API. Каждый — под свою задачу.

Главное — осознанный выбор, а не «так всегда делали».

#ИнтеграцииGA #АрхитектураGA #RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4711👍6
👩‍💻 6 принципов REST API про которые спрашивают на собеседованиях 👩‍💻

REST API — архитектурный стиль для создания веб-сервисов, основанный на протоколе HTTP.


REST API основан на протоколе HTTP:

э
то означает, что все принципы работы HTTP методов, их структура запросов и ответов, будут также применимы и для REST API.

👉 Подробнее про работу HTTP-протокола и его связь с REST API разбирали в этой статье.

Пример:
+ в HTTP есть виды методов: GET, POST, PUT, PATCH и т.д.
+ в REST API методы абсолютно те же.


Архитектурный стиль REST добавляет к HTTP дополнительные правила и принципы, по которым должен происходить обмен данными👇


Главные принципы REST:
1. Строгое разделение клиента и сервера
2. Единый интерфейс
3. Без сохранения состояния (Stateless)
4. Многоуровневая система
5. Кэширование
6. Выполнение кода по запросу

В картинках к посту просто и с примерами разобрала эти принципы.


Это не самая ценная в работе информация, но перечень этих принципов и их понимание могут спрашивать на собеседованиях 👌

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍9🔥4🍾2
🧑‍💻 Всё про структуру [HTTP] REST API методов в одной картинке 🧑‍💻

Прикрепленная к посту картинка-шпаргалка полезна для работы с проектированием REST API методов с нуля.

Задача актуальна для Senior системных аналитиков, которые работают с Backend-командами, мобильными приложениями, микросервисами и в других проектах.



Чтобы вы наглядно могли сопоставить структуру на картинке с реальным REST API, подготовили для вас:

👉 Документ с анализом API-метода от Т-Банка: документация + Postman



Практика: проверьте себя! 🧠

Предлагаю вам самостоятельно изучить примеры открытой API-документации для интеграций:

ZOOM API - создание видео-конференций
ТБанк - Зарплатный проект
API - Умный дом от Яндекс

Это отличная практика по закреплению знаний по структуре методов REST API.
Сможете найти все описанные на картинке параметры в этой документации?

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥9
🗓 Новый проект на REST API: онлайн-календарь #MeetsGA 🗓

Почти каждый из нас пользуется онлайн-календарём:

создаём встречи через веб и мобильные приложения
добавляем участников
получаем ссылки на видеозвонки
проверяем список встреч на день
редактируем или отменяем их

Примеры таких сервисов — Google Calendar, Zoom, Outlook.



В этом месяце мы будем разрабатывать #MeetsGA — своё собственное приложение календаря встреч.
А точнее его "подкапотную" часть - REST API методы для управления встречами.


👉 План разработки

1. Проектирование:

+ endpoint-ы и методы
+ JSON-структуры запросов и ответов
+ алгоритмы работы
+ сценарии и предусловия
+ обработка ошибок

2. Документация
+ постановка задачи на REST API метод в Confluence
+ схема БД для хранения встреч и участников
+ маппинг данных: JSON - БД

3. Инструменты
Перенесём созданную документацию по API-методам в Postman и Swagger (OpenAPI).



👉 Для чего всё это?
Чтобы получить готовый API, который обеспечит работу фронтенда: веб- и мобильных приложений MeetsGA.

В конце сверимся с популярными сервисами.



🎯 Зачем следить за этим проектом?
Если вы:
🔹 работаете аналитиком и хотите прокачать навык проектирования REST API
🔹 планируете проект по расписаниям, бронированиям, встречам или событиям
🔹 хотите научиться оформлять требования к API



👉 Хотите стать частью проекта и получать новый опыт для работы и собеседований?
Следите за тегом #MeetsGA.
Подписывайтесь на канал.
И оставайтесь с нами!

Это отличный проект, чтобы научиться работать с REST API с нуля до продакшн.

Добро пожаловать в команду! 🤝


#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥507🔥7👍3
🆕 Обновления на сайте GetAnalyst.ru 🆕

Мы постоянно работаем над обновлениями базы знаний для СА и БА.

Сайт и Telegram-канал - два главных источника знаний.

Статьи, книги, вебинары и подкасты от GetAnalyst - всё для вас.


В этом посте хочу поделиться обновлениями по сайту:


Добавили базу проектов GetAnalyst
Каждый месяц запускаем разборы проектов с примерами документации и демо реальной работы.
За несколько лет их накопилось много.
Собрали базу знаний по ним.
Будем улучшать и переносить посты по проектам на сайт.
Сейчас материалы по каждому проекту можно читать в этом канале под его хэштегом.
🔗 База проектов


Вопросы для подготовки к собеседованиям - открытая база для СА
Запустили в работу.
Но без вашей помощи не обойтись.
Если вы сейчас проходите собеседования и готовы поделиться своим опытом, то всем сообществом будем очень благодарны!
Как показывает опыт - прогнать себя по случайным вопросам всегда полезно.
🔗 База вопросов с собеседований на СА


Обновили расписание онлайн-занятий для программы "Системный аналитик: с нуля до опыта работы на проекте"
Потоки стартуют раз в год.
В октябре 2025 года планируется последний полноформатный онлайн-поток на 10 месяцев, где я веду 80+% занятий и помогаю войти в профессию с нуля.


Починили проблему с частичной недоступностью сайта
Сделали инфраструктурный хак и теперь всё и везде работает.
Маршрутизация запросов дело хитрое, но мы справились.
P.S. Спасибо, Дима!



Стремлюсь причинять добро, поэтому стараюсь развивать открытую базу знаний для системных аналитиков на все 💯00%.

Пожелания и предложения как всегда приветствуются 🙌


Искренни ваши,
Екатерина Ананьева
и команда GetAnalyst
🪄
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3923❤‍🔥4
👩‍💻 HTTP-методы в REST API: это спросят на собеседовании 👩‍💻

GET, POST, PUT, PATCH и DELETE - виды методов, часть протокола HTTP.
Нужны, чтобы стандартизировать взаимодействие между клиентом и сервером.

Каждый метод выполняет определённое действие и соответствует логике CRUD-модели (Create, Read, Update, Delete).


🩷 GET
Чтение данных.

Не поддерживает тело - Body (JSON).
Идемпотентен.


💚 POST
Создание объектов в БД.
Не идемпотентен.

* Исключения, когда POST используют для чтения: сложные запросы с большим кол-вом фильтров, асинхронные операции.

* Почему в некоторых REST API все POST? Потому что они не REST API, а HTTP API.


💙 PUT
Полная замена и/или создание ресурса.
В теле JSON требует полный объект.
Идемпотентен.

* Часто используют только для изменения.


💜 PATCH
Частичное обновление ресурса.
В теле JSON передаются только те поля объекта, которые нужно изменить.
Не идемпотентен.


❤️ DELETE
Удаление ресурса.
Не поддерживает тело - Body (JSON).
Идемпотентен.


💛 А что по поводу TRACE, HEAD, OPTIONS, CONNECT?
Могут быть полностью заменены GET-ом.
Очень маленький шанс встретить или применить на практике.


Правильное использование HTTP-методов в REST API упрощает взаимодействие с вашей системой, так как делает API предсказуемым и удобным для разработчиков.


P.S. Ссылка на
подкаст про идемпотентность и коммутативность в API

#RestApiGA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2716❤‍🔥4