GetAnalyst_Интеграция_в_ВТБ_сценарий_в_UML_Sequence_.png
181.1 KB
🟢 Пользователи:
+ Пользователь-покупатель.
🟢 Системы:
+ Frontend TravelGA (веб- или мобильное приложение)
+ Backend TravelGA
+ БД TravelGA
+ Интернет-эквайринг от ВТБ
🟢 Основной сценарий:
1. Пользователь заполняет
+ ФИ,
+ телефон,
на экране заказа.
2. Нажимает «Оплатить».
3. Frontend проверяет данные и отправляет запрос
POST /orders/{orderId}/payments
на Backend.
4. Backend проверяет формат, статус заказа (должен быть "new") и отправляет запрос в ВТБ:
POST /payment/rest/register.do
5. ВТБ возвращает orderId и formUrl.
6. Backend сохраняет их в БД и обновляет статус заказа на pending.
7. Backend передаёт formUrl на Frontend.
8. Frontend делает редирект пользователя на платёжную форму ВТБ.
9. Пользователь вводит данные карты на стороне ВТБ и производит оплату.
10. После оплаты:
+ ВТБ шлёт Webhook в Backend.
+ Frontend вызывает GET /orders/{orderId}/payment Backend-а, чтобы получить статус.
11А. Если оплата успешна:
+ Пользователю показывается экран с кнопкой «Скачать билеты (PDF)».
+ В RabbitMQ публикуется событие в очередь email-notifications.
11Б. Если ошибка — предлагается повторить оплату или вернуться к редактированию заказа.
🟢 А ещё есть альтернативные сценарии и ошибки.
🟢 И дополняющая сценарий UML Sequence диаграмма.
Предварительные шаги, которые помогли в создании Use Case и понимании процесса интерации:
Оформленный документ с исходным кодом PlantUML прикреплен к посту.
Коллекция примеров интеграционных Use Case от GetAnalyst пополнена ✅
#ИнтеграцииGA #vtbAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍6❤4🤔1
💚 Маппинг - это просто 💚
Маппинг - это процесс сопоставления полей (данных) из одной системы с соответствующими полями в другой системе.
Это нужно, так как разные системы могут описывать один и тот же объект данных по-разному.
➡️ Этот процесс всегда необходим в задачах на интеграции.
Маппинг описывают в виде таблицы.
Допустимо делать и в виде структурированного списка, но по опыту - таблицы удобнее.
➡️ В таблице с маппингом делают несколько основных колонок:
- название параметра на разговорном языке;
- описание, требования к валидации, ФЛК (форматно-логический контроль) и преобразованиям, если это необходимо;
- названия параметра в API каждой системы (например, поле из JSON, поле из xml или другого формата сообщения, query из URL и др);
- название параметра в БД системы, если она есть в описании Use Case.
- типы данных в каждой системе / БД.
Допустима вариативность с колонками.
Их может быть больше, а может быть и меньше.
Если говорить про задачу на интеграцию платформы #TravelGA с ВТБ для приема платежей онлайн за экскурсии, то
👉 таблица маппинга под часть задачи "создание платежа в ВТБ методом POST /orders/{orderId}/payments"
будет содержать колонки:
➕ название поля на русском
➕ название поля в API Backend TravelGA (JSON)
➕ название поля в БД TravelGA
➕ название параметра в API системы ВТБ
➕ общее описание поля, требования к его обработке и проверкам
➕ типы данных для API Backend TravelGA, БД TravelGA и API системы ВТБ, но в данной задачи я бы от этой колонки отказалась, т.к. все типы данных очевидны и сложностей быть не должно.
Маппинг помогает разработчикам понять, какие данные нужно получать из внешней системы, с которой интеграция, что важно сохранить в БД или сопоставить с ней, а что нужно просто показать пользователю и не надо держать в памяти программы 🙌
#ИнтеграцииGA #vtbAPI
Маппинг - это процесс сопоставления полей (данных) из одной системы с соответствующими полями в другой системе.
Это нужно, так как разные системы могут описывать один и тот же объект данных по-разному.
➡️ Этот процесс всегда необходим в задачах на интеграции.
Маппинг описывают в виде таблицы.
Допустимо делать и в виде структурированного списка, но по опыту - таблицы удобнее.
➡️ В таблице с маппингом делают несколько основных колонок:
- название параметра на разговорном языке;
- описание, требования к валидации, ФЛК (форматно-логический контроль) и преобразованиям, если это необходимо;
- названия параметра в API каждой системы (например, поле из JSON, поле из xml или другого формата сообщения, query из URL и др);
- название параметра в БД системы, если она есть в описании Use Case.
- типы данных в каждой системе / БД.
Допустима вариативность с колонками.
Их может быть больше, а может быть и меньше.
Если говорить про задачу на интеграцию платформы #TravelGA с ВТБ для приема платежей онлайн за экскурсии, то
👉 таблица маппинга под часть задачи "создание платежа в ВТБ методом POST /orders/{orderId}/payments"
будет содержать колонки:
➕ название поля на русском
➕ название поля в API Backend TravelGA (JSON)
➕ название поля в БД TravelGA
➕ название параметра в API системы ВТБ
➕ общее описание поля, требования к его обработке и проверкам
➕ типы данных для API Backend TravelGA, БД TravelGA и API системы ВТБ, но в данной задачи я бы от этой колонки отказалась, т.к. все типы данных очевидны и сложностей быть не должно.
Маппинг помогает разработчикам понять, какие данные нужно получать из внешней системы, с которой интеграция, что важно сохранить в БД или сопоставить с ней, а что нужно просто показать пользователю и не надо держать в памяти программы 🙌
#ИнтеграцииGA #vtbAPI
❤31👍11🔥8❤🔥3
✈️ Онлайн-практикум по миграциям в БД | 7 июля - ПН ✈️
В GetAnalyst есть серия продвинутых практикумов по БД и SQL для разбора сложных задач, которые выходят за пределы базовых знаний, и помогают в ежедневной работе по развитию систем.
В следующий понедельник будем разбирать:
🟢 Разработка требований к миграциям в БД
🗓 7 Июля, в 19:00 Мск
📌 План:
1. Определение понятия миграции данных. Примеры.
2. Требования к обратной совместимости данных. Распространенные ошибки.
3. Влияние нефункциональных требований на миграции в БД.
4. Практика проектирования миграций внутри одной БД.
5. Обзор проблем миграций данных между разными СУБД. Практика.
6. Обзор шаблона постановки задачи на разработчиков по миграции данных.
Проект:
Онлайн-маркетплейс
Цель:
Показать, как доработки БД могут влиять на релизы функциональности, научить выстраивать последовательность обновлений базы и показать, на что обращать внимание при переезде с одной СУБД на другую.
👉 Миграция в контексте БД это:
1. Доработка таблиц БД - добавление новых таблиц или полей, их изменение в существующей БД.
2. Перенос данных из одной БД в другую - например, при проектировании микросервисной архитектуры.
👉 Практикум проводится в рамках подписки на практикумы по БД и SQL.
Участие в занятии актуально для аналитиков, кто уже знаком с проектированием БД и хочет погружаться в работу с более сложными задачами🚀
В GetAnalyst есть серия продвинутых практикумов по БД и SQL для разбора сложных задач, которые выходят за пределы базовых знаний, и помогают в ежедневной работе по развитию систем.
В следующий понедельник будем разбирать:
🟢 Разработка требований к миграциям в БД
1. Определение понятия миграции данных. Примеры.
2. Требования к обратной совместимости данных. Распространенные ошибки.
3. Влияние нефункциональных требований на миграции в БД.
4. Практика проектирования миграций внутри одной БД.
5. Обзор проблем миграций данных между разными СУБД. Практика.
6. Обзор шаблона постановки задачи на разработчиков по миграции данных.
Проект:
Онлайн-маркетплейс
Цель:
Показать, как доработки БД могут влиять на релизы функциональности, научить выстраивать последовательность обновлений базы и показать, на что обращать внимание при переезде с одной СУБД на другую.
👉 Миграция в контексте БД это:
1. Доработка таблиц БД - добавление новых таблиц или полей, их изменение в существующей БД.
2. Перенос данных из одной БД в другую - например, при проектировании микросервисной архитектуры.
👉 Практикум проводится в рамках подписки на практикумы по БД и SQL.
Участие в занятии актуально для аналитиков, кто уже знаком с проектированием БД и хочет погружаться в работу с более сложными задачами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍8🔥1🥰1
🔐🔓 Авторизация в API и её влияние на интеграции 🔓 🔐
При проектировании интеграций, системному аналитику важно заранее продумать сценарий авторизации запросов во внешнюю систему.
Почему?
1. Без авторизации вызовы API просто не пройдут — интеграция «упадёт» уже на первом шаге.
2. Разные механизмы требуют разной логики работы и обработки ошибок.
3. Чёткое понимание процесса авторизации упрощает тестирование и облегчает отладку сценариев интеграции.
📌 Основные способы авторизации
API Key
Basic Auth
Bearer Token
JWT (JSON Web Token)
OAuth 2.0
Mutual TLS (по сертификатам)
📌 Как оформлять в требованиях?
Важно понимать, что при работе с задачей на интеграцию, аналитик пишет требования к интеграционным API методам для своей системы, в логике которых встроены вызовы внешних API.
Например, для интеграции с API платежной системы ВТБ в #TravelGA, аналитику надо описать требования на API-методы:
✅ Создать платеж
в алгоритме работы которого будет вызов API-метода ВТБ.
✅ Получить статус платежа - аналогично
👉 В постановках задач на оба эти метода не нужно дублировать описание процесса авторизации в ВТБ и обработку её ошибок.
Достаточно вынести общие требования к авторизации в отдельную статью (+задачу) и затем ссылаться на неё. А при описании отдельных API-методов фокусироваться только на специфике их работы.
📌 Обработка ошибок авторизации
Важно предусмотреть и описать требования к обработке в процессе работы интеграции:
❌ 401 Unauthorized — неверные или отсутствующие учётные данные.
❌ 403 Forbidden — недостаточно прав для выполнения операции.
❌ 419 Token Expired — срок действия токена истёк, требуется рефреш или повторная авторизация.
❌ 429 Too Many Requests — превышен лимит запросов (для API Key/токена OAuth, учетной записи).
📌 Логирование
Логируйте и мониторьте случаи отказа авторизации.
Если попытки повторной фоновой авторизации не приводят к успеху, то есть высокий риск, что интеграция "упала".
#ИнтеграцииGA #vtbAPI
При проектировании интеграций, системному аналитику важно заранее продумать сценарий авторизации запросов во внешнюю систему.
Почему?
1. Без авторизации вызовы API просто не пройдут — интеграция «упадёт» уже на первом шаге.
2. Разные механизмы требуют разной логики работы и обработки ошибок.
3. Чёткое понимание процесса авторизации упрощает тестирование и облегчает отладку сценариев интеграции.
📌 Основные способы авторизации
API Key
Basic Auth
Bearer Token
JWT (JSON Web Token)
OAuth 2.0
Mutual TLS (по сертификатам)
📌 Как оформлять в требованиях?
Важно понимать, что при работе с задачей на интеграцию, аналитик пишет требования к интеграционным API методам для своей системы, в логике которых встроены вызовы внешних API.
Например, для интеграции с API платежной системы ВТБ в #TravelGA, аналитику надо описать требования на API-методы:
✅ Создать платеж
POST https://travelga.com/api/public/v1/orders/{orderId}payments
в алгоритме работы которого будет вызов API-метода ВТБ.
✅ Получить статус платежа - аналогично
👉 В постановках задач на оба эти метода не нужно дублировать описание процесса авторизации в ВТБ и обработку её ошибок.
Достаточно вынести общие требования к авторизации в отдельную статью (+задачу) и затем ссылаться на неё. А при описании отдельных API-методов фокусироваться только на специфике их работы.
📌 Обработка ошибок авторизации
Важно предусмотреть и описать требования к обработке в процессе работы интеграции:
❌ 401 Unauthorized — неверные или отсутствующие учётные данные.
❌ 403 Forbidden — недостаточно прав для выполнения операции.
❌ 419 Token Expired — срок действия токена истёк, требуется рефреш или повторная авторизация.
❌ 429 Too Many Requests — превышен лимит запросов (для API Key/токена OAuth, учетной записи).
📌 Логирование
Логируйте и мониторьте случаи отказа авторизации.
Если попытки повторной фоновой авторизации не приводят к успеху, то есть высокий риск, что интеграция "упала".
#ИнтеграцииGA #vtbAPI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35❤15👍7❤🔥2🍾1
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
Этот технический выпуск мы сделали для системных аналитиков, которые хотят развиваться в направлении архитектуры и освоить микрофронтенды.
На примере реального кейса разбираем архитектуру микрофронтендов, как формулировать задачи на разработчиков в таких системах, и почему микрофронты — не просто тренд, а взвешенное техническое решение.
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
Сообщество GetAnalyst — новый опыт в системном анализе и карьерный рост каждый день. Присоединяйтесь! 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25🔥5🥰2
Это лето как-будто решило выжать из меня максимум: задачи, проекты, встречи, учёба... 🥵🧯
Но в этом потоке есть чёткое ощущение — я двигаюсь в правильную сторону. Именно сейчас.
💡 На следующей неделе начинается учёба в Гарварде по AI.
💡 На июль и август уже запланированы конференции и встречи.
Я учусь внедрять искусственный интеллект в работу и бизнес — не ради моды, ни ради "бумажки", а потому что понимаю: это то, в чём должен разбираться каждый IT-специалист уже в ближайшем будущем.
Что мне нужно сейчас:
— Разобраться с новыми API и протоколами
— Понять, как работают интеграции с AI и для каких кейсов
— Освоить новые инструменты
Вроде всё знакомое.
Это то, что я рассказываю в GetAnalyst 😃
Но в контексте AI — это переход на новый уровень.
Так что сегодня я чувствую себя на 1000% так же, как и наши студенты — всё новое и очень интересное! 😊
💡 + за год я научилась уверенно делать презентации на английском, но мой акцент... в общем 2 раза в неделю занятия по акценту.
Уверенная речь — это тоже часть роста. Это важно в развитии карьеры. Так что продолжаю держать на этом фокус.
И вот сижу и думаю:
Отдых — важен. Я сама стараюсь находить на него время.
Но и расти в своём деле можно параллельно работе и отпускам — без перегруза, по чуть-чуть.
Главное — с интересом и в своём ритме.
📌 И тогда осенью ты вернёшься не просто отдохнувшим.
Ты вернёшься с новыми знаниями, уверенностью и пониманием, куда двигаться дальше.
И окажешься на шаг впереди тех, кто всё лето просто ждал сентября (а потом января, а потом мая....).
Так что если у вас тоже планы улучшать свои карьерные возможности этим летом, то я с вами на этом пути.
Буду делиться впечатлениями.
Вместе идти проще. И результаты — заметнее 🙌
Но в этом потоке есть чёткое ощущение — я двигаюсь в правильную сторону. Именно сейчас.
💡 На следующей неделе начинается учёба в Гарварде по AI.
💡 На июль и август уже запланированы конференции и встречи.
Я учусь внедрять искусственный интеллект в работу и бизнес — не ради моды, ни ради "бумажки", а потому что понимаю: это то, в чём должен разбираться каждый IT-специалист уже в ближайшем будущем.
Что мне нужно сейчас:
— Разобраться с новыми API и протоколами
— Понять, как работают интеграции с AI и для каких кейсов
— Освоить новые инструменты
Вроде всё знакомое.
Это то, что я рассказываю в GetAnalyst 😃
Но в контексте AI — это переход на новый уровень.
Так что сегодня я чувствую себя на 1000% так же, как и наши студенты — всё новое и очень интересное! 😊
💡 + за год я научилась уверенно делать презентации на английском, но мой акцент... в общем 2 раза в неделю занятия по акценту.
Уверенная речь — это тоже часть роста. Это важно в развитии карьеры. Так что продолжаю держать на этом фокус.
И вот сижу и думаю:
Лето — вроде бы пора отпусков. Но именно летом можно сделать такой шаг, который осенью станет заметен всем.
Отдых — важен. Я сама стараюсь находить на него время.
Но и расти в своём деле можно параллельно работе и отпускам — без перегруза, по чуть-чуть.
Главное — с интересом и в своём ритме.
📌 И тогда осенью ты вернёшься не просто отдохнувшим.
Ты вернёшься с новыми знаниями, уверенностью и пониманием, куда двигаться дальше.
И окажешься на шаг впереди тех, кто всё лето просто ждал сентября (а потом января, а потом мая....).
Так что если у вас тоже планы улучшать свои карьерные возможности этим летом, то я с вами на этом пути.
Буду делиться впечатлениями.
Вместе идти проще. И результаты — заметнее 🙌
👍45❤31🔥21❤🔥2👌1
🔥 Сегодня в 19Мск: онлайн-практикум по миграциям в БД 🔥
📌 Тема:
Разработка требований к миграциям в БД
👉 Записаться на онлайн-практикум
📌 Проект:
Онлайн-маркетплейс
📌 Цель:
Показать, как доработки БД могут влиять на релизы функциональности, научить выстраивать последовательность обновлений базы и показать, на что обращать внимание при переезде с одной СУБД на другую.
📌 План:
1. Определение понятия миграции данных. Примеры.
2. Требования к обратной совместимости данных. Распространенные ошибки.
3. Влияние нефункциональных требований на миграции в БД.
4. Практика проектирования миграций внутри одной БД.
5. Обзор проблем миграций данных между разными СУБД. Практика.
6. Обзор шаблона постановки задачи на разработчиков по миграции данных.
👉 Занятие проводится в рамках подписки на практикумы по БД и SQL. Можно записаться на одно занятие, а можно сразу на всю серию до конца года.
🎁 При подключении у вас есть доступ к дополнительному занятию по проектированию БД с нуля на 2 недели.
Вопросы? Мы на связи!
Пишите @getanalyst или info@getanalyst.ru
До встречи онлайн, в 19Мск! 🙌
📌 Тема:
Разработка требований к миграциям в БД
👉 Записаться на онлайн-практикум
📌 Проект:
Онлайн-маркетплейс
📌 Цель:
Показать, как доработки БД могут влиять на релизы функциональности, научить выстраивать последовательность обновлений базы и показать, на что обращать внимание при переезде с одной СУБД на другую.
📌 План:
1. Определение понятия миграции данных. Примеры.
2. Требования к обратной совместимости данных. Распространенные ошибки.
3. Влияние нефункциональных требований на миграции в БД.
4. Практика проектирования миграций внутри одной БД.
5. Обзор проблем миграций данных между разными СУБД. Практика.
6. Обзор шаблона постановки задачи на разработчиков по миграции данных.
👉 Занятие проводится в рамках подписки на практикумы по БД и SQL. Можно записаться на одно занятие, а можно сразу на всю серию до конца года.
🎁 При подключении у вас есть доступ к дополнительному занятию по проектированию БД с нуля на 2 недели.
Вопросы? Мы на связи!
Пишите @getanalyst или info@getanalyst.ru
До встречи онлайн, в 19Мск! 🙌
👍3👌1
📗 12 API терминов, которые должен знать каждый СА, прежде чем идти на собеседования 📗
1. API (Application Programming Interface)
2. REST API (Representational State Transfer)
3. HTTP-методы запросов
4. Эндпоинты
5. Коды ответов
6. Ограничение частоты запросов (Rate Limiting)
7. Полезная нагрузка (Payload)
8. Заголовки (Headers)
9. Аутентификация
10. Авторизация
11. Пагинация
12. Кэширование
Дополнительно:
1. OAuth
2. JWT Token
3. API Gateway
4. API Keys
5. Basic Authentication
6. Bearer Tokens
7. CORS
8. Webhooks
9. OpenAPI
10. API Versioning (Версионирование API)
11. Content Negotiation
12. Query Parameters
13. Path Parameters
14. API Documentation
15. API Monitoring
16. Throttling
17. Circuit Breaker
18. Idempotency (Идемпотентность)
19. API Proxy
20. Retry Logic (Логика ретраев / повторов)
21. Batch Processing (Пакетная обработка)
22. API Security
23. Health Checks
24. API Testing
25. Mock APIs
26. API Marketplace
27. API Schema
28. Semantic Versioning (Семантическое версионирование)
29. Hypermedia
30. API Deprecation (Устаревание API)
Вроде бы всё самое важное и нужное на месте 😎
#RestApiGA
1. API (Application Programming Interface)
2. REST API (Representational State Transfer)
3. HTTP-методы запросов
4. Эндпоинты
5. Коды ответов
6. Ограничение частоты запросов (Rate Limiting)
7. Полезная нагрузка (Payload)
8. Заголовки (Headers)
9. Аутентификация
10. Авторизация
11. Пагинация
12. Кэширование
Дополнительно:
1. OAuth
2. JWT Token
3. API Gateway
4. API Keys
5. Basic Authentication
6. Bearer Tokens
7. CORS
8. Webhooks
9. OpenAPI
10. API Versioning (Версионирование API)
11. Content Negotiation
12. Query Parameters
13. Path Parameters
14. API Documentation
15. API Monitoring
16. Throttling
17. Circuit Breaker
18. Idempotency (Идемпотентность)
19. API Proxy
20. Retry Logic (Логика ретраев / повторов)
21. Batch Processing (Пакетная обработка)
22. API Security
23. Health Checks
24. API Testing
25. Mock APIs
26. API Marketplace
27. API Schema
28. Semantic Versioning (Семантическое версионирование)
29. Hypermedia
30. API Deprecation (Устаревание API)
Вроде бы всё самое важное и нужное на месте 😎
#RestApiGA
❤66💯18🔥10❤🔥1
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
В июне мы разбирали проект #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🔥29❤15❤🔥7🤔1
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
🔥47❤11👍6
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