GetAnalyst_Use_Cases_Обычные_VS_Интеграционные.pdf
1.1 MB
🧩 Интеграционные Use Cases vs Обычные — разбор с примерами 🧩
Use Case — это:
▫️ детализированные функциональные требования;
▫️ описание, как пользователь взаимодействует с системой для достижения цели;
▫️ сценарий, который показывает шаги пользователя и системы в процессе выполнения задачи;
▫️ алгоритм работы системы.
👉 Стандартный шаблон Use Case:
▪ Предусловие
▪ Роли пользователей
▪ Приложения и системы
▪ Входные данные
▪ Основной сценарий
▪ Обработка ошибок и альтернативные сценарии
▪ Ожидаемый результат
👉 Интеграционный Use Case дополняется:
▪ техническими деталями по вызовам API методов, которые аналитику важно прописать в постановке задачи,
▪ а также маппингом данных.
Важно понимать, что Интеграции — это не просто "еще одна задача".
Это серьезная работа по анализу взаимосвязей
+ БД
+ Функций
+ UI/UX
+ API нашей и внешних систем,
которая требует нашего опыта, внимания и профессионализма 🙌
Мини-книгу про отличия обычных Use Case от интеграционных прикрепила к посту 🤝
#ИнтеграцииGA
Use Case — это:
▫️ детализированные функциональные требования;
▫️ описание, как пользователь взаимодействует с системой для достижения цели;
▫️ сценарий, который показывает шаги пользователя и системы в процессе выполнения задачи;
▫️ алгоритм работы системы.
👉 Стандартный шаблон Use Case:
▪ Предусловие
▪ Роли пользователей
▪ Приложения и системы
▪ Входные данные
▪ Основной сценарий
▪ Обработка ошибок и альтернативные сценарии
▪ Ожидаемый результат
👉 Интеграционный Use Case дополняется:
▪ техническими деталями по вызовам API методов, которые аналитику важно прописать в постановке задачи,
▪ а также маппингом данных.
Важно понимать, что Интеграции — это не просто "еще одна задача".
Это серьезная работа по анализу взаимосвязей
+ БД
+ Функций
+ UI/UX
+ API нашей и внешних систем,
которая требует нашего опыта, внимания и профессионализма 🙌
Мини-книгу про отличия обычных Use Case от интеграционных прикрепила к посту 🤝
#ИнтеграцииGA
👍30❤11🔥7🍾1
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
👩🏫🚀 Как выбрать ментора системному аналитику: 5 практических советов 👨🏫🚀
Иногда аналитикам нужно индивидуально разобрать свою карьерную ситуацию: построить план развития, сменить работу и подготовиться к собеседованию, перейти от теории к практике, разобрать конкретные рабочие вопросы и ошибки.
В такие моменты появляется запрос на ментора — опытного специалиста, который помогает структурировать цели, ответить на вопросы, дать практику, выстроить шаги в развитии, снизить тревогу и двигаться вперёд заметно быстрее.
В этом эпизоде разбираем кто такой ментор, когда он действительно нужен, как проходит работа с ним и чего от неё можно (и нельзя) ожидать. Говорим о том, как выбрать «своего» человека, не слить время и деньги и в итоге получать от менторства конкретный результат, а не просто галочку «я сходил к ментору».
🔗 Сайт эпизода
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
Сообщество GetAnalyst — место, где системные аналитики растут быстрее🚀
Иногда аналитикам нужно индивидуально разобрать свою карьерную ситуацию: построить план развития, сменить работу и подготовиться к собеседованию, перейти от теории к практике, разобрать конкретные рабочие вопросы и ошибки.
В такие моменты появляется запрос на ментора — опытного специалиста, который помогает структурировать цели, ответить на вопросы, дать практику, выстроить шаги в развитии, снизить тревогу и двигаться вперёд заметно быстрее.
В этом эпизоде разбираем кто такой ментор, когда он действительно нужен, как проходит работа с ним и чего от неё можно (и нельзя) ожидать. Говорим о том, как выбрать «своего» человека, не слить время и деньги и в итоге получать от менторства конкретный результат, а не просто галочку «я сходил к ментору».
Эпизод доступен в:
⏯ Apple Podcast
⏯ Яндекс.Музыка
⏯ Telegram
⏯ Castbox
⏯ Звук
⏯ Spotify
⏯ RuTube
⏯ YouTube
⏯ VK Video
Сообщество GetAnalyst — место, где системные аналитики растут быстрее
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥5👍3🤣2❤🔥1😍1
Уже почти два года я живу в доме за городом. И хочу сказать, что это лучшее решение в моей жизни 🙌
Из плюсов:
1. Спокойствие и тишина
2. Чистейший воздух и природа
3. Спокойные соседи с семьями
4. Никаких непредсказуемых людей за стеной, и самой можно шуметь в любое время суток
5. Чтобы выйти на улицу и пройтись 5 минут между созвонами, нужно просто надеть тапочки или кроссовки и выйти. Никаких лифтов и подъездов
6. Прогулки по тихим улицам на природе каждый день
Из минусов:
1. До ближайшего магазина — 20 минут пешком, и он не очень, поэтому почти всегда я на машине
2. Вижусь с друзьями всего пару раз в месяц, потому что до города ехать 35–40 минут. Лень берёт верх: всё самое нужное — в пределах 15 минут на машине, в том числе хорошие рестораны и океан
3. Моя одежда - уютные спортивные костюмы 90% времени
Мои родители живут за городом уже больше 15 лет. И ещё 5 лет назад я вообще не понимала, как так можно?! До города далеко, общаться почти не с кем, магазинов нет, до аэропорта — как до луны… А сейчас? Кажется, я знаю, в кого я 😄
Если бы я была тусовщицей, я бы, наверное, умерла от скуки. Но в последние годы спокойствие и тишина — это что-то очень родное и «про меня» 🙌 Это моё вдохновение.
Мне нравится работать, гулять, ходить в зал, на падел, в сауну и ледяные ванны, ужинать в одном и том же месте по выходным своим лососем с зелёным салатом.
Живу в своей маленькой рутине и искренне радуюсь))
Примерно раз в месяц разбавляю рутину командировками в другие города и безумно скучаю по дому!
И это не зона комфорта и стояния, когда не хочется расти. Для меня дом - это место, чтобы творить 🩷🏡 В этом спокойствии я сильно выросла за последние годы.
Это то, что я искала, путешествуя по миру — и нашла.
Так что делюсь с вами редким фото городской меня 😃
И мне интересно узнать о вас чуть больше...
👉 На какой стороне вы? Город и движение, или спокойствие на природе?
Делитесь в комментариях своими историями и голосуйте реакцией:
❤️ жизнь за городом, в природе
🔥 городская жизнь
Из плюсов:
1. Спокойствие и тишина
2. Чистейший воздух и природа
3. Спокойные соседи с семьями
4. Никаких непредсказуемых людей за стеной, и самой можно шуметь в любое время суток
5. Чтобы выйти на улицу и пройтись 5 минут между созвонами, нужно просто надеть тапочки или кроссовки и выйти. Никаких лифтов и подъездов
6. Прогулки по тихим улицам на природе каждый день
Из минусов:
1. До ближайшего магазина — 20 минут пешком, и он не очень, поэтому почти всегда я на машине
2. Вижусь с друзьями всего пару раз в месяц, потому что до города ехать 35–40 минут. Лень берёт верх: всё самое нужное — в пределах 15 минут на машине, в том числе хорошие рестораны и океан
3. Моя одежда - уютные спортивные костюмы 90% времени
Мои родители живут за городом уже больше 15 лет. И ещё 5 лет назад я вообще не понимала, как так можно?! До города далеко, общаться почти не с кем, магазинов нет, до аэропорта — как до луны… А сейчас? Кажется, я знаю, в кого я 😄
Если бы я была тусовщицей, я бы, наверное, умерла от скуки. Но в последние годы спокойствие и тишина — это что-то очень родное и «про меня» 🙌 Это моё вдохновение.
Мне нравится работать, гулять, ходить в зал, на падел, в сауну и ледяные ванны, ужинать в одном и том же месте по выходным своим лососем с зелёным салатом.
Живу в своей маленькой рутине и искренне радуюсь))
Примерно раз в месяц разбавляю рутину командировками в другие города и безумно скучаю по дому!
И это не зона комфорта и стояния, когда не хочется расти. Для меня дом - это место, чтобы творить 🩷🏡 В этом спокойствии я сильно выросла за последние годы.
Это то, что я искала, путешествуя по миру — и нашла.
Так что делюсь с вами редким фото городской меня 😃
И мне интересно узнать о вас чуть больше...
👉 На какой стороне вы? Город и движение, или спокойствие на природе?
Делитесь в комментариях своими историями и голосуйте реакцией:
❤️ жизнь за городом, в природе
🔥 городская жизнь
❤95🔥48👏5❤🔥2😁2😢1
Когда я только начинала работать системным аналитиком, мои постановки задач сводились к описанию экранов: что нажали → что увидели.
И это было ОК 😃
А потом пришёл “умный и важный” Backend-разработчик и сказал примерно так:
Теперь мы делаем не монолит, где UI + логика + БД в одной кодовой базе.
Теперь у нас Frontend и Backend, которые общаются по API
И вот тогда я впервые узнала интеграции на минимальном уровне:
➡️ Frontend → Backend
Но настоящий “аттракцион” начался позже, когда появилась задача получать данные из внешней системы 👀
➡️ наш Frontend → наш Backend → внешняя система
➡️ а потом интеграции микросервисов
И самое неприятное тогда было - чувство, когда ты угадываешь, что ждут разработчики. Было много "танцев на граблях".
С годами интеграций становилось больше: разные API, протоколы, асинхрон, оборудование. И этот тип задач в итоге стал моим самым любимым🙌
Сейчас я рада делиться своим опытом в интеграциях с вами!
Уже на следующей неделе мы откроем предобучение на практической программе:
👉 Интеграции систем для СА и БА
🟢 Первый онлайн: 21 января 2026
Результат:
✔️ Описываете интеграционные Use Cases
✔️ Уверенно работаете с API: REST, SOAP, GraphQL, gRPC, WebSocket
✔️ Опыт работы с Postman
✔️ Знаете нотацию C4 для архитектуры
✔️ Понимате асинхрон, в т.ч. брокеры
✔️ Можете сделать задачу на интеграционный REST API метод
✔️ У вас десятки примеров документации, которые можно переиспользовать в работе
Это то, что сейчас спрашивают Middle+ системных аналитиков на собеседованиях, и то, что реально нужно в работе.
Приглашаем вас начать новый 2026 год с навыка, который даёт уверенность в системном анализе и рост в карьере
Вопросы? Пишите @getanalyst или на info@getanalyst.ru. Поможем оценить текущие навыки и разобраться, подойдёт ли вам программа 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥7👍5❤🔥2👎1🤣1
🧩 Краткий чек-лист по работе с Интеграциями 🧩
☑️ Получить вводные от заказчика
☑️ Выделить компоненты системы: внешние, внутренние
☑️ Найти API-документацию для каждого из внешних сервисов, а если необходимо, то и для внутренних
☑️ Нарисовать схему архитектуры — первое приближение
☑️ Описать процессы, которые нужно поддержать в системе
☑️ Найти по API-документации соответствующие процессам методы, добавить их в описание
☑️ Уточнить схему архитектуры (и далее постоянно актуализировать по ходу детального проектирования и постановок задач)
☑️ Получить доступы к API
☑️ Протестировать API своими силами или с помощью разработчиков
☑️ Сопоставить наборы данных, доработать/спроектировать БД нашей системы при необходимости, описать маппинг данных
☑️ Создать задачи в Jira и выстроить порядок разработки
☑️ Сделать детализацию постановок задач в Confluence на основе исследований, проведенных ранее
Пусть он станет вашим помощником при работе с задачами на интеграции и в подготовке к собеседованиям.
👉 Полный пошаговый план работы с задачами на интеграции в статье.
#ИнтеграцииGA
☑️ Получить вводные от заказчика
☑️ Выделить компоненты системы: внешние, внутренние
☑️ Найти API-документацию для каждого из внешних сервисов, а если необходимо, то и для внутренних
☑️ Нарисовать схему архитектуры — первое приближение
☑️ Описать процессы, которые нужно поддержать в системе
☑️ Найти по API-документации соответствующие процессам методы, добавить их в описание
☑️ Уточнить схему архитектуры (и далее постоянно актуализировать по ходу детального проектирования и постановок задач)
☑️ Получить доступы к API
☑️ Протестировать API своими силами или с помощью разработчиков
☑️ Сопоставить наборы данных, доработать/спроектировать БД нашей системы при необходимости, описать маппинг данных
☑️ Создать задачи в Jira и выстроить порядок разработки
☑️ Сделать детализацию постановок задач в Confluence на основе исследований, проведенных ранее
Пусть он станет вашим помощником при работе с задачами на интеграции и в подготовке к собеседованиям.
👉 Полный пошаговый план работы с задачами на интеграции в статье.
#ИнтеграцииGA
❤23👏16❤🔥5👍3🔥1
GetAnalyst_Интеграции_Типовые_Альтернативные_сценарии_.pdf
5.1 MB
📚 Чек-лист: типовые требования к обработке ошибок в Интеграциях 📚
Написание требований к обработке ошибок является важной частью обязанностей Системного Аналитика. Я всегда начинаю описание работы системы с прямого сценария, а затем сразу же перехожу к поиску подвохов и отклонений на каждом его шаге.
Это нужно, чтобы после релиза системы не получать от пользователей обращения в тех поддержку и негативные отзывы о том, что наша система плохо работает или сломалась из-за какой-то мелочи.
Также не хочется получать разочарования на этапе тестирования, когда довольный тестировщик нашел очередной баг, что ведет к “уточнениям по аналитике”, очередным кругам доработок, задержкам релизов и отвлечению от новых задач.
😄👉 Я абсолютно уверена, что работа аналитика - победить тестировщика,
то есть первым найти все потенциальные ошибки и сбои, которые может создать пользователь. Поэтому круто, когда в Системный Анализ переходят Тестировщики.
🔖 При работе с интеграциями я использую стандартный чек-лист, по которому можно написать требования к обработке ошибок:
1. Аутентификация
2. Доступ
3. Тайм-аут
4. Ошибки по документации внешней системы
5. Неизвестные ошибки, которых не было в документации и не планировалось их обрабатывать (новые коды, неизвестные форматы тела ответа)
6. Новые статусы или значения справочников, которые не совпадают с нашими перекодировочными таблицами, описанными в маппинге данных
Подробности в мини-книге к посту 📚
#ИнтеграцииGA
Написание требований к обработке ошибок является важной частью обязанностей Системного Аналитика. Я всегда начинаю описание работы системы с прямого сценария, а затем сразу же перехожу к поиску подвохов и отклонений на каждом его шаге.
Это нужно, чтобы после релиза системы не получать от пользователей обращения в тех поддержку и негативные отзывы о том, что наша система плохо работает или сломалась из-за какой-то мелочи.
Также не хочется получать разочарования на этапе тестирования, когда довольный тестировщик нашел очередной баг, что ведет к “уточнениям по аналитике”, очередным кругам доработок, задержкам релизов и отвлечению от новых задач.
😄👉 Я абсолютно уверена, что работа аналитика - победить тестировщика,
то есть первым найти все потенциальные ошибки и сбои, которые может создать пользователь. Поэтому круто, когда в Системный Анализ переходят Тестировщики.
1. Аутентификация
2. Доступ
3. Тайм-аут
4. Ошибки по документации внешней системы
5. Неизвестные ошибки, которых не было в документации и не планировалось их обрабатывать (новые коды, неизвестные форматы тела ответа)
6. Новые статусы или значения справочников, которые не совпадают с нашими перекодировочными таблицами, описанными в маппинге данных
Подробности в мини-книге к посту 📚
#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥12🍾1
🔐 5 способов авторизации в API - наглядное демо по настройкам в Postman 🔐
При проектировании интеграций, системному аналитику важно заранее продумать сценарий авторизации запросов во внешнюю систему.
Почему?
1. Без авторизации вызовы API просто не пройдут — интеграция «упадёт» уже на первом шаге.
2. Разные механизмы требуют разной логики работы и обработки ошибок.
3. Чёткое понимание процесса авторизации упрощает тестирование и облегчает отладку сценариев интеграции.
📌 Основные способы авторизации
API Key
Basic Auth
Bearer Token
JWT Token
OAuth 2.0
Mutual TLS (по сертификатам)
📌 Как оформлять в требованиях?
При работе с задачей на интеграцию, аналитик пишет требования к интеграционным API-методам или Backend-процессам для своей системы, в логике которых встроены вызовы внешних API.
👉 Не дублируйте требования к авторизации в одном и том же внешнем API в каждом Use Case, который его использует.
Вместо того, чтобы в каждом интеграционном Use Case описывать требования к авторизации во внешней системе и обработку её ошибок, достаточно вынести общие требования к авторизации в отдельную статью (+задачу) и затем ссылаться на неё.
При описании отдельных API-методов или Backend-процессов лучше фокусироваться только на специфике их работы.
📌 Обработка ошибок
Важно предусмотреть и описать требования к обработке ошибок аутентификации и авторизации в процессе работы интеграции:
❌ 401 Unauthorized — неверные или отсутствующие учётные данные. Возможна повторная фоновая аутентификация.
❌ 403 Forbidden — недостаточно прав для выполнения операции, хотя аутентификация (учётные данные) может быть верной.
❌ 419 Token Expired — срок действия токена истёк, требуется рефреш или повторная фоновая аутентификация.
❌ 429 Too Many Requests — превышен лимит запросов (для API Key/токена OAuth, учетной записи).
📌 Логирование
Логируйте и мониторьте случаи ошибок авторизации.
Если попытки повторной фоновой авторизации не приводят к успеху, то есть высокий риск, что интеграция "упала".
#ИнтеграцииGA
При проектировании интеграций, системному аналитику важно заранее продумать сценарий авторизации запросов во внешнюю систему.
Почему?
1. Без авторизации вызовы API просто не пройдут — интеграция «упадёт» уже на первом шаге.
2. Разные механизмы требуют разной логики работы и обработки ошибок.
3. Чёткое понимание процесса авторизации упрощает тестирование и облегчает отладку сценариев интеграции.
📌 Основные способы авторизации
API Key
Basic Auth
Bearer Token
JWT Token
OAuth 2.0
Mutual TLS (по сертификатам)
📌 Как оформлять в требованиях?
При работе с задачей на интеграцию, аналитик пишет требования к интеграционным API-методам или Backend-процессам для своей системы, в логике которых встроены вызовы внешних API.
👉 Не дублируйте требования к авторизации в одном и том же внешнем API в каждом Use Case, который его использует.
Вместо того, чтобы в каждом интеграционном Use Case описывать требования к авторизации во внешней системе и обработку её ошибок, достаточно вынести общие требования к авторизации в отдельную статью (+задачу) и затем ссылаться на неё.
При описании отдельных API-методов или Backend-процессов лучше фокусироваться только на специфике их работы.
📌 Обработка ошибок
Важно предусмотреть и описать требования к обработке ошибок аутентификации и авторизации в процессе работы интеграции:
❌ 401 Unauthorized — неверные или отсутствующие учётные данные. Возможна повторная фоновая аутентификация.
❌ 403 Forbidden — недостаточно прав для выполнения операции, хотя аутентификация (учётные данные) может быть верной.
❌ 419 Token Expired — срок действия токена истёк, требуется рефреш или повторная фоновая аутентификация.
❌ 429 Too Many Requests — превышен лимит запросов (для API Key/токена OAuth, учетной записи).
📌 Логирование
Логируйте и мониторьте случаи ошибок авторизации.
Если попытки повторной фоновой авторизации не приводят к успеху, то есть высокий риск, что интеграция "упала".
#ИнтеграцииGA
❤18👍10🔥7❤🔥4😍1👀1
🔐 Новый проект по OAuth 2.0 на реальном кейсе: подключаем вход через аккаунт Mail.ru в FoodDeliveryGA 🔐
Один из самых частых вопросов в чате GetAnalyst и от наших студентов звучит примерно так:
По аналогии с тем, как мы везде входим “через Google”, “через Apple”, "через Яндекс" и другие сервисы.
👉 Это именно та интеграция, которая сегодня встречается почти в любом IT-продукте: от интернет-магазинов до корпоративных систем.
Поэтому в этом месяце мы продолжим разбирать проект FoodDeliveryGA, чтобы на его примере показать как проектировать интеграцию с OAuth 2.0 сервисом на практике:
🔐 Пользователь сможет войти в FoodDeliveryGA через профиль Mail.ru
(полный аналог “Войти через Госуслуги”, только на другом провайдере)
👉 План:
1. Разберёмся в специфике OAuth 2.0
2. Определим влияние интеграции на архитектуру системы (какие компоненты и потоки появляются)
3. Исследуем API-документацию Mail.ru
4. Протестируем API Mail.ru в Postman, чтобы увидеть, как он реально работает (а не “как написано в доке”)
5. Опишем интеграционные Use Cases:
+ регистрация пользователя
+ авторизация
+ восстановление доступа
со всеми тех. деталями (запросы, ответы, альтернативные ветки)
6. Сделаем маппинги данных + доработки БД (что храним, что НЕ храним после входа через аккаунт Mail.ru, ключевые поля)
7. Дополним требования UML-диаграммами
8. Сформируем требования к интеграционным REST API методам на нашем Backend
🎯 Результат:
У вас на руках будет не “теория про токены и OAuth 2.0”, а полноценная постановка задачи на интеграцию, которую можно повторить с любым OAuth-провайдером в любом проекте!
✅ В том числе с Госуслугами!
Проект FoodDeliveryGA разбираем в поддержку практической программы Интеграции систем 🧩
Готовы получить новый опыт и знания?
Подписывайтесь на GetAnalyst и следите за хэштегом #FoodDeliveryGA_oauth!
Добро пожаловать в проект! 🤝
#ИнтеграцииGA
Один из самых частых вопросов в чате GetAnalyst и от наших студентов звучит примерно так:
👉 Как спроектировать авторизацию через Госуслуги в нашей системе?
По аналогии с тем, как мы везде входим “через Google”, “через Apple”, "через Яндекс" и другие сервисы.
👉 Это именно та интеграция, которая сегодня встречается почти в любом IT-продукте: от интернет-магазинов до корпоративных систем.
Поэтому в этом месяце мы продолжим разбирать проект FoodDeliveryGA, чтобы на его примере показать как проектировать интеграцию с OAuth 2.0 сервисом на практике:
🔐 Пользователь сможет войти в FoodDeliveryGA через профиль Mail.ru
(полный аналог “Войти через Госуслуги”, только на другом провайдере)
👉 План:
1. Разберёмся в специфике OAuth 2.0
2. Определим влияние интеграции на архитектуру системы (какие компоненты и потоки появляются)
3. Исследуем API-документацию Mail.ru
4. Протестируем API Mail.ru в Postman, чтобы увидеть, как он реально работает (а не “как написано в доке”)
5. Опишем интеграционные Use Cases:
+ регистрация пользователя
+ авторизация
+ восстановление доступа
со всеми тех. деталями (запросы, ответы, альтернативные ветки)
6. Сделаем маппинги данных + доработки БД (что храним, что НЕ храним после входа через аккаунт Mail.ru, ключевые поля)
7. Дополним требования UML-диаграммами
8. Сформируем требования к интеграционным REST API методам на нашем Backend
🎯 Результат:
У вас на руках будет не “теория про токены и OAuth 2.0”, а полноценная постановка задачи на интеграцию, которую можно повторить с любым OAuth-провайдером в любом проекте!
✅ В том числе с Госуслугами!
Проект FoodDeliveryGA разбираем в поддержку практической программы Интеграции систем 🧩
Готовы получить новый опыт и знания?
Подписывайтесь на GetAnalyst и следите за хэштегом #FoodDeliveryGA_oauth!
Добро пожаловать в проект! 🤝
#ИнтеграцииGA
🔥40❤14
📖🔖 Всё про OAuth 2.0 с примером за 3 минуты 📖
👉 OAuth 2.0 — это стандарт, который позволяет вашему приложению получить ограниченный доступ к данным пользователя во внешнем сервисе без передачи пароля
👉 Ключевая идея на примере FoodDeliveryGA
✅ пользователь логинится в приложении FoodDeliveryGA и подтверждает доступ к его личным данным на стороне внешнего сервиса (Mail.ru) - через его безопасную web-форму
✅ FoodDeliveryGA получает токены доступа и работает дальше через API
❌ пароль пользователя от Mail.ru приложению FoodDeliveryGA никогда не передают
👉 Роли в OAuth 2.0
на примере FoodDeliveryGA
▫️Resource Owner (Владелец ресурса) — пользователь
Человек, который хочет войти в приложение FoodDeliveryGA и даёт согласие на доступ к его данным в Mail.ru для этого приложения
▫️Client (Клиент) — приложение FoodDeliveryGA
Frontend + Backend (в зависимости от схемы), которое инициирует авторизацию
▫️Authorization Server (Сервер авторизации) — Mail.ru
На предоставляемой им web-форме пользователь вводит логин/пароль Mail.ru и подтверждает доступ к данным
▫️Resource Server (Сервер ресурсов) — API Mail.ru
Методы REST API, где лежат данные пользователя (например, профайл / user info, информация о друзьях, посты на стене в социальной сети Мой Мир и другие данные).
Эти методы мы вызываем с использованием токена, который получили после аутентификации пользователя
💡 Часто Authorization Server и Resource Server находятся “в одном провайдере” (как Mail.ru), но логически это разные роли и с точки зрения Mail.ru это разные сервисы (сервера)
👉 Алгоритм работы OAuth 2.0 по шагам на картинке
для Grant Type=authorization_code
👉 OAuth 2.0 Grant Types - алгоритмы
authorization_code
refresh_token
client_credentials
implicit
password
device_code
👉 Ключевые параметры OAuth 2.0
для API-методов (в URL и JSON)
response_type
client_id
client_secret
redirect_uri
scope
state
refresh_token
access_token
token_type
expires_in
Зависят от Grant Type
Продолжение в следующих постах #FoodDeliveryGA_oauth 🚀
#ИнтеграцииGA
👉 OAuth 2.0 — это стандарт, который позволяет вашему приложению получить ограниченный доступ к данным пользователя во внешнем сервисе без передачи пароля
👉 Ключевая идея на примере FoodDeliveryGA
✅ пользователь логинится в приложении FoodDeliveryGA и подтверждает доступ к его личным данным на стороне внешнего сервиса (Mail.ru) - через его безопасную web-форму
✅ FoodDeliveryGA получает токены доступа и работает дальше через API
❌ пароль пользователя от Mail.ru приложению FoodDeliveryGA никогда не передают
👉 Роли в OAuth 2.0
на примере FoodDeliveryGA
▫️Resource Owner (Владелец ресурса) — пользователь
Человек, который хочет войти в приложение FoodDeliveryGA и даёт согласие на доступ к его данным в Mail.ru для этого приложения
▫️Client (Клиент) — приложение FoodDeliveryGA
Frontend + Backend (в зависимости от схемы), которое инициирует авторизацию
▫️Authorization Server (Сервер авторизации) — Mail.ru
На предоставляемой им web-форме пользователь вводит логин/пароль Mail.ru и подтверждает доступ к данным
▫️Resource Server (Сервер ресурсов) — API Mail.ru
Методы REST API, где лежат данные пользователя (например, профайл / user info, информация о друзьях, посты на стене в социальной сети Мой Мир и другие данные).
Эти методы мы вызываем с использованием токена, который получили после аутентификации пользователя
💡 Часто Authorization Server и Resource Server находятся “в одном провайдере” (как Mail.ru), но логически это разные роли и с точки зрения Mail.ru это разные сервисы (сервера)
👉 Алгоритм работы OAuth 2.0 по шагам на картинке
для Grant Type=authorization_code
👉 OAuth 2.0 Grant Types - алгоритмы
authorization_code
refresh_token
client_credentials
implicit
password
device_code
👉 Ключевые параметры OAuth 2.0
для API-методов (в URL и JSON)
response_type
client_id
client_secret
redirect_uri
scope
state
refresh_token
access_token
token_type
expires_in
Зависят от Grant Type
Продолжение в следующих постах #FoodDeliveryGA_oauth 🚀
#ИнтеграцииGA
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥9❤🔥2👍1
Forwarded from 👩🏻💻 Подкаст Системных Аналитиков | GetAnalyst
💫 ПРОБЛЕМЫ В РАБОТЕ С ЗАДАЧАМИ НА ИНТЕГРАЦИИ 💫
Погружаемся в проблемы разработки требований на интеграции систем, с которыми могут встретиться системные аналитики, а также обсуждаем варианты их решения.
Этот эпизод представляет ценную информацию для начинающих и опытных системных аналитиков, стремящихся разобраться в работе с интеграционными задачами и обеспечить стабильное взаимодействие систем.
1:18 - Что такое интеграции?
4:25 - Роль системного аналитика в процессе работы с задачами на интеграции.
11:41 - Как изменилась работа с задачами на интеграции за последние годы?
16:49 - Написал требования в соответствии с API-документацией внешней системы, а потом оказалось, что работает не так.
19:40 - Интеграция работала в продакшн и всё было хорошо, а потом всё внезапно сломалось.
22:57 - Что делать если предстоит интегрироваться с системой у которой еще нет API, а сроки горят?
26:18 - Разработчик системы, с которой предстоит интегрироваться, не предоставляет API и доступы, а задачу нужно реализовать, потому что сроки (P.S. Влиять через заказчика на внешнюю команду при возможности).
28:07 - Что, если вы тот самый разработчик, у которого просят API, но вам пока не до этого?
29:21 - Платные подписки и использование внешних систем. Примеры: DaData.ru, сервисы SMS-рассылок с поштучной оплатой со счета заказчика и другие.
31:58 - Разные структуры данных в разных системах: как собрать всё в нашей системе воедино? Про агрегаторы.
36:07 - Высокие нагрузки и длительное ожидание ответов. Асинхронные запросы и вебхуки.
39:37 - Не работал с видом API, по которому предстоит интеграция (REST API, GraphQL, gRPC, SOAP API и WebSocket - основные, посмотрите на них).
42:02 - Заключение и рекомендации
Эпизод доступен в:
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Apple Podcast
⏯ Castbox
⏯ Spotify
⏯ Amazon Music
Подписывайтесь на GetAnalyst и делитесь с коллегами - начинающими и опытными системными аналитиками!
Погружаемся в проблемы разработки требований на интеграции систем, с которыми могут встретиться системные аналитики, а также обсуждаем варианты их решения.
Этот эпизод представляет ценную информацию для начинающих и опытных системных аналитиков, стремящихся разобраться в работе с интеграционными задачами и обеспечить стабильное взаимодействие систем.
1:18 - Что такое интеграции?
4:25 - Роль системного аналитика в процессе работы с задачами на интеграции.
11:41 - Как изменилась работа с задачами на интеграции за последние годы?
16:49 - Написал требования в соответствии с API-документацией внешней системы, а потом оказалось, что работает не так.
19:40 - Интеграция работала в продакшн и всё было хорошо, а потом всё внезапно сломалось.
22:57 - Что делать если предстоит интегрироваться с системой у которой еще нет API, а сроки горят?
26:18 - Разработчик системы, с которой предстоит интегрироваться, не предоставляет API и доступы, а задачу нужно реализовать, потому что сроки (P.S. Влиять через заказчика на внешнюю команду при возможности).
28:07 - Что, если вы тот самый разработчик, у которого просят API, но вам пока не до этого?
29:21 - Платные подписки и использование внешних систем. Примеры: DaData.ru, сервисы SMS-рассылок с поштучной оплатой со счета заказчика и другие.
31:58 - Разные структуры данных в разных системах: как собрать всё в нашей системе воедино? Про агрегаторы.
36:07 - Высокие нагрузки и длительное ожидание ответов. Асинхронные запросы и вебхуки.
39:37 - Не работал с видом API, по которому предстоит интеграция (REST API, GraphQL, gRPC, SOAP API и WebSocket - основные, посмотрите на них).
42:02 - Заключение и рекомендации
Эпизод доступен в:
⏯ Яндекс.Музыка
⏯ YouTube
⏯ Telegram
⏯ Apple Podcast
⏯ Castbox
⏯ Spotify
⏯ Amazon Music
Подписывайтесь на GetAnalyst и делитесь с коллегами - начинающими и опытными системными аналитиками!
🔥18❤🔥6❤2
Если вы хоть раз описывали интеграцию или требования к REST API-методу, то возможно вам знакомо:
- в БД одно, в JSON другое, а на UI третье,
- «а почему поле так называется»,
- «а откуда берём значение»,
- «а что если null»,
- «а как это маппить в требованиях».
Чтобы закрыть эти вопросы раз и навсегда и уверенно чувствовать себя в связке JSON ↔ БД, приглашаю вас на онлайн-практикум 👇
🧩 Маппинг данных: БД и JSON
🗓 22 декабря, 19:00 Мск
👉 Записаться на практикум
Стоимость участия от 1390 рублей
✅ Запись будет опубликована в платформе на следующий день после занятия
🎁 Занятие в записи по использованию AI для проектирования БД + SQL
План:
1. Знакомство с JSON
2. Практика формирования JSON для API методов на основе БД и дизайна UI
3. Описание маппингов данных
4. Автоматизация задачи с использованием AI-инструментов
В результате практикума вы:
✔️ Поймёте, как связать UI → JSON → БД в одну логичную схему
✔️ Заберёте себе понятный подход, как оформлять маппинг в требованиях
✔️ Получите практический опыт, который можно сразу применять в работе
По вопросам можно написать @getanalyst или info@getanalyst.ru.
До встречи онлайн! 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤6🥰2
Прежде чем разбирать OAuth 2.0 flows (grant types) - алгоритмы, давайте познакомимся с его ключевыми параметрами.
📌 Шаги в OAuth 2.0
👉 Запрос на авторизацию - получение code
GET .../oauth/authorize
?response_type=code
&client_id=...
&redirect_uri=...
&scope=...
&state=...
👉 Callback на ваш redirect_uri - получен code
GET https:// testapp .com/api/v1/auth/oauth/provider/callback
?code=/...
&state=...
👉 Обмен code на токены
POST .../oauth/token
grant_type=authorization_code&
code=...&
client_id=...&
client_secret=...&
redirect_uri=...
📌 Параметры:
1️⃣ response_type
Тип результата, который вы хотите получить на шаге авторизации - регулирует ответ на GET /authorize
Где используется:
В URL для GET /authorize
2️⃣ client_id
Публичный идентификатор приложения, который предоставляет провайдер OAuth 2.0 (Mail ru /Google и др) после его регистрации у себя.
Где используется:
+ в URL для GET /authorize
+ в теле POST /token
+ иногда в запросах на обновление токена или в других grant types
3️⃣ client_secret
Cекрет (пароль) вашего приложения, который предоставляет провайдер OAuth 2.0 после регистрации
Где используется:
чаще всего в POST /token
4️⃣ redirect_uri
Это URL, куда провайдер OAuth 2.0 возвращает пользователя после аутентификации
Пример:
Пользователь вводит логин и пароль от своего Google-аккаунта на безопасной форме от Google. После этого Google делает переход на redirect_uri
Кто формирует:
Владелец приложения, который будет использовать OAuth 2.0.
Он указывает его в настройках при регистрации.
Где используется:
+ в URL для GET /authorize
+ в теле POST /token
5️⃣ scope
Список прав/доступов, которые вы запрашиваете у пользователя.
Пример:
Ваше приложение запрашивает у пользователя доступ к его Google-аккаунту:
+ ФИО
+ почта
+ Google-диск, чтение
и др.
scope=profile,email,drive:read
Кто формирует:
Владелец приложения
Где используется:
В URL для GET /authorize
На что влияет:
+ какие данные/действия разрешены для access_token
+ что пользователь увидит в окне согласия на безопасной форме от провайдера OAuth
6️⃣ state
Случайная строка для защиты от подмены (CSRF атаки) и для связывания “запрос-ответ”
Кто формирует/проверяет:
Backend приложения, который использует OAuth 2.0
Где используется:
+ отправляется в URL для GET /authorize
+ возвращается провайдером в redirect_uri вместе с code или error
Backend генерирует state, сохраняет (в сессии/БД/кэше), потом сравнивает с ответами от OAuth 2.0 провайдера
Если state не совпал — считаем запрос из процесса авторизации атакой/ошибкой и прерываем его
7️⃣ code (authorization code)
Временный одноразовый код, который провайдер возвращает после успешного входа пользователя.
Он нужен, чтобы безопасно обменять его на токены (access/refresh) через POST /token
Где появляется:
В URL на вашем redirect_uri (callback) после логина.
🕘 Есть срок жизни:
Обычно короткий (минуты/часы)
8️⃣ access_token
Токен доступа к API провайдера (Resource Server).
Где появляется:
В ответе на POST /token.
Как используется:
В дальнейших запросах к API провайдера (Resource Server).
Пример:
Подписываем запрос на получение файлов с Google-диска пользователя с access_token.
🕘 Есть срок жизни:
Обычно короткий (минуты/часы)
9️⃣ refresh_token
Это “токен обновления”.
По нему можно получить новый access_token без повторного запроса логина+пароля у пользователя.
Где появляется:
В ответе на POST /token.
Но не всегда выдаётся провайдером и не всегда нужен.
Как используется:
в запросе POST /token с grant_type=refresh_token.
🕘 Есть срок жизни:
либо нет, либо длинный (месяцы/год)
🔟 token_type
Тип токена.
Чаще всего Bearer.
Где появляется:
В ответе на POST /token
1️⃣1️⃣ expires_in
Срок жизни access_token в секундах.
Где появляется:
в ответе POST /token
Как используется:
+ ваше приложение рассчитывает момент истечения: expiresAt = now + expires_in
+ когда время подходит, то приложение обновляет access_token через refresh_token (фоново) или заново ведёт пользователя на авторизацию
#ИнтеграцииGA
#FoodDeliveryGA_oauth
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥11🥰2❤🔥1
Официально заявляю: самый жаркий месяц в году - Декабрь 🔥🫠🪭
1️⃣ Идут сдачи проектов
Выпущена куча рождественских, новогодних и не только фичей.
Заказчики хотят «ещё вот это» под конец года, а я:
то «нет-нет, давайте в январь», то «ок-ок-ок, сейчас что-то придумаем» 👌
2️⃣ Запускаем ещё один бизнес (наконец-то).
Пока сильно не говорю об этом. Сначала надо пройти ещё несколько шагов. Но внутри уже ✨ура✨
3️⃣ По выходным учеба
И восстановление знаний по высшей математике.
Спасибо универу.
Мозг в шоке 😄
4️⃣ GetAnalyst💘
У нас завершилось два потока обучения по Архитектуре и Интеграциям, и им на смену уже пришли (и приходят) новые.
Новые студенты на СА с нуля.
Начался AI-Акселератор.
Все активные, что очень радует!!! 🤩
И вы только посмотрите, какие домашки мне теперь приходят на проверку - видео с птичками 🐦😄
И ещё я стараюсь не забывать собирать обратную связь.
Спасибо вам за неё! Она очень вдохновляет и добавляет сил работать дальше 💛 даже в самый жаркий месяц))
👇👇👇
Что хочу сказать.
Всё классно, всё нравится, всё интересно!
Но я откровенно утонула в задачах и многое из планов не успеваю.
Хотела провести открытый онлайн-практикум 24 декабря, но в итоге перенесла на январь, а в завершении года готовим для вас другой сюрприз 🎁🎄
Ежегодно в декабре я чувствую, что 24 часов в сутках ооочень мало 🫠
А вообще - это декабрь, и его надо просто прожить. Тем более, что мой ежегодный отпуск на две недели начнётся уже в ближайший четверг 🥳
А как у вас идёт завершение года?
Тоже завалы на работе или полегче?
Поделитесь в комментариях, скажите, что не только у меня такой декабрьский завал ☺️
1️⃣ Идут сдачи проектов
Выпущена куча рождественских, новогодних и не только фичей.
Заказчики хотят «ещё вот это» под конец года, а я:
то «нет-нет, давайте в январь», то «ок-ок-ок, сейчас что-то придумаем» 👌
2️⃣ Запускаем ещё один бизнес (наконец-то).
Пока сильно не говорю об этом. Сначала надо пройти ещё несколько шагов. Но внутри уже ✨ура✨
3️⃣ По выходным учеба
И восстановление знаний по высшей математике.
Спасибо универу.
Мозг в шоке 😄
4️⃣ GetAnalyst
У нас завершилось два потока обучения по Архитектуре и Интеграциям, и им на смену уже пришли (и приходят) новые.
Новые студенты на СА с нуля.
Начался AI-Акселератор.
Все активные, что очень радует!!! 🤩
И вы только посмотрите, какие домашки мне теперь приходят на проверку - видео с птичками 🐦😄
И ещё я стараюсь не забывать собирать обратную связь.
Спасибо вам за неё! Она очень вдохновляет и добавляет сил работать дальше 💛 даже в самый жаркий месяц))
👇👇👇
Что хочу сказать.
Всё классно, всё нравится, всё интересно!
Но я откровенно утонула в задачах и многое из планов не успеваю.
Хотела провести открытый онлайн-практикум 24 декабря, но в итоге перенесла на январь, а в завершении года готовим для вас другой сюрприз 🎁
Ежегодно в декабре я чувствую, что 24 часов в сутках ооочень мало 🫠
А вообще - это декабрь, и его надо просто прожить. Тем более, что мой ежегодный отпуск на две недели начнётся уже в ближайший четверг 🥳
А как у вас идёт завершение года?
Тоже завалы на работе или полегче?
Поделитесь в комментариях, скажите, что не только у меня такой декабрьский завал ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏20🍾8❤6💯2👍1🤯1