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

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

РКН №5013005196
Download Telegram
Сила интеграций! 💪

Отправила письмо в тех.поддержку Raif Pay, чтобы получить тестовый доступ. Мне пришел автоответ. И, как Вы понимаете, у них автоматически создалась задача в jira по моему обращению.

Т.е. логика такая:
1. При получении письма на определенный электронный адрес вызывается API Jira для создания задач.
2. Создается задача.
3. Присвоенный номер задачи берется из ответа и подставляется в письмо-автоответ.
4. Письмо автоответ отправляется человеку, который отправил запрос в тех поддержку.

Просто, но приятный сервис. Забота о клиентах 💪 Ставим Like ❤️ Raif Pay и надеемся, что они дадут нам API-ключ на тестовую площадку с лимитами на запросы 🙏
👍25
🧩 Анализ API-документации PetStore

Закрепляем пройденный материал еще одной практикой по анализу документации REST API. Если для RaifPay документация похожа на самописную web-страницу или созданную на основе Postman, то для создания документации на внешнюю систему PetStore разработчики использовали популярный инструмент документирования API Swagger.

Делаем первичный анализ по инструкции:

1️⃣ Посмотреть оглавление.
Swagger-документация стандартная. Сначала идет общее описание API, требований к авторизации, описание боевых и тестовых площадок, а затем список методов. Список методов какого-то строгого подхода к порядку не имеет.


2️⃣ Авторизация и аутентификация.
Обычно эта информация во введении. Из полезного:

For this sample, you can use the api key special-key to test the authorization filters.
Если по-русски - special-key наш секретный ключ. Подставляем для тестирования и радуемся, что все работает.


3️⃣ Тестовые доступы.
В этой документации нет переключения между прощадками. Но обычно в Swagger-документации есть раздел Servers.
Пример:
https://app.swaggerhub.com/apis-docs/TestOrg_Brahmdev/Celerity/1.0.0
Про секретный ключ для тестов я уже написала в п.2.


4️⃣ Рекомендации по использованию API.
Как я и говорила ранее - отсутствуют. Поэтому придется догадываться логически.
В реальной жизния я обычно иду тестировать UI внешней системы, если он есть. Так и разбираюсь какой метод за каким должен идти.
Часто для этого использую консоль браузера.


5️⃣ Общие требования к обработке ошибок.
Общих требований нет. Указаны под каждым запросом отдельно. Это стадартно для Swagger-документации.


6️⃣ Список методов.
Начиная с POST /pet/{petId}/uploadImage - uploads an image и далее идет список методов.
Раздел Models стандартный - описывает структуру объектов.

Больше разных Swagger API документаций в открытом доступе можно найти здесь.

Посмотрите их, чтобы лучше ориентироваться в типовой структуре.
Это ваша дополнительная практика по интеграциям❤️🧩
5👍1
🍎 Use Case: Подготовка к линейке 1 сентября 📚

Выберите ваш текущий статус:

❤️ Пользователи: Родитель ученика 1-го класса.
Основной сценарий: Собрать рюкзак, причесать ребенка, убедиться, что школьная форма чистая.

👍 Пользователи: Родитель ученика 5-9 класса.
Основной сценарий: Напомнить о том, что "лето не вечно" и "учёба - это твоё будущее".

🔥 Пользователи: Родитель старшеклассника.
Основной сценарий: Попробовать вытащить подростка из-под одеяла до обеда и надеяться, что он сам соберется.

😄 Пользователи: Системный аналитик уже забывший о школе.
Основной сценарий: Сделать еще один глоток кофе и продолжить работать, поздравив коллег с началом учебного года.

Отметьте ваш вариант реакцией и поделитесь, как вы справляетесь с подготовкой к 1 сентября! 🧩🤝🌪
😁36🔥53👍2
Интеграционный Use Case, если не погружаться в детали 🙈

Продолжаем работу с интеграционными Use Cases. Пора их детализировать.


1. Use Case: Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore

Роли:
+ Пользователь-покупатель

Приложения и сервисы:
+ Мобильное / веб-приложение
+ Бэкенд PetCo:
+++ Сервис Основной Бизнес-логики,
+++ Сервис интеграции с PetStore
+ Внешняя система PetStore (бэкенд)

Входные данные:
+ Список товаров
+ Количество каждого товара + цены
+ Данные пользователя (адрес доставки, контактные данные и др.)

Результат:
+ Заказ создан в системе PetCo - в Основной БД.
+ Заказ синхронизирован с бэкендом PetStore - он отображается в приложениях PetStore.
Статус товара "Создан (ожидает платеж)

Предусловие:
Пользователь добавил товары в корзину, выбрал животных.

Основной сценарий:
1. Пользователь переходит в корзину и выбирает "Оформить заказ".
2. Приложение (мобильное или веб) показывает общую стоимость заказа и предлагает пользователю ввести адрес доставки и контактные данные.
3. Пользователь вводит необходимые данные и подтверждает заказ.
4. Заказ создается в системе PetCo в статусе "Новый".
5. Заказ синхронизируется с внешней системой PetStore (бэкенд). Пользователи PetStore видят его в своих приложениях.
6. Приложение информирует пользователя об успешном создании заказа. Пользователь может переходить к его оплате.

Продолжение 👇
7
1. Use Case: Создание онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore. Продолжение 👇

Альтернативные сценарии, ошибки, ограничения:
3а. Ошибка при проверке данных: неверный формат номера телефона. Отобразить ошибку пользователю. Ожидать исправления данных.
3b. Ошибка при проверке данных: не все параметры адреса доставки указаны. Отобразить ошибку пользователю. Ожидать исправления данных.
4а. Ошибка при создании заказа: не все товары в заказе есть в Зоомагазине, из которого будет осуществляться доставка, или животное уже было продано. Создать заказ в любом случае. Для проблемных позиций отобразить информацию с соответствующим текстом ошибки.
4b. Ошибка при создании заказа: превышено максимальное количество товаров по заказу. Отобразить ошибку пользователю. Ожидать исправления данных.
4с. Прерывание соединения в процессе создания заказа. если заказ уже создан на сервере, но приложение пользоателя не получило ответ, то пользователь может пересоздать заказ повторно. Возможна ситуация, когда в БД из-за проблем с соединением, мы увидим два одновлеменно созданных заказа.
5а. Система PetStore временно недоступна. Заказ не может быть создан, т.к. мы не имеем актуального остатка товаров и не можем получить подтверждение от основной системы склада и касс магазина. Отобразить ошибку создания заказа пользователю, предложить повторить позднее.



Если хорошо подумать, то можно найти еще больше альтернативных сценариев и ошибок, которые надо обработать. Но пока остановимся на этом.


Сейчас похоже, что этот сценарий уже круто описан! Все детально, подробно, даже есть немного технических деталей про синхронизацию. Но это не так.



‼️ Какие вопросы последуют после передачи Use Case в разработку:

1. Не прописано какие тексты ошибок отображать.
2*. Не указаны методы API PetCo. которые надо вызывать для создания заказа.
3*. Т.к. не указаны методы API PetCo. то нужно разбиратьс, а все ли ошибки по API документации отработаны?
4*. Есть ли какие-то ошибки авторизации с API PetCo?
5*. Не указано какой компонент системы отвечает за синхронизацию заказа с внешней системой PetStore.
6*. Как соотносятся товары заказа PetCo и PetStore?
7*. Какие ошибки может возвращать бэкенд PetStore?
8*. Как работает авторизация с бэкендом PetStore? Надо ли обрабатывать ошибки связанные с ней?

* - ошибка в проработке интеграционного сценария.


Как вам количество неучтенных требований? Этот Use Case подлежит технической детализации и серьезной проработке ‼️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Для меня 1 сентября всегда был не просто день знаний, а настоящий праздник. Я люблю новое и перемены. А день знаний – это как раз тот момент, когда начинается что-то новое 🪄

Я всегда удивлялась: почему Новый год не 1 сентября? 🎄 В детстве вы наверняка тоже задумывались об этом?! 1 сентября это Новый год (учебный)! 😄

Стремление к росту, к развитию – оно как внутренний компас, который указывает мне путь к целям. И так приятно, когда я применяю получаемые знания в реальной жизни и всё получается, хоть и не всегда с первого раза 🙌

Всё, что я учила и узнавала на своем пути, принесло и продолжает приность плоды. Ни одно усилие, затраченное на образование, не прошло зря: физмат лицей, два красных диплома, книги, онлайн-обучения, конференции, MBA.

Про книги. Я читаю много книг, каждая из которых добавляет мне чего-то нового, расширяет горизонты. Для кого-то книги это просто страницы, кто-то любит читать художественную литературу и отдыхать в ней, а я увлекаюсь обучением через них. Для меня они источник вдохновения, и еще один канал погружения в опыт экспертов.

Искренне желаю каждому из вас не переставать расти и открывать для себя новое! Получайте знания, применяйте и получайте удовольствие от процесса развития! С Новым годом (учебным)! 😉❤️
10🔥4
Пришел ответ от Раффайзен Банк по Raif Pay.... Только что.

P.S. У меня 2:30 ночи, я шлифую и структурирую свою презентацию к конференции FlowConf 2023 (промокод: getanalyst), потому что я как всегда хочу рассказать максимум того, что знаю.

Я очень впечатлительная. Умею радоваться и разочаровываться на максимум 😄
Эту практику я запланировала месяц назад. И текст на сайте "тестируйте до подписания договора" вызвал море положительных эмоций в духе - ура, новый эквайринг на проекты GetAnalyst. Проверять при планировании не стала.

Ну что. Будет у нас реальное тестирование Raif Pay через Postman, которое я запланировала еще месяц назад? Или придется на заглушках всё показывать?

🔥 - да, тестовый магазин выдали.
👎 - нет, написали письмо с отказом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👎32👍21
Знакомо чувство, когда предстоит работа над новым проектом или в новой компании, а у тебя нет необходимых навыков? Либо ты в теории понимаешь, что делать, но не было реальной практики? Или, возможно, ты давно в IT, но какие-то технические моменты оставались за кадром: разработчики всегда всё делали сами. А теперь техническую проработку будут ждать от тебя, как от системного аналитика.

В случае интеграционных проектов часто возникают вопросы:
1️⃣ С чего начать работу с требованиями?
2️⃣ Что включать в задачи и какие документы формировать в процессе?
3️⃣ Какие инструменты нужно знать?

Многие системные аналитики утопают в деталях на старте, теряя видение общей картины 😞 Давайте на практике разберемся, как начать работу с интеграциями и фокусироваться на главном в ходе работы над проектом!

📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК

🔗 ЗАРЕГИСТРИРОВАТЬСЯ

Что вас ждёт:
🌐 Интеграции: что это и почему так важно в современном IT.
📝 Постановка задач: формулирование требований, взаимодействие с заказчиками и проработка деталей.
🛠 Инструменты аналитика: практика работы с Postman.
⚠️ Подводные камни, типичные ошибки и способы их решения.
‼️‼️ В этот раз я буду подключать в прямой эфир аналитиков с микрофоном и возможностью делиться экраном. Кто хочет присоединиться в онлайн и решать задачу вместе со мной? 🔥

Сделайте интеграции вашим сильным профессиональным навыком! Регистрируйтесь, и получайте свой опыт! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
Всем привет!

Начнем неделю с хороших новостей! Нам дали ключи для тестирования REST API Raif Pay ❤️ Искренне признательна за это коллегам!

Так что в эту среду будем в прямом эфире работать с проектированием интеграции с платежной системой.

‼️ Я хочу сделать необычный эфир и подключить к работе со мной 3 участников нашего сообщества.

Почему это важно:
🔹 Вы сможете в прямом эфире выполнять задания под моим руководством и получать обратную связь сразу.
🔹 Получите опыт проектирования интеграций, узнаете на какие моменты вам стоит обратить внимание в освоении темы.
🔹 Получите опыт работы с Postman (инструмент тестирования API) - будете делиться экраном и выполнять запросы самостоятельно, с моим сопровождением.

Задания, которые будем выполнять:
1. Написание интеграционного сценария с точки зрения пользователя веб-приложения.
2. Анализ API-документации для дополнения сценария техническими деталями.
3. Дополнение сценария данными, связанными с интеграцией.
4. Тестирование API в прямом эфире.
5. Выделение задач на разработку.


Как это будет проходить:
📢 У вас будет доступ к микрофону.
📢 Вы сможете транслировать экран для выполнения части заданий.
📢 Весь эфир вы сможете задавать вопросы голосом, без чата.


Следующим сообщением расскажу что делать, чтобы принять участие. А затем продолжим работу над проектом.

А пока, кто хочет поучаствовать - ставим 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38
Мы с вами уже описали сценарий создания онлайн-заказа с последующей синхронизацией данных с бэкендом PetStore. Но он был описан без технических деталей.

Чтобы перейти к описанию технических деталей, необходимо понять, какие методы API PetStore нам потребуются для синхронизации данных.

Как я думаю, когда решаю задачу поиска методов, связанных с заказом:


1. Нужно создавать заказ.

Вижу в документации раздел store Access to Petstore orders (Доступ к заказам зоомагазина).

Метод создания POST. Из этого раздела явно подходит единственный - POST /store/order
(Place an order for a pet - Оформить заказ на домашнее животное)

Внутри метода смотрю, какие параметры данных нужны к передаче - тело запроса к body.
И встречаю ограничение со стороны API, а также новые требования к своему API.
Это тело запроса для создания заказа:
{
"id": 0,
"petId": 0,
"quantity": 0,
"shipDate": "2023-09-04T07:47:04.444Z",
"status": "placed",
"complete": true
}


Проблемы с параметрами: id, petId+quantity.


2. Решение проблемы id.

Чтобы понять, что это за id, который мне надо будет передавать, иду в самый низ документации Swagger. Там всегда есть описание объектов.

Плохая документация - есть тип данных для id (integer($int64)), но нет описания откуда его брать или как генерировать.

Понимаю, что это id заказа в формате целого числа и его надо генерировать на стороне моей системы. Пусть это будет порядковый номер. Поэтому в алгоритм создания заказа в PetCo я добавляю требования к генерации номера заказа - уникального id.

Дополнительно уточняю какие номера заказов уже заняты кассами, чтобы начать нумерацию не с 1, и не пересечься с кассовыми номерами заказов.


Продолжение 👇
👍43🔥3
3. Решение проблемы petId+quantity.

На стороне PetCo я могу сделать заказ сразу нескольких позиций (много животных и товаров в одном заказе), а на стороне API PetStore я не вижу массив в методе создания заказа. Я вижу возможность указывать только одно id животного petId в одном заказе и его количество quantity.

Например, можно одним запросом в API PetStore заказать 4 одинаковых морских свинки. А 4 морских свинки и 1 золотую рыбку уже нельзя.

Поэтому со стороны PetCo для создания одного заказа на несколько позиций мне нужно будет вызвать метод создания заказа в API PetStore несколько раз (на 4 разных позиции, вида животных, будет 4 вызова API). В БД PetCo придется установить связь между одним заказом внутри и неколькими связанными заказами во внешней системе.

Так мы будем бороться с ограничениями API. Но это дополнительная нагрузка и на нас, и на API PetStore по количеству запросов к отправке и обработке соответственно. Поэтому в идеале необходимо доработать бэкенд PetStore, если это было бы возможно (часто можно написать письмо в поддержку внешней системы с просьбой доработать API, и иногда даже получить свой новый метод).



Теперь кажется, что можно переходить к дополнению Use Case техническими деталями методами, данными, встроенными алгоритмами обработки и сопоставления данных. Но перед этим я рекомендую провести тестирование методов API. Так мы и поступим 😉
3👍2🔥2
Как получить доступ к микрофону в прямом эфире и обратную связь от меня по работе с задачей на интеграцию с платежной системой.

📅 Интеграции: пошаговый план работы на проекте
6 сентября, 19:00 МСК

Вариант 1:
1. Быть подписаным на канал @getanalyst на YouTube.
2. Поставить лайк на видео про требования.
3. Оставить комментарий под него 😄😂 или любой другой.

Вариант 2:
1. Быть подписаным на @getanalyst в Instagram (*запрещено в РФ).
2. Поставить лайк на видео про требования.
3. Поделиться им в своих Stories и прислать скрин в директ.

Итоги подведем в прямом эфире, так что будьте готовы стать полноценным участником практики 😉 До встречи!
7
Знаете что нельзя пропустить? День системного аналитика , который отмечают 24 сентября 🤝

А сегодня 6 сентября! 😍 Это значит, что до дня системного аналитика еще 18 дней и что мы встретимся сегдня вечером здесь:
🧩 Интеграции: пошаговый план работы на проекте


Эта неделя получилась насыщенной на события. В понедельник я на FlowConf 2023 выступала с докладом, где рассказывала про Интернет вещей (IoT) и особенности разработки комплексных интеграций.

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


А сегодня я хочу показать на практике, как работать с задачами на интеграции.
‼️ Для того, чтобы получить максимум пользы от практического вебинара, к нему надо будет подготовиться.
Это займет ~15 минут.

☑️ Зарегистрируйте аккаунт в Postman, на сайте https://www.postman.com/. Войдите в него. Также можно работать с установленным на компьютер приложением Postman.
☑️ Прочитать пост про тестирование API PetStore, который сегодня будет опубликован в канале.
☑️ Прочитать пример технического Use Case, который сегодня будет опубликован в канале.
☑️ Работать сегодня вечером обязательно с компьютера - зарядить.
☑️ Быть готовыми записывать важные моменты: листочки.
☑️ Быть готовыми выйти в эфир с микрофоном (коллеги, кто оставил комментарии на YouTube, пришлите @getanalyst в ЛС ваши фамилию и имя, с которыми сегодня подключитесь на вебинар + логин аккаунта).


Практиковаться обязательно! Жду вас онлайн! ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94👍3
Media is too big
VIEW IN TELEGRAM
Прежде чем писать детализированный интеграционный Use Case, настоятельно рекомендую протестировать API, чтобы понять как он работает и убедиться в том, что документация соответствует реальности.

Для интеграции с Backend-ом системы PetStore мы будем использовать REST API. API-документация PetStore опубликована через инструмент Swagger. И можно было бы ограничиться тем, чтобы проверить API в нем, но для понимания я хочу показать, что его также можно протестировать через Postman.

Где бы ни была сделана API-документация системы, я всегда проверяю ее через внешний инструмент или силами разработчиков, если нужен код. Мало ли какие заглушки стоят в интерактивной документации?

Мне всегда важно увидеть как реально работает API. И это же рекомендую делать и вам, чтобы лучше разобраться с данными внешней системы, с которой мы интегрируемся, и с процессами в ней.

В видео-уроке:
1. Подход к тестированию в Postman.
2. Принцип тестирования PetStore в Swagger.
Проверяю метод, который необходим нам для сценария синхронизации заказов: POST /store/order (Place an order for a pet), и связанные с ним 💻
👍143
GetAnalyst_Use_Case_Создание_онлайн_заказа_с_последующей_синхронизацией.pdf
473.9 KB
🟢 Изучили API-документацию. Методы API протестировали через Postman. Теперь можно детализировать Use Cases.

В приложенном файле представлен сценарий синхронизации заказа с внешней системой, дополненный алгоритмами и описанием взаимодействия между компонентами системы (приложение пользователя + бэкенд PetCo + бэкенд внешней системы PetStore).


Сейчас в нём:

1. Не хватает маппинга данных - сопоставления данных между системами и БД.
2. Можно добавить UML-диаграмму, чтобы показать сценарий работы.
3. Можно добавить еще альтернативные сценарии. Они есть.


Этот шаблон - часть описания требований к интеграциям систем 🙌
🔥13👍51💩1
❗️Уже через 3 часа❗️

Практический вебинар с Екатериной Ананьевой!

📹 Интеграции: пошаговый план работы на проекте
19:00 - 21:00 Мск

Ссылку на прямой эфир пришлем в канал за 15 минут до начала.
12
😂👍👍❤️👌😅😊😊😍😘

❗️До начала 15 минут❗️

📹 Интеграции: пошаговый план работы на проекте:
https://pruffme.com/webinar/?id=6aaf71afe9b4a4a49d3d6ab9b3e04402

Переходите по ссылке и начинаем!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👎2
Вау. Вау. Вау! Это было круто и мы хотим это повторить!

Коллеги, вчера прошел практический вебинар
🧩 Интеграции: пошаговый план работы на проекте
и он был похож на что-то необыкновенное!

Я очень хочу поблагодарить коллег, кто был онлайн и работал со мной в пряом эфире, задавал вопросы через микрофон. Давайте все поставим ❤️ Катерине и Тиму в благодарность за активность!


О важном 👇

1. Я проводила этот вебинар с целью напомнить о старте потока по проектированию Интеграциий систем, но уже в понедельник мы поняли, что этот вебинар не нужен. Поток закрыт.
Почему я провела его ни смотря на перегрузку, с учетом конференции в понедельник и большого объема задач по текущим проектам?
Я обещала. Я сделала. И я счастлива, что еще один практический кейс у вас в копилке ❤️

2. Что будет в этот раз с повтором, и еще раз про то, почему я не публикую записи.
Коллеги, когда я создала GetAnalyst, я публиковала записи. Кому это было нужно? Никому. Откладывали на потом и никто не смотрел. Потом. Потом. Никогда. И зачем?
Я понимаю, что есть удобство по времени и среда 19Мск не всегда всем удобна. Но....
Благодаря текущему подходу с повторами вы онлайн и вы работаете в эфире. Вы задаете вопросы и я отвечаю сразу.
Про повтор: ждем сообщения от команды GetAnalyst здесь, на почте и на странице регистрации.


Я люблю GetAnalyst. Я хочу развивать наше сообщество. Но давайте хотя бы на минутку задумаемся.... Как много времени я дарю вам?

Я вижу коллег, кто со мной уже очень давно и ценит каждый мой эфир. И я вижу негодование "почему нет записей" и "инфоцыганство". Пусть это будет чем угодно, но я искренне горжусь людьми, кто благодаря GetAnalyst вырос и реализовал свои цели.

Практический опыт и рост в карьере? Вы в правильном месте, чтобы собирать опыт. Просто посмотреть и подготовиться к собеседованиям? Есть курсы по подготовке к собеседованиям. Я про реальные знания. Я хочу работать с крутыми аналитиками, а не с людьми, кто выучил алгоритм собеседований.

Всем крутого дня! Вернусь скоро с маппингом по сценарию с платежами 😊
20🔥9❤‍🔥4👍2👏2
Ставишь задачу разработчику, понимаешь, что она на интеграции, но не понимаешь что он делает? 🥲 Или уже ни раз задумывался, что без понимания деталей технического проектирования стоишь на месте в карьере и не чувствуешь развития? Работа с интеграциями – действительно сложная задача. Но решение любой сложной задачи всегда есть! ❤️

Не давайте трудностям с техническими навыками стать препятствием на вашем пути! 🌟

📅 Интеграции: пошаговый план работы на проекте
🔗 ЗАРЕГИСТРИРОВАТЬСЯ
*до 14 сентября 23:59Мск,
*посети повтор вебинара в удобное время.


Что предстоит узнать:
🌐 Основы работы с задачами на интеграции.
📝 Разработка требований к интеграционному сценарию с нуля.
🛠 Практика применения ключевых инструментов в реальных задачах: Confluence, Swagger, Postman.
⚠️ Ошибки, которые легко избежать, зная их заранее!

Регистрируйтесь, и получайте проект в копилку! 🚀
16❤‍🔥3🔥1
В среду обещала показать маппинг данных для дополнения нашей постановки задачи по интеграциям, чтобы вы на все 100% знали что должно быть итогом проектирования. Но прежде чем его делать, мне нужно спроектировать базу данных и интеграционный API-метод PetCo по созданию заказа.

Начну с проектирования модели БД. Так как только после ее разработки я смогу сделать API-метод для бэкенда PetCo. Смотреть буду только часть, связанную с оплатой заказа.
На основании требований к бизнес-процессу, который мы описали на практическом вебинаре.

Дублирую сценарий сюда 👇


Роли (бизнесовые)
Пользователь мобильного приложения или веб-приложения

Приложения и сервисы (компоненты системы - здесь интеграции)
Мобильное приложение / веб-приложения
Backend PetCo
Backend PetStore (кассовый)
Raif Pay - платежная система

Предусловие
Заказ сформирован и синхронизирован с PetStore.
Пользователь инициирует оплату заказа - нажимает кнопку оплаты.
Не обязательно, что пользователь авторизован, но мы обязаны до начала оплаты получить его контактные данные (email обязателен), и выбрать способ доставки.

Входные данные
+ ID заказа в системе PetCo.
+ Общая сумма по заказу к оплате.
+ В комментарий заказа Raif Pay - Состав заказа для каждого товара.
+ Реквизиты карты
+ срок жизни заказа.

Результат (основной)

Заказ оплачен. Зафиксировано время оплаты и изменен статус заказа в системах:
- PetCo.
- PetStore.
- Raif Pay.
Клиенту направлен email и отображен успешный экран платежа в приложении.

Основной сценарий
1. После перехода к оплате мобильное / веб- приложение передает информацию об оплате в Backend PetСo.Вызывается интеграционный метод PetCoPOST /order/{orderId}/payment - создать платеж в PetCo.

Продолжение 👇
👍104